Esempio n. 1
0
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)
api.AddGroupsToDomain(domainName=domain_name, groupNames=[new_group_name])

# Import content
api.WriteMessageToReservationOutput(reservationContext["id"], "4. Importing Content to new domain")
api_root_url = 'http://{0}:{1}/Api'.format(connectivityContext["serverAddress"], connectivityContext["qualiAPIPort"])

blueprints_to_export = [blueprint.Name for blueprint in api.GetDomainDetails("Master").Topologies]
blueprints_to_export_full_names = ["Master topologies\\" + blueprint for blueprint in blueprints_to_export]

api.AddTopologiesToDomain(domain_name, blueprints_to_export_full_names)
# TODO: Change hardcoded CP name to dynamically assumed name
api.AddResourcesToDomain(domain_name, ["AWS us-east-1"])

login_result = requests.put(api_root_url + "/Auth/Login", {"token": connectivityContext["adminAuthToken"], "domain": "Master"})
master_domain_authcode = "Basic " + login_result.content[1:-1]
Esempio n. 2
0
api = CloudShellAPISession(host="localhost", username="******", password="******", domain="Global")

with open("user_emails.txt") as f:
    user_lines = [x.rstrip() for x in f.readlines()]
    user_emails = [x for x in user_lines if x]

users = []
for email in user_emails:
    split = email.split("@")
    user = User(email=email, user_name=split[0])
    users.append(user)

for user in users:
    print(f"adding user: {user.user_name}...")

    try:
        api.AddNewUser(username=user.user_name, email=user.email, password=DEFAULT_PASSWORD, isActive=True, isAdmin=IS_ADMINS)
    except Exception as e:
        print(f"issue creating user {user.user_name}. Skipping. Error: {str(e)}")
    else:
        print("user created")
        print("==========")

print("adding users to group...")
user_names = [x.user_name for x in users]
api.AddUsersToGroup(usernames=user_names, groupName=TARGET_GROUP)

print("Script Done!")