【问题标题】:CloudFormation - reference resource as default value for ParameterCloudFormation - 引用资源作为参数的默认值
【发布时间】:2016-05-14 18:48:27
【问题描述】:

我有一个参数“SecretKey”,我想为它提供一个默认值(http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html),默认值将是一个生成的随机字符串。我已经有一个lambda function 来生成密钥和一个自定义资源(称之为RandomSecretKey)来获取值。最终,我希望能够在参数部分做到这一点:

"SecretKey": {
... "Default": { "Fn::GetAtt": ["RandomSecretKey", "Value"] } }

而且这个参数会在某处被引用。

但这不起作用,因为 CloudFormation 需要基于错误消息的静态字符串。有没有办法做到这一点?

【问题讨论】:

  • 你能说得更具体点吗?你到底想完成什么?
  • @MattHouser 我更新了描述以更具体。谢谢

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

没有。 CloudFormation 不可能有一个动态的默认值。原因是在收集参数时模板根本没有执行。

如果您希望这是一个参数,您生成的值必须在模板之外生成并作为参数传递到模板中。您可以从引导创建脚本中执行此操作。

或者,您应该能够在模板中使用自定义资源来生成随机密钥。它应该能够通过堆栈更新持续存在。

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 2012-08-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2019-04-14
    • 2010-10-03
    相关资源
    最近更新 更多