gpt4 book ai didi

amazon-web-services - 如何通过 CommaDelimitedList 参数条件化嵌套堆栈创建

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

在我的 AWS CloudFormation 模板中,我想通过 CommaDelimitedList 参数来条件化嵌套堆栈创建。

我会这样做:

{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"DeployNestedStacks": {
"Description": "List of nested stack resources to deploy",
"Type": "CommaDelimitedList",
"AllowedValues": [
"nestedStack1",
"nestedStack2"
]
}
},
"Conditions": {
"DeployNestedStack1": { "Fn::Contains": [ { "Ref": "DeployNestedStacks" } , "nestedStack1" ] }
"DeployNestedStack2": { "Fn::Contains": [ { "Ref": "DeployNestedStacks" } , "nestedStack2" ] }
},
"Resources": {
"MyNestedStack1": {
"Condition": "DeployNestedStack1",
"Type": "AWS::CloudFormation::Stack",
...
},
"MyNestedStack2": {
"Condition": "DeployNestedStack2",
"Type": "AWS::CloudFormation::Stack",
...
}
}
}

不幸的是 Fn::Contains 不是有效的 Fn。

不过,我认为它很好地说明了我想要实现的目标。

请问您将如何实现这一目标?

最佳答案

不幸的是,普通的 CloudFormation (CFN) 中没有这样的功能。 CFN 不是一种编程语言,它没有循环、搜索列表以及常规编程语言中的许多其他内容。

但是,有一些可能的替代方案需要考虑:

  • 使用macros
  • 使用 custom resources

  • 使用CDK ,而不是CFN。

  • 重新设计模板,使其条件基于常规参数值,而不是列表。例如使用 Select进行基于索引的比较。

关于amazon-web-services - 如何通过 CommaDelimitedList 参数条件化嵌套堆栈创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62083572/

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