Storage Policy Pbm Profile Profile Manager APIs
The PbmProfileProfileManager supports operations on virtual machine storage profiles.
A Storage Policy API profile consists of a set of subprofiles. A subprofile corresponds to a rule set in the vSphere Web Client.
Virtual machine storage profiles specify the storage requirements for virtual machine files. You use the vSphere Web Client to define virtual machine storage profiles. The requirements (PbmCapabilityProfile.constraints) impose constraints on the placement of virtual machine files.
The Storage Policy Server also supports datastore profiles. Datastore profiles define storage capabilities. Storage capabilities are resources defined by storage providers. Storage requirements are based on storage capabilities. When you associate a storage profile with a virtual machine or virtual disk, the Server sends the profile to the storage provider. When you perform compliance checking (PbmComplianceManager), the storage provider compares the requirements with the capabilities.
The PbmProfileProfileManager supports the following operations on virtual machine storage profiles.
- Create, update, and delete storage profiles.
- Retrieve profile data based on specified criteria.
- Retrieve storage vendor data.
The following figure shows the set of data objects that comprise a storage profile specification (PbmCapabilityProfileCreateSpec). You pass a storage profile specification to the Storage Policy Server when you call the following methods:
- PbmProfileProfileManager.PbmCreate
- PbmPlacementSolver.PbmCheckCompatibilityWithSpec
- PbmPlacementSolver.PbmQueryMatchingHubWithSpec +---------------------------------+ | PbmCapabilityProfileCreateSpec | | name | +-------------------------+ | description | | PbmProfileResourceType | | resourceType ------| resourceType=STORAGE | | constraints --- +-------------------------+ +---------------------------------+ | | | +------------------------------------+ | PbmCapabilitySubProfileConstraints | | subprofiles --- +------------------------------------+ | | 1..n | +-------------------------+ | PbmCapabilitySubProfile | | name | | forceProvision | | capability --- +-------------------------+ | | 1..n +-------------------------------+ | | PbmCapabilityMetadataUniqueId | +-----------------------+ | id | | PbmCapabilityInstance | | namespace | | id ------------+-------------------------------+ | constraint --- +-----------------------+ | | 1..n | +-------------------------------+ +---------------------------------+ | PbmCapabilityPropertyInstance | | PbmCapabilityConstraintInstance | 1..n | id | | propertyInstance ----------| value | +---------------------------------+ +-------------------------------+