5.1

Table Of Contents
Create an Extension Service Resource Class
To configure your extension service to provide access control for the objects it creates, define a resource class
for each of its object types.
A ResourceClass element contains the information needed to construct a URL that a client can use to access
the resource in a specific context. It must contain the following child elements:
MimeType
The MIME content type of all instances of the resource class.
UrlTemplate
The value of href attribute value for resources of this class. This can be any
URI, and can include the variables {baseUri} and {resourceId}. When
constructing the href value, vCloud Director replaces {baseUri} with the
vCloud Director REST API base URL, and replaces {resourceId} with the
UUID portion of the id attribute value of the resource.
Nid
The Namespace Identifier for resources of this type, as specified in
http://www.ietf.org/rfc/rfc2141.txt.
UrnPattern
The Namespace Specific String for resources of this type, as specified in
http://www.ietf.org/rfc/rfc2141.txt. You can provide a string or a named
regular expression, where (?<id>) matches the resource identifier.
Prerequisites
Verify that you are logged in to the vCloud API as a system administrator.
Procedure
1 Retrieve the XML representation of the service.
Use a request like this one:
GET https://vcloud.example.com/api/admin/extension/service/45
2 Examine the response to find the Link for adding resource classes.
This Link has the following form:
<vcloud:Link
rel="add"
type="application/vnd.vmware.admin.resourceClass+xml"
href="https://vcloud.example.com/api/admin/extension/service/45/resourceclasses" />
3 Construct a ResourceClass element.
See the request portion of “Example: Create an Extension Service Resource Class,” on page 295 for
information about the contents of this element.
4 POST the ResourceClass element to the URL described in Step 2.
Example: Create an Extension Service Resource Class
This request defines a resource class named Backup.
n
The MimeType is specified using the standard form for vnd type names.
n
The UrlTemplate uses the {baseUri} and {resourceId} variables, and could expand to a URL like
https://vcloud.example.com/backup/27
n
The Nid and UrnPattern elements provide rules for constructing an URN of the form:
urn:vcloud:backup:
id
Chapter 11 vCloud Director Extension Services
VMware, Inc. 295