Aws-cli: フィルタ「Name = association.main、Values = false」が期待どおりに機能しないec2describe-route-tables

作成日 2016年02月24日  ·  3コメント  ·  ソース: aws/aws-cli

このフィルターを「Name = vpc-id、Values = $ VPC_ID」と組み合わせて使用​​して、VPCのメインルートテーブルを破棄しながらすべてのルートテーブルを取得したいと思っていましたが、これにより「関連付け」のあるルートテーブルも除外されます:[]、すべきではないところ。

これは問題を説明するための例です

$ 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

全てのコメント3件

EC2にリクエストを適切に送信しているようです。 これがサーバー側のフィルターであるとすると、これはEC2側で行う必要のある変更です。

現在の最善の解決策は、 --filtersサーバー側フィルターを--queryと一緒に使用することです。これは、クライアント側フィルターを使用して、目的を達成するためのものです。

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

それはあなたのために働きますか?

回避策を探していなかったおかげで、観察された動作が期待できるものではないことを通知するつもりでした。 AWSフォーラムにバグレポートを提出する予定です(PS:彼らはより良いツールを持っていますか?それともまだフォーラムですか?)

ああ、フィードバックをありがとう。 AWSフォーラムは、サービスチームにフィードバックを提供するのに最適な場所です。

現在、CLI側から実行可能なものは何もないようです。 先に進んで、この問題を解決します。 私が何かを逃したかどうか私に知らせてください。

このページは役に立ちましたか?
0 / 5 - 0 評価