You can merge two Provider VDCs by specifying a target Provider VDC and a contributor Provider VDC to merge with it. The merged Provider VDC contains all resources from the target and contributor Provider VDCs
Because merging Provider VDCs is a resource-intensive operation, vCloud Director allows only a single contributor to a merge. You can merge multiple Provider VDCs into a single target by making multiple merge requests, each specifying the same target and a new contributor.
1 | Identify the Provider VDCs to merge. Select a contributor that is not backed by the same resource pool as the target. You can use a query like this one to discover the resource pools backing each of your Provider VDCs. GET https://vcloud.example.com/api/query?type=providerVdcResourcePoolRelation&format=records |
2 | Construct a ProviderVdcMergeParams element whose ProviderVdcReference references the contributor. See the request portion of Example: Merge Provider VDCs. |
3 | Make a POST request to the action/merge link of the target Provider VDC and supply the ProviderVdcMergeParams as the request body. |
This request merges the Provider VDC at https://vcloud.example.com/api/admin/extension/providervdc/46 with the target Provider VDC specified in the request URL.
POST https://vcloud.example.com/api/admin/extension/providervdc/35/action/merge Content-Type: application/vnd.vmware.admin.providerVdcMergeParams+xml ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <vmext:ProviderVdcMergeParams type="application/vnd.vmware.admin.mergeParams+xml" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5"> <vmext:ProviderVdcReference type="application/vnd.vmware.admin.vmwprovidervdc+xml" name="PVDC-VC001" href="https://vcloud.example.com/api/admin/extension/providervdc/46" /> </vmext:ProviderVdcMergeParams>
202 Accepted Content-Type: application/vnd.vmware.vcloud.task+xml ... <Task ... > ... </Task>