Type Descriptor
Describes a type in the XL Deploy type system.
A descriptor is rendered in XML as a
<descriptor>
element containing attributes and child elements. Here's a breakdown of the structure.
The <descriptor>
element
Attributes
- type
- The name of the type. A type name consists of a package name followed by a dot and then the actual name. For example:
core.Directory
- deployableType
- The name of the deployable type. Only applicable for deployeds, the deployable type refers the environment-indendent CI that created this deployed.
- containerType
- The name of the container type. Only applicable for deployeds, the container type refers to type of container this deployed can be deployed to.
- virtual
- Whether this type is a virtual type. (Boolean)
- inspectable
- Whether this type supports inspection. (Boolean)
- rooted
- The root node in the repository this type can be created under. If not present, this type can't be created directly under a root node.
Possible values:
Applications
, Environments
or Infrastructure
Child elements
- <description>
- Contains a textual description of this type.
- <property-descriptors>
- The properties of this type. Contains a list of
<property-descriptor>
elements.
- <control-tasks>
- The control tasks exposed by this type. Contains a list of
<control-task>
elements.
- <interfaces>
- The interfaces implemented by this type. Contains a list of
<#interface>
elements, each of which contains a single type name.
- <superTypes>
- The supertype chain of this type. Contains a list of
<#superType>
elements, each of which contains a single type name.
Type descriptor example
<descriptor type="overthere.SshHost" virtual="false" root="Infrastructure">
<description>A machine that can be connected to using ssh.</description>
<property-descriptors>
...
</property-descriptors>
<control-tasks>
<control-task name="checkConnection" fqn="overthere.SshHost.checkConnection" description="Check connection"/>
</control-tasks>
<interfaces>
<interface>udm.Taggable</interface>
<interface>udm.ConfigurationItem</interface>
<interface>udm.Container</interface>
<interface>overthere.HostContainer</interface>
</interfaces>
<superTypes>
<superType>overthere.Host</superType>
<superType>udm.BaseContainer</superType>
<superType>udm.BaseConfigurationItem</superType>
</superTypes>
</descriptor>
Describes a property of a XL Deploy type.
Attributes
- name
- The name of the property.
- fqn
- The fully qualified name of the property. This is the type name followed by a dot and then the property name. For example:
overthere.SshJumpstation.port
- label
- Label text for use in the UI.
- kind
- The property type. Possible values:
BOOLEAN
, INTEGER
, STRING
, ENUM
, CI
,
SET_OF_STRING
, SET_OF_CI
, LIST_OF_STRING
, LIST_OF_CI
or MAP_STRING_STRING
- description
- Textual description of the property.
- category
- The category of this property. The UI groups all properties in the same category into a tab of their own.
- asContainment
- Indicates a parent / child relationship (Boolean). Only applicable for properties that refer to other CIs. If
asContainment
is set to true
and the property is of kind CI
then we are referring to the parent of this CI. If the kind is LIST_OF_CI
or SET_OF_CI
, then this CI
is the parent and this property refers to its children.
- required
- Whether this property is required (Boolean).
- inspection
- Whether this property is used when doing inspection (Boolean). Only relevant if the CI supports inspection.
- requiredInspection
- Whether this property is required when doing inspection (Boolean). Only relevant if the CI supports inspection.
- password
- Whether this property is a password (Boolean). Only applicable for String property types. Contents maybe masked with '*' character.
- transient
- Whether this property is transient (Boolean). Transient properties will not be stored.
- size
- Indicates the size of the input field in the UI. Possible values:
DEFAULT
, SMALL
, MEDIUM
or LARGE
Child elements
- <referencedType>
- For properties that refer to CIs, this indicates the type of CI to refer to. Contains the name of the referred type as content.
- <defaultValue>
- The default value of the property, as String.
- <enumValues>
- For properties of type
ENUM
, this element contains all possible values, wrapped in <string>
elements.
Property descriptor examples
Property with enum values:
<property-descriptor name="os" fqn="overthere.SshHost.os" label="Os" kind="ENUM" description="Operating system"
category="Common" asContainment="false" inspection="false" required="true" requiredInspection="false"
password="false" transient="false" size="DEFAULT">
<enumValues>
<string>WINDOWS</string>
<string>UNIX</string>
</enumValues>
</property-descriptor>
Property referring to a parent CI
<descriptor type="udm.CompositePackage" virtual="false">
<property-descriptor name="application" fqn="udm.CompositePackage.application" label="Application" kind="CI"
asContainment="true" ...>
<referencedType>udm.Application</referencedType>
</property-descriptor>
...
</descriptor>
Attributes
- name
- The name of the control task.
- fqn
- The fully qualified name of the control task. This is the type name followed by a dot and then the control task name. For example:
overthere.SshJumpstation.checkConnection
- description
- Textual description of the control task.
Example
<control-task name="checkConnection" fqn="overthere.SshJumpstation.checkConnection" description="Check connection"/>