как найти все имя конфигурации запуска, которое имеет общий префикс имени


Я хочу найти все имена конфигурации запуска,которые имеют текст в имени конфигурации запуска.

Для примера: скажем, есть 3 имени конфигурации запуска 'awsLC1' 'xyzLC2' 'aLC3' 'pqrst'

Мне нужен запрос, в котором он возвращает мне 3 конфигурации запуска с использованием AWS CLI.

Я попытался написать следующий запрос, используя JMESpath, но это не сработало, так как LaunchConfigurtionName не является массивом.

 aws autoscaling describe-launch-configurations --query LaunchConfigurations[? LaunchConfigurationName [? contains(@,'LC')]].LaunchConfigurationName" --output text

Спасибо!

1 2

1 ответ:

Вы можете просто изменить contains (), чтобы оценить поле, которое вы хотите проверить, вместо того, чтобы использовать синтаксис массива @. Из документации contains ():

Boolean contains (array / string $subject, any $search)

Если предоставленный $ subject является строкой, эта функция возвращает true, если строка содержит предоставленный $ search аргумент.

Пример поиска конфигурационных имен запуска, содержащих 'LC':

contains(LaunchConfigurationName,'LC')

Полный Пример:

aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].LaunchConfigurationName" --output text

Дальнейшее Чтение: