1. Operations
2. vapi
3. metadata
4. metamodel
5. structure

## vapi metadata metamodel structure: get

Retrieves information about the structure element corresponding to `structure_id`.

The vapi.metadata.metamodel.structure_info contains the metamodel information about the structure element. It contains information about all the field elements and enumeration elements contained in this structure element.

### Request:

#### HTTP request

GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/structure/id:{structure_id}

#### Path Parameters

Name | Type | Description
--- | --- | ---
Required
structure_id | string | Identifier of the structure element.

### Response:

#### HTTP Status Code: 200

#### Representations:

- JSON
- XML

{
"value": {
"constants": [
{
"key": "string",
"value": {
"documentation": "string",
"type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"element_type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
},
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
},
"value": {
"category": "PRIMITIVE",
"list_value": [
{
"boolean_value": true,
"double_value": 1.5,
"long_value": 1,
"string_value": "string",
"type": "BOOLEAN"
},
{
"boolean_value": true,
"double_value": 1.5,
"long_value": 1,
"string_value": "string",
"type": "BOOLEAN"
}
],
"primitive_value": {
"boolean_value": true,
"double_value": 1.5,
"long_value": 1,
"string_value": "string",
"type": "BOOLEAN"
}
}
}
}
],
"documentation": "string",
"enumerations": [
{
"key": "obj-103",
"value": {
"documentation": "string",
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"name": "string",
"values": [
{
"documentation": "string",
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"value": "string"
},
{
"documentation": "string",
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"value": "string"
}
]
}
}
],
"fields": [
{
"documentation": "string",
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"name": "string",
"type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"element_type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
},
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
}
},
{
"documentation": "string",
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"name": "string",
"type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"element_type": {
"builtin_type": "VOID",
"category": "BUILTIN",
"generic_instantiation": {
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
},
"generic_type": "LIST"
},
"user_defined_type": {
"resource_id": "obj-103",
"resource_type": "string"
}
}
}
],
"metadata": [
{
"key": "string",
"value": {
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
}
],
"name": "string",
"type": "STRUCTURE"
}
}
<?xml version="1.0" ?>
<ns0:Get-Result xmlns:ns0="http://vmware.com/vapi/metadata/metamodel/structure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value>
<name>string</name>
<documentation>string</documentation>
<constants-array>
<array-item>
<value>
<documentation>string</documentation>
<value>
<category>PRIMITIVE</category>
<primitive_value>
<long_value>1</long_value>
<double_value>1.5</double_value>
<string_value>string</string_value>
<type>BOOLEAN</type>
<boolean_value>true</boolean_value>
</primitive_value>
<list_value-array>
<array-item>
<long_value>1</long_value>
<double_value>1.5</double_value>
<string_value>string</string_value>
<type>BOOLEAN</type>
<boolean_value>true</boolean_value>
</array-item>
<array-item>
<long_value>1</long_value>
<double_value>1.5</double_value>
<string_value>string</string_value>
<type>BOOLEAN</type>
<boolean_value>true</boolean_value>
</array-item>
</list_value-array>
</value>
<type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
<element_type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</element_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</type>
</value>
<key>string</key>
</array-item>
</constants-array>
<type>STRUCTURE</type>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
<fields-array>
<array-item>
<name>string</name>
<documentation>string</documentation>
<type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
<element_type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</element_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</type>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
</array-item>
<array-item>
<name>string</name>
<documentation>string</documentation>
<type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
<element_type>
<user_defined_type>
<resource_id>obj-103</resource_id>
<resource_type>string</resource_type>
</user_defined_type>
<category>BUILTIN</category>
<generic_instantiation>
<generic_type>LIST</generic_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</element_type>
</generic_instantiation>
<builtin_type>VOID</builtin_type>
</type>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
</array-item>
</fields-array>
<enumerations-array>
<array-item>
<value>
<values-array>
<array-item>
<documentation>string</documentation>
<value>string</value>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
</array-item>
<array-item>
<documentation>string</documentation>
<value>string</value>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
</array-item>
</values-array>
<name>string</name>
<documentation>string</documentation>
<metadata-array>
<array-item>
<value>
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</value>
<key>string</key>
</array-item>
</metadata-array>
</value>
<key>obj-103</key>
</array-item>
</enumerations-array>
</value>
</ns0:Get-Result>

#### Response Type:

Name | Type | Description
--- | --- | ---
bold = required
value | structure_info | The vapi.metadata.metamodel.structure_info instance that corresponds to `structure_id`.
value.name | string | Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.
value.type | string | Type of the structure. Defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the errors of an operation element. Value is one of: STRUCTURE: If the type is a structure element. ERROR: If the type is an error element.
value.enumerations | list | Metamodel information of all the enumeration elements contained in the structure element. The key in the key/value pairs is the identifier of the enumeration element and the value is the metamodel information of the enumeration element. When clients pass a value of this structure as a parameter, the key in the field key/value pairs must be an identifier for the resource type: `com.vmware.vapi.enumeration`. When operations return a value of this structure as a result, the key in the field key/value pairs will be an identifier for the resource type: `com.vmware.vapi.enumeration`.List of {"key": string, "value": enumeration_info}
value.enumerations[].key | string |
value.enumerations[].value | enumeration_info |
value.enumerations[].value.name | string | Dot separated name of the enumeration element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.
value.enumerations[].value.values | enumeration_value_info[] | Metamodel information of all the enumeration value elements contained in this enumeration element. The order of the enumeration value elements in the list is same as the order in which they are defined in the interface definition file.
value.enumerations[].value.values[].value | string | Value in the enumerated type. All the characters in the string are capitalized.
value.enumerations[].value.values[].metadata | list | Additional metadata for enumeration value in the enumerated type. The key in the key/value pairs is the name of the metadata element and the value is the data associated with that metadata element. The vapi.metadata.metamodel.metadata_identifier contains possible string values for keys in the key/value pairs. List of {"key": string, "value": element_map}
value.enumerations[].value.values[].metadata[].key | string |
value.enumerations[].value.values[].metadata[].value | element_map |
value.enumerations[].value.values[].metadata[].value.elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value}
value.enumerations[].value.values[].metadata[].value.elements[].key | string |
value.enumerations[].value.values[].metadata[].value.elements[].value | element_value |
value.enumerations[].value.values[].metadata[].value.elements[].value.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element.
value.enumerations[].value.values[].metadata[].value.elements[].value.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.enumerations[].value.values[].metadata[].value.elements[].value.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.enumerations[].value.values[].metadata[].value.elements[].value.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of `type` is STRING_LIST.
value.enumerations[].value.values[].metadata[].value.elements[].value.structure_id | string | Identifier of the structure element. Optional. It is only relevant when type has value STRUCTURE_REFERENCE. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `com.vmware.vapi.structure`.
value.enumerations[].value.values[].metadata[].value.elements[].value.structure_ids | string[] | List of identifiers of the structure elements. Optional. It is only relevant when type has value STRUCTURE_REFERENCE_LIST. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE_LIST.When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: `com.vmware.vapi.structure`.
value.enumerations[].value.values[].documentation | string | English language documentation for an enumeration value. It can contain HTML markup and documentation tags (similar to Javadoc tags). The first statement will be a noun or verb phrase that describes the purpose of the enumeration value.
value.enumerations[].value.metadata | list | Generic metadata elements for an enumeration element. The key in the key/value pairs is the name of the metadata element and the value is the data associated with that metadata element. The vapi.metadata.metamodel.metadata_identifier contains possible string values for keys in the key/value pairs. List of {"key": string, "value": element_map}
value.enumerations[].value.metadata[].key | string |
value.enumerations[].value.metadata[].value | element_map |
value.enumerations[].value.metadata[].value.elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value}
value.enumerations[].value.metadata[].value.elements[].key | string |
value.enumerations[].value.metadata[].value.elements[].value | element_value |
value.enumerations[].value.metadata[].value.elements[].value.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element.
value.enumerations[].value.metadata[].value.elements[].value.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.enumerations[].value.metadata[].value.elements[].value.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.enumerations[].value.metadata[].value.elements[].value.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of `type` is STRING_LIST.
value.enumerations[].value.metadata[].value.elements[].value.structure_id | string | Identifier of the structure element. Optional. It is only relevant when type has value STRUCTURE_REFERENCE. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `com.vmware.vapi.structure`.
value.enumerations[].value.metadata[].value.elements[].value.structure_ids | string[] | List of identifiers of the structure elements. Optional. It is only relevant when type has value STRUCTURE_REFERENCE_LIST. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE_LIST.When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: `com.vmware.vapi.structure`.
value.enumerations[].value.documentation | string | English language documentation for an enumeration element. It can contain HTML markup and Javadoc tags. The first sentence of the enumeration documentation is a complete sentence that identifies the enumeration by name and summarizes the purpose of the enumeration. The documentation describes the context in which the enumeration is used. The documentation also contains references to the context in which the enumeration is used. But if the enumeration is used in many contexts, the references may not be present.
value.constants | list | Metamodel information of all the constant elements contained in the structure element. The key in the key/value pairs is the name of the constant element and the value in the key/value pairs is the metamodel information for the constant element. List of {"key": string, "value": constant_info}
value.constants[].key | string |
value.constants[].value | constant_info |
value.constants[].value.type | type | Type of the constant element.
value.constants[].value.type.category | string | Category of this type. Provides enumeration value for each category of the type. Value is one of: BUILTIN: The type is one of the built-in types specified in vapi.metadata.metamodel.type.builtin_type USER_DEFINED: The type is one of the user defined named types. GENERIC: The type is an instantiation of one of the generic types.
value.constants[].value.type.builtin_type | string | Category of the built-in type. Provides enumeration value for each of the built-in types present in the interface definition language type system. Value is one of: VOID: The built-in type is a void. The value is unset. BOOLEAN: The built-in type is a boolean. The value is true or false. LONG: The built-in type is a long. The value is a 64 bit signed integer. DOUBLE: The built-in type is a double. The value is a 64 bit floating point number. STRING: The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters. BINARY: The built-in type is a binary. The value is a variable-length sequence of zero or more bytes. SECRET: The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere. DATE_TIME: The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds. ID: The built-in type is an ID. The value represents an identifier for a resource. URI: The built-in type is an URI. The value follows the IRI specification in RFC 3987. ANY_ERROR: The built-in type is an arbitrary error type. This is used if the value of a typed element can be one of any user defined named type which is an error. DYNAMIC_STRUCTURE: The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type. OPAQUE: The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure services.Optional. It is only relevant when category has value BUILTIN. This field is optional and it is only relevant when the value of `category` is BUILTIN.
value.constants[].value.type.user_defined_type | user_defined_type | Identifier and type of the user defined type. Optional. It is only relevant when category has value USER_DEFINED. This field is optional and it is only relevant when the value of `category` is USER_DEFINED.
value.constants[].value.type.user_defined_type.resource_type | string | Category of the user defined named type. The named type could be a structure element or an enumeration element. When clients pass a value of this structure as a parameter, the field must be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this structure as a result, the field will be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`.
value.constants[].value.type.user_defined_type.resource_id | string | Identifier of the user defined named type. When clients pass a value of this structure as a parameter, the field must be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this structure as a result, the field will be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`.
value.constants[].value.type.generic_instantiation | generic_instantiation | Instantiation of one of the generic types available in the interface definition language. Optional. It is only relevant when category has value GENERIC. This field is optional and it is only relevant when the value of `category` is GENERIC.
value.constants[].value.type.generic_instantiation.generic_type | string | The generic type that is being instantiated. Provides enumeration values for each of the generic types provided by the infrastructure. Value is one of: LIST: Indicates the generic type is a list. MAP: Indicates the generic type is a map. OPTIONAL: Indicates the generic type is an optional. SET: Indicates the generic type is a set.
value.constants[].value.type.generic_instantiation.element_type | type | Type of the element parameter if the generic type instantiation is a LIST, OPTIONAL or SET. Optional. It is only relevant when generic_type has value [LIST, OPTIONAL, SET]. This field is optional and it is only relevant when the value of `generic_type` is one of LIST, OPTIONAL, or SET.
value.constants[].value.type.generic_instantiation.map_key_type | type | Type of the key parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the value parameter is described by vapi.metadata.metamodel.generic_instantiation.map_value_type.. Optional. It is only relevant when generic_type has value MAP. This field is optional and it is only relevant when the value of `generic_type` is MAP.
value.constants[].value.type.generic_instantiation.map_value_type | type | Type of the value parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the key parameter is described by vapi.metadata.metamodel.generic_instantiation.map_key_type.. Optional. It is only relevant when generic_type has value MAP. This field is optional and it is only relevant when the value of `generic_type` is MAP.
value.constants[].value.value | constant_value | Value of the constant element.
value.constants[].value.value.category | string | Category of the type of constant value. Defines enumeration values for the valid kinds of values. Value is one of: PRIMITIVE: Indicates the type of constant value is primitive. LIST: Indicates the type of constant value is a list.
value.constants[].value.value.primitive_value | primitive_value | Primitive value of the constant element. Optional. It is only relevant when category has value PRIMITIVE. This field is optional and it is only relevant when the value of `category` is PRIMITIVE.
value.constants[].value.value.primitive_value.type | string | Type of the constant value. Defines the valid types for values in constant elements. Value is one of: BOOLEAN: Indicates the value is a boolean (true or false). DOUBLE: Indicates the value is a double (64 bit floating number). LONG: Indicates the value is a long (64 bit signed integer). STRING: Indicates the value is a string (a variable length sequence of characters). The encoding is UTF8.
value.constants[].value.value.primitive_value.boolean_value | boolean | Boolean value of the constant. Optional. It is only relevant when type has value BOOLEAN. This field is optional and it is only relevant when the value of `type` is BOOLEAN.
value.constants[].value.value.primitive_value.double_value | double | Double value of the constant. Optional. It is only relevant when type has value DOUBLE. This field is optional and it is only relevant when the value of `type` is DOUBLE.
value.constants[].value.value.primitive_value.long_value | long | Long value of the constant. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.constants[].value.value.primitive_value.string_value | string | String value of the constant. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.constants[].value.value.list_value | primitive_value[] | List value of the constant element. Optional. It is only relevant when category has value LIST. This field is optional and it is only relevant when the value of `category` is LIST.
value.constants[].value.value.list_value[].type | string | Type of the constant value. Defines the valid types for values in constant elements. Value is one of: BOOLEAN: Indicates the value is a boolean (true or false). DOUBLE: Indicates the value is a double (64 bit floating number). LONG: Indicates the value is a long (64 bit signed integer). STRING: Indicates the value is a string (a variable length sequence of characters). The encoding is UTF8.
value.constants[].value.value.list_value[].boolean_value | boolean | Boolean value of the constant. Optional. It is only relevant when type has value BOOLEAN. This field is optional and it is only relevant when the value of `type` is BOOLEAN.
value.constants[].value.value.list_value[].double_value | double | Double value of the constant. Optional. It is only relevant when type has value DOUBLE. This field is optional and it is only relevant when the value of `type` is DOUBLE.
value.constants[].value.value.list_value[].long_value | long | Long value of the constant. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.constants[].value.value.list_value[].string_value | string | String value of the constant. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.constants[].value.documentation | string | English language documentation for the constant element. It can contain HTML markup and documentation tags (similar to Javadoc tags).
value.fields | field_info[] | Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service.
value.fields[].name | string | Name of the field element in a canonical format. The format is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.
value.fields[].type | type | Type information.
value.fields[].type.category | string | Category of this type. Provides enumeration value for each category of the type. Value is one of: BUILTIN: The type is one of the built-in types specified in vapi.metadata.metamodel.type.builtin_type USER_DEFINED: The type is one of the user defined named types. GENERIC: The type is an instantiation of one of the generic types.
value.fields[].type.builtin_type | string | Category of the built-in type. Provides enumeration value for each of the built-in types present in the interface definition language type system. Value is one of: VOID: The built-in type is a void. The value is unset. BOOLEAN: The built-in type is a boolean. The value is true or false. LONG: The built-in type is a long. The value is a 64 bit signed integer. DOUBLE: The built-in type is a double. The value is a 64 bit floating point number. STRING: The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters. BINARY: The built-in type is a binary. The value is a variable-length sequence of zero or more bytes. SECRET: The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere. DATE_TIME: The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds. ID: The built-in type is an ID. The value represents an identifier for a resource. URI: The built-in type is an URI. The value follows the IRI specification in RFC 3987. ANY_ERROR: The built-in type is an arbitrary error type. This is used if the value of a typed element can be one of any user defined named type which is an error. DYNAMIC_STRUCTURE: The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type. OPAQUE: The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure services.Optional. It is only relevant when category has value BUILTIN. This field is optional and it is only relevant when the value of `category` is BUILTIN.
value.fields[].type.user_defined_type | user_defined_type | Identifier and type of the user defined type. Optional. It is only relevant when category has value USER_DEFINED. This field is optional and it is only relevant when the value of `category` is USER_DEFINED.
value.fields[].type.user_defined_type.resource_type | string | Category of the user defined named type. The named type could be a structure element or an enumeration element. When clients pass a value of this structure as a parameter, the field must be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this structure as a result, the field will be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`.
value.fields[].type.user_defined_type.resource_id | string | Identifier of the user defined named type. When clients pass a value of this structure as a parameter, the field must be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this structure as a result, the field will be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`.
value.fields[].type.generic_instantiation | generic_instantiation | Instantiation of one of the generic types available in the interface definition language. Optional. It is only relevant when category has value GENERIC. This field is optional and it is only relevant when the value of `category` is GENERIC.
value.fields[].type.generic_instantiation.generic_type | string | The generic type that is being instantiated. Provides enumeration values for each of the generic types provided by the infrastructure. Value is one of: LIST: Indicates the generic type is a list. MAP: Indicates the generic type is a map. OPTIONAL: Indicates the generic type is an optional. SET: Indicates the generic type is a set.
value.fields[].type.generic_instantiation.element_type | type | Type of the element parameter if the generic type instantiation is a LIST, OPTIONAL or SET. Optional. It is only relevant when generic_type has value [LIST, OPTIONAL, SET]. This field is optional and it is only relevant when the value of `generic_type` is one of LIST, OPTIONAL, or SET.
value.fields[].type.generic_instantiation.map_key_type | type | Type of the key parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the value parameter is described by vapi.metadata.metamodel.generic_instantiation.map_value_type.. Optional. It is only relevant when generic_type has value MAP. This field is optional and it is only relevant when the value of `generic_type` is MAP.
value.fields[].type.generic_instantiation.map_value_type | type | Type of the value parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the key parameter is described by vapi.metadata.metamodel.generic_instantiation.map_key_type.. Optional. It is only relevant when generic_type has value MAP. This field is optional and it is only relevant when the value of `generic_type` is MAP.
value.fields[].metadata | list | Generic metadata elements for the field element. The key in the key/value pairs is the name of the metadata element and the value is the data associated with that metadata element. The vapi.metadata.metamodel.metadata_identifier contains possible string values for keys in the key/value pairs. List of {"key": string, "value": element_map}
value.fields[].metadata[].key | string |
value.fields[].metadata[].value | element_map |
value.fields[].metadata[].value.elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value}
value.fields[].metadata[].value.elements[].key | string |
value.fields[].metadata[].value.elements[].value | element_value |
value.fields[].metadata[].value.elements[].value.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element.
value.fields[].metadata[].value.elements[].value.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.fields[].metadata[].value.elements[].value.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.fields[].metadata[].value.elements[].value.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of `type` is STRING_LIST.
value.fields[].metadata[].value.elements[].value.structure_id | string | Identifier of the structure element. Optional. It is only relevant when type has value STRUCTURE_REFERENCE. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `com.vmware.vapi.structure`.
value.fields[].metadata[].value.elements[].value.structure_ids | string[] | List of identifiers of the structure elements. Optional. It is only relevant when type has value STRUCTURE_REFERENCE_LIST. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE_LIST.When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: `com.vmware.vapi.structure`.
value.fields[].documentation | string | English language documentation for the service element. It can contain HTML markup and Javadoc tags.
value.metadata | list | Generic metadata elements for the structure element. The key in the key/value pairs is the name of the metadata element and the value is the data associated with that metadata element. The vapi.metadata.metamodel.metadata_identifier contains possible string values for keys in the key/value pairs. List of {"key": string, "value": element_map}
value.metadata[].key | string |
value.metadata[].value | element_map |
value.metadata[].value.elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value}
value.metadata[].value.elements[].key | string |
value.metadata[].value.elements[].value | element_value |
value.metadata[].value.elements[].value.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element.
value.metadata[].value.elements[].value.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of `type` is LONG.
value.metadata[].value.elements[].value.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of `type` is STRING.
value.metadata[].value.elements[].value.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of `type` is STRING_LIST.
value.metadata[].value.elements[].value.structure_id | string | Identifier of the structure element. Optional. It is only relevant when type has value STRUCTURE_REFERENCE. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `com.vmware.vapi.structure`.
value.metadata[].value.elements[].value.structure_ids | string[] | List of identifiers of the structure elements. Optional. It is only relevant when type has value STRUCTURE_REFERENCE_LIST. This field is optional and it is only relevant when the value of `type` is STRUCTURE_REFERENCE_LIST.When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: `com.vmware.vapi.structure`. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: `com.vmware.vapi.structure`.
value.documentation | string | English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure.

#### Errors:

HTTP Status Code | Type | Description
--- | --- | ---
404 | not_found | if the structure element associated with `structure_id` is not contained in any of the package elements or service elements.