# Managed Object - PbmComplianceManager(pbm.compliance.ComplianceManager)

Property of
  PbmServiceInstanceContent
See also
  PbmComplianceResult, PbmProfileId, PbmRollupComplianceResult, PbmServerObjectRef
Since
  1.0

## Managed Object Description

The PbmComplianceManager provides methods to verify the compliance of virtual machine and virtual disk requirement profiles. When you provision a virtual machine on a matching datastore, the Server sends the profile to the storage provider. When you perform a compliance check, the storage provider compares the requirements with its capabilities, returns the results to the Server, and the Server returns the results to your client. The Server maintains the compliance results for retrieval at a later time.

You can check the compliance of one or more virtual machines and/or virtual disks. You can also perform a rollup compliance check, in which the Server checks the compliance of a virtual machine and all of its virtual disks.

Properties

Name | Type | Description
--- | --- | ---
None

Methods

Methods defined in this Managed Object
PbmCheckCompliance, PbmCheckRollupCompliance, PbmFetchComplianceResult, PbmFetchRollupComplianceResult, PbmQueryByRollupComplianceStatus

# PbmCheckCompliance(checkCompliance)

Checks compliance of the profiles associated with one or more virtual machines and/or virtual disks.

The Server stores the compliance results for all of the storage entities associated with the virtual machines and disks. You can call the PbmFetchComplianceResult method to retrieve the stored results. However, for storage entities placed on vSAN, both fetchComplianceResult and checkCompliance methods have the same behaviour of recomputing the compliance.

Required Privileges
  StorageProfile.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the PbmComplianceManager used to make the method call.
entities P | PbmServerObjectRef[] | One or more references to storage entities. You can specify virtual machines and virtual disks A maximum of 1000 virtual machines and/or virtual disks can be specified in a call. The results of calling the checkCompliance API with more than a 1000 entities is undefined. If the list of entities also contains datastores, the Server will ignore the datastores. If the list contains valid and invalid entities, the Server ignores the invalid entities and returns results for the valid entities. Invalid entities are entities that are not in the vCenter inventory. If the list contains only datastores, the method throws an `InvalidArgument` fault. If the list contains virtual machines and disks and the entities are invalid or have been deleted by the time of the request, the method throws an `InvalidArgument` fault. If an entity does not have an associated storage profile, the entity is removed from the list. Since 1.0
profile* P | PbmProfileId | Not used. If specified, the Server ignores the value. The Server uses the profiles associated with the specified entities. Since 1.0

*Need not be set PRequired privilege - see tooltip for details

Return Value

Type | Description
--- | ---
PbmComplianceResult[] | Result of the compliance check. The returned array contains one result object for each entity specified in the method call.

Faults

Type | Description
--- | ---
PbmFault | Thrown if there is an internal server error.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmCheckCompliance" type="pbm:PbmCheckComplianceRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmCheckComplianceResponse"> <complexType> <sequence> <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# PbmCheckRollupCompliance(checkRollupCompliance)

Checks rollup compliance of virtual machines and returns the results to your client. For a specified virtual machine, a rollup compliance check verifies the storage requirements of the virtual machine and its virtual disks as compared with the storage provider capabilities.

The Server stores the compliance results for all of the storage entities associated with the virtual machines. You can call the PbmFetchRollupComplianceResult method to retrieve the stored results. However, for storage entities placed on vSAN, both fetchRollupComplianceResult and checkRollupCompliance methods have the same behaviour of recomputing the compliance.

Required Privileges
  StorageProfile.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the PbmComplianceManager used to make the method call.
entity P | PbmServerObjectRef[] | One or more references to virtual machines. A maximum of 1000 virtual machines can be specified in a call. The results of calling the checkRollupCompliance API with more than a 1000 entities is undefined. Since 1.0

P Required privilege: entity

Return Value

Type | Description
--- | ---
PbmRollupComplianceResult[] | Result of the rollup compliance check. The returned array contains one rollup compliance result for each virtual machine. A rollup compliance result object includes the overall compliance status that represents the collective compliance status for the virtual machine and its virtual disks.

Faults

Type | Description
--- | ---
PbmFault | Thrown if there is an internal server error.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmCheckRollupCompliance" type="pbm:PbmCheckRollupComplianceRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmCheckRollupComplianceResponse"> <complexType> <sequence> <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# PbmFetchComplianceResult(fetchComplianceResult)

Retrieves the latest version of PbmComplianceResult objects that are available for the specified entities.

Required Privileges
  StorageProfile.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the PbmComplianceManager used to make the method call.
entities P | PbmServerObjectRef[] | One or more references to storage entities. A maximum of 1000 virtual machines and/or virtual disks can be specified in a call. The results of calling the fetchComplianceResult API with more than a 1000 entities is undefined. If the list of entities also contains datastores, the Server will ignore the datastores. If the list contains valid and invalid entities, the Server ignores the invalid entities and returns results for the valid entities. Invalid entities are entities that are not in the vCenter inventory. If the list contains only datastores, the method throws an `InvalidArgument` fault. Since 1.0
profile* P | PbmProfileId | Not used. if specified, the Server ignores the value. The Server uses the profiles associated with the specified entities. Since 1.0

*Need not be set PRequired privilege - see tooltip for details

Return Value

Type | Description
--- | ---
PbmComplianceResult[] | Array of compliance results. The returned array contains one result object for each entity specified in the method call.

Faults

Type | Description
--- | ---
PbmFault | Thrown if there is an internal server error.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmFetchComplianceResult" type="pbm:PbmFetchComplianceResultRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmFetchComplianceResultResponse"> <complexType> <sequence> <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# PbmFetchRollupComplianceResult(fetchRollupComplianceResult)

Retrieves the rollup compliance (PbmRollupComplianceResult) of the given virtual machines if present. The returned rollup compliance result may be old. Invoke checkRollupCompliance API to compute & retrieve the latest rollup compliance result. For storage entities placed on vSAN the returned compliance is always the latest.

Required Privileges
  StorageProfile.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the PbmComplianceManager used to make the method call.
entity P | PbmServerObjectRef[] | One or more virtual machines. A maximum of 1000 virtual machines can be specified in a call. The results of calling the fetchRollupComplianceResult API with more than a 1000 entity objects is undefined. Since 1.0

P Required privilege: entity

Return Value

Type | Description
--- | ---
PbmRollupComplianceResult[] | Rollup compliance results for the given virtual machines.

Faults

Type | Description
--- | ---
PbmFault | Thrown if there is an internal server error.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmFetchRollupComplianceResult" type="pbm:PbmFetchRollupComplianceResultRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmFetchRollupComplianceResultResponse"> <complexType> <sequence> <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# PbmQueryByRollupComplianceStatus(queryByRollupComplianceStatus)

Returns the virtual machines for the given rollup compliance status.

Required Privileges
  StorageProfile.View
Since
  6.5

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the PbmComplianceManager used to make the method call.
status P | xsd:string | PbmComplianceStatus Since 6.5

P Required privilege: status

Return Value

Type | Description
--- | ---
PbmServerObjectRef[] | Array of VirtualMachine entities

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the given status parameter is invalid or incorrect format.
PbmFault | Thrown if there is an internal service error.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmQueryByRollupComplianceStatus" type="pbm:PbmQueryByRollupComplianceStatusRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pbm="urn:pbm" name="PbmQueryByRollupComplianceStatusResponse"> <complexType> <sequence> <element name="returnval" type="pbm:PbmServerObjectRef" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>