aws CAPABILITY_AUTO_EXPAND console web codepipeline with cloudformation

元气小坏坏 提交于 2019-12-04 06:52:40

Ran into the same problem, I could not find a way to do it through the console. However it works well with the CLI and you can find detailed documentation on pipeline update here : https://docs.aws.amazon.com/cli/latest/reference/codepipeline/update-pipeline.html

The way I did it was :

  1. make a get-pipeline to get the current pipeline structure
  2. save the result as a json file
  3. from the json file : remove the metadata section, add a capabilities attribute with your value in configuration section
  4. use the update-pipeline command with --cli-input-json option specifying the previous json file

Sample [Note the changes marked with arrows]:

    {
    "pipeline": {
        "roleArn": "arn:aws:iam::123456789234:role/service-role/AWSCodePipelineServiceRole-us-east-1-SAMpipeline", 
        "stages": [
            {
                "name": "Source", 
                "actions": [
                    {
                        "inputArtifacts": [], 
                        "name": "Source", 
                        "actionTypeId": {
                            "category": "Source", 
                            "owner": "AWS", 
                            "version": "1", 
                            "provider": "CodeCommit"
                        }, 
                        "outputArtifacts": [
                            {
                                "name": "SourceArtifact"
                            }
                        ], 
                        "configuration": {
                            "PollForSourceChanges": "false", 
                            "BranchName": "master", 
                            "RepositoryName": "CFNrepo"
                        }, 
                        "runOrder": 1
                    }
                ]
            }, 
            {
                "name": "Build", 
                "actions": [
                    {
                        "inputArtifacts": [
                            {
                                "name": "SourceArtifact"
                            }
                        ], 
                        "name": "Build", 
                        "actionTypeId": {
                            "category": "Build", 
                            "owner": "AWS", 
                            "version": "1", 
                            "provider": "CodeBuild"
                        }, 
                        "outputArtifacts": [
                            {
                                "name": "BuildArtifact"
                            }
                        ], 
                        "configuration": {
                            "ProjectName": "SAMproject"
                        }, 
                        "runOrder": 1
                    }
                ]
            }, 
            {
                "name": "Deploy", 
                "actions": [
                    {
                        "inputArtifacts": [
                            {
                                "name": "BuildArtifact"
                            }
                        ], 
                        "name": "DeployStack", 
                        "actionTypeId": {
                            "category": "Deploy", 
                            "owner": "AWS", 
                            "version": "1", 
                            "provider": "CloudFormation"
                        }, 
                        "outputArtifacts": [], 
                        "configuration": {
                            "StackName": "s5765722591-cp", 
                            "ActionMode": "CREATE_UPDATE", 
                            "RoleArn": "arn:aws:iam::298320596430:role/CloudFormationFullAccess", 
                            "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND",   <--------------
                            "TemplatePath": "BuildArtifact::template.yaml"
                        }, 
                        "runOrder": 1
                    }, 
                    {
                        "inputArtifacts": [
                            {
                                "name": "BuildArtifact"
                            }
                        ], 
                        "name": "DeployStack2", 
                        "actionTypeId": {
                            "category": "Deploy", 
                            "owner": "AWS", 
                            "version": "1", 
                            "provider": "CloudFormation"
                        }, 
                        "outputArtifacts": [], 
                        "configuration": {
                            "StackName": "s5765722591-cp2", 
                            "ActionMode": "CREATE_UPDATE", 
                            "RoleArn": "arn:aws:iam::123456789234:role/CloudFormationFullAccess", 
                            "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND",    <-----------
                            "TemplatePath": "BuildArtifact::template.yaml"
                        }, 
                        "runOrder": 1
                    }
                ]
            }
        ], 
        "artifactStore": {
            "type": "S3", 
            "location": "codepipeline-us-east-1-123456789234"
        }, 
        "name": "SAMpipeline", 
        "version": 5
    }
 }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!