Source code for saltext.vcf.modules.vcf_vim_drs_rule

"""Execution module for cluster DRS rules + VM/host groups (SOAP)."""

from saltext.vcf.clients import vim_drs_rule as c

__virtualname__ = "vcf_vim_drs_rule"


def __virtual__():
    return __virtualname__


[docs] def list_(cluster, profile=None): """List all DRS rules on *cluster*. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.list_ domain-c9 """ return c.list_(__opts__, cluster, profile=profile)
[docs] def get(cluster, name, profile=None): """Return one DRS rule by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.get domain-c9 keep-web-apart """ return c.get(__opts__, cluster, name, profile=profile)
[docs] def get_or_none(cluster, name, profile=None): """Return the rule or ``None``. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.get_or_none domain-c9 keep-web-apart """ return c.get_or_none(__opts__, cluster, name, profile=profile)
[docs] def create_vm_affinity(cluster, name, vm_moids, enabled=True, mandatory=False, profile=None): """Create a VM-VM affinity rule. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.create_vm_affinity domain-c9 keep-pair '["vm-100","vm-101"]' """ return c.create_vm_affinity( __opts__, cluster, name, vm_moids, enabled=enabled, mandatory=mandatory, profile=profile )
[docs] def create_vm_anti_affinity(cluster, name, vm_moids, enabled=True, mandatory=False, profile=None): """Create a VM-VM anti-affinity rule. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.create_vm_anti_affinity domain-c9 keep-apart '["vm-100","vm-200"]' """ return c.create_vm_anti_affinity( __opts__, cluster, name, vm_moids, enabled=enabled, mandatory=mandatory, profile=profile )
[docs] def create_vm_host( cluster, name, vm_group_name, host_group_name, affine=True, mandatory=False, enabled=True, profile=None, ): """Create a VM-Host rule. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.create_vm_host domain-c9 pin-prod prod-vms prod-hosts affine=true """ return c.create_vm_host( __opts__, cluster, name, vm_group_name, host_group_name, affine=affine, mandatory=mandatory, enabled=enabled, profile=profile, )
[docs] def update(cluster, name, enabled=None, mandatory=None, vm_moids=None, profile=None): """Update a rule's enabled/mandatory flags and/or VM membership. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.update domain-c9 keep-apart enabled=false """ return c.update( __opts__, cluster, name, enabled=enabled, mandatory=mandatory, vm_moids=vm_moids, profile=profile, )
[docs] def delete(cluster, name, profile=None): """Delete a rule by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.delete domain-c9 keep-apart """ return c.delete(__opts__, cluster, name, profile=profile)
# Groups
[docs] def list_groups(cluster, profile=None): """List VM and host groups on *cluster*. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.list_groups domain-c9 """ return c.list_groups(__opts__, cluster, profile=profile)
[docs] def create_vm_group(cluster, name, vm_moids, profile=None): """Create a VM group. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.create_vm_group domain-c9 prod-vms '["vm-100","vm-101"]' """ return c.create_vm_group(__opts__, cluster, name, vm_moids, profile=profile)
[docs] def create_host_group(cluster, name, host_moids, profile=None): """Create a host group. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.create_host_group domain-c9 prod-hosts '["host-100"]' """ return c.create_host_group(__opts__, cluster, name, host_moids, profile=profile)
[docs] def delete_group(cluster, name, profile=None): """Delete a VM or host group by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.delete_group domain-c9 prod-vms """ return c.delete_group(__opts__, cluster, name, profile=profile)
[docs] def get_group(cluster, name, profile=None): """Return one DRS group by name. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.get_group domain-c9 prod-vms """ return c.get_group(__opts__, cluster, name, profile=profile)
[docs] def update_group(cluster, name, vm_moids=None, host_moids=None, profile=None): """Replace the members of an existing VM or host group. CLI Example: .. code-block:: bash salt '*' vcf_vim_drs_rule.update_group domain-c9 prod-vms vm_moids='["vm-1","vm-2"]' """ return c.update_group( __opts__, cluster, name, vm_moids=vm_moids, host_moids=host_moids, profile=profile )