有条件地根据CloudFormation条件创建CodePipeline操作

时间:2017-01-19 21:28:11

标签: amazon-cloudformation aws-codepipeline

使用条件码启用/禁用CloudFormation for CodePipeline的各个部分:

一旦构建了分段并通过了Runscope测试,就会创建一个手动通知操作:

input[id *=_name]

如何使用条件启用/禁用此其他CloudFormation资源:。

操作步骤无法识别条件:param

我可以制作两个整个管道代码的副本,一个没有,然后切换我创建的管道,但似乎应该有更好的方法。

1 个答案:

答案 0 :(得分:12)

您应该能够通过有条件地将AWS::CodePipeline::Pipeline资源Action插入Actions列表,使用Fn::If引用您的Conditions内在函数来完成此操作3}}元素,当条件为真时返回Action,并且AWS::NoValue(删除属性,在这种情况下从列表中删除项目),当它不为真时返回:

- !If
  - IsProdCondition
  - InputArtifacts: []
    Name: !Join ["",[!Ref GitHubRepository, "-prd-approval"]]
    ActionTypeId:
      Category: Approval
      Owner: AWS
      Version: '1'
      Provider: Manual
    OutputArtifacts: []
    Configuration:
      NotificationArn: !GetAtt ["SNSApprovalNotification", "Outputs.SNSTopicArn"]
      ExternalEntityLink: OutputTestUrl
    RunOrder: 3
  - !Ref AWS::NoValue
相关问题