首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jq根据标签过滤AWS资源

使用jq根据标签过滤AWS资源
EN

Stack Overflow用户
提问于 2019-11-18 01:26:08
回答 2查看 874关注 0票数 1

使用命令aws resourcegroupstaggingapi get-resources --profile (profile_name)返回一个JSON对象数组,其中包含资源ARNS值及其标记(另一个JSON对象数组,其中包含标记的键和值。

下面是一个匿名的例子:

代码语言:javascript
复制
{
  "ResourceTagMappingList": [
    {
      "ResourceARN": "arn:aws:acm:eu-west-1:123456789000:certificate/XXXXX-YYYY-8888-9999-CCCCCCCCCCCCC",
      "Tags": [
        {
          "Key": "Environment",
          "Value": "BAR"
        }
      ]
    },
    {
      "ResourceARN": "arn:aws:acm:eu-west-1:123456789000:certificate/XXXXX-YYYY-8888-9999-CCCCCCCCCCCCC",
      "Tags": [
        {
          "Key": "Environment",
          "Value": "FOO"
        }
      ]
    },
    {
      "ResourceARN": "arn:aws:ec2:eu-west-1:123456789000:elastic-ip/eipalloc-112345440809463",
      "Tags": [
        {
          "Key": "Component",
          "Value": "somethingCool"
        },
        {
          "Key": "DeployID",
          "Value": "di-01"
        },
        {
          "Key": "Name",
          "Value": "eip-nat-somethingCool-di-01"
        }
      ]
    },
    {
      "ResourceARN": "arn:aws:ec2:eu-west-1:123456789000:elastic-ip/eipalloc-19853410278439394i3",
      "Tags": [
        {
          "Key": "Component",
          "Value": "somethingCool"
        },
        {
          "Key": "DeployID",
          "Value": "bla-internal-goku"
        },
        {
          "Key": "Name",
          "Value": "eip-nat-somethingCool-bla-internal-goku"
        }
      ]
    },
    {
      "ResourceARN": "arn:aws:elasticloadbalancing:eu-west-1:123456789000:targetgroup/tf-20190624192221842800000004/oisajhiuweniçqej82u23948u3",
      "Tags": [
        {
          "Key": "Component",
          "Value": "somethingCool"
        },
        {
          "Key": "DeployID",
          "Value": "env01-bla00"
        },
        {
          "Key": "Environment",
          "Value": "env01"
        },
        {
          "Key": "Estate",
          "Value": "something"
        },
        {
          "Key": "Name",
          "Value": "target-group-lala-somethingCool-env01-bla00-vsquad"
        }
      ]
    }
  ]
}

所以我想知道我是否可以使用cli tool jq根据特定的标记值来过滤对象?是否可以列出特定标记键的所有值?

EN

回答 2

Stack Overflow用户

发布于 2019-11-18 02:49:43

根据特定的标签值过滤对象:

代码语言:javascript
复制
aws resourcegroupstaggingapi get-resources --region REGIONCODE | jq '.ResourceTagMappingList[] | select(.Tags[0].Value == "VALUETYPE")'

列出特定标签键的所有值:

代码语言:javascript
复制
aws resourcegroupstaggingapi get-tag-values --key KEYNAME
票数 2
EN

Stack Overflow用户

发布于 2019-11-19 12:18:24

您可以通过调用同一个接口查询AWS账户指定地域下指定密钥的所有标签值,但调用get- tag -values。

https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagValues.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58903160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档