in src/servicecatalog.py [0:0]
def __init__(self):
file = open('version.json', "r")
f = json.load(file)
self.applicationName = f['AppName']
self.version = f['Version']
sts_client = boto3.client('sts')
self.data = {
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Anchor stack for AWS Lambda",
"Parameters": {
"appName": {
"Description": "Application name",
"Type": "String",
"Default": "userdata"
},
"Version": {
"Description": "Instance type for C9",
"Type": "String",
"Default": "1.0.0"
}
},
"Resources": {
"triggerLambda": {
"Type": "Custom::LambdaCallout",
"Properties": {
"ServiceToken": {"Fn::ImportValue": "ServiceCatalogLambdaRole"},
"appName": {"Ref": "appName"},
"Version": {"Ref": "Version"}
}
}
}
}
if (os.environ['BuildType'] == 'build'):
self.bucketName = os.environ['SourceBucket']
self.launchArn = os.environ['SourceLaunchRoleArn']
self.role = "arn:aws:iam::%s:user/SnowEndUser" % (boto3.client('sts').get_caller_identity()['Account'])
self.sc_client = boto3.client('servicecatalog')
self.s3_client = boto3.client('s3')
self.s3_resource = boto3.resource('s3')
elif (os.environ['BuildType'] == 'deploy'):
self.bucketName = os.environ['Bucket']
self.role = os.environ['CrossAccountRoleArn']
self.produtId = ""
response = sts_client.assume_role(
RoleArn=os.environ['CrossAccountRoleArn'],
RoleSessionName='assumeRole'
)
ACCESS_KEY = response['Credentials']['AccessKeyId']
SECRET_KEY = response['Credentials']['SecretAccessKey']
SESSION_TOKEN = response['Credentials']['SessionToken']
boto3_client = boto3.Session(
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN
)
self.sc_client = boto3_client.client('servicecatalog')
self.s3_client = boto3_client.client('s3')
self.s3_resource = boto3_client.resource('s3')
self.launchArn = os.environ['LaunchRoleArn']