Example #1
0
def get_default_account(identity_key, type):
    """
    Returns the default account for this identity.

    :param identity_key: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass).
    """
    return identity.get_default_account(identity_key, IdentityType.from_sym(type))
Example #2
0
def del_identity(identity_key, type):
    """
    Deletes a user identity.

    :param identity_key: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass).
    """
    return identity.del_identity(identity_key, IdentityType.from_sym(type))
Example #3
0
def del_account_identity(identity_key, type, account):
    """
    Removes a membership association between identity and account.

    :param identity_key: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass).
    :param account: The account name.
    """
    return identity.del_account_identity(identity_key, IdentityType.from_sym(type), account)
Example #4
0
def list_accounts_for_identity(identity_key, type):
    """
    Returns a list of all accounts for an identity.

    :param identity: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass).

    returns: A list of all accounts for the identity.
    """
    return identity.list_accounts_for_identity(identity_key, IdentityType.from_sym(type))
Example #5
0
def add_identity(identity_key, type, email, password=None):
    """
    Creates a user identity.

    :param identity_key: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass)
    :param email: The Email address associated with the identity.
    :param password: If type==userpass, this sets the password.
    """
    return identity.add_identity(identity_key, IdentityType.from_sym(type), password, email=email)
Example #6
0
def add_account_identity(identity_key, type, account, email, issuer, default=False):
    """
    Adds a membership association between identity and account.

    :param identity_key: The identity key name. For example x509 DN, or a username.
    :param type: The type of the authentication (x509, gss, userpass).
    :param account: The account name.
    :param email: The Email address associated with the identity.
    :param issuer: The issuer account.
    :param default: If True, the account should be used by default with the provided identity.
    """
    kwargs = {'identity': identity_key, 'type': type, 'account': account}
    if not permission.has_permission(issuer=issuer, action='add_account_identity', kwargs=kwargs):
            raise exception.AccessDenied('Account %s can not add account identity' % (issuer))

    return identity.add_account_identity(identity=identity_key, type=IdentityType.from_sym(type), default=default, email=email, account=account)