在AWS中创建堆栈时处理动态参数值



有人可以帮助我处理parameter.json文件中的动态" parametervalue"。

我正在运行" CloudFormation create-stack"并传递 - 参数parameter.json文件,文件中几乎没有" parametervalue",例如,loop等的时间戳和附加索引值需要动态...因此,如何修改parameters.json文件来处理动态值。

我可以使用的替代方法是不使用参数。

- 参数parameterkey =" xyz",parametervalue =" $ {someval} $ {index}"

我将创建 parameters.json.template文件以将值保存在其参数化表单中,就像您显示:

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

我假设您是根据--parameters标志的使用在CLI上进行的。在这种情况下,我将创建一个脚本将模板文件与值合并(进入生成的文件(,然后调用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 ...

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

最新更新