in functions/source/aws_qs_create_org/aws_qs_create_org.py [0:0]
def create_rafay_org(email, org_name, first_name, last_name):
try:
endpoint = ssm_client.get_parameter(Name='/quickstart/rafay/endpoint')['Parameter']['Value']
except ssm_client.exceptions.ParameterNotFound:
endpoint = "rafay.dev"
rafay_ops_console = f"ops.{endpoint}"
rafay_console = f"console.{endpoint}"
rafay_signup_url = "https://" + rafay_ops_console + \
"/auth/v1/signup/" \
"QVdTLVFTLVJBRkFZLVNJR05VUC1BUEktT1JJR0lOLUxBTUJEQS1VU0EtU1VOTllWQUxFLUNBLVZFUlNJT04tMDAwMQ/"
rafay_login_url = "https://" + rafay_console + "/auth/v1/login/"
rafay_users_url = "https://" + rafay_console + "/auth/v1/users/"
# generate password for user
user_password = generate_password()
user_login_data = json.dumps({'username': email, 'password': user_password})
signup_data = json.dumps({"username": email, "organization_name": org_name, "first_name": first_name,
"last_name": last_name, "password": user_password, "repeatPassword": user_password})
# create new organization in Rafay SaaS controller
r = requests.post(rafay_signup_url, headers={'content-type': 'application/json;charset=UTF-8'},
data=signup_data)
assert_request(r, 'failed to create rafay org')
# login to Rafay console
r = requests.post(rafay_login_url, headers={'content-type': 'application/json;charset=UTF-8'},
data=user_login_data)
assert_request(r, 'failed to login to rafay')
user = requests.get(rafay_users_url,
headers={'content-type': 'application/json;charset=UTF-8',
'cookie': 'rsid=' + r.cookies['rsid'] + ';csrftoken=' + r.cookies['csrftoken'],
'x-csrftoken': r.cookies['csrftoken']})
user_id = user.json()['users'][0]['account']['id']
# get Rafay API key
rafay_apikey_url = "https://" + rafay_console + "/auth/v1/users/" + user_id + "/apikey/"
r = requests.post(rafay_apikey_url,
headers={'referer': "https://" + rafay_console,'content-type': 'application/json;charset=UTF-8',
'cookie': 'rsid=' + r.cookies['rsid'] + ';csrftoken=' + r.cookies['csrftoken'],
'x-csrftoken': r.cookies['csrftoken']},
data=json.dumps({"name": "dynamic"}))
assert_request(r, 'failed to retreive api keys')
return r.json()['key'], r.json()['secret']