我知道我可以通过以下方式获取堆栈资源:-
aws cloudformation describe-stack-resources \
--stack-name MYSTACKNAME \
--query 'StackResources[*].{Type:ResourceType,LogicalID:LogicalResourceId}' \
--output table
如果我的堆栈仅由嵌套堆栈组成,我如何获取 Cloudformation 中堆栈的所有嵌套堆栈的资源?
我可以了解如何查询父堆栈的所有堆栈。
aws cloudformation list-stacks \
--query 'StackSummaries[?contains(StackName, `MYSTACKNAME`) && (StackStatus==`CREATE_COMPLETE`||StackStatus==`UPDATE_COMPLETE`)].{Stack:StackName}' \
--output json
我不知道如何使用它来提供描述堆栈资源,它似乎只采用单独的值。
我可以将其构建到 python 脚本中,但我想我会在这样做之前进行检查。
谢谢
最佳答案
您无法实现这一命令。相反,获取属于父堆栈的所有资源的列表(嵌套堆栈详细信息),然后通过迭代该列表来描述堆栈资源。下面是我编写的用于获取所有资源的命令:
for stack in $(aws cloudformation list-stacks --output text --query 'StackSummaries[?contains(StackName, `MYSTACKNAME`) && (StackStatus==`CREATE_COMPLETE`||StackStatus==`UPDATE_COMPLETE`)].[StackName]') ; do aws cloudformation describe-stack-resources --stack-name $stack --query 'StackResources[*].{Type:ResourceType,LogicalID:LogicalResourceId}' --output table ; done
关于amazon-web-services - Cloudformation AWS CLI 查询具有多个嵌套堆栈的所有堆栈资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50389873/