def deployProduct()

in deployment-lambda/handler.py [0:0]


def deployProduct(config):
    cf = boto3.client('cloudformation')
    cfnUrl = "https://s3.amazonaws.com/"+os.environ['cfnUrl']

    stack_name = "sc-"+(config['Parameters']['ProductName']).replace(" ","-")+"-product-cfn"

    if config['Parameters']['TemplateRuleConstraint']:
        template_const = json.dumps(config['Parameters']['TemplateRuleConstraint'])
    else:
        template_const = ""

    log.info("Deploying product: "+config['Parameters']['ProductName'])
    response = cf.create_stack(
        StackName=stack_name,
        Parameters=[
            {
                'ParameterKey': 'PorfolioStack',
                'ParameterValue': config['Parameters']['PorfolioStack']
            },
            {
                'ParameterKey': 'ProductName',
                'ParameterValue': config['Parameters']['ProductName']
            },
            {
                'ParameterKey': 'ProductDescription',
                'ParameterValue': config['Parameters']['ProductDescription']
            },
            {
                'ParameterKey': 'ProductVersion',
                'ParameterValue': config['Parameters']['ProductVersion']
            },
            {
                'ParameterKey': 'ProductVersionDescription',
                'ParameterValue': config['Parameters']['ProductVersionDescription']
            },
            {
                'ParameterKey': 'ProductTemplateUrl',
                'ParameterValue': 'https://s3.amazonaws.com/'+config['Parameters']['ProductTemplateUrl']
            },
            {
                'ParameterKey': 'ProductRoleName',
                'ParameterValue': config['Parameters']['ProductRoleName']
            },
            {
                'ParameterKey': 'ProductPolicyName',
                'ParameterValue': config['Parameters']['ProductPolicyName']
            },
            {
                'ParameterKey': 'PipelineRoleName',
                'ParameterValue': os.environ['PipelineRole']
            },            
            {
                'ParameterKey': 'ProductRoleTemplateUrl',
                'ParameterValue': 'https://s3.amazonaws.com/'+config['Parameters']['ProductRoleTemplateUrl']
            },
            {
                'ParameterKey': 'TemplateRuleConstraint',
                'ParameterValue': template_const
            },
            {
                'ParameterKey': 'DeploymentBucket',
                'ParameterValue': config['Parameters']['DeploymentBucket']
            },
            {
                'ParameterKey': 'DeployUpdatePipeline',
                'ParameterValue': config['Parameters']['DeployUpdatePipeline']
            },
            {
                'ParameterKey': 'UpdateConfigFileName',
                'ParameterValue': config['Parameters']['UpdateConfigFileName']
            }
        ],
        Capabilities=[ 'CAPABILITY_IAM' , 'CAPABILITY_NAMED_IAM' ],
        EnableTerminationProtection=True,
        TemplateURL=cfnUrl
    )
    log.info(response)