vapi metadata routing package: get
Get the routing information for a vAPI package
Request:
HTTP request
GET https://{server}/rest/com/vmware/vapi/metadata/routing/package/id:{package_id}
Path Parameters
Name | Type | Description |
---|---|---|
Required | ||
package_id | string | fully qualified package name. |
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"
},
"services" : [
{
"value" : {
"operations" : [
{
"value" : {
"routing_info" : {
"operation_hints" : [
"string",
"string"
],
"id_types" : [
{
"value" : "string",
"key" : "string"
}
],
"routing_strategy" : "string",
"routing_path" : "string"
}
},
"key" : "obj-103"
}
],
"routing_info" : {
"operation_hints" : [
"string",
"string"
],
"id_types" : [
{
"value" : "string",
"key" : "string"
}
],
"routing_strategy" : "string",
"routing_path" : "string"
}
},
"key" : "obj-103"
}
]
}
}
"value" : {
"routing_info" : {
"operation_hints" : [
"string",
"string"
],
"id_types" : [
{
"value" : "string",
"key" : "string"
}
],
"routing_strategy" : "string",
"routing_path" : "string"
},
"services" : [
{
"value" : {
"operations" : [
{
"value" : {
"routing_info" : {
"operation_hints" : [
"string",
"string"
],
"id_types" : [
{
"value" : "string",
"key" : "string"
}
],
"routing_strategy" : "string",
"routing_path" : "string"
}
},
"key" : "obj-103"
}
],
"routing_info" : {
"operation_hints" : [
"string",
"string"
],
"id_types" : [
{
"value" : "string",
"key" : "string"
}
],
"routing_strategy" : "string",
"routing_path" : "string"
}
},
"key" : "obj-103"
}
]
}
}
Response Type:
Name | Type | Description |
---|---|---|
bold = required | ||
value | package_info | routing information for the vAPI package. |
value.routing_info | routing_info | The routing information to be used for all the operations present in this package. If a particular operation has no explicit routing information defined in the routing definition file, this routing info will be used for enforcing routing. |
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} |
value.services | list | Information about all services in this package that contain routing information. The key in the map is the ID of the service and the value in the map is the routing information for the service For an explanation of routing information within service, see vapi.metadata.routing.service When clients pass a value of this structure as a parameter, the key in the field key/value pairs must be an identifier for the resource type: com.vmware.vapi.service . When operations return a value of this structure as a result, the key in the field key/value pairs will be an identifier for the resource type: com.vmware.vapi.service .List of {"key": string, "value": service_info} |
Errors:
HTTP Status Code | Type | Description |
---|---|---|
404 | not_found | If the package name does not exist |