You can update an object extension registration by making a PUT request to its edit URL and supplying a modified an ObjectExtension in the request body.

Note: This procedure is deprecated. To create an external service, see the VMware Cloud Director OpenAPI reference.

Prerequisites

This operation is restricted to system administrators.

Procedure

  1. Retrieve the object extension.
    Use a request like this one, where ID is the ID of the extension that you want to retrieve.
    GET https://vcloud.example.com/api/admin/extension/object/ID
    If you do not know the ID of the object extension, you can retrieve a list of all registered object extensions with a request like this one:
    GET https://vcloud.example.com/api/admin/extension/object
  2. Examine the response to find the object extension's edit link.
    <vcloud:Link  
          rel="edit"  
          href="https://vcloud.example.com/api/admin/extension/object/83...0d39"  
          type="application/vnd.vmware.admin.extensibility.object+xml" />
  3. Update the retrieved ObjectExtension.
  4. Make a PUT request to the URL in the edit link, supplying the modified ObjectExtension in the request body. See Update an Object Extension

Example: Update an Object Extension

This example updates the object extension created in Register an Object Extension to enable it by setting the value of Enabled to true.

Request:
PUT https://vcloud.example.com/api/admin/extension/object
Content Type: application/vnd.vmware.admin.extensibility.object+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<ObjectExtension
   xmlns="http://www.vmware.com/vcloud/extension/v1.5"
   xmlns:vcloud_v1.5="http://www.vmware.com/vcloud/v1.5">
   <Namespace>vcdx.vmdeploy</Namespace>
   <Enabled>true</Enabled>
   <Exchange>example-exchange</Exchange>
   <Vendor>com.example</Vendor>
   <Selectors>
      <Selector name="urn:selector:providerVdc" />
   </Selectors>
</ObjectExtension>

The system updates the extension and returns an updated ObjectExtension element similar to the one shown in Register an Object Extension.

Response:
200 OK
Content Type: application/vnd.vmware.admin.service+xml
...
<vmext:ObjectExtension  
   xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"  
   xmlns:vcloud="http://www.vmware.com/vcloud/v1.5"  
   id="83...0d39"  
   href="https://vcloud.example.com/api/admin/extension/object/83...0d39" >
   ...
   <vmext:Namespace>example-object</vmext:Namespace>
   <vmext:Enabled>true</vmext:Enabled>
   <vmext:Exchange>example-exchange</vmext:Exchange>
   <vmext:ContentType>XML</vmext:ContentType>
   <vmext:Vendor>com.example</vmext:Vendor>
   ...
</vmext:ObjectExtension>