我想查找所有启动配置名称,其中包含启动配置名称中的文本。
例如:假设有3个启动配置名称' awsLC1' ' xyzLC2' ' aLC3' ' PQRST'
我想要一个查询,它使用aws CLI获取3个启动配置。
我尝试使用JMESpath编写以下查询,但由于LaunchConfigurtionName不是数组,因此无法解决。
aws autoscaling describe-launch-configurations --query LaunchConfigurations[? LaunchConfigurationName [? contains(@,'LC')]].LaunchConfigurationName" --output text
谢谢!
答案 0 :(得分:3)
您只需更改contains()即可评估要检查的字段,而不是使用@
数组语法。来自contains()文档:
boolean contains(array | string $ subject,any $ search)
如果提供的$ subject是一个字符串,如果字符串包含提供的$ search参数,则此函数返回true。
contains(LaunchConfigurationName,'LC')
aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].LaunchConfigurationName" --output text