The VMware Cloud Director API makes extensive use of Link elements to provide references to objects and the actions that they support. These elements are the primary mechanism by which a server tells a client how to access and operate on an object.

The server creates Link elements in a response body. They are read-only at the client. If a request body includes a Link element, the server ignores it.

Attributes of a Link Element

In the XML representation of a VMware Cloud Director object, each Link element has the following form:

<Link rel="relationship"
   type="application/vnd.vmware.vcloud.object_type+xml"
   href="URL" 
   name="string"/>

Attribute values in a Link element supply the following information:

rel
Defines the relationship of the link to the object that contains it. A relationship can be the name of an operation on the object, a reference to a contained or containing object, or a reference to an alternate representation of the object. The relationship value implies the HTTP verb to use when you use the link's href value as a request URL.
type
The object type, specified as a MIME content type, of the object that the link references. This attribute is present only for links to objects. It is not present for links to actions.
href

An object reference, expressed in URL format. This reference includes the object identifier portion of the id attribute value, and supplies additional information, including the current location of the object when accessed in a specific view. Although URLs have a well-known syntax and a well-understood interpretation, a client should treat each href as an opaque string. The rules that govern how the server constructs href strings might change in future releases.

name
The name of the referenced object, taken from the value of that object's name attribute. Action links do not include a name attribute.
Table 1. Link Relationships and HTTP Request Types
rel Attribute Value Action or Relationship Description Implied HTTP Verb
abort Abort this blocking task. POST
add Add an item to this container. POST
add:dfwEnable Enable distributed firewall POST
alternate References an alternate representation of this object. GET
answer Provide user input requested by a virtual machine. POST
authorization:check Check whether an extension service operation is authorized for an entity. POST
blockingTask A list of pending blocking task requests in this cloud. GET
bundle:upload Upload an extension service localization bundle. PUT
bundles:cleanup Remove unused extension service localization bundles. POST
catalogItem References the CatalogItem object that refers to this object. GET
certificate:reset Removes the SSL certificate used by this service. POST
certificate:update Updates the SSL certificate used by this service. POST
checkCompliance Check that this virtual machine is using a storage profile of the intended type. POST
consolidate Consolidate this virtual machine. POST
controlAccess Apply access controls to this object. POST
copy Reserved N/A
customizeAtNextPowerOn Force guest customization to be applied the next time this virtual machine is powered on. POST
deploy Deploy this vApp. POST
disable Disable this object. POST
discardState Discard the suspended state of this virtual machine. POST
disk:attach Attach an independent disk to this virtual machine. POST
disk:detach Detach an independent disk from this virtual machine. POST
down References an object contained by this object. GET
down:aclRules Retrieve the ACL rules for this resource class action. GET
down:apiDefinitions Retrieve the API definitions for this extension service. GET
down:apiFilters Retrieve the API filters for this extension service. GET
down:dfwSection Retrieve the distributed firewall section of an Edge Gateway GET
down:edge Retrieve an Edge Gateway GET
down:edgeOperations Retrieve a list of Edge Gateway operations GET
down:edges Retrieve a list of Edge Gateways GET
down:extensibility Add an extension service to the system. POST
down:fileDescriptors Retrieve file descriptors for extension services APIs GET
down:files Retrieve files for extension services APIs GET
down:resourceClassActions Retrieve the actions defined for this extension service resource class. GET
down:resourceClasses Retrieve the resource classes defined by this extension service. GET
down:serviceLinks Retrieve the service links defined by this extension service. GET
down:serviceResources Retrieve the list of extension service resources of this class.
down:services Retrieve the list of registered extension services. GET
download:alternate Reserved N/A
download:default References the default location from which this file can be downloaded. GET
download:identity References the extended OVF descriptor of this vApp template. The extended OVF descriptor contains additional information such as MAC address, BIOS UUID, and NetworkConfigSection GET
download:ovaDefault References the default location from which this OVA file can be downloaded. GET
download:ovaIdentity References the OVA that contains the extended OVF descriptor of this vApp template. The extended OVF descriptor contains additional information such as MAC address, BIOS UUID, and NetworkConfigSection GET
edgeGateway:configureServices Update the network services offered by this Edge Gateway. POST
edgeGateway:disableDistributedRouting Disable the distributed logical routing feature on this Edge Gateway POST
edgeGateway:enableDistributedRouting Enable the distributed logical routing feature on this Edge Gateway POST
edgeGateway:reapplyServices Reapply (after an update) the network services offered by this Edge Gateway. POST
edgeGateway:redeploy Redeploy the vShield Edge supporting this Edge Gateway. POST
edgeGateway:syncSyslogSettings Synchronize syslog server addresses used by this Edge Gateway with system defaults. POST
edgeGateway:upgrade Upgrade the backing configuration of this Edge Gateway from compact to full. POST
edgeGateways List the Edge Gateway objects in this organization VDC. GET
edit Modify this object, typically by replacing its current representation with the one in the request body. PUT
enable Enable this object. POST
enterMaintenanceMode Put this virtual machine into maintenance mode. POST
entity Retrieve a representation of the object on which an operation triggered this notification. GET
entityResolver Retrieve an object id as a context-free Entity element. GET
event:create Create an event in an this organization's event stream. POST
exitMaintenanceMode Take this virtual machine out of maintenance mode. POST
fail Fail this blocking task. POST
firstPage Reference to the first page of a paginated response. GET
fanout:failed Multisite authentication skipped for this request because the association status was ASYMMETRIC or UNREACHABLE. See Configuring and Managing Multisite Deployments in Your VMware Cloud Director. GET
fanout:skipped Multisite member status for this request was ACTIVE but authentication at the member failed for some other reason. See Configuring and Managing Multisite Deployments in Your VMware Cloud Director. GET
installVmwareTools Install VMware Tools on this virtual machine. POST
instantiate Instantiate a VDC template to create a VDC in this organization. POST
keystore:reset Removes the keystore used by this service. POST
keystore:update Updates the keystore used by this service. POST
lastPage Reference to the last page of a paginated response. GET
makeMandatory Make a VM-host affinity rule mandatory POST
makeOptional Make a VM-host affinity rule optional POST
media:ejectMedia Eject virtual media from a virtual device. POST
media:insertMedia Insert virtual media into a virtual device. POST
metrics Retrieve a subset of current or historic metrics from a virtual machine POST
merge Merge one or more Provider VDCs with this Provider VDC. POST
migrateVms Migrate virtual machines from this resource pool to a different one. POST
move Reserved N/A
nextPage Reference to the next page of a paginated response. GET
nsx Entrypoint for VMware Cloud Director API for NSX GET
orgVdcNetworks List the organization VDC networks supported by this Edge Gateway. GET
orgVdcNetwork:convertToInternalInterface Convert this organization VDC network to an internal interface from a subinterface. POST
orgVdcNetwork:convertToSubInterface Convert this organization VDC network to an subinterface from an internal interface. POST
ova Reserved N/A
ovf References the OVF descriptor of this vApp template. GET
power:powerOff Power off this vApp or virtual machine. POST
power:powerOn Power on this vApp or virtual machine. POST
power:reboot Reboot this vApp or virtual machine. POST
power:reset Reset this vApp or virtual machine. POST
power:shutdown Shut down this vApp or virtual machine. POST
power:suspend Suspend this vApp or virtual machine. POST
previousPage Reference to the previous page of a paginated response. GET
publish Publish this extension to a specific tenant (Portal Extensibility) POST
publish:all Publish this extension to all tenants (Portal Extensibility) POST
publishToExternalOrganizations Publish this catalog externally POST
recompose Recompose this vApp to add, remove, or reconfigure virtual machines. POST
reconfigureVm Update multiple sections of a virtual machine. POST
reconnect Reconnect this vCenter Server to the system. POST
refreshStorageProfiles Refresh the list of storage profiles that exist on the vCenter service backing this Provider VDC. POST
refreshVirtualCenter Refresh the representation of this vCenter server POST
register Register a VCenter Server with the system. POST
relinkToTemplate Link a role to a role template POST
reloadFromVc Reload certain properties of this virtual machine from the vCenter database. POST
relocate Relocate this virtual machine. POST
remove Remove this object. DELETE
remove:dfwDisable Disable distributed firewall POST
remove:force Force removal of this object. DELETE
repair Repair this host or network. POST
resourcePoolVmList List the virtual machines using this resource pool. GET
resume Resume this blocking task. POST
rights List the service-specific rights created by this extension service. GET
rights:cleanup Remove service-specific rights no longer used by any extension service. POST
screen:acquireTicket Retrieve a screen ticket for this virtual machine. GET
screen:thumbnail Retrieve a thumbnail view of the screen of this virtual machine. GET
self References this object. GET
shadowVms List shadow virtual machines associated with the virtual machines in this vApp template. GET
snapshot:create Create a snapshot of the virtual machines in this vApp. POST
snapshot:removeAll Remove all snapshots created for the virtual machines in this vApp. POST
snapshot:revertToCurrent Revert all virtual machines in this vApp to their current snapshot. POST
storageProfile References the storage profile for this object. GET
subscribeToExternalCatalog Add an external subscription to this catalog. POST
sync Synchronize this catalog or catalog item with its external source. POST
syncSyslogSettings Synchronize syslog server addresses used by this vApp network with system defaults. POST
takeOwnership Take ownership of this user's vApps, media, and catalogs. POST
task Retrieve the blocking task that triggered this notification. GET
task:cancel Cancel this task. POST
task:create Create a task object. POST
task:owner Reference to the owner of a task. GET
tenants Tenant list for VRO workflows. GET
truststore:reset Remove the truststore used by this service. POST
truststore:update Update the truststore used by this service. PUT
undeploy Undeploy this vApp. POST
unlinkFromTemplate Unlink a role from a role template POST
unlock Unlock this user account. POST
unpublish Remove this extension from a specific tenant (Portal Extensibility) POST
unpublish:all Remove this extension from all tenants (Portal Extensibility) POST
unregister Unregister this vCenter Server. POST
up References an object that contains this object. GET
update:resourcePools Update the resource pools of this Provider VDC POST
updateProgress Request an update of this task's progress. POST
upgrade Upgrade this host. POST
upload:alternate Reserved N/A
upload:default References the default location to which this object can be uploaded. PUT
vSphereWebClientUrl A URL that you can use to view this object with the vSphere Web Client GET