gpt4 book ai didi

aws-cloudformation - CloudFormation 组合子 - 导入 - 子

转载 作者:行者123 更新时间:2023-12-03 07:19:02 25 4
gpt4 key购买 nike

我正在尝试创建一个参数,并希望多次组合 !Sub 和 !Import。

Parameters:
Environment:
Description: Stackname of Environment
Type: String

Resources:

IAMRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Statement:
- Effect: Allow
Principal:
Service: '*'
Action: ['sts:AssumeRole']
Path: /
Policies:
- PolicyName: S3Files
PolicyDocument:
Statement:
- Sid: 'S3Files'
Effect: Allow
Action:
- 's3:DeleteObjectTagging'
- 's3:GetObjectRetention'
- 's3:ListMultipartUploadParts'
- 's3:PutObject'
- 's3:GetObjectAcl'
- 's3:GetObject'
- 's3:AbortMultipartUpload'
- 's3:PutObjectRetention'
- 's3:GetObjectVersionAcl'
- 's3:GetObjectTagging'
- 's3:PutObjectTagging'
- 's3:DeleteObject'
- 's3:PutObjectAcl'
- 's3:GetObjectVersion'
Resource: !Sub
- '${ARN}/*'
- ARN:
Fn::ImportValue: !Sub ${Environment}:S3:Arn

根据文档,这应该是可能的,但不幸的是我总是收到错误消息模板包含错误。:[/Resources/IAMRole/Type/Policies/0/PolicyDocument/Statement/0/Resource/Fn::Sub/1/ARN] 模板中不允许使用“null”值

用例如何工作?

最佳答案

Resource 部分存在空间问题。

Resource: !Sub
- '${ARN}/*'
- ARN:
Fn::ImportValue: !Sub ${Environment}:S3:Arn

应该是

Resource: !Sub
- '${ARN}/*'
- ARN:
Fn::ImportValue: !Sub ${Environment}:S3:Arn

注意:FnARNN(而不是 A)下开始。

说明:通过第一个缩进,带有 Fn::ImportValue 的行被视为 !Sub 的输入,通过第二个缩进,它成为 的值>ARN: 定义了其上方的行。

旁注:整个模板中统一使用 2 个空格或 4 个空格或制表符。

关于aws-cloudformation - CloudFormation 组合子 - 导入 - 子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61612970/

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