gpt4 book ai didi

amazon-web-services - 如何在执行 [aws cloudformation create-stack] 后自动提取 VPCID、PrivateSubnet1、PublicSubnet1、S3BucketName 和 DBSubnetGroup

转载 作者:行者123 更新时间:2023-12-03 07:45:29 25 4
gpt4 key购买 nike

我运行了这个命令:

aws cloudformation create-stack --stack-name my-stackname --template-body file://stack.yml --parameters file://stack-params.json

得到了这个结果:

arams.json

{
"StackId": "arn:aws:cloudformation:us-east-1:343434345343:stack/some-stack-name/43434f-sed434-1147-867c-098sdfs09sdd"
}

但是,我正在寻找一种基于值以编程/自动方式捕获 VPCID、PrivateSubnet1、PrivateSubnet2、PublicSubnet1、PublicSubnet2、S3BucketName 和 DBSubnetGroup 值的方法在上面创建的基础堆栈的输出部分中。

我不想登录我的 aws cloudformation 服务控制台来手动复制和粘贴这些值。

有没有办法自动提取该数据,也许是某种脚本?我可以将上述命令的输出通过管道传输到另一个程序,并解析该数据(如果该数据在输出中),但我在输出中得到的只是 stackid。

如何根据上面创建的基础堆栈的输出部分中的值获取VPCID、PrivateSubnet1、PrivateSubnet2、PublicSubnet1、PublicSubnet2、S3BucketName 和 DBSubnetGroup

最佳答案

您可以使用aws cloudformation wait命令等待堆栈完成,然后再检查输出值。例如:

aws cloudformation create-stack \
--stack-name my-stackname \
--template-body file://stack.yml \
--parameters file://stack-params.json

aws cloudformation wait stack-create-complete \
--stack-name my-stackname

aws cloudformation describe-stacks \
--stack-name my-stackname \
--query "Stacks[0].Outputs"

如果你想一一获取堆栈输出,可以使用如下查询:

aws cloudformation describe-stacks \
--stack-name my-stackname \
--query "Stacks[0].Outputs[?OutputKey=='VPCID'].OutputValue" \
--output text

请注意,对于wait,如果您要执行更新而不是创建,则需要使用stack-update-complete

关于amazon-web-services - 如何在执行 [aws cloudformation create-stack] 后自动提取 VPCID、PrivateSubnet1、PublicSubnet1、S3BucketName 和 DBSubnetGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48370118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com