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
VMware Cloud
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 VMware Cloud
Director
HTML5 UI.
Prerequisites
This operation is restricted
to system administrators.
Procedure
-
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.
-
Create an
UpdateProviderVdcStorageProfiles
request body that specifies the details of the update.
- To add a storage
profile:
- 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
- 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:
- Verify that no
organization VDCs are using the storage profile you want to remove.
- 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>
- 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>
-
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>
Results
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.