使用条件码启用/禁用CloudFormation for CodePipeline的各个部分:
一旦构建了分段并通过了Runscope测试,就会创建一个手动通知操作:
input[id *=_name]
如何使用条件启用/禁用此其他CloudFormation资源:。
操作步骤无法识别条件:param
我可以制作两个整个管道代码的副本,一个没有,然后切换我创建的管道,但似乎应该有更好的方法。
答案 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