VMware Cloud Director API - ResourceClass

VMware Cloud Director API - ResourceClass

ResourceClassType

Element:
ResourceClass
Type:
ResourceClassType
Namespace:
http://www.vmware.com/vcloud/extension/v1.5
Description:
Represents a resource class defined by an external service.
Since:
5.1
Schema:
services.xsd
Media type(s):
application/vnd.vmware.admin.resourceClass+json
application/vnd.vmware.admin.resourceClass+xml
Extends:
EntityType
XML Representation:
<ResourceClass xmlns="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud_v1.5="http://www.vmware.com/vcloud/v1.5" href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
        name="xs:string">
    <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
            rel="xs:string" model="xs:string"/>
    <Description> xs:string </Description>
    <vcloud_v1.5:Tasks>
        <vcloud_v1.5:Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                cancelRequested="xs:boolean">
            <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                    rel="xs:string" model="xs:string"/>
            <Description> xs:string </Description>
            <vcloud_v1.5:Tasks> vcloud_v1.5:TasksInProgressType </vcloud_v1.5:Tasks>
            <vcloud_v1.5:Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <vcloud_v1.5:Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                    vendorSpecificErrorCode="xs:string">
                <vcloud_v1.5:TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
            </vcloud_v1.5:Error>
            <vcloud_v1.5:User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <vcloud_v1.5:Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <Progress> xs:int </Progress>
            <Params> ... </Params>
            <Details> xs:string </Details>
            <vcloud_v1.5:VcTaskList>
                <vcloud_v1.5:VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                        errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                        virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
            </vcloud_v1.5:VcTaskList>
            <vcloud_v1.5:Result>
                <ResultContent> ... </ResultContent>
                <vcloud_v1.5:ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            </vcloud_v1.5:Result>
        </vcloud_v1.5:Task>
    </vcloud_v1.5:Tasks>
    <MimeType> xs:string </MimeType>
    <UrlTemplate> xs:string </UrlTemplate>
    <Nid> xs:string </Nid>
    <UrnPattern> xs:string </UrnPattern>
    <ServiceResources>
        <ServiceResource href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                name="xs:string">
            <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                    rel="xs:string" model="xs:string"/>
            <Description> xs:string </Description>
            <vcloud_v1.5:Tasks>
                <vcloud_v1.5:Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                        name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                        serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                        cancelRequested="xs:boolean">
                    <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                            rel="xs:string" model="xs:string"/>
                    <Description> xs:string </Description>
                    <vcloud_v1.5:Tasks> vcloud_v1.5:TasksInProgressType </vcloud_v1.5:Tasks>
                    <vcloud_v1.5:Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <vcloud_v1.5:Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                            vendorSpecificErrorCode="xs:string">
                        <vcloud_v1.5:TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
                    </vcloud_v1.5:Error>
                    <vcloud_v1.5:User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <vcloud_v1.5:Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <Progress> xs:int </Progress>
                    <Params> ... </Params>
                    <Details> xs:string </Details>
                    <vcloud_v1.5:VcTaskList>
                        <vcloud_v1.5:VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                                errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                                virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
                    </vcloud_v1.5:VcTaskList>
                    <vcloud_v1.5:Result>
                        <ResultContent> ... </ResultContent>
                        <vcloud_v1.5:ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </vcloud_v1.5:Result>
                </vcloud_v1.5:Task>
            </vcloud_v1.5:Tasks>
            <vcloud_v1.5:Org href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <ExternalObjectId> xs:string </ExternalObjectId>
        </ServiceResource>
    </ServiceResources>
    <ResourceClassActions>
        <ResourceClassAction href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                name="xs:string">
            <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                    rel="xs:string" model="xs:string"/>
            <Description> xs:string </Description>
            <vcloud_v1.5:Tasks>
                <vcloud_v1.5:Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                        name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                        serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                        cancelRequested="xs:boolean">
                    <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                            rel="xs:string" model="xs:string"/>
                    <Description> xs:string </Description>
                    <vcloud_v1.5:Tasks> vcloud_v1.5:TasksInProgressType </vcloud_v1.5:Tasks>
                    <vcloud_v1.5:Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <vcloud_v1.5:Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                            vendorSpecificErrorCode="xs:string">
                        <vcloud_v1.5:TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
                    </vcloud_v1.5:Error>
                    <vcloud_v1.5:User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <vcloud_v1.5:Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <Progress> xs:int </Progress>
                    <Params> ... </Params>
                    <Details> xs:string </Details>
                    <vcloud_v1.5:VcTaskList>
                        <vcloud_v1.5:VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                                errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                                virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
                    </vcloud_v1.5:VcTaskList>
                    <vcloud_v1.5:Result>
                        <ResultContent> ... </ResultContent>
                        <vcloud_v1.5:ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </vcloud_v1.5:Result>
                </vcloud_v1.5:Task>
            </vcloud_v1.5:Tasks>
            <HttpMethod> xs:string </HttpMethod>
            <UrlPattern> xs:string </UrlPattern>
            <AclRules>
                <AclRule href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                        name="xs:string">
                    <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                            rel="xs:string" model="xs:string"/>
                    <Description> xs:string </Description>
                    <vcloud_v1.5:Tasks>
                        <vcloud_v1.5:Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                                name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                                serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                                cancelRequested="xs:boolean">
                            <vcloud_v1.5:Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                                    rel="xs:string" model="xs:string"/>
                            <Description> xs:string </Description>
                            <vcloud_v1.5:Tasks> vcloud_v1.5:TasksInProgressType </vcloud_v1.5:Tasks>
                            <vcloud_v1.5:Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                            <vcloud_v1.5:Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                                    vendorSpecificErrorCode="xs:string">
                                <vcloud_v1.5:TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
                            </vcloud_v1.5:Error>
                            <vcloud_v1.5:User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                            <vcloud_v1.5:Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                            <Progress> xs:int </Progress>
                            <Params> ... </Params>
                            <Details> xs:string </Details>
                            <vcloud_v1.5:VcTaskList>
                                <vcloud_v1.5:VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                                        errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                                        virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
                            </vcloud_v1.5:VcTaskList>
                            <vcloud_v1.5:Result>
                                <ResultContent> ... </ResultContent>
                                <vcloud_v1.5:ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                            </vcloud_v1.5:Result>
                        </vcloud_v1.5:Task>
                    </vcloud_v1.5:Tasks>
                    <ServiceResourceAccess>
                        <Access> xs:string </Access>
                        <vcloud_v1.5:Entity href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </ServiceResourceAccess>
                    <OrganizationAccess>
                        <Access> xs:string </Access>
                        <vcloud_v1.5:Entity href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </OrganizationAccess>
                    <PrincipalAccess>
                        <Access> xs:string </Access>
                        <vcloud_v1.5:Entity href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </PrincipalAccess>
                </AclRule>
            </AclRules>
        </ResourceClassAction>
    </ResourceClassActions>
</ResourceClass>

Attributes

Attribute Type Required Modifiable Since Deprecated Description
href anyURI No always 5.1 The URI of the entity.
type string No always 5.1 The MIME type of the entity.
id string No none 5.1 The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused.
operationKey string No create 5.1 Optional unique identifier to support idempotent semantics for create and delete operations.
name string Yes always 5.1 The name of the entity.

Elements

Element Type Required Modifiable Since Deprecated Description
Description string No always 5.1 Optional description.
Link LinkType No none 5.1 A reference to an entity or operation associated with this object.
MimeType string No none 5.1 The MIME type for extension service resources of this resource class. Must be <=128 characters.
Nid string No none 5.1 The Namespace Identifier for resources of this type, as specified in RFC2141. Must be <=255 characters.
ResourceClassActions ResourceClassActionsType No always 5.1 Container for values used to create resource class actions defined for this resource class.
ServiceResources ServiceResourcesType No always 5.1 Container for values used to create service resources defined by this extension service.
Tasks TasksInProgressType No none 5.1 A list of queued, running, or recently completed tasks associated with this entity.
UrlTemplate string No none 5.1 A template for constructing the href attribute value for resources of this class. 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} the UUID portion of the resource id. Must be <=1024 characters.
UrnPattern string No none 5.1 The Namespace Specific String for resources of this type, as specified in RFC2141. Can be a string or a named regular expression, where (?&ltid>) matches the resource identifier. Must be <=255 characters.
VCloudExtension VCloudExtensionType No always 5.1 An optional extension element that can contain an arbitrary number of elements and attributes. Not related to extension services.

Operations

CRUD Operation Description Since Deprecated
create POST /admin/extension/service/{id}/resourceclasses Registers resource class for extension service.
read GET /admin/extension/service/resourceclass/{id} Retrieve (GET) resource class info
delete DELETE /admin/extension/service/resourceclass/{id} Deletes (DELETE) resource class