ConfigurationItem
ConfigurationItems (CIs) are rendered in XML as a follows. The XML element name is the name of the CI type, with its ID stored in the id
attribute.
To prevent concurrent updates, the token
attribute contains a string that refers to the version of the CI being sent.
Additionally, there are read-only attributes signifying who originally created the CI, and when; and who last modified it, and when.
For each property of the CI there's a child element, where the XML element's name is the name of the CI property.
For example:
<udm.DeploymentPackage id="Applications/AnimalZoo-ear/1.0" token="032e29c4-94a0-4bdf-b489-a0c2fe5042a1" created-by="admin" created-at="2014-08-18T13:42:09.555+0200" last-modified-by="admin" last-modified-at="2014-08-18T13:42:09.555+0200"> <application ref="Applications/AnimalZoo-ear"/> <satisfiesReleaseNotes>true</satisfiesReleaseNotes> <deployables> <ci ref="Applications/AnimalZoo-ear/1.0/AnimalZooWeb"/> <ci ref="Applications/AnimalZoo-ear/1.0/AnimalZooFE"/> <ci ref="Applications/AnimalZoo-ear/1.0/AnimalZooBE"/> </deployables> </udm.DeploymentPackage>
Property types
The content of each property element is defined by its type. Here's a list of the possible types in XL Deploy's type system and how they're expressed in XML.Simple properties: Boolean, Int, String and Enum
The value of the CI property is simply included in the XML element. The possible values for booleans aretrue
or false
.
<dummy.MyType id="...> <myBoolean>true</myBoolean> <myInt>23</myInt> <myString>XL Deploy</myString> <myEnum>TELNET</myEnum> </dummy.MyType id="...>
CI reference
A reference to another CI has the ID of the referred CI in itsref
attribute. The content is empty.
<myCI ref="Infrastructure/LocalHost/>
List and Sets
Lists and Sets can refer to either Strings or CIs. In the case of String, for each item in the list (or set), the text is added as a child in<value>
tags.
In the case of CIs, an empty <ci>
element is added, with an id
attribute containing the ID of the referred CI.
<mySetOfString> <value>value1</value> <value>value2</value> </mySetOfString> <myListOfString> <value>1</value> <value>2</value> <value>3</value> </myListOfString> <mySetOfCi> <ci ref="Infrastructure/LocalHost"/> </mySetOfCi> <myListOfCi> <ci ref="Infrastructure/LocalHost"/> </myListOfCi>
Maps
Maps are dictionaries from String to String. For each entry in the map, the XML element for a map property has a child element<entry>
,
where the key is stored in the key
attribute and the map value is stored as content.
<myMapOfStringString> <entry key="key1">value1</entry> <entry key="key2">value2</entry> </myMapOfStringString>
Validation messages
For certain operations, the XL Deploy Server may return a validated CI. This is a ConfigurationItem of which the XML has been enhanced with validation messages. These message are metadata about the CI and are not considered as ordinary properties.
Validation messages are added in a parent element <validation-messages>
that has a child element <validation-message>
for each message. The <validation-message>
element has two attributes: ci
,
referring to the CI, and property
to refer to the property the message is about. The messages itself is stored as content of the
<validation-message>
element.
<dummy.MyTest id="Applications/AnimalZoo-ear/"> <validation-messages> <validation-message ci="Applications/AnimalZoo-ear/" property="myInt">Value is required</validation-message> <validation-message ci="Applications/AnimalZoo-ear/" property="myCis">Value is required</validation-message> </validation-messages> ... </dummy.MyTest>