Aws-cli: ec2 describe-route-tables avec le filtre "Name=association.main,Values=false" ne fonctionne pas comme prévu

Créé le 24 févr. 2016  ·  3Commentaires  ·  Source: aws/aws-cli

J'espérais utiliser ce filtre en combinaison avec "Name=vpc-id,Values=$VPC_ID" pour obtenir toutes les tables de routage tout en supprimant la table de routage principale du VPC, mais cela filtre également les tables de routage avec "Associations": [], où il ne devrait pas.

Voici un exemple pour illustrer le problème

$ 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

Tous les 3 commentaires

On dirait que nous envoyons correctement la demande à EC2. Étant donné qu'il s'agit d'un filtre côté serveur, il s'agit d'un changement qui devrait être effectué du côté d'EC2.

La meilleure solution que vous avez maintenant est d'utiliser le filtre côté serveur --filters avec --query , un filtre côté client pour accomplir ce que vous voulez :

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

Est-ce que ça marche pour toi?

Merci, je ne cherchais pas de solution de contournement, je voulais juste signaler que le comportement observé n'est pas ce à quoi on pouvait s'attendre. Je vais voir pour déposer un rapport de bogue dans le forum AWS (PS : ont-ils un meilleur outil ? ou est-ce toujours le forum)

Ah d'accord, merci pour le retour. Les forums AWS sont le meilleur endroit pour donner votre avis aux équipes de service.

On dirait qu'il n'y a rien d'actionnable pour le moment du côté de la CLI. Je vais aller de l'avant et clore ce problème. Faites-moi savoir si j'ai raté quelque chose.

Cette page vous a été utile?
0 / 5 - 0 notes