amazon-web-services - 使用 JQ 生成 AWS CloudFormation 参数文件

标签 amazon-web-services aws-cloudformation jq

尝试使用 JQ 生成 AWS 参数文件以用于调用 CloudFormation

aws cloudformation create-stack --stack-name test --parameters file://params.json --template-body file://cfn.yaml

我正在考虑采用这样的模板:

'[{"ParameterKey":"KEY","ParameterValue":"VALUE","UsePreviousValue":false}]'

然后在 JQ 中添加一些参数并尝试对 arg 执行一些字符串操作,例如 jq --arg params 'key1,value1:key2,value2' 然后拆分 ':' 以复制它并用逗号分隔值。

我能做的最好的事情就是提前创建正确数量的顶级节点,然后进行静态替换,单独提供每个参数。不够动态,甚至不必费心——最好只编写一个 bash 脚本并在循环中进行替换。

如有任何帮助,我们将不胜感激。

目前我能做的最好的就是这个

echo '[{"ParameterKey":"KEY","ParameterValue":"VALUE","UsePreviousValue":false}]' | jq --arg vars "key1,val1:key2,val2" '.[0].ParameterKey = ($vars|split(":")|.[]|split(",")|.[0]) | .[0].ParameterValue = ($vars|split(":")|.[]|split(",")|.[1])'

但输出是所有值的组合(例如 key1 val1、key1 val2 等)

最佳答案

关于amazon-web-services - 使用 JQ 生成 AWS CloudFormation 参数文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45592982/

相关文章:

json - Jq:如何将子成员移动到父成员?

amazon-web-services - CloudFront 无法使用 S3 网站源,只能使用 REST 源 Cloudformation

java - 使用 aws lambda native 读取文本文件

amazon-web-services - 事件类型 : viewer-request results in 503 for lambda edge

amazon-web-services - API 网关 - 部署 API 如何工作?

json - jq中数组中包含的过滤值

hadoop - 如何在 Amazon EMR 上配置 Hadoop 参数?

amazon-web-services - 在迭代项目时如何维护 CloudFormation 堆栈和本地 CDK 开发之间的状态?

amazon-web-services - AWS 云形成 : pathmapping - Invalid stage identifier specified