in functions/source/account_create.py [0:0]
def provision_new_account():
'''Provision new SC account'''
valid_items = get_items('VALID')
result = "FAILED"
prod_id = get_product_id()
input_params = list()
pa_id = get_provisioning_artifact_id(prod_id)
port_id = get_portfolio_id(prod_id)
associate_principal_portfolio(PRINCIPAL_ARN, port_id)
if len(valid_items) > 0:
item = valid_items[0]
input_params = generate_input_params(item)
prov_prod_name = generate_provisioned_product_name(input_params)
try:
output = SC.provision_product(
ProductId=prod_id, ProvisioningArtifactId=pa_id,
ProvisionedProductName=prov_prod_name,
ProvisioningParameters=input_params,
ProvisionToken=str(randint(1000000000000, 9999999999999)))
result = output['RecordDetail']['ProvisionedProductId']
except Exception as exe:
LOGGER.error('SC product provisioning failed: %s', str(exe))
sleep(60)
result = str(exe)
else:
LOGGER.info('No more Account found to provision')
return(result, input_params)