Identity

Note

Refer to Authentication for ways to authenticate to the TPP WebSDK.

Note

The TPP WebSDK API does not allow for a group or user to be granted special rights such as master admin. These must be set manually through the UI.

Users

Creating & Deleting Users

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### CREATE ####
# Yep: this guy's name is Awesome Awesome.
user = features.identity.user.create(
    name='local:AwesomeUser',
    password='S0m3CrayZP@ssw0rd!',
    email_address='local:AwesomeUser@awesome-domain.com',
    first_name='Awesome',
    last_name='Awesome'
)

#### DELETE ####
features.identity.user.delete(user=user)

Changing User Passwords

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### CHANGE PASSWORD ####
user = features.identity.user.set_password(
    user='local:AwesomeUser',
    new_password='IhateSecurity',
    old_passsword='S0m3CrayZP@ssw0rd!'
)

Searching Users

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### SEARCH MATCHING NAMES ####
matching_users = features.identity.user.find(
    name='local:AwesomeUser',
    limit=100
)
for user in matching_users:
    print(f'Found a match: {user.name}')

Getting Memberships

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### GET USER MEMBERSHIPS ####
groups = features.identity.user.get_memberships(identity='local:AwesomeUser')
for group in groups:
    print(f'I belong to {group.name}.')

Groups

Creating & Deleting Groups

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### CREATE ####
group = features.identity.group.create(
    name='local:AwesomeGroup',
    member_prefixed_names=['local:AwesomeUser-1', 'local:AwesomeUser-2'],
    get_if_already_exists=True
)

#### DELETE ####
features.identity.group.delete(group=group)

Adding, Getting, & Removing Members

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### ADD MEMBERS ####
features.identity.group.add_members(
    group='local:AwesomeGroup',
    member_prefixed_names=['local:AwesomeUser-1', 'local:AwesomeUser-2'],
    get_if_already_exists=True
)

#### GET MEMBERS ####
group_members = features.identity.group.get_members(group='local:AwesomeGroup')

#### REMOVE MEMBERS ####
features.identity.group.remove_members(
    group='local:AwesomeGroup',
    member_prefixed_names=['local:AwesomeUser-1'],  # Remove just these members.
)

Searching Users

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### SEARCH MATCHING NAMES ####
matching_groups = features.identity.group.find(
    name='local:AwesomeUser',
    is_security_group=True,
    is_distribution_group=True,
    limit = 100
)
for group in matching_groups:
    print(f'Found a match: {group.name}')

Getting Memberships

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

#### GET GROUP MEMBERSHIPS ####
groups = features.identity.group.get_memberships(identity='local:AwesomeGroup')
for group in groups:
    print(f'I belong to {group.name}.')

Renaming Groups

from pytpp import Features, Authenticate

api = Authenticate(...)
features = Features(api)

group = feature.identity.group.get(prefixed_name='local:AwesomeGroup')
print(f'Old name: {group.name}')

#### RENAME GROUP ####
group = features.identity.group.rename(
    group=group,
    new_group_name='local:AwesomeGroup-1'
)
print(f'New group name: {group.name}')