AWS CloudFormation模板-如何开始

时间:2019-11-18 11:59:04

标签: amazon-cloudformation

我正在尝试为AWS CloudFormation编写模板,但不知道如何启动。我在AWS上管理2个不同的域,并希望使用单个CNF模板为这两个域创建Windows服务器。

例如,模板中的第一个问题应要求您为“域”参数选择域:

  1. “ abc.com”或
  2. “ 123.com”

“ WSUSGroup”参数模板中的第二个问题应根据先前的答案为您提供不同的列表选项。我想根据我选择的域选择不同的WSUS组。例如:

  • 如果我为“域”参数选择“ abc.com”,则列表应提供:

    1. WSUS-ABC-US
    2. WSUS-ABC-EU
  • 如果我为“域”选择“ 123.com”,则列表应提供:

    1. 123-美国
    2. 123-亚太地区

这完全可行吗?我想根据域选择拆分许多选项。

谢谢。

1 个答案:

答案 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值。看起来可能如下。

我们用抽象值DomainWSUSGroupKey定义一个参数US,抽象值EU / WSUS-ABC-USWSUS-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