Aws-cli: وصف ec2-route-table مع عامل التصفية "Name = Association.main، Values ​​= false" لا يعمل كما هو متوقع

تم إنشاؤها على ٢٤ فبراير ٢٠١٦  ·  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 (ملاحظة: هل لديهم أداة أفضل؟ أم أنه لا يزال منتدى)

آه حسنًا ، شكرًا على التعليقات. تعد منتديات AWS هي أفضل مكان لتقديم الملاحظات لفرق الخدمة.

يبدو أنه لا يوجد شيء عملي الآن من جانب CLI. سأقوم بإغلاق هذه القضية. اسمحوا لي أن أعرف إذا فاتني شيء.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات