Опишите группу автоматического масштабирования, читающую переменную - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь установить переменную stackname = Teststack

Когда я запускаю следующую команду, она также читает фигурную скобку.

{'$ stackname'} возвращается как {Teststack}, где я просто хочу использовать Teststack без фигурных скобок.

Команда:

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?contains(Tags[?Key==`aws:cloudformation:stack-name`].Value, {'$stackname'})].[AutoScalingGroupName]'

Ошибка:

Bad value for --query AutoScalingGroups[?contains(Tags[?Key==`aws:cloudformation:stack-name`].Value, {Teststack})].[AutoScalingGroupName]:
  Expecting: colon, got: rbrace: Parse error at column 85, token "}" (RBRACE), for expression:
  "AutoScalingGroups[?contains(Tags[?Key==`aws:cloudformation:stack-name`].Value, {Teststack})].[AutoScalingGroupName]"

1 Ответ

0 голосов
/ 11 января 2019

Я предполагаю, что вы имеете в виду, что у вас есть переменная $stackname, которая содержит имя вашего стека, и вы хотите вернуть поле AutoScalingGroupName для группы автоматического масштабирования, которая помечена этим именем стека.

Потому что именно это пытается сделать ваш запрос.

Если это так, вы можете сделать это с помощью этого запроса:

aws autoscaling describe-auto-scaling-groups \
  --query 'AutoScalingGroups[?contains(Tags[?Key==`aws:cloudformation:stack-name`].Value, `'$teststack'`)].AutoScalingGroupName' \
  --output text
...