Aws-cli: ec2 describe-route-tables con filtro "Name = association.main, Values ​​= false" no funciona como se esperaba

Creado en 24 feb. 2016  ·  3Comentarios  ·  Fuente: aws/aws-cli

Esperaba usar este filtro en combinación con "Name = vpc-id, Values ​​= $ VPC_ID" para obtener toda la tabla de enrutamiento y descartar la tabla de enrutamiento principal de la VPC, pero esto también filtra las tablas de enrutamiento con "Asociaciones": [], donde no debería.

Aquí hay un ejemplo para ilustrar el 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 comentarios

Parece que estamos enviando la solicitud correctamente a EC2. Dado que se trata de un filtro del lado del servidor, este es un cambio que debería realizarse en el extremo de EC2.

La mejor solución que tiene ahora es usar el filtro del lado del servidor --filters junto con --query , un filtro del lado del cliente para lograr lo que desea:

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

Eso funciona para ti?

Gracias. No estaba buscando una solución alternativa, solo quería señalar que el comportamiento observado no es el esperado. Veré presentar un informe de error en el foro de AWS (PD: ¿tienen una herramienta mejor? O sigue siendo un foro)

Ah, está bien, gracias por los comentarios. Los foros de AWS son el mejor lugar para enviar comentarios a los equipos de servicio.

Parece que no hay nada procesable en este momento desde el lado de la CLI. Voy a seguir adelante y cerrar este problema. Avísame si me he perdido algo.

¿Fue útil esta página
0 / 5 - 0 calificaciones