Source code for saltext.vcf.modules.vcf_vcenter_sso

"""Execution module for vCenter SSO identity management.

Wraps :mod:`saltext.vcf.clients.vcenter_sso` for identity provider, group,
and user administration on vSphere 9 vCenter.
"""

from saltext.vcf.clients import vcenter_sso as r

__virtualname__ = "vcf_vcenter_sso"


def __virtual__():
    return __virtualname__


# ---------------------------------------------------------------------------
# Providers
# ---------------------------------------------------------------------------


[docs] def providers_list(profile=None): """List identity providers. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_list """ return r.providers_list(__opts__, profile=profile)
[docs] def providers_get(provider_id, profile=None): """Return a single identity provider by id. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_get <provider_id> """ return r.providers_get(__opts__, provider_id, profile=profile)
[docs] def providers_get_or_none(provider_id, profile=None): """Return the provider or ``None`` if missing. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_get_or_none <provider_id> """ return r.providers_get_or_none(__opts__, provider_id, profile=profile)
[docs] def providers_create(spec, profile=None): """Create an identity provider from *spec*. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_create spec='{"config_tag": "ActiveDirectory", "domain_name": "corp.example"}' """ return r.providers_create(__opts__, spec, profile=profile)
[docs] def providers_update(provider_id, spec, profile=None): """PATCH an identity provider. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_update <provider_id> spec='{"username": "svc"}' """ return r.providers_update(__opts__, provider_id, spec, profile=profile)
[docs] def providers_delete(provider_id, profile=None): """Delete an identity provider. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.providers_delete <provider_id> """ return r.providers_delete(__opts__, provider_id, profile=profile)
# --------------------------------------------------------------------------- # Groups # ---------------------------------------------------------------------------
[docs] def groups_list(domain=None, profile=None): """List groups, optionally filtered by *domain*. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_list domain=vsphere.local """ return r.groups_list(__opts__, domain=domain, profile=profile)
[docs] def groups_get(group, profile=None): """Return a group by id. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_get <group> """ return r.groups_get(__opts__, group, profile=profile)
[docs] def groups_get_or_none(group, profile=None): """Return the group or ``None`` if missing. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_get_or_none <group> """ return r.groups_get_or_none(__opts__, group, profile=profile)
[docs] def groups_create(name, domain, description="", profile=None): """Create a group. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_create <name> <domain> <description> """ return r.groups_create(__opts__, name, domain, description=description, profile=profile)
[docs] def groups_update(group, spec, profile=None): """PATCH a group. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_update <group> spec='{"description": "new"}' """ return r.groups_update(__opts__, group, spec, profile=profile)
[docs] def groups_delete(group, profile=None): """Delete a group by id. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.groups_delete <group> """ return r.groups_delete(__opts__, group, profile=profile)
[docs] def group_add_member(group, member, profile=None): """Add a member to a group. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.group_add_member <group> <member> """ return r.group_add_member(__opts__, group, member, profile=profile)
[docs] def group_remove_member(group, member, profile=None): """Remove a member from a group. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.group_remove_member <group> <member> """ return r.group_remove_member(__opts__, group, member, profile=profile)
# --------------------------------------------------------------------------- # Users # ---------------------------------------------------------------------------
[docs] def users_list(domain=None, profile=None): """List users, optionally filtered by *domain*. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_list domain=vsphere.local """ return r.users_list(__opts__, domain=domain, profile=profile)
[docs] def users_get(user, profile=None): """Return a user by id. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_get <user> """ return r.users_get(__opts__, user, profile=profile)
[docs] def users_get_or_none(user, profile=None): """Return the user or ``None`` if missing. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_get_or_none <user> """ return r.users_get_or_none(__opts__, user, profile=profile)
[docs] def users_create(username, domain, password, description="", email=None, profile=None): """Create a local SSO user. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_create alice vsphere.local <password> """ return r.users_create( __opts__, username, domain, password, description=description, email=email, profile=profile, )
[docs] def users_update(user, spec, profile=None): """PATCH a user. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_update <user> spec='{"description": "new"}' """ return r.users_update(__opts__, user, spec, profile=profile)
[docs] def users_delete(user, profile=None): """Delete a user by id. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_sso.users_delete <user> """ return r.users_delete(__opts__, user, profile=profile)