REST API - get

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

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