Запуск двух команд aws cli одновременно - PullRequest
0 голосов
/ 17 июня 2019

Я хотел бы запустить следующее:

aws ram get-resource-share-invitations
aws ram accept-resource-share-invitation --resource-share-invitation-arn <value from first query>

как в одной строке, получая вывод из первого запроса, так и используя его во втором.

Есть ли способ сделать это? Я хочу использовать вышеуказанный скрипт внутри terraform null_resource. Поскольку мы не можем получить вывод из null_resource. Я думал, если объединить оба запроса в один, это решит мою проблему.

1 Ответ

0 голосов
/ 21 июня 2019

Да, вы можете объединить команды AWS cli вместе, используя xargs

ПРЕДУПРЕЖДЕНИЯ. Я не использую AWS RAM, поэтому я не могу привести конкретный пример, но это должно привести вас на правильный путь. Я также не проверял это в Terraform.

Этот код описывает все классические ресурсы ELB и отправляет load-balancer-name каждого на describe-load-balancer-attributes, для которого требуется load-balancer-name

aws elb describe-load-balancers --query 'LoadBalancerDescriptions[*].[LoadBalancerName]' --output text | xargs -I {} aws elb describe-load-balancer-attributes --load-balancer-name {}

То, что я думаю, будет работать, но у меня нет возможности проверить это:

aws ram get-resource-share-associations --association-type <blah> --query 'resourceShareAssociations[*].[resourceShareArn]' --output text |xargs -I {} aws ram accept-resource-share-invitation --resource-share-invitation-arn {}
...