from cloudshell.api.cloudshell_api import CloudShellAPISession

user = "******"
password = "******"
server = "localhost"
domain = "Global"

api = CloudShellAPISession(host=server, username=user, password=password, domain=domain)

users = api.GetAllUsersDetails().Users
print(f"total users in system: {len(users)}")
pass
示例#2
0
api.WriteMessageToReservationOutput(reservationContext["id"], "1. Creating New Domain")
domain_name = '.'.join(new_username.split('.')[:-1]).replace('@', '-')

if domain_name in [domain.Name for domain in api.GetResourceDetails("AWS us-east-1", True).Domains]:
	id_suffix = 1
	while domain_name + str(id_suffix) in [domain.Name for domain in api.GetResourceDetails("AWS us-east-1", True).Domains]: 
		id_suffix += 1
	domain_name = domain_name + str(id_suffix)
	api.WriteMessageToReservationOutput(reservationContext["id"], "The requested domain already exists, appending {} to new domain name, please contact system admin at [email protected]".format(id_suffix))
	api.AddNewDomain(domainName=domain_name, description="Domain for {0} {1}'s Trial".format(first_name, last_name))
else:
	api.AddNewDomain(domainName=domain_name, description="Domain for {0} {1}'s Trial".format(first_name, last_name))

# Create User Account
api.WriteMessageToReservationOutput(reservationContext["id"], "2. Creating trial user")
if new_username in [user.Name.lower() for user in api.GetAllUsersDetails().Users]:
	generated_password = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(8))
	api.UpdateUser(username=new_username, email=email, isActive=True)
	api.UpdateUserPassword(username=new_username, password=generated_password)
	api.WriteMessageToReservationOutput(reservationContext["id"], "This user already had a trial, if this is an issue, please contact admin at [email protected]")
else:
	generated_password = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(8))
	api.AddNewUser(username=new_username, password=generated_password, email=email, isActive=True)

api.UpdateUsersLimitations([UserUpdateRequest(Username=email, MaxConcurrentReservations="2", MaxReservationDuration=str(4*60))])

# Create Group and add to domain
api.WriteMessageToReservationOutput(reservationContext["id"], "3. Configuring new domain permissions")
new_group_name = domain_name
api.AddNewGroup(groupName=new_group_name, description="Regular Users Group for " + domain_name + " domain", groupRole="Regular")
api.AddUsersToGroup(usernames=[new_username, owner_email], groupName=new_group_name)
示例#3
0
        reservationContext["id"],
        "The requested domain already exists, appending {} to new domain name, please contact system admin at [email protected]"
        .format(id_suffix))
    api.AddNewDomain(domainName=domain_name,
                     description="Domain for {0} {1}'s Trial".format(
                         first_name, last_name))
else:
    api.AddNewDomain(domainName=domain_name,
                     description="Domain for {0} {1}'s Trial".format(
                         first_name, last_name))

# Create User Account
api.WriteMessageToReservationOutput(reservationContext["id"],
                                    "Creating trial user")
if new_username in [
        user.Name.lower() for user in api.GetAllUsersDetails().Users
]:
    generated_password = ''.join(
        random.choice(string.ascii_letters + string.digits) for _ in range(8))
    api.UpdateUser(username=new_username, email=email, isActive=True)
    api.UpdateUserPassword(username=new_username, password=generated_password)
    api.WriteMessageToReservationOutput(
        reservationContext["id"],
        "This user already had a trial, please contact system admin at [email protected]"
    )
else:
    generated_password = ''.join(
        random.choice(string.ascii_letters + string.digits) for _ in range(8))
    api.AddNewUser(username=new_username,
                   password=generated_password,
                   email=email,