AWS CLI 仅列出当前 运行 cloudformation 堆栈的名称?

AWS CLI list only the name of current running cloudformation stacks?

我正在构建一个更大的 AWS CLI 作业,但其中一个构建块难倒了我;

如何获取每个当前 运行 AWS Cloudformation 堆栈的名称列表?

我可以使用以下内容很好地列出堆栈,但我无法获得将其与堆栈名称配对的查询。

aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE --output text

我可以将生成的 table 缩减为 bash,但如果存在更优雅的 aws 解决方案,我会喜欢它。

您可以将查询参数添加到同一个查询以将结果集缩小到仅 StackName。

根据@idbehold,您还需要包括除 CREATE_FAILEDDELETE_COMPLETE 之外的所有堆栈状态过滤器,以真正捕获所有当前堆栈。这些只需要用空格分隔。

查询:

"StackSummaries[*].StackName"

完整示例:

aws cloudformation list-stacks --stack-status-filter CREATE_IN_PROGRESS CREATE_COMPLETE ROLLBACK_IN_PROGRESS ROLLBACK_FAILED ROLLBACK_COMPLETE DELETE_IN_PROGRESS DELETE_FAILED UPDATE_IN_PROGRESS UPDATE_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_COMPLETE UPDATE_ROLLBACK_IN_PROGRESS UPDATE_ROLLBACK_FAILED UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_ROLLBACK_COMPLETE REVIEW_IN_PROGRESS --query "StackSummaries[*].StackName"

进一步阅读

    # foreach stack in prod describe stack resources
    while read -r stack ; do \
    echo -e "\nSTART $stack\n" ;\
    aws cloudformation describe-stack-resources --stack-name $stack --profile prd ; \
    echo -e "\nSTOP  $stack \n" ; done \
    < <(aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE \
    --query "StackSummaries[*].StackName" --profile prd \
    | perl -ne 's/\s+/\n/g;print'| sort)