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"
}
"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"
}
}
}
"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. |