AWS CLI, passa a saída do comando anterior como entrada para outro?

1

Eu gostaria de criar um script Bash que inicie e pare recursos específicos na AWS. O problema que tenho é que gostaria de criar um recurso que requer o ID de um recurso específico que foi criado pelo comando anterior. O objetivo é conseguir executar um único script para iniciar os recursos, em vez de editá-los.

Por exemplo, criando um gateway NAT e, em seguida, anexando o ID do gateway NAT criado a um comando da tabela de rotas:

$ aws ec2 create-nat-gateway

Exemplo de saída:

"NatGatewayId": "nat-1111111"

$ aws ec2 replace-route --route-table-id rtb-000000000 \
  --destination-cidr-block 0.0.0.0/0 --nat-gateway-id "***nat-id-output***"
    
por Matt 06.09.2018 / 02:43

1 resposta

1

O=$(aws ec2 create-nat-gateway | perl -pe 's/.*: //g');
while true ; do
    C=$(aws ect describe-nat-gateways --nat-gateway-ids "$O" | grep -c available || true);
    if [ $C -gt 0 ] ; then
        break;
    fi
    sleep 3;
done
aws ec2 replace-route --route-table-id rtb-000000000 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id "$O";
    
por 06.09.2018 / 03:02

Tags