【问题标题】:Handling dynamic parameter value while creating a stack in AWS在 AWS 中创建堆栈时处理动态参数值
【发布时间】:2019-05-22 05:30:07
【问题描述】:

有人可以帮我处理 parameter.json 文件中的动态“ParameterValue”吗?

我正在运行“cloudformation create-stack”并传入 --parameters 一个 parameter.json 文件,文件中很少有“ParameterValue”需要是动态的,例如时间戳和附加来自循环的索引值等... 那么,如何修改 parameters.json 文件以处理动态值。

我可以采用的另一种方法是不使用parameters.json文件并将键值传递给脚本循环内的create-stack命令,如下所示,

--参数 ParameterKey="XYZ",ParameterValue="${someval}${index}"

【问题讨论】:

  • 您需要在过程中的什么时候评估参数中的动态值?
  • 在创建堆栈操作之前..

标签: amazon-web-services amazon-ec2


【解决方案1】:

我会创建parameters.json.template 文件来保存参数化形式的值,就像你展示的那样:

[
    {
        "ParameterKey": "XYZ",
        "ParameterValue": "{someval}{index}"
    },
    {
        "ParameterKey": "ABC",
        "ParameterValue": "staticval-{suffix}"
    }
]

我假设您在 cli 上执行此操作,基于 --parameters 标志的使用。在这种情况下,我会创建一个脚本来将模板文件与值合并(到生成的文件中),然后调用 create-stack cli 命令。

在 linux 上是这样的:

#! /bin/bash

# create output file from template
cp templates/parameters.json.template generated/parameters.json

# merge dynamic values into templated file
sed -i "s/{someval}/$SOME_VAL/g" generated/parameters.json
sed -i "s/{index}/$INDEX/g" generated/parameters.json
sed -i "s/{suffix}/$SUFFIX/g" generated/parameters.json

aws cloudformation create-stack ... --parameters generated/parameters.json ...

这当然假设您的脚本可以访问您的动态值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2021-05-11
    • 2020-10-25
    • 2018-10-01
    相关资源
    最近更新 更多