gpt4 book ai didi

amazon-web-services - CloudFormation:如何在映射中使用 AWS::AccountId?

转载 作者:行者123 更新时间:2023-12-04 08:05:07 25 4
gpt4 key购买 nike

我有一个如下所示的映射:

Mappings:
AccountToParams:
aws-1234567890:
sshSecurityGroup: sg-abcedf12

我想通过 AccountId 检索我的变量,但这并没有通过“验证”步骤

SecurityGroups:
- !FindInMap [AccountToParams, !Sub "aws-${AWS::AccountId}", sshSecurityGroup]

错误是

16/08/2017, 16:36:18 - Template contains errors.: Template error: 
every Fn::FindInMap object requires three parameters,
the map name, map key and the attribute for return value

目标是拥有一些由运行的帐户(因此环境)驱动的配置。而且我似乎无法使用 accountId 作为映射中的键,否则 AWS 会不高兴,因为它不包含字母数字字符

最佳答案

将 map 更改为:

Mappings:
AccountToParams:
"1234567890":
sshSecurityGroup: sg-abcedf12

并使用!Ref而不是!Sub:

SecurityGroupIds:
- !FindInMap [AccountToParams, !Ref "AWS::AccountId", sshSecurityGroup]

如果堆栈下方需要,请使用 FN::Join 将“aws”字符串添加到帐户 ID 之前。

关于amazon-web-services - CloudFormation:如何在映射中使用 AWS::AccountId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com