如何使用 CommaDelimitedList 参数创建资源 ARNS 列表?
How to create list of resource ARNS using a CommaDelimitedList parameter?
我正在尝试创建一个 Cloudwatch 事件规则,它将使用多个代码管道作为源和触发器目标。
Parameters:
SourcePipeline:
Description: Name of Source codepipeline
Type: CommaDelimitedList
Default: 'test3, test4'
Resources:
PipelineTrigger:
Type: 'AWS::Events::Rule'
Properties:
EventPattern:
source:
- aws.codepipeline
resources: !Split
- ','
- !Sub
- 'arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:${pipeline}'
- pipeline: !Join
- ',arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:'
- !Ref SourcePipeline
预计 resources
如下:
"resources": ["arn:aws:codepipeline:us-east-1:123:test3","arn:aws:codepipeline:us-east-1:123:test4"],
知道如何将姓名列表作为参数传递吗?
@FYI 参考我正在关注 Using Lists of ARNs
首先应该是!Ref SourcePipelines
。其次,您忘记了逗号。你不能按照你想要的方式做到这一点。这是因为,要加入的第一个参数必须是文字字符串,而不是任何 CloudFormation 表达式或函数。所以你必须硬编码你的帐户 ID 和区域:
resources: !Split
- ','
- !Sub
- 'arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:${pipeline}'
- pipeline: !Join
- ',arn:aws:codepipeline:us-east-1:12312321:'
- !Ref SourcePipelines
我正在尝试创建一个 Cloudwatch 事件规则,它将使用多个代码管道作为源和触发器目标。
Parameters:
SourcePipeline:
Description: Name of Source codepipeline
Type: CommaDelimitedList
Default: 'test3, test4'
Resources:
PipelineTrigger:
Type: 'AWS::Events::Rule'
Properties:
EventPattern:
source:
- aws.codepipeline
resources: !Split
- ','
- !Sub
- 'arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:${pipeline}'
- pipeline: !Join
- ',arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:'
- !Ref SourcePipeline
预计 resources
如下:
"resources": ["arn:aws:codepipeline:us-east-1:123:test3","arn:aws:codepipeline:us-east-1:123:test4"],
知道如何将姓名列表作为参数传递吗?
@FYI 参考我正在关注 Using Lists of ARNs
首先应该是!Ref SourcePipelines
。其次,您忘记了逗号。你不能按照你想要的方式做到这一点。这是因为,要加入的第一个参数必须是文字字符串,而不是任何 CloudFormation 表达式或函数。所以你必须硬编码你的帐户 ID 和区域:
resources: !Split
- ','
- !Sub
- 'arn:aws:codepipeline:${AWS::Region}:${AWS::AccountId}:${pipeline}'
- pipeline: !Join
- ',arn:aws:codepipeline:us-east-1:12312321:'
- !Ref SourcePipelines