A Provider VDC is a collection of compute, memory, and storage resources from one vCenter server. A Provider VDC provides resources to organization VDCs.
A Provider VDC is represented as a VMWProviderVdc element in the extension view and a ProviderVdc element in the admin view. A system administrator can create a VMWProviderVdc or modify it to add or remove datastores, storage profiles, and resource pools, or change other properties such as its description. A system administrator cannot change the primary resource pool or vCenter server that was specified when the Provider VDC was created. An organization administrator can retrieve a read-only representation of a Provider VDC in a ProviderVdc element. The ProviderVdc element includes a subset of the elements and attributes that are visible in the corresponding VMWProviderVdc.
■
| |
■
|
Choose a vCenter server to supply a resource pool and storage profiles to this Provider VDC. See Finding Available vCenter Resources. |
1 | Retrieve the XML representation of the vSphere platform extensions. GET https://vcloud.example.com/api/admin/extension | ||||||
2 | Examine the response to locate the Link element that contains the URL for adding Provider VDCs to the cloud. This element has a rel attribute value of add and a type attribute value of application/vnd.vmware.admin.createProviderVdcParams+xml, as shown here: <Link type="application/vnd.vmware.admin.createProviderVdcParams+xml" rel="add" href="https://vcloud.example.com/api/admin/extension/providervdcsparams"/> | ||||||
3 | Create a VMWProviderVdcParams element that specifies the properties of the Provider VDC.
| ||||||
4 | POST the VMWProviderVdc element you created in Step 3 to the URL described in Step 2. See the request portion of Example: VDC. |
The server creates and enables the Provider VDC and returns a VMWProviderVdc element that includes information derived from the contents you POSTed, along with a set of Link elements that you can use to access, remove, disable, or modify the Provider VDC.
■
|
The new Provider VDC becomes a member of the ProviderVdcReferences element of the VCloud. |
■
|
The resource pool you selected is removed from the resource pool list of the vCenter server. |
■
|
Each storage profile you specified becomes the basis for a ProviderVdcStorageProfile object, and can be retrieved from the Provider VDC after it has been created, or by using a providerVdcStorageProfile query. |
■
|
A VxlanPoolType network pool is created on the vCenter server referenced by the VimServer element you created in Step 3a and implicitly attached to the new Provider VDC. You can create other types of network pools on that vCenter server if you want them to be available in the Provider VDC. See Create a Network Pool. |
This request creates a Provider VDC specifying a resource pool extracted from the response portion of Example: Retrieve a List of Resource Pools from a vCenter Server and a storage profile extracted from Example: Retrieve a List of Storage Profiles from a vCenter Server. The vCenter server that provides the resources (the resource pool whose MoRef is resgroup-195 and a storage profile named Gold) is referenced in the VimServerRef and VimServer elements.
POST https://vcloud.example.com/api/admin/extension/providervdcsparams Content-Type: application/vnd.vmware.admin.createProviderVdcParams+xml ... <?xml version="1.0" encoding="UTF-8"?> <vmext:VMWProviderVdcParams xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" name="PVDC-Example"> <vcloud:Description>Example Provider VDC</vcloud:Description> <vmext:ResourcePoolRefs> <vmext:VimObjectRef> <vmext:VimServerRef href="https://vcloud.example.com/api/admin/extension/vimServer/9" /> <vmext:MoRef>resgroup-195</vmext:MoRef> <vmext:VimObjectType>RESOURCE_POOL</vmext:VimObjectType> </vmext:VimObjectRef> </vmext:ResourcePoolRefs> <vmext:VimServer href="https://vcloud.example.com/api/admin/extension/vimServer/9" /> <vmext:StorageProfile>Gold</vmext:StorageProfile> </vmext:VMWProviderVdcParams>
The response includes a Task that tracks the creation of the Provider VDC, and a set of Link elements that you can use to operate on or modify the Provider VDC. It also includes read-only values for ComputeCapacity and SupportedHardwareVersions, and a list of HostReferences identifying the ESX hosts that provide the resources.
201 Created Content-Type: application/vnd.vmware.admin.vmwprovidervdc+xml ... <?xml version="1.0" encoding="UTF-8"?> <vmext:VMWProviderVdc xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" status="0" name="PVDC-Example" id="urn:vcloud:providervdc:35" type="application/vnd.vmware.admin.vmwprovidervdc+xml" ... > <vcloud:Link rel="up" type="application/vnd.vmware.admin.vmwProviderVdcReferences+xml" href="https://vcloud.example.com/api/admin/extension/providerVdcReferences" /> <vcloud:Link rel="alternate" type="application/vnd.vmware.admin.providervdc+xml" href="https://vcloud.example.com/api/admin/providervdc/35" /> <vcloud:Link rel="update:resourcePools" type="application/vnd.vmware.admin.resourcePoolSetUpdateParams+xml" href="https://vcloud.example.com/api/admin/extension/providervdc/35/action/updateResourcePools" /> <vcloud:Link rel="down" type="application/vnd.vmware.admin.vmwProviderVdcResourcePool+xml" href="https://vcloud.example.com/api/admin/extension/providervdc/35/resourcePools" /> <vcloud:Link rel="down" type="application/vnd.vmware.admin.vmwStorageProfiles+xml" href="https://vcloud.example.com/api/admin/extension/providervdc/35/availableStorageProfiles" /> <vcloud:Link rel="down" type="application/vnd.vmware.admin.vdcReferences+xml" href="https://vcloud.example.com/api/admin/providervdc/35/vdcReferences" /> <vcloud:Description>Example Provider VDC</vcloud:Description> <vcloud:Tasks> <vcloud:Task ... operation="Creating Provider Virtual Datacenter PVDC-Example(35)"> ... </vcloud:Task> </vcloud:Tasks> <vcloud:ComputeCapacity> <vcloud:Cpu> <vcloud:Units>MHz</vcloud:Units> <vcloud:Allocation>0</vcloud:Allocation> <vcloud:Total>0</vcloud:Total> <vcloud:Used>0</vcloud:Used> <vcloud:Overhead>0</vcloud:Overhead> </vcloud:Cpu> <vcloud:Memory> <vcloud:Units>MB</vcloud:Units> <vcloud:Allocation>0</vcloud:Allocation> <vcloud:Total>0</vcloud:Total> <vcloud:Used>0</vcloud:Used> <vcloud:Overhead>0</vcloud:Overhead> </vcloud:Memory> </vcloud:ComputeCapacity> <AvailableNetworks> <Network type="application/vnd.vmware.admin.network+xml" name="VC1-VLAN48" href="https://vcloud.example.com/api/admin/network/297" /> </AvailableNetworks> <StorageProfiles> <ProviderVdcStorageProfile type="application/vnd.vmware.admin.pvdcStorageProfile+xml" name="Gold" href="https://vcloud.example.com/api/admin/pvdcStorageProfile/101" /> </StorageProfiles> <Capabilities> <SupportedHardwareVersions> <SupportedHardwareVersion>vmx-04</SupportedHardwareVersion> <SupportedHardwareVersion>vmx-07</SupportedHardwareVersion> <SupportedHardwareVersion>vmx-08</SupportedHardwareVersion> </SupportedHardwareVersions> </Capabilities> <IsEnabled>true</IsEnabled> <vcloud:NetworkPoolReferences> <vcloud:NetworkPoolReference type="application/vnd.vmware.admin.networkPool+xml" name="VXLAN01" href="https://vcloud.example.com/api/admin/extension/networkPool/69c0a96e-1151-439d-b8f6-2e2a11785c9f" /> </vcloud:NetworkPoolReferences> <vmext:DataStoreRefs /> <vmext:ResourcePoolRefs> <vmext:VimObjectRef> <vmext:VimServerRef type="application/vnd.vmware.admin.vmwvirtualcenter+xml" name="VC-A" href="https://vcloud.example.com/api/admin/extension/vimServer/9" /> <vmext:MoRef>resgroup-195</vmext:MoRef> <vmext:VimObjectType>RESOURCE_POOL</vmext:VimObjectType> </vmext:VimObjectRef> </vmext:ResourcePoolRefs> <vmext:VimServer type="application/vnd.vmware.admin.vmwvirtualcenter+xml" name="ConfigWizard Configured vCenter" href="https://vcloud.example.com/api/admin/extension/vimServer/9" /> <vmext:HostReferences> <vmext:HostReference type="application/vnd.vmware.admin.host+xml" name="ESX01.example.com" href="https://vcloud.example.com/api/admin/extension/host/83" /> <vmext:HostReference type="application/vnd.vmware.admin.host+xml" name="ESX02.example.com" href="https://vcloud.example.com/api/admin/extension/host/261" /> </vmext:HostReferences> </vmext:VMWProviderVdc>