Amazon cloudformation AWS CloudFormation模板-如何启动
我正在尝试为AWS CloudFormation编写模板,但不知道如何开始。我在AWS上管理两个不同的域,并希望使用单个CNF模板为这两个域创建Windows服务器 例如,模板中的第一个问题应要求您为“域”参数选择域:Amazon cloudformation AWS CloudFormation模板-如何启动,amazon-cloudformation,Amazon Cloudformation,我正在尝试为AWS CloudFormation编写模板,但不知道如何开始。我在AWS上管理两个不同的域,并希望使用单个CNF模板为这两个域创建Windows服务器 例如,模板中的第一个问题应要求您为“域”参数选择域: “abc.com”或 “123.com” “WSUSGroup”参数模板中的第二个问题应该根据前面的答案为您提供不同的列表选项。我想根据我选择的域选择不同的WSUS组。例如: 若我为“域”参数选择“abc.com”,则列表应提供: WSUS-ABC-US WSUS-ABC-EU
- 若我为“域”参数选择“abc.com”,则列表应提供:
- WSUS-ABC-US
- WSUS-ABC-EU
- 若我选择“123.com”作为“域名”,列表应提供:
- 123-US
- 123-亚太地区
提前谢谢。您有两个具体问题,我会尽力回答 首先,CF支持 如果希望用户从有限的选项列表中选择域,可以使用
AllowedValues
。大致如下:
Domain:
Type: String
Default: abc.com
AllowedValues:
- abc.com
- 123.com
其次,您似乎希望根据第一个参数选择另一个参数
我认为这是不可能的
但是,可能有一些解决办法
例如,如果不同域的WSUSGroup
的值可以说是“并行的”(即123-US
对应于WSUS-ABC-US
,而123-APAC
对应于WSUS-ABC-EU
),则可以根据域的值来选择实际的WSUSGroup
值。这可能如下所示
让我们定义一个参数WSUSGroupKey
,该参数具有抽象值US
和EU
,对应于特定值WSUS-ABC-US
/WSUS-ABC-EU
或123-US
/123-APAC
:
WSUSGroupKey:
Type: String
Default: US
AllowedValues:
- US
- EU
然后我们定义一个域
+WSUSGroupKey
到WSUSGroup
映射:
Mappings:
WSUSGroupMapping:
abc.com:
US: 'WSUS-ABC-US'
EU: 'WSUS-ABC-EU'
123.com:
US: '123-US'
EU: '123-APAC'
完成后,我们现在可以使用FindInMap
根据Domain
和WSUSGroupKey
参数查找WSUSGroup
值:
SomeProperty: !FindInMap
- WSUSGroupMapping
- !Ref 'Domain'
- !Ref 'WSUSGroupKey'
首先,Cloudformation对模板使用JSON/YAML格式。你可以在模板中加入一些“逻辑”,难度从简单到困难再到不,不能这样做。你所要求的也许能够实现。我可以想出几种可能的方法,但你要求的是有人为你做这项工作。这就是为什么你会被否决。我会看一下文档,学习YAML或JASON(我建议初学者使用YAML),至少在你提问之前尝试一下。搜索一些样本,然后从那里开始。如果我有时间,我会试试看。我看了一下,但我不确定今天是否有时间完成这项工作,但我想从这里开始:你是对的。我很抱歉。我将尝试发布更详细的问题,稍后还有我的试用。再次感谢。没关系,每个人都需要时间学习。我还在琢磨这个问题,但我希望我发送的链接能有所帮助。稍后我会尽量抽出时间来帮助你。