vapi metadata metamodel: operation info

The operation_info structure contains metamodel information of an operation element.

Representation:

{
    "output"{
        "metadata"{
            "<string>"{
                "elements"{
                    "<string>"{
                        "list_value"[
                            "string",
                            "string"
                        ],
                        "string_value""string",
                        "structure_id""obj-103",
                        "type""LONG",
                        "structure_ids"[
                            "obj-103",
                            "obj-103"
                        ],
                        "long_value"1
                    }
                }
            }
        },
        "documentation""string",
        "type"{
            "builtin_type""VOID",
            "user_defined_type"{
                "resource_type""string",
                "resource_id""obj-103"
            },
            "category""BUILTIN",
            "generic_instantiation"{
                "generic_type""LIST",
                "element_type"{
                    "builtin_type""VOID",
                    "user_defined_type"{
                        "resource_type""string",
                        "resource_id""obj-103"
                    },
                    "category""BUILTIN",
                    "generic_instantiation"{
                        "generic_type""LIST"
                    }
                }
            }
        }
    },
    "metadata"{
        "<string>"{
            "elements"{
                "<string>"{
                    "list_value"[
                        "string",
                        "string"
                    ],
                    "string_value""string",
                    "structure_id""obj-103",
                    "type""LONG",
                    "structure_ids"[
                        "obj-103",
                        "obj-103"
                    ],
                    "long_value"1
                }
            }
        }
    },
    "documentation""string",
    "name""string",
    "params"[
        {
            "metadata"{
                "<string>"{
                    "elements"{
                        "<string>"{
                            "list_value"[
                                "string",
                                "string"
                            ],
                            "string_value""string",
                            "structure_id""obj-103",
                            "type""LONG",
                            "structure_ids"[
                                "obj-103",
                                "obj-103"
                            ],
                            "long_value"1
                        }
                    }
                }
            },
            "documentation""string",
            "name""string",
            "type"{
                "builtin_type""VOID",
                "user_defined_type"{
                    "resource_type""string",
                    "resource_id""obj-103"
                },
                "category""BUILTIN",
                "generic_instantiation"{
                    "generic_type""LIST",
                    "element_type"{
                        "builtin_type""VOID",
                        "user_defined_type"{
                            "resource_type""string",
                            "resource_id""obj-103"
                        },
                        "category""BUILTIN",
                        "generic_instantiation"{
                            "generic_type""LIST"
                        }
                    }
                }
            }
        },
        {
            "metadata"{
                "<string>"{
                    "elements"{
                        "<string>"{
                            "list_value"[
                                "string",
                                "string"
                            ],
                            "string_value""string",
                            "structure_id""obj-103",
                            "type""LONG",
                            "structure_ids"[
                                "obj-103",
                                "obj-103"
                            ],
                            "long_value"1
                        }
                    }
                }
            },
            "documentation""string",
            "name""string",
            "type"{
                "builtin_type""VOID",
                "user_defined_type"{
                    "resource_type""string",
                    "resource_id""obj-103"
                },
                "category""BUILTIN",
                "generic_instantiation"{
                    "generic_type""LIST",
                    "element_type"{
                        "builtin_type""VOID",
                        "user_defined_type"{
                            "resource_type""string",
                            "resource_id""obj-103"
                        },
                        "category""BUILTIN",
                        "generic_instantiation"{
                            "generic_type""LIST"
                        }
                    }
                }
            }
        }
    ],
    "errors"[
        {
            "documentation""string",
            "structure_id""obj-103"
        },
        {
            "documentation""string",
            "structure_id""obj-103"
        }
    ]
}
{
    "output"{
        "metadata"[
            {
                "value"{
                    "elements"[
                        {
                            "value"{
                                "list_value"[
                                    "string",
                                    "string"
                                ],
                                "string_value""string",
                                "structure_id""obj-103",
                                "type""LONG",
                                "structure_ids"[
                                    "obj-103",
                                    "obj-103"
                                ],
                                "long_value"1
                            },
                            "key""string"
                        }
                    ]
                },
                "key""string"
            }
        ],
        "documentation""string",
        "type"{
            "builtin_type""VOID",
            "user_defined_type"{
                "resource_type""string",
                "resource_id""obj-103"
            },
            "category""BUILTIN",
            "generic_instantiation"{
                "generic_type""LIST",
                "element_type"{
                    "builtin_type""VOID",
                    "user_defined_type"{
                        "resource_type""string",
                        "resource_id""obj-103"
                    },
                    "category""BUILTIN",
                    "generic_instantiation"{
                        "generic_type""LIST"
                    }
                }
            }
        }
    },
    "metadata"[
        {
            "value"{
                "elements"[
                    {
                        "value"{
                            "list_value"[
                                "string",
                                "string"
                            ],
                            "string_value""string",
                            "structure_id""obj-103",
                            "type""LONG",
                            "structure_ids"[
                                "obj-103",
                                "obj-103"
                            ],
                            "long_value"1
                        },
                        "key""string"
                    }
                ]
            },
            "key""string"
        }
    ],
    "documentation""string",
    "name""string",
    "params"[
        {
            "metadata"[
                {
                    "value"{
                        "elements"[
                            {
                                "value"{
                                    "list_value"[
                                        "string",
                                        "string"
                                    ],
                                    "string_value""string",
                                    "structure_id""obj-103",
                                    "type""LONG",
                                    "structure_ids"[
                                        "obj-103",
                                        "obj-103"
                                    ],
                                    "long_value"1
                                },
                                "key""string"
                            }
                        ]
                    },
                    "key""string"
                }
            ],
            "documentation""string",
            "name""string",
            "type"{
                "builtin_type""VOID",
                "user_defined_type"{
                    "resource_type""string",
                    "resource_id""obj-103"
                },
                "category""BUILTIN",
                "generic_instantiation"{
                    "generic_type""LIST",
                    "element_type"{
                        "builtin_type""VOID",
                        "user_defined_type"{
                            "resource_type""string",
                            "resource_id""obj-103"
                        },
                        "category""BUILTIN",
                        "generic_instantiation"{
                            "generic_type""LIST"
                        }
                    }
                }
            }
        },
        {
            "metadata"[
                {
                    "value"{
                        "elements"[
                            {
                                "value"{
                                    "list_value"[
                                        "string",
                                        "string"
                                    ],
                                    "string_value""string",
                                    "structure_id""obj-103",
                                    "type""LONG",
                                    "structure_ids"[
                                        "obj-103",
                                        "obj-103"
                                    ],
                                    "long_value"1
                                },
                                "key""string"
                            }
                        ]
                    },
                    "key""string"
                }
            ],
            "documentation""string",
            "name""string",
            "type"{
                "builtin_type""VOID",
                "user_defined_type"{
                    "resource_type""string",
                    "resource_id""obj-103"
                },
                "category""BUILTIN",
                "generic_instantiation"{
                    "generic_type""LIST",
                    "element_type"{
                        "builtin_type""VOID",
                        "user_defined_type"{
                            "resource_type""string",
                            "resource_id""obj-103"
                        },
                        "category""BUILTIN",
                        "generic_instantiation"{
                            "generic_type""LIST"
                        }
                    }
                }
            }
        }
    ],
    "errors"[
        {
            "documentation""string",
            "structure_id""obj-103"
        },
        {
            "documentation""string",
            "structure_id""obj-103"
        }
    ]
}

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.

-.params[].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.

-.params[].type type Type information.

-.params[].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.

-.params[].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.

-.params[].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.

-.params[].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.

-.params[].metadata object 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.

Object with element values of type element_map.

-.params[].metadata.* element_map
-.params[].metadata.*.elements object 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.

Object with element values of type element_value.

-.params[].metadata.*.elements.* element_value
-.params[].metadata.*.elements.*.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.

-.output operation_result_info Metamodel type for the output element.

-.output.type type Type information of the operation result element.

-.output.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.

-.output.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.

-.output.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.

-.output.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.

-.output.metadata object Generic metadata elements for the service 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.

Object with element values of type element_map.

-.output.documentation string English language documentation for the operation result element. It can contain HTML markup and Javadoc tags.

-.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 object 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.

Object with element values of type element_map.

-.documentation string English language documentation for the service element. It can contain HTML markup and Javadoc tags.

Optional
-.params[].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.

-.params[].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.

-.params[].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.

-.params[].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.

-.params[].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.

-.params[].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.

-.params[].metadata.*.elements.*.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.

-.params[].metadata.*.elements.*.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.

-.params[].metadata.*.elements.*.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.

-.output.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.

-.output.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.

-.output.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.

-.output.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.

-.output.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.

-.output.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.