REST API - get

vapi metadata routing service operation: get

Get information about a vAPI operation that contains routing information

Request:

HTTP request

POST https://{server}/rest/com/vmware/vapi/metadata/routing/service/operation/id:{service_id}?~action=get

Path Parameters

Name Type Description
Required
service_id string Identifier of the service.

Request Body Structure:

{
    "operation_id""obj-103"
}

Request Body Parameters:

Name Type Description
bold = required
operation_id string Identifier of the operation.

Response:

HTTP Status Code: 200

Representation:

{
    "value"{
        "routing_info"{
            "operation_hints"[
                "string",
                "string"
            ],
            "id_types"[
                {
                    "value""string",
                    "key""string"
                }
            ],
            "routing_strategy""string",
            "routing_path""string"
        }
    }
}

Response Type:

Name Type Description
bold = required
value operation_info Operation info for the vAPI operation that contains routing information.
value.routing_info routing_info The routing information assigned for this operation. For an explanation of routing information, see vapi.metadata.routing.routing_info

value.routing_info.routing_path string The initial version of the routing info allowed routing by single parameter. Clients requested allowing them to place more than one parameters so that the routing is performed by the first non-null argument in the list. To achieve that we have added method com.vmware.vapi.metadata.RoutingInfo#getRoutingPaths() which should be preferred over com.vmware.vapi.metadata.RoutingInfo#getRoutingPath() which is deprecated. The deprecated method will return string representation of the comma-separated list of ids, while the com.vmware.vapi.metadata.RoutingInfo#getRoutingPaths() will return instance of java.util.List<String> containing the ids.

value.routing_info.routing_strategy string The routingStrategy is the actual strategy, based on which will be performed the routing. If the routingStrategy is IDROUTE, in vapi.metadata.routing.routing_info.routing_path must be assigned the id for the routing. There are also default strategies like IDFIRSTROUTE, LOCAL for which there is no need to specify routingPath. The name of these strategies is clear about where we should look for an ID to route, or if we need ID at all.

value.routing_info.operation_hints string[] This is comma-separated list of hints from the input ini file. Here the user must mention the type of the invoked method, e.g. HINTS(create) or HINTS(delete). In the future we expect this field to contain other hints also e.g. HINTS(create,lazy).

value.routing_info.id_types list This is map of specifically predefined resource types in the routing metadata. For example id types that do not require storage in the Inventory Service. Those type of objects are called 'positioned' - it is well known in advance where those objects will be routed, because their ids contain VC server guid. Example: Content Library Sessions are considered transient objects that do not need to be persisted in the IS. Routing ini file must contain section: [types] com.vmware.content.DownloadSession=positioned The map therefore will contain: {{"com.vmware.content.DownloadSession", "positioned"}} Note: This should not be final solution. To avoid duplication, currently this map will be stored only in one RoutingInfo object across the whole ProductModel. In the future, it might be moved to a common place as ComponentInfo, for example.

List of {"key": string, "value": string}

Errors:

HTTP Status Code Type Description
404 not_found If the service identifier does not exist or if the specified operation identifier does not exist in the service.