微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我想从参数部分传递多个存储桶名称,并允许它们一次进入iam resouce部分-云的形成

如何解决我想从参数部分传递多个存储桶名称,并允许它们一次进入iam resouce部分-云的形成

我有一个用例,

我想从参数部分传递多个存储桶名称,并授予它们对资源中这些存储桶的只读访问权限。我能够在限制计数时实现,但在未定义计数时如何实现。

"Parameters": {
        "S3Bucket": {
            "Type": "CommaDelimitedList","Description": "Select Bucket Names to Associate with the policy"
        },"Resource": [{"Fn::Join": ["",["arn:aws:s3:::","Fn::Select": ["0",{
                                            "Ref": "S3Bucket"
                                    }]]
                                }

解决方法

您无法动态传递值,因为云形成模板没有循环的概念。

如果您想使用CommaDelimitedList并传递例如您必须从参数中获取5个值,才能在模板中获取相同的值计数。

Fn :: Select不会检查空值或索引是否超出数组范围。这两种情况都将导致堆栈错误,因此应确保所选索引是有效的,并且列表包含非空值。

来源-https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-select.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。