我需要从AWS CLOUDFORMATION中提取名称中包含特定字符串的所有堆栈。 我从aws-shell使用以下命令
aws cloudformation describe-stacks --query "Stacks[?contains(StackName, 'STRING_A')][StackName,StackId]" --output text | tr '\t' ';'
并且我能够提取所需的所有信息。
问题是我还需要搜索另一个字符串(假设STRING_B)...正确的命令是什么?如何将OR条件插入“?contains”?
我做了几次尝试,但都没有成功。
例如
aws cloudformation describe-stacks --query "Stacks[?contains(StackName, 'STRING_A'||'STRING_B')][StackName,StackId]" --output text | tr '\t' ';'
但是此解决方案仅提取满足第一个条件(STRING_A)的记录
对于我的应用程序,除了“ contain”之外,我还可以使用“ ends_with” .....问题/问题是相同的:-)
感谢您的帮助,在此先感谢您
答案 0 :(得分:1)
or-expression
Stacks[?contains(StackName, 'STRING_A'||'STRING_B')]
Stacks[? (contains(StackName, 'STRING_A') || contains(StackName, 'STRING_B')) ]