CloudFormation passing parameters from CodePipeline

Viewed 6163

I have a SAM application and a CodePipeline setup to deploy it. I want to pass parameters down from my Pipeline into the SAM's YAML file. I tried using ParameterOverrides but seem to still get:

Parameters: [AppName] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 46d1dfd6-9a9a-11e7-a59d-999618d6a174)

My sam.yml parameters definations

AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  AppName:
    Type: String
    Description: Prefix for resources

The part defining the parameters overrides:

    - Name: ExecuteChangeSet
      Actions:
      - Name: Lambda
        ActionTypeId:
          Category: Deploy
          Owner: AWS
          Version: 1
          Provider: CloudFormation
        Configuration:
          ActionMode: CHANGE_SET_EXECUTE
          ChangeSetName: !Sub
            - '${PipelineName}-lambda'
            - {PipelineName: !Ref PipelineName}
          StackName: !Sub
            - '${PipelineName}-lambda'
            - {PipelineName: !Ref PipelineName}
          ParameterOverrides: !Sub '{"AppName": "${PipelineName}-lambda"}'

Whats is wrong with this?

1 Answers
Related