Source code for saltext.vcf.modules.vcf_vim_permission

"""Execution module for vCenter object permissions (SOAP)."""

from saltext.vcf.clients import vim_permission as c

__virtualname__ = "vcf_vim_permission"


def __virtual__():
    return __virtualname__


[docs] def list_(entity_ref, inherited=True, profile=None): """List permissions attached to *entity_ref*. *entity_ref* is a bare MoID (``"vm-100"``) or ``"<type>:<moid>"``. CLI Example: .. code-block:: bash salt '*' vcf_vim_permission.list_ vm-100 salt '*' vcf_vim_permission.list_ VirtualMachine:vm-100 inherited=false """ return c.list_(__opts__, entity_ref, inherited=inherited, profile=profile)
[docs] def set_(entity_ref, principal, role, propagate=True, group=False, profile=None): """Set a permission ``(principal, role, propagate)`` on *entity_ref*. CLI Example: .. code-block:: bash salt '*' vcf_vim_permission.set_ vm-100 alice@vsphere.local Admin """ return c.set_( __opts__, entity_ref, principal, role, propagate=propagate, group=group, profile=profile, )
[docs] def remove(entity_ref, principal, group=False, profile=None): """Remove the *(principal, group)* permission from *entity_ref*. CLI Example: .. code-block:: bash salt '*' vcf_vim_permission.remove vm-100 alice@vsphere.local """ return c.remove(__opts__, entity_ref, principal, group=group, profile=profile)
[docs] def reset(entity_ref, profile=None): """Drop every non-inherited permission on *entity_ref*. Destructive. CLI Example: .. code-block:: bash salt '*' vcf_vim_permission.reset vm-100 """ return c.reset(__opts__, entity_ref, profile=profile)