PbmCapabilityProfile
The PbmCapabilityProfile data object defines capability-based profiles.
A capability-based profile is derived from tag-based storage capabilities or from vSAN storage capabilities.
This structure may be used only with operations rendered under /pbm.
{
"_typeName": "string",
"profileId": {
"_typeName": "string",
"uniqueId": "string"
},
"name": "string",
"description": "string",
"creationTime": "string",
"createdBy": "string",
"lastUpdatedTime": "string",
"lastUpdatedBy": "string",
"profileCategory": "string",
"resourceType": {
"_typeName": "string",
"resourceType": "string"
},
"constraints": {
"_typeName": "string"
},
"generationId": 0,
"isDefault": false,
"systemCreatedProfileType": "string",
"lineOfService": "string",
"k8sCompliantName": "string",
"otherK8sCompliantNames": [
"string"
]
}
Indicates whether the profile is requirement profile, a resource profile or a data service profile.
The profileCategory
is a string value that corresponds to one of the
PbmProfileCategoryEnumEnum values.
- REQUIREMENT profile - Defines the storage constraints applied to virtual machine placement. Requirements are defined by the user and can be associated with virtual machines and virtual disks. During provisioning, you can use a requirements profile for compliance and placement checking to support selection and configuration of resources.
- RESOURCE profile - Specifies system-defined storage capabilities. You cannot modify a resource profile. You cannot associate a resource profile with vSphere entities, use it during provisioning, or target entities for resource selection or configuration. This type of profile gives the user visibility into the capabilities supported by the storage provider.
- DATA_SERVICE_POLICY - Indicates a data service policy that can be embedded into another storage policy. Policies of this type can't be assigned to Virtual Machines or Virtual Disks. This policy cannot be used for compliance checking.
Type of the target resource to which the capability information applies.
A fixed enum that defines resource types for which capabilities can be defined see PbmProfileResourceType, PbmProfileResourceTypeEnumEnum
Subprofiles that describe storage requirements or storage provider capabilities, depending on the profile category (REQUIREMENT or RESOURCE).
Generation ID is used to communicate the current version of the profile to VASA providers.
It is only applicable to REQUIREMENT profile types. Every time a requirement profile is edited, the Server will increment the generationId. You do not need to set the generationID. When an object is created (or reconfigured), the Server will send the requirement profile content, profile ID and the generationID to VASA provider.
Deprecated since it is not supported.
Not supported in this release.
Indicates the type of system pre-created default profile.
This will be set only for system pre-created default profiles. And this is not set for RESOURCE profiles.
This property is set only for data service policy.
Indicates the line of service PbmLineOfServiceInfoLineOfServiceEnumEnum of the data service policy.
Indicates compliant name to be used as K8s StorageClass name when this policy is used
for K8s workloads.
It essentially maps Storage Policy to corresponding StorageClass
name across Supervisor clusters within a vCenter server.
When this policy is assigned to a K8s Namespace, then a StorageClass with name
#K8sCompliantName and optionally a WaitForFirstConsumer(WFFC) StorageClass
with the name '#K8sCompliantName-latebinding' gets created. Duplicating both K8s
compliant name and latebinding K8s compliant name across storage profiles in a vCenter is not
allowed, i.e. it shouldn't match with k8sCompliantName and
otherK8sCompliantNames of any other profile.
Once the value for this field is set, it can't be changed. This name is RFC 1123 compliant.
For new storage policy being created, compliant name will automatically be generated and
populated based on policy name if it's not provided in the profile createSpec.
For pre-existing storage policies in the Brownfield setup, K8s compliant name would be set
during the vCenter upgrade.
Indicates the reserved K8s compliant names other than k8sCompliantName for a profile.
These names shouldn't be used as a K8s StorageClass's name associated with any other
profiles.
Note that, it doesn't indicate that StorageClass with following names actually exists,
i.e. it's not a profile-K8s StorageClass association data. These are used to keep
track of all the reserved K8s compliant names which can't be used for any other profile and
used to avoid any K8s compliant name collision when a profile is being created.
It can include the following:
1. K8s compliant name to be used for a WaitForFirstConsumer(WFFC) StorageClass which
is in the format 'k8sCompliantName-latebinding'.
2. Name of all the StorageClasss except the one set in k8sCompliantName if
it's a Brownfield profile associated with multiple K8s StorageClasss.
For a new storage policy being created, WFFC StorageClass name is automatically
generated and populated here. So a newly created profile will always have
'k8sCompliantName -latebinding' as a otherK8sCompliantNames. Whereas for
a Brownfield profile, WFFC StorageClass name is reserved only if it's not already
taken by a different profile.