gpt4 book ai didi

aws-cloudformation - AWS CloudFormation 模板 - 如何开始

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

我正在尝试为 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-亚太地区

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

提前致谢。

最佳答案

您有两个具体问题,我会尽力回答。

首先,CF支持parameters .

如果您希望用户从有限的选项列表中选择域,您可以使用AllowedValues。大致思路是这样的:

  Domain:
Type: String
Default: abc.com
AllowedValues:
- abc.com
- 123.com

其次,您似乎想根据第一个参数来选择另一个参数。

我认为这不可能直接实现。

但是,可能有一些可用的解决方法。

例如,如果 WSUSGroup 的值可以说是不同域的“并行”(即 123-US 对应于 WSUS-ABC-US123-APAC 对应于 WSUS-ABC-EU),您可以使用 FindInMap根据 Domain 的值选择实际的 WSUSGroup 值。这可能如下所示。

让我们定义一个参数 WSUSGroupKey,其抽象值 USEU 对应于特定值 WSUS-ABC-US >/WSUS-ABC-EU123-US/123-APAC:

  WSUSGroupKey:
Type: String
Default: US
AllowedValues:
- US
- EU

然后我们定义一个 Domain + WSUSGroupKeyWSUSGroup 映射:

Mappings:
WSUSGroupMapping:
abc.com:
US: 'WSUS-ABC-US'
EU: 'WSUS-ABC-EU'
123.com:
US: '123-US'
EU: '123-APAC'

完成此操作后,我们现在可以使用 FindInMap 根据 DomainWSUSGroupKey 参数查找 WSUSGroup 值:

      SomeProperty: !FindInMap
- WSUSGroupMapping
- !Ref 'Domain'
- !Ref 'WSUSGroupKey'

关于aws-cloudformation - AWS CloudFormation 模板 - 如何开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58914093/

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