vim_datastore_cluster

Datastore Cluster (StoragePod) + Storage DRS via SOAP.

A datastore cluster in vSphere UI is a vim.StoragePod in VMODL. SDRS config (automation level, IO load balancing, space-utilization thresholds, per-VM overrides) lives in StorageDrsConfigSpec and is applied via StorageResourceManager.ConfigureStorageDrsForPod_Task.

Top-level surfaces here:

  • list_ / get / get_or_none — read existing datastore clusters

  • createFolder.CreateStoragePod under the datastore folder

  • deleteStoragePod.Destroy_Task

  • add_datastore / remove_datastore — move a datastore in/out

  • sdrs_get / sdrs_set — pod-wide SDRS config

  • sdrs_vm_override_* — per-VM SDRS automation/intra-VM rules

saltext.vcf.clients.vim_datastore_cluster.list_(opts, profile=None)[source]

Return summary records for every datastore cluster in vCenter.

saltext.vcf.clients.vim_datastore_cluster.create(opts, name, datacenter, profile=None)[source]

Create an empty datastore cluster under datacenter’s datastore folder.

saltext.vcf.clients.vim_datastore_cluster.add_datastore(opts, pod, datastore, profile=None)[source]

Move datastore into pod. Synchronous (no task).

saltext.vcf.clients.vim_datastore_cluster.remove_datastore(opts, pod, datastore, datacenter, profile=None)[source]

Move datastore out of pod back to datacenter’s datastore folder.

saltext.vcf.clients.vim_datastore_cluster.sdrs_set(opts, pod, enabled=None, automation_level=None, io_load_balance_enabled=None, space_utilization_threshold=None, profile=None)[source]

Update the pod-wide SDRS config. Only non-None fields are touched.

saltext.vcf.clients.vim_datastore_cluster.sdrs_vm_override_set(opts, pod, vm_moid, behavior=None, enabled=None, intra_vm_affinity=None, profile=None)[source]

Add / replace the SDRS override for vm_moid on pod.

behavior: manual | automated.

saltext.vcf.clients.vim_datastore_cluster.sdrs_rule_list(opts, pod, profile=None)[source]

Return SDRS VM affinity/anti-affinity rules on pod.

saltext.vcf.clients.vim_datastore_cluster.sdrs_rule_create_vm_anti_affinity(opts, pod, name, vm_moids, *, enabled=True, mandatory=False, profile=None)[source]

Create an SDRS VM anti-affinity rule on pod (keeps VMDKs on different datastores).

saltext.vcf.clients.vim_datastore_cluster.sdrs_rule_create_vm_affinity(opts, pod, name, vm_moids, *, enabled=True, mandatory=False, profile=None)[source]

Create an SDRS VM affinity rule on pod (keeps VMDKs on the same datastore).

saltext.vcf.clients.vim_datastore_cluster.sdrs_rule_delete(opts, pod, name, profile=None)[source]

Delete an SDRS rule by name. Returns the vim.Task moId.