到目前为止,我已经尝试并未能实现以下目标,
标签= 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,该名称将被馈送到另一个步骤。
在一些帮助和不愉快的情况下,我最终得到了工作结果。
aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?contains([`Value1`, `Value2`, `Value3`], Tags[?Key==`Keyname`].Value[] | [0])].[AutoScalingGroupName]'