Source code for saltext.vcf.modules.vcf_vim_datastore_cluster

"""Execution module for datastore clusters + Storage DRS."""

from saltext.vcf.clients import vim_datastore_cluster as c

__virtualname__ = "vcf_vim_datastore_cluster"


def __virtual__():
    return __virtualname__


# Pod CRUD


[docs] def list_(profile=None): """List datastore clusters. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.list_ """ return c.list_(__opts__, profile=profile)
[docs] def get(name_or_id, profile=None): """Return one datastore cluster. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.get <name> """ return c.get(__opts__, name_or_id, profile=profile)
[docs] def create(name, datacenter, profile=None): """Create an empty datastore cluster under *datacenter*. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.create prod-storage Datacenter """ return c.create(__opts__, name, datacenter, profile=profile)
[docs] def delete(name_or_id, profile=None): """Delete a datastore cluster. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.delete <name> """ return c.delete(__opts__, name_or_id, profile=profile)
[docs] def add_datastore(pod, datastore, profile=None): """Move a datastore into a datastore cluster. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.add_datastore <pod> <datastore> """ return c.add_datastore(__opts__, pod, datastore, profile=profile)
[docs] def remove_datastore(pod, datastore, datacenter, profile=None): """Move a datastore out of a datastore cluster. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.remove_datastore <pod> <datastore> <datacenter> """ return c.remove_datastore(__opts__, pod, datastore, datacenter, profile=profile)
# SDRS config
[docs] def sdrs_get(pod, profile=None): """Return pod-wide SDRS config. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_get <pod> """ return c.sdrs_get(__opts__, pod, profile=profile)
[docs] def sdrs_set( pod, enabled=None, automation_level=None, io_load_balance_enabled=None, space_utilization_threshold=None, profile=None, ): """Update pod-wide SDRS config. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_set <pod> enabled=True automation_level=automated """ return c.sdrs_set( __opts__, pod, enabled=enabled, automation_level=automation_level, io_load_balance_enabled=io_load_balance_enabled, space_utilization_threshold=space_utilization_threshold, profile=profile, )
# Per-VM overrides
[docs] def sdrs_vm_override_list(pod, profile=None): """List per-VM SDRS overrides on a datastore cluster. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_vm_override_list <pod> """ return c.sdrs_vm_override_list(__opts__, pod, profile=profile)
[docs] def sdrs_vm_override_set( pod, vm_moid, behavior=None, enabled=None, intra_vm_affinity=None, profile=None ): """Add / update an SDRS override for a single VM. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_vm_override_set <pod> <vm_moid> behavior=manual """ return c.sdrs_vm_override_set( __opts__, pod, vm_moid, behavior=behavior, enabled=enabled, intra_vm_affinity=intra_vm_affinity, profile=profile, )
[docs] def sdrs_vm_override_remove(pod, vm_moid, profile=None): """Remove a VM's SDRS override. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_vm_override_remove <pod> <vm_moid> """ return c.sdrs_vm_override_remove(__opts__, pod, vm_moid, profile=profile)
[docs] def sdrs_rule_list(pod, profile=None): """List SDRS rules on *pod*. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_rule_list <pod> """ return c.sdrs_rule_list(__opts__, pod, profile=profile)
[docs] def sdrs_rule_get(pod, name, profile=None): """Return one SDRS rule by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_rule_get <pod> <name> """ return c.sdrs_rule_get(__opts__, pod, name, profile=profile)
[docs] def sdrs_rule_create_vm_anti_affinity( pod, name, vm_moids, enabled=True, mandatory=False, profile=None ): """Create an SDRS VM anti-affinity rule (keeps VMDKs on different datastores). CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_rule_create_vm_anti_affinity <pod> <name> '["vm-1","vm-2"]' """ return c.sdrs_rule_create_vm_anti_affinity( __opts__, pod, name, vm_moids, enabled=enabled, mandatory=mandatory, profile=profile )
[docs] def sdrs_rule_create_vm_affinity(pod, name, vm_moids, enabled=True, mandatory=False, profile=None): """Create an SDRS VM affinity rule (keeps VMDKs on the same datastore). CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_rule_create_vm_affinity <pod> <name> '["vm-1","vm-2"]' """ return c.sdrs_rule_create_vm_affinity( __opts__, pod, name, vm_moids, enabled=enabled, mandatory=mandatory, profile=profile )
[docs] def sdrs_rule_delete(pod, name, profile=None): """Delete an SDRS rule by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_datastore_cluster.sdrs_rule_delete <pod> <name> """ return c.sdrs_rule_delete(__opts__, pod, name, profile=profile)