A system administrator can update the storage profiles that are included in a Provider VDC. New storage profiles can be added, and unused storage profiles can be removed.

Storage profiles can be created by a vCenter Server administrator on any vCenter Server instance that supports the profile-driven storage feature. A Provider VDC can provide access to any of the storage profiles that is created on its vCenter Server (the one referenced in its vmext:VimServer element). A vCloud Director system administrator must specify at least one vCenter Server storage profile when creating a Provider VDC, and can add or remove storage profiles later as needed. Organization VDCs reference Provider VDC storage profiles in much the same way that Provider VDCs reference vCenter Server storage profiles. Media and Disk objects, as well as vApps and virtual machines reference organization VDC storage profiles by name.

Note

Storage profiles are represented as Storage Policies in the vCloud Director Web console.

This operation is restricted to system administrators.

1

To retrieve the current storage profiles of the Provider VDC, use a request similar to:

GET https://vcloud.example.com/api/admin/extension/providervdc/35

The ProviderVdc response includes the StorageProfiles element, which contains a list of the storage profiles that are in use by the Provider VDC.

2

Create an UpdateProviderVdcStorageProfiles request body that specifies the details of the update.

To add a storage profile:

a

Retrieve the unused storage profiles that can be added to the Provider VDC.

Use a request like this one:

GET https://vcloud.example.com/api/admin/extension/providervdc/35/availableStorageProfiles

b

Create an UpdateProviderVdcStorageProfiles element that contains an AddStorageProfile element for each storage profile that you want to add.

This request body adds a storage profile named Bronze:

<vmext:UpdateProviderVdcStorageProfiles
   xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
   xmlns:vcloud="http://www.vmware.com/vcloud/v1.5">
   <vmext:AddStorageProfile>Bronze</vmext:AddStorageProfile>
</vmext:UpdateProviderVdcStorageProfiles>

To remove a storage profile:

a

Verify that no organization VDCs are using the storage profile you want to remove.

b

Disable the storage profile that you want to remove.

Use a request like this one:

PUT https://vcloud.example.com/api/admin/extension/pvdcStorageProfile/87
<vmext:VMWProviderVdcStorageProfile 
xmlns="http://www.vmware.com/vcloud/v1.5"
xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
...
type="application/vnd.vmware.admin.vmwPvdcStorageProfile+xml">
   <Enabled>false</Enabled>
   <Units>MB</Units>
</vmext:VMWProviderVdcStorageProfile>

c

Create an UpdateProviderVdcStorageProfiles element that contains a RemoveStorageProfile element for each storage profile to remove.

This request body removes the storage profile with the UUID of 87:

<vmext:UpdateProviderVdcStorageProfiles
   xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
   xmlns:vcloud="http://www.vmware.com/vcloud/v1.5">
   <vmext:RemoveStorageProfile
      href="https://vcloud.example.com/api/admin/extension/pvdcStorageProfile/87" />
</vmext:UpdateProviderVdcStorageProfiles>

3

POST the UpdateProviderVdcStorageProfiles element to the Provider VDC's storageProfiles link.

Use a request like this one:

POST https://vcloud.example.com/api/admin/extension/providervdc/35/storageProfiles
Content-Type: application/vnd.vmware.admin.updateProviderVdcStorageProfiles+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<vmext:UpdateProviderVdcStorageProfiles
...
</vmext:UpdateProviderVdcStorageProfiles>

Response:

202 Accepted
Content-Type: application/vnd.vmware.vcloud.task+xml
...
<Task ... >
   ...
</Task>

The server returns a Task element that you can use to track the progress of the update. When the update is complete, the Provider VDC includes the updated set of storage profiles in its StorageProfiles element. Each storage profile you added 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.