1. Types
2. vapi
3. metadata
4. metamodel

## vapi metadata metamodel: operation info

The `operation_info` structure contains metamodel information of an operation element.

### Representations:

- JSON
- XML

{
"documentation": "string",
"errors": [
{
"documentation": "string",
"structure_id": "obj-103"
},
{
"documentation": "string",
"structure_id": "obj-103"
}
],
"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",
"output": {
"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"
}
}
]
}
}
],
"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"
}
}
},
"params": [
{
"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"
}
}
}
]
}
<?xml version="1.0" ?>
<ns0:OperationInfo xmlns:ns0="http://vmware.com/vapi/metadata/metamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<errors-array>
<array-item>
<documentation>string</documentation>
<structure_id>obj-103</structure_id>
</array-item>
<array-item>
<documentation>string</documentation>
<structure_id>obj-103</structure_id>
</array-item>
</errors-array>
<name>string</name>
<documentation>string</documentation>
<params-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>
</params-array>
<output>
<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>
</output>
<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>
</ns0:OperationInfo>

#### Attributes:

Name | Type | Description
--- | --- | ---
Required
name | string | Name of the operation 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.
params | field_info[] | Metamodel information for the parameter elements. The order of the parameters elements in the list is same as the order of the parameters declared in the interface definition file.
output | operation_result_info | Metamodel type for the output element.
errors | error_info[] | List of error elements that might be reported by the operation element. If the operation reports the same error for more than one reason, the list contains the error element associated with the error more than once with different documentation elements.
metadata | list | Generic metadata elements for the operation 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 key in the key/value pairs. List of {"key": string, "value": element_map}
documentation | string | English language documentation for the service element. It can contain HTML markup and Javadoc tags.