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}')