Aws-cli: ec2 describe-route-tables com o filtro "Name = association.main, Values ​​= false" não funcionando como esperado

Criado em 24 fev. 2016  ·  3Comentários  ·  Fonte: aws/aws-cli

Eu esperava usar este filtro em combinação com "Name = vpc-id, Values ​​= $ VPC_ID" para obter todas as tabelas de rota ao descartar a tabela de rota principal do VPC, mas isso também filtra as tabelas de rota com "Associações": [], onde não deveria.

Aqui está um exemplo para ilustrar o problema

$ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=$VPC_ID" 
{
    "RouteTables": [
        {
            "RouteTableId": "rtb-186a857c",
            "PropagatingVgws": [],
            "Tags": [
                {
                    "Value": "dev-vpc-default-gw-routing-table",
                    "Key": "Name"
                }
            ],
            "Associations": [],
            "Routes": [
                {
                    "State": "active",
                    "DestinationCidrBlock": "10.0.0.0/16",
                    "GatewayId": "local",
                    "Origin": "CreateRouteTable"
                },
                {
                    "State": "blackhole",
                    "DestinationCidrBlock": "0.0.0.0/0",
                    "GatewayId": "igw-35fa8b50",
                    "Origin": "CreateRoute"
                }
            ],
            "VpcId": "vpc-09be846c"
        },
        {
            "RouteTableId": "rtb-096a856d",
            "PropagatingVgws": [],
            "Tags": [],
            "Associations": [
                {
                    "RouteTableId": "rtb-096a856d",
                    "RouteTableAssociationId": "rtbassoc-6469c600",
                    "Main": true
                }
            ],
            "Routes": [
                {
                    "State": "active",
                    "DestinationCidrBlock": "10.0.0.0/16",
                    "GatewayId": "local",
                    "Origin": "CreateRouteTable"
                }
            ],
            "VpcId": "vpc-09be846c"
        }
    ]
}

$ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=$VPC_ID" "Name=association.main,Values=false"  
{
    "RouteTables": []
}
closing-soon

Todos 3 comentários

Parece que estamos enviando a solicitação corretamente ao EC2. Como se trata de um filtro do lado do servidor, essa é uma alteração que precisaria ser feita no lado do EC2.

A melhor solução que você tem agora é usar o filtro do lado do servidor --filters junto com --query , um filtro do lado do cliente para realizar o que você deseja:

aws ec2 describe-route-tables --filters "Name=vpc-id,Values=$VPC_ID" --query 'RouteTables[?Associations[0].Main != `true`]'

Isso funciona para você?

Obrigado, eu não estava procurando uma solução alternativa, só queria sinalizar que o comportamento observado não é o esperado. Vou enviar um relatório de bug no fórum da AWS (PS: eles têm uma ferramenta melhor? Ou ainda é um fórum)

Ah ok, obrigado pelo feedback. Os fóruns da AWS são o melhor lugar para dar feedback às equipes de serviço.

Parece que não há nada acionável agora do lado da CLI. Vou prosseguir e encerrar esse problema. Avise-me se perdi algo.

Esta página foi útil?
0 / 5 - 0 avaliações