我正在尝试为AWS CloudFormation编写模板,但不知道如何启动。我在AWS上管理2个不同的域,并希望使用单个CNF模板为这两个域创建Windows服务器。
例如,模板中的第一个问题应要求您为“域”参数选择域:
“ WSUSGroup”参数模板中的第二个问题应根据先前的答案为您提供不同的列表选项。我想根据我选择的域选择不同的WSUS组。例如:
如果我为“域”参数选择“ abc.com”,则列表应提供:
如果我为“域”选择“ 123.com”,则列表应提供:
这完全可行吗?我想根据域选择拆分许多选项。
谢谢。
答案 0 :(得分:0)
您有两个具体问题,我会尽力回答。
首先,CF支持parameters。
如果您希望用户从有限的选项列表中选择域,则可以使用AllowedValues
。大致情况:
Domain:
Type: String
Default: abc.com
AllowedValues:
- abc.com
- 123.com
第二,您似乎想根据第一个参数来选择另一个参数。
我认为这不可能直接实现。
但是,可能有一些解决方法。
例如,如果WSUSGroup
的值可以说在不同域中“平行”(即123-US
对应于WSUS-ABC-US
,而123-APAC
对应于{{1} }),您可以根据WSUS-ABC-EU
的值使用FindInMap
选择实际的WSUSGroup
值。看起来可能如下。
我们用抽象值Domain
和WSUSGroupKey
定义一个参数US
,抽象值EU
/ WSUS-ABC-US
或WSUS-ABC-EU
/ {{ 1}}:
123-US
然后我们定义一个123-APAC
+ WSUSGroupKey:
Type: String
Default: US
AllowedValues:
- US
- EU
到Domain
的映射:
WSUSGroupKey
完成此操作后,我们现在可以使用WSUSGroup
根据Mappings:
WSUSGroupMapping:
abc.com:
US: 'WSUS-ABC-US'
EU: 'WSUS-ABC-EU'
123.com:
US: '123-US'
EU: '123-APAC'
和WSUSGroup
参数查找Domain
值:
WSUSGroupKey