# Managed Object - VsanVcClusterConfigSystem(vim.cluster.VsanVcClusterConfigSystem)

See also
  ClusterComputeResource, Task, VimVsanReconfigSpec, VsanConfigInfoEx, VsanRuntimeStatsHostMap
Since
  vSphere API 6.0

## Managed Object Description

This managed object type provides a comprehensive way to manage vSAN cluster configuration in below areas:

- Enable or disable vSAN
- Enable or disable Autoclaim mode for disk group
- Enable or disable data efficiency feature
- Configure vSAN iSCSI target feature
- Manage disk groups
- Manage fault domains
- Retrieve vSAN generic configuration
- Retrieve data efficiency configuration

In this class, ReconfigureEx enhances the legacy API ReconfigureComputeResource_Task. Legacy API ReconfigureComputeResource_Task is deprecated.
The ManagedEntity can be accessed with MOID of 'vsan-cluster-config-system', through vSAN service at vCenter server side.

Properties

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

Methods

Methods defined in this Managed Object
VsanClusterGetConfig, VsanClusterGetRuntimeStats, VsanClusterReconfig, VsanEncryptedClusterRekey_Task

# VsanClusterGetConfig(getConfigInfoEx)

Get configInfoEx for a vSAN cluster
We can get vSAN configuration information through this method. Currently users can only get generic cluster configuration and data efficiency configuration through this API.
This API cannot retrieve fault domain configuration and disk group configuration. Disk group configuration can be retrieved through QueryDiskMappings. Fault domain configuration can be retrieved through config.

Combined Privileges Required (on vSphere ManagedEntity):

Privileges | Required on
--- | ---
System.Read | ClusterComputeResource

* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster | ManagedObjectReference to a ClusterComputeResource | The target vCenter cluster

Return Value

Type | Description
--- | ---
VsanConfigInfoEx | The configuration spec for the vCenter cluster ConfigInfoEx inherits from VsanClusterConfigInfo. It appends data efficiency configuration.

Faults

Type | Description
--- | ---
InvalidState | Thrown if the vSAN is not enabled in current cluster.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanClusterGetConfig" type="vsan:VsanClusterGetConfigRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanClusterGetConfigResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanConfigInfoEx"/> </sequence> </complexType> </element>

# VsanClusterGetRuntimeStats(getRuntimeStats)

Get vSAN runtime stats of all hosts reside in specified cluster. This API is used to retrieve vSAN runtime stats from all hosts reside in specified vSAN cluster. It bases on specified stats type list, to retrieve expected vSAN runtime stats. If host is out of reach, such as disconnected from vCenter, its stats will be ignored and unset.

Combined Privileges Required (on vSphere ManagedEntity):

Privileges | Required on
--- | ---
System.Read | ClusterComputeResource

* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.

Required Privileges
  System.Read
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster | ManagedObjectReference to a ClusterComputeResource | The target vCenter cluster
stats* | xsd:string[] | List of vSAN runtime stats type. Supported vSAN runtime stats types are declared in VsanHostStatsType. If this parameter is omitted, all supported runtime stats will be collected and returned. Since vSAN API 6.6

*Need not be set

Return Value

Type | Description
--- | ---
VsanRuntimeStatsHostMap[] | vim.vsan.RuntimeStatsHostMap[] List of vSAN runtime stats, each item contains owner host and its stats. If specified cluster is empty, or vSAN is disabled on it, an empty list will be returned.

Faults

Type | Description
--- | ---
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:vsan="urn:vsan" name="VsanClusterGetRuntimeStats" type="vsan:VsanClusterGetRuntimeStatsRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanClusterGetRuntimeStatsResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanRuntimeStatsHostMap" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanClusterReconfig(reconfigureEx)

Reconfigure a vSAN cluster. This method is used to set vSAN specific configuration, the method can be used to modify all vSAN related configuration. From vSAN 6.2, this API is the replacement of ReconfigureComputeResource_Task in order to support more configurations such as deduplication and compression, fault domain, disk mapping configuration in the cluster. The legacy API ReconfigureComputeResource_Task is deprecated because new API provide everything that legacy API has. To modify generic vSAN cluster setting such as vSAN enablement and autoclaim enablement, vsanClusterConfig needs to be setup. To modify vSAN cluster specific features such as deduplication and compression enablement, dataEfficiencyConfig needs to be setup. Currently for vSAN 6.2, deduplication and and compression need to be enable/disable together. To enable/disable deduplication and compression on a vSAN cluster, disk convert process (PerformVsanUpgradeEx for description about disk convert process) will be invoked. This is only supported for all-flash disk groups. To modify vSAN cluster fault domain configuration, faultDomainsSpec needs to be setup. To modify vSAN cluster disk groups reconfiguration, diskMappingSpec needs to be setup. To modify vSAN iSCSI target service configuration, vim.vsan.ReconfigSpecs#iscsiSpec needs to be setup.

Reconfiguring vSAN cluster requires Host.Inventory.EditCluster privilege on the cluster, extra privileges may be required depending on what is being changed:

- Cryptographer.ManageEncryptionPolicy and Cryptographer.ManageKeys if changing data encryption configuration.

Required Privileges
  Dynamic - See discussion above

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster | ManagedObjectReference to a ClusterComputeResource | The target VC cluster.
vsanReconfigSpec | VimVsanReconfigSpec | The configure spec for vSAN cluster.

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | vim.Task

Faults

Type | Description
--- | ---
InvalidState | Thrown if the vSAN is not enabled in current cluster.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | when turn on data efficiency feature on a cluster which has hybrid disk group.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanClusterReconfig" type="vsan:VsanClusterReconfigRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanClusterReconfigResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>

# VsanEncryptedClusterRekey_Task(rekeyEncryptedCluster)

Regenerate the key(s) used by vSAN encryption for the given cluster. When the key(s) used for vSAN encryption is compromised, this API can be used to renew the key(s). As described in VsanHostEncryptionInfo, vSAN uses Key Encryption Key (KEK) to wrap the Data Encryption Key (DEK). Generally a user will only need to renew the KEK and use new KEK to rewrap the DEK, when KEK is compromised, or on regular basis. This is referred to as "shallow rekey". If user suspects that DEK is also compromised, both KEK and DEK will be renewed. Correspondingly this is called "deep rekey". And as a consequence of DEK change, the data on vSAN datastore will be re-encrypted with the new DEK, so this will be a slow process.
This API does not support switching to a different KMS cluster. When there is a need to switch to a different KMS cluster, call vim.cluster.VsanVcClusterConfigSystem#VsanClusterReconfig and specify a different KMS cluster in the configuration kmsProviderId.

Combined Privileges Required (on vSphere ManagedEntity):

Privileges | Required on
--- | ---
Host.Inventory.EditCluster Cryptographer.ManageKeys | ClusterComputeResource

* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.

Required Privileges
  System.Read
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVcClusterConfigSystem used to make the method call.
encryptedCluster | ManagedObjectReference to a ClusterComputeResource | The target VC cluster
deepRekey* | xsd:boolean | True to perform a deep rekey. Its default value is false when not provided, which means shallow rekey is performed Since vSAN API 6.6
allowReducedRedundancy* | xsd:boolean | This optional parameter is only applicable for deep rekey when it needs to migrate data across cluster for changing vSAN disk format. The default value is 'false' if not specified See allowReducedRedundancy, ensureObjectAccessibility, and evacuateAllData. Since vSAN API 6.6

*Need not be set

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | vim.Task

Faults

Type | Description
--- | ---
InvalidState | Thrown if the vSAN is not enabled or encryption is not enabled on the cluster.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanEncryptedClusterRekey_Task" type="vsan:VsanEncryptedClusterRekey_TaskRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanEncryptedClusterRekey_TaskResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>