awscli过滤器aws通过多个标签值描述自动缩放组

问题描述 投票:0回答:1

到目前为止,我已经尝试并未能实现以下目标,

标签= 1值=多个(最小值3),否则我可以按照以下示例使用OR,

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?contains(Tags[?Key==`marco`].Value,`polo`) || contains(Tags[?Key==`marco`].Value,`bolo`)].[AutoScalingGroupName]'

我尝试使用https://jmespath.org/proposals/functions.html#contains

要么我的语法不正确,要么匹配条件不正确,即无法匹配部分值或大小写问题。

以下内容不会出错,但不会返回任何匹配项。

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?contains(Tags[?Key==`Marco`].Value, [`polo`, `bolo`, `rolo`])].[AutoScalingGroupName]'

参考

        "Tags": [
            {
                "ResourceId": "MyASG",
                "ResourceType": "auto-scaling-group",
                "Key": "marco",
                "Value": "polo",
                "PropagateAtLaunch": true
            }

目标:有大量的ASG,我希望返回AutoScalingGroupName,该名称将被馈送到另一个步骤。

tags aws-cli jmespath
1个回答
0
投票

在一些帮助和不愉快的情况下,我最终得到了工作结果。

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?contains([`Value1`, `Value2`, `Value3`], Tags[?Key==`Keyname`].Value[] | [0])].[AutoScalingGroupName]'
© www.soinside.com 2019 - 2024. All rights reserved.