Get Service Id Metamodel

Get Service Id Metamodel

Retrieves information about the service element corresponding to serviceId. The ServiceInfo contains the metamodel information for the operation elements, structure elements and enumeration elements contained in the service element.

Request
URI
GET
https://{api_host}/api/vapi/metadata/metamodel/service/{service_id}
COPY
Path Parameters
string
service_id
Required

Identifier of the service element. The parameter must be an identifier for the resource type: com.vmware.vapi.service.


Authentication
This operation uses the following authentication methods.
Responses
200

The ServiceInfo instance that corresponds to serviceId

Returns Metadata_Metamodel_ServiceInfo of type(s) application/json
{
    "name": "string",
    "operations": {
        "operations": {
            "name": "string",
            "params": [
                {
                    "name": "string",
                    "type": {
                        "category": "string",
                        "builtin_type": "string",
                        "user_defined_type": {
                            "resource_type": "string",
                            "resource_id": "string"
                        },
                        "generic_instantiation": {
                            "generic_type": "string",
                            "element_type": "Metadata_Metamodel_Type Object",
                            "map_key_type": "Metadata_Metamodel_Type Object",
                            "map_value_type": "Metadata_Metamodel_Type Object"
                        }
                    },
                    "metadata": {
                        "metadata": {
                            "elements": {
                                "elements": {
                                    "type": "string",
                                    "long_value": 0,
                                    "string_value": "string",
                                    "list_value": [
                                        "string"
                                    ],
                                    "structure_id": "string",
                                    "structure_ids": [
                                        "string"
                                    ]
                                }
                            }
                        }
                    },
                    "documentation": "string"
                }
            ],
            "output": {
                "type": "Metadata_Metamodel_Type Object",
                "metadata": {
                    "metadata": "Metadata_Metamodel_ElementMap Object"
                },
                "documentation": "string"
            },
            "errors": [
                {
                    "structure_id": "string",
                    "documentation": "string"
                }
            ],
            "metadata": {
                "metadata": {
                    "elements": {
                        "elements": {
                            "type": "string",
                            "long_value": 0,
                            "string_value": "string",
                            "list_value": [
                                "string"
                            ],
                            "structure_id": "string",
                            "structure_ids": [
                                "string"
                            ]
                        }
                    }
                }
            },
            "documentation": "string"
        }
    },
    "structures": {
        "structures": {
            "name": "string",
            "type": "string",
            "enumerations": {
                "enumerations": {
                    "name": "string",
                    "values": [
                        {
                            "value": "string",
                            "metadata": {
                                "metadata": "Metadata_Metamodel_ElementMap Object"
                            },
                            "documentation": "string"
                        }
                    ],
                    "metadata": {
                        "metadata": "Metadata_Metamodel_ElementMap Object"
                    },
                    "documentation": "string"
                }
            },
            "constants": {
                "constants": {
                    "type": "Metadata_Metamodel_Type Object",
                    "value": {
                        "category": "string",
                        "primitive_value": {
                            "type": "string",
                            "boolean_value": false,
                            "double_value": "number",
                            "long_value": 0,
                            "string_value": "string"
                        },
                        "list_value": [
                            {
                                "type": "string",
                                "boolean_value": false,
                                "double_value": "number",
                                "long_value": 0,
                                "string_value": "string"
                            }
                        ]
                    },
                    "documentation": "string"
                }
            },
            "fields": [
                "Metadata_Metamodel_FieldInfo Object"
            ],
            "metadata": {
                "metadata": "Metadata_Metamodel_ElementMap Object"
            },
            "documentation": "string"
        }
    },
    "enumerations": {
        "enumerations": {
            "name": "string",
            "values": [
                {
                    "value": "string",
                    "metadata": {
                        "metadata": "Metadata_Metamodel_ElementMap Object"
                    },
                    "documentation": "string"
                }
            ],
            "metadata": {
                "metadata": "Metadata_Metamodel_ElementMap Object"
            },
            "documentation": "string"
        }
    },
    "constants": {
        "constants": {
            "type": "Metadata_Metamodel_Type Object",
            "value": {
                "category": "string",
                "primitive_value": {
                    "type": "string",
                    "boolean_value": false,
                    "double_value": "number",
                    "long_value": 0,
                    "string_value": "string"
                },
                "list_value": [
                    {
                        "type": "string",
                        "boolean_value": false,
                        "double_value": "number",
                        "long_value": 0,
                        "string_value": "string"
                    }
                ]
            },
            "documentation": "string"
        }
    },
    "metadata": {
        "metadata": {
            "elements": {
                "elements": {
                    "type": "string",
                    "long_value": 0,
                    "string_value": "string",
                    "list_value": [
                        "string"
                    ],
                    "structure_id": "string",
                    "structure_ids": [
                        "string"
                    ]
                }
            }
        }
    },
    "documentation": "string"
}
string
name
Required

Dot separated name of the service 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.

object
operations
Required

Metamodel information of all the operation elements contained in the service element. The key in the map is the identifier of the operation element and the value in the map is the metamodel information for the operation element. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vapi.operation. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vapi.operation.

object
structures
Required

Metamodel information of all the structure elements contained in the service element. The key in the map is the identifier of the structure element and the value in the map is the metamodel information for the structure element. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vapi.structure. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vapi.structure.

object
enumerations
Required

Metamodel information of all the enumeration elements contained in the service element. The key in the map is the identifier of the enumeration element and the value in the map is the metamodel information for the enumeration element. When clients pass a value of this structure as a parameter, the key in the field map 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 map will be an identifier for the resource type: com.vmware.vapi.enumeration.

object
constants
Required

Metamodel information of all the constant elements contained in the service element. The key in the map is the name of the constant element and the value in the map is the metamodel information for the contant element.

object
metadata
Required

Generic metadata elements for the service element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. The MetadataIdentifier contains possible string values for keys in the map.

string
documentation
Required

English language documentation for the service element. It can contain HTML markup and Javadoc tags. The first sentence of the service documentation is a complete sentence that identifies the service by name and summarizes the purpose of the service. The remaining part of the documentation provides a summary of how to use the operations defined in the service.


404

com.vmware.vapi.std.errors.not_found : if the service element associated with serviceId is not registered with the infrastructure.

Returns Std_Errors_Error of type(s) application/json
{
    "messages": [
        {
            "id": "string",
            "default_message": "string",
            "args": [
                "string"
            ],
            "params": {
                "params": {
                    "s": "string",
                    "dt": "string",
                    "i": 0,
                    "d": "number",
                    "l": {
                        "id": "string",
                        "params": {
                            "params": "Std_LocalizationParam Object"
                        }
                    },
                    "format": "string",
                    "precision": 0
                }
            },
            "localized": "string"
        }
    ],
    "data": {},
    "error_type": "string"
}
messages
Required

Stack of one or more localizable messages for human error consumers. The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The ArgumentLocations, FileLocations, and TransientIndication structures are intended as possible values for this field. DynamicID may also be useful as a value for this field (although that is not its primary purpose). Some services may provide their own specific structures for use as the value of this field when reporting errors from their operations.

Some operations will not set this field when reporting errors.

error_type
Optional

Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.
ERROR : Discriminator for the Error type.
ALREADY_EXISTS : Discriminator for the AlreadyExists type.
ALREADY_IN_DESIRED_STATE : Discriminator for the AlreadyInDesiredState type.
CANCELED : Discriminator for the Canceled type.
CONCURRENT_CHANGE : Discriminator for the ConcurrentChange type.
FEATURE_IN_USE : Discriminator for the FeatureInUse type.
INTERNAL_SERVER_ERROR : Discriminator for the InternalServerError type.
INVALID_ARGUMENT : Discriminator for the InvalidArgument type.
INVALID_ELEMENT_CONFIGURATION : Discriminator for the InvalidElementConfiguration type.
INVALID_ELEMENT_TYPE : Discriminator for the InvalidElementType type.
INVALID_REQUEST : Discriminator for the InvalidRequest type.
NOT_ALLOWED_IN_CURRENT_STATE : Discriminator for the NotAllowedInCurrentState type.
NOT_FOUND : Discriminator for the NotFound type.
OPERATION_NOT_FOUND : Discriminator for the OperationNotFound type.
RESOURCE_BUSY : Discriminator for the ResourceBusy type.
RESOURCE_IN_USE : Discriminator for the ResourceInUse type.
RESOURCE_INACCESSIBLE : Discriminator for the ResourceInaccessible type.
SERVICE_UNAVAILABLE : Discriminator for the ServiceUnavailable type.
TIMED_OUT : Discriminator for the TimedOut type.
UNABLE_TO_ALLOCATE_RESOURCE : Discriminator for the UnableToAllocateResource type.
UNAUTHENTICATED : Discriminator for the Unauthenticated type.
UNAUTHORIZED : Discriminator for the Unauthorized type.
UNEXPECTED_INPUT : Discriminator for the UnexpectedInput type.
UNSUPPORTED : Discriminator for the Unsupported type.
UNVERIFIED_PEER : Discriminator for the UnverifiedPeer type.


default

'Default' means this response is used for all HTTP codes that are not covered individually for this operation.

Returns Std_Errors_Error of type(s) application/json
{
    "messages": [
        {
            "id": "string",
            "default_message": "string",
            "args": [
                "string"
            ],
            "params": {
                "params": {
                    "s": "string",
                    "dt": "string",
                    "i": 0,
                    "d": "number",
                    "l": {
                        "id": "string",
                        "params": {
                            "params": "Std_LocalizationParam Object"
                        }
                    },
                    "format": "string",
                    "precision": 0
                }
            },
            "localized": "string"
        }
    ],
    "data": {},
    "error_type": "string"
}
messages
Required

Stack of one or more localizable messages for human error consumers. The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The ArgumentLocations, FileLocations, and TransientIndication structures are intended as possible values for this field. DynamicID may also be useful as a value for this field (although that is not its primary purpose). Some services may provide their own specific structures for use as the value of this field when reporting errors from their operations.

Some operations will not set this field when reporting errors.

error_type
Optional

Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.
ERROR : Discriminator for the Error type.
ALREADY_EXISTS : Discriminator for the AlreadyExists type.
ALREADY_IN_DESIRED_STATE : Discriminator for the AlreadyInDesiredState type.
CANCELED : Discriminator for the Canceled type.
CONCURRENT_CHANGE : Discriminator for the ConcurrentChange type.
FEATURE_IN_USE : Discriminator for the FeatureInUse type.
INTERNAL_SERVER_ERROR : Discriminator for the InternalServerError type.
INVALID_ARGUMENT : Discriminator for the InvalidArgument type.
INVALID_ELEMENT_CONFIGURATION : Discriminator for the InvalidElementConfiguration type.
INVALID_ELEMENT_TYPE : Discriminator for the InvalidElementType type.
INVALID_REQUEST : Discriminator for the InvalidRequest type.
NOT_ALLOWED_IN_CURRENT_STATE : Discriminator for the NotAllowedInCurrentState type.
NOT_FOUND : Discriminator for the NotFound type.
OPERATION_NOT_FOUND : Discriminator for the OperationNotFound type.
RESOURCE_BUSY : Discriminator for the ResourceBusy type.
RESOURCE_IN_USE : Discriminator for the ResourceInUse type.
RESOURCE_INACCESSIBLE : Discriminator for the ResourceInaccessible type.
SERVICE_UNAVAILABLE : Discriminator for the ServiceUnavailable type.
TIMED_OUT : Discriminator for the TimedOut type.
UNABLE_TO_ALLOCATE_RESOURCE : Discriminator for the UnableToAllocateResource type.
UNAUTHENTICATED : Discriminator for the Unauthenticated type.
UNAUTHORIZED : Discriminator for the Unauthorized type.
UNEXPECTED_INPUT : Discriminator for the UnexpectedInput type.
UNSUPPORTED : Discriminator for the Unsupported type.
UNVERIFIED_PEER : Discriminator for the UnverifiedPeer type.