Data Object - VAppPropertyInfo

Property of
OvfParseDescriptorResult, VAppPropertySpec, VmConfigInfo
Extends
DynamicData
Since
vSphere API 4.0

Data Object Description

A vApp Property description, including deployment values

Properties

Name Type Description
category*xsd:string

A user-visible description the category the property belongs to.

Reconfigure privilege: VApp.ApplicationConfig

classId*xsd:string

class name for this property

Valid values for classId: Any string except any white-space characters

Reconfigure privilege: VApp.ApplicationConfig

defaultValue*xsd:string

This either contains the default value of a field (used if value is empty string), or the expression if the type is "expression". See comment for the
description*xsd:string

A description of the field.

Reconfigure privilege: VApp.ApplicationConfig

id*xsd:string

Name of property. In the OVF environment, the property is listed as [classId.]id[.instanceId]. The [classId.]name[.instanceId] must be unique.

This field cannot be empty for a property. Thus, it must be specified at creation and cannot be set to the empty string.

Valid values for id: Any string except any white-space characters

Reconfigure privilege: VApp.ApplicationConfig

instanceId*xsd:string

class name for this property

Valid values for instanceId: Any string except any white-space characters

Reconfigure privilege: VApp.ApplicationConfig

keyxsd:int

A unique integer key for the property.
label*xsd:string

The display name for the property.

Reconfigure privilege: VApp.ApplicationConfig

type*xsd:string

Describes the valid format of the property.

A type must be one of:

  • string : A generic string. Max length 65535 (64k).
  • string(x..) : A string with minimum character length x.
  • string(..y) : A string with maximum character length y.
  • string(x..y) : A string with minimum character length x and maximum character length y.
  • string["choice1", "choice2", "choice3"] : A set of choices. " inside a choice must be either \" or ' e.g "start\"middle\"end" or "start'middle'end" and a \ inside a string choice must be encoded as \\ e.g. "start\\end".
  • int : An integer value. Is semantically equivalent to int(-2147483648..2147483647) e.g. signed int32.
  • int(x..y): An integer value with a minimum size x and a maximum size y. For example int(0..255) is a number between 0 and 255 both incl. This is also a way to specify that the number must be a uint8. There is always a lower and lower bound. Max number of digits is 100 including any sign. If exported to OVF the value will be truncated to max of uint64 or int64.
  • real : IEEE 8-byte floating-point value.
  • real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5. Because of the nature of float some conversions can truncate the value. Real must be encoded acording to CIM: RealValue = [ "+" | "-" } *decimalDigit "." 1*decimalDigit [ ("e" | "E" ) [ "+" | "-" ] 1*decimalDigit ] ]
  • boolean : A boolean. The value can be True or False
  • password : A generic string. Max length 65535 (64k).
  • password(x..) : A string with minimum character length x.
  • password(..y) : A string with maximum character length y.
  • password(x..y) : A string with minimum character length x and maximum character length y.
  • ip : An IPv4 address in dot-decimal notation or an IPv6 address in colon-hexadecimal notation.
  • ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6) on a particular network. The behavior of this type depends on the ipAllocationPolicy. See below.
  • expression: The default value specifies an expression that is calculated by the system.
For properties of type 'password', the value field and default value field will always be returned as an empty string when queried. Thus, it is a write-only property. Typically, a client application will also render these as a text field with hidden text and double prompting.
An expression follows the general patterns of either ${arg} or ${cmd:arg}. The list of supported expressions are listed below:
  • ${<name>} : This expression evaluates to the same value as the named property in the parent vApp. A parent vApp is the first vApp in the ancestry chain (resource pools are skipped). If no parent vApp exists or the property is not defined on the parent vApp, the expression evaluates to the empty value.
  • ${subnet:<network>} : The subnet value of the given network.
  • ${netmask:<network>} : The netmask value of the given network.
  • ${gateway:<network>} : The gateway value of the given network.
  • ${autoIp:<network>} : An auto-assigned network address on the given network
  • ${net:<network>} : The name of the network
  • ${domainName:<network>} : The DNS domain name, e.g., vmware.com, of the given network.
  • ${searchPath:<network>} : The DNS search path, e.g., eng.vmware.com;vmware.com, of the given network.
  • ${hostPrefix:<network>}: The host prefix on a given network, e.g., "voe-"
  • ${dns:network}: A comma-separated string of configured network addresses
  • ${httpProxy:network}: The hostname:port for a proxy on the network
  • ${vimIp:} : The IP address of the VIM API provider server. This would typical be an ESX Server or VirtualCenter Server.
A vApp will fail to start if any of the properties cannot be computed. For example, if a property reference a gateway on a network, for which is has not been specified. The value of the computed computation is assigned to the 'value' field upon start of the vApp or virtual machine. The value is cleared once the vApp or virtual machine is not-running.

The system provides three ways of specifying IP addresses:

  • ip,
  • ip:network type,
  • ${ip:network} expression.
The ip types are typically used to specify an IP addressed to an external system. Thus, these are not used by a virtual ethernet adapter within the guest itself. Both the ip:network expression and the ${ip:network} expression are intended as a way to obtain an IP address for a virtual machine in a vApp.

The behavior of ip:network type is controlled by the ipAssignPolicy, as described in the following table:
Policy ip:<network> type
DHCP The user is not prompted to enter a value. The variable is set to the empty string during power-on, and later updated with the IP value reported by the guest software.
Transient The user is not prompted to enter a value. An IP address is allocated by the platform and is assigned to the variable which is available to the guest. The IP address is released at power-off.
Fixed The user is prompted to enter a value. This value is available to the guest.
Fixed Allocated The user is not prompted to enter a value. An IP address is allocated by the platform and is assigned to the variable which is available to the guest. The IP address remains allocated at power-off, and are only released if the property is deleted or the vApp is destroyed.

Reconfigure privilege: VApp.ApplicationConfig

typeReference*xsd:string

Contains extra configuration data depending on the property type. For types that refer to network names the type reference is the managed object reference of the network.

Since vSphere API 5.1
userConfigurable*xsd:boolean

Whether the property is user-configurable or a system property. This is not used if the type is expression.

Reconfigure privilege: VApp.ApplicationConfig

value*xsd:string

The value of the field at deployment time. For expressions, this will contain the value that has been computed.

Reconfigure privilege: VApp.InstanceConfig

Properties inherited from DynamicData
dynamicProperty, dynamicType
*Need not be set
Show WSDL type definition