Передача идентификаторов AMI в скрипт SSM bash - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь использовать сценарий локального процессора оболочки в конце нашей сборки Packer, который получает последний идентификатор AMI, а затем отправляет его в указанный параметр c SSM.

До сих пор я могу без проблем получить последнюю версию AMI, выполнив

AWS_PROFILE=myprofile AWS_DEFAULT_REGION=us-east-1 aws ec2 describe-images --owners self --filters "Name=name,Values=my-eks-*" --query 'reverse(sort_by(Images,&CreationDate))[:1].{id:ImageId,date:CreationDate}' --output json | grep "ami-"

Приведенный выше код успешно печатает последнюю версию AMI, которую я хочу воспроизвести, в * SSM SS *. Я просто не могу придумать, как этот вывод успешно передать в SSM в рамках того же сценария. Есть идеи?

1 Ответ

1 голос
/ 02 марта 2020

Обычно вы должны хранить амид в переменной, которую вы используете в другой команде aws cli. Например,

ami_id=$(AWS_PROFILE=myprofile AWS_DEFAULT_REGION=us-east-1 aws ec2 describe-images --owners self --filters "Name=name,Values=my-eks-*" --query 'reverse(sort_by(Images,&CreationDate))[:1].{id:ImageId,date:CreationDate}' --output json | grep "ami-")

, а затем в какой-то другой команде (просто пример того, как ссылаться на ami_id):

aws cli --image="${ami_id}"
...