【问题标题】:Cloudformation AWS::ElasticLoadBalancingV2::Listener arbitrary list of certificatesCloudformation AWS::ElasticLoadBalancingV2::Listener 任意证书列表
【发布时间】:2018-06-10 16:19:19
【问题描述】:

我正在尝试编写一个支持多个环境的 CloudFormation 模板,每个环境可以有 2 或 3 个证书,这些证书应该附加到负载均衡器侦听器。

但是,由于 Cloudformation 不接受简单的证书列表 (doc),我正在努力弄清楚如何使用参数传入对象列表。看来:

  1. 每个参数都必须有一个类型
  2. “列表”不是可接受的类型,它必须是“某物”列表
  3. Cloudformation 没有“foreach”来从每个证书动态创建“证书对象”。

我遇到了这个示例模板 (link),但这里的问题是通过使用两个显式证书来解决的 - 我需要能够动态输入任意证书列表

对于 ref,我需要能够注入这样的东西(伪代码):

Certificates: - Certificate: Arn1 - Certificate: Arn2 - Certificate: Arn_n

其中Arn1、Arn2、Arn_n来自“list-type”参数。

所以我想问题是:Cloudformation 中是否有任何“foreach”或其他任何东西可以帮助我为参数列表中的每个项目生成一个“对象”,或者以任何方式传递“丰富”参数对象?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    CloudFormation 允许您使用CommaDelimitedList 作为参数类型。然后,您可以以逗号分隔列表的形式提供它:

    arn1,arn2,arn3

    列表是任意的。然后,您可以直接将其提供给您的侦听器的 Certificates 属性:

    "Certificates" : { "Ref" : "MyListParam" }
    

    【讨论】:

    • 谢谢!我已经更新了我的问题,以便更清楚地了解限制是什么。
    • 我看到了这个问题。所以这个解决方案不能直接工作。 CloudFormation 没有foreach 类型的结构。你可以用条件做你想做的事。
    • 谢谢!我们使用 Ansible 应用 cloudformation,所以我最终使用了一点 Jinja2 魔法。当它导致限制时,只是对它这样的实现感到惊讶。
    猜你喜欢
    • 2023-03-24
    • 2019-03-29
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2018-04-28
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多