文档首页/ 虚拟私有云 VPC/ API参考/ 应用示例/ 示例六:配置VPC资源标签
更新时间:2024-03-28 GMT+08:00
分享

示例六:配置VPC资源标签

操作场景

本章节指导用户通过调用API来配置和管理VPC的资源标签,包含标签的创建、查询和删除。

前提条件

已创建VPC,并获取VPC的ID,具体请参见创建VPC和子网

当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权

通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。

操作步骤

  1. 创建某个VPC的单个标签。
    1. 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。

      此接口可以在vpc_id所指的VPC中创建单个标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 在Request Body中传入参数如下。
      {
          "tag": {
              "key": "key-test",
              "value": "value-test"
          }
      }
    4. 查看请求响应结果。
      • 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。
      • 请求异常时,错误码请参见错误码
  1. 查询某个VPC的所有标签。
    1. 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。

      此接口可以查询vpc_id所指的VPC的所有标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 查看请求响应结果。
      • 请求成功时,响应消息如下,可以看到第1步创建的tag,同时响应消息中的tags是列表类型,可能包含多个tag。
        {
            "tags": [
                {
                    "key": "key-test",
                    "value": "value-test"
                }
            ]
        }
      • 请求异常时,错误码请参见错误码
  2. 删除某个VPC的单个标签。
    1. 发送“DELETE https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/{key}”,project_id为项目ID,vpc_id为VPC ID,key为待删除标签的键值。

      此接口可以在vpc_id所指的VPC中指定删除某个标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 查看请求响应结果。
      • 请求成功时,无响应消息,可以通过查询VPC资源标签查看标签是否被删除,详见第2步。
      • 请求异常时,错误码请参见错误码
  3. 批量创建某个VPC的多个标签。
    1. 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。

      此接口可以在vpc_id所指的VPC中创建多个标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 在Request Body中传入参数如下,创建标签时指定action为create。
      {
          "action": "create",
          "tags": [
              {
                  "key": "key-1",
                  "value": "value-1"
              },
              {
                  "key": "key-2",
                  "value": "value-2"
              }
          ]
      }
    4. 查看请求响应结果。
      • 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。
      • 请求异常时,错误码请参见错误码
  4. 批量删除某个VPC的多个标签。
    1. 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。

      此接口可以在vpc_id所指的VPC中删除多个标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 在Request Body中传入参数如下,删除标签时指定action为delete。
      {
          "action": "delete",
          "tags": [
              {
                  "key": "key-1",
                  "value": "value-1"
              },
              {
                  "key": "key-2",
                  "value": "value-2"
              }
          ]
      }
    4. 查看请求响应结果。
      • 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。
      • 请求异常时,错误码请参见错误码
  5. 用标签过滤查询VPC资源实例详情。
    1. 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。

      此接口可以指定标签作为过滤条件过滤查询VPC实例详情。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 在Request Body中传入参数如下,过滤查询标签详情时指定action为filter。
      {
          "action": "filter",
          "limit": 100,
          "offset": 0,
          "matches": [
              {
                  "key": "resource_name",
                  "value": "vpc"
              }
          ],
          "tags": [
              {
                  "key": "key-1",
                  "values": [
                      "value-1"
                  ]
              }
          ]
      }
    4. 查看请求响应结果。
      • 请求成功时,响应消息如下。
        {
            "resources": [
                {
                    "resource_name": "vpc-jhc-test",
                    "resource_id": "992ad4b2-35c1-4f8a-8dd0-caf8a7a7ec03",
                    "resource_detail": "",
                    "tags": [
                        {
                            "key": "key-1",
                            "value": "value-1"
                        },
                        {
                            "key": "key-2",
                            "value": "value-2"
                        },
                        {
                            "key": "key-test",
                            "value": "value-test"
                        }
                    ]
                }
            ],
            "total_count": 1
        }
      • 请求异常时,错误码请参见错误码
  6. 用标签过滤查询VPC资源实例数量。
    1. 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。

      此接口可以指定标签作为过滤条件过滤查询VPC实例数量。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 在Request Body中传入参数如下,过滤查询标签详情时指定action为count。
      {
          "action": "count",
          "matches": [
              {
                  "key": "resource_name",
                  "value": "vpc"
              }
          ],
          "tags": [
              {
                  "key": "key-1",
                  "values": [
                      "value-1"
                  ]
              }
          ]
      }
    4. 查看请求响应结果。
      • 请求成功时,响应消息如下。
        {
            "total_count": 1
        }
      • 请求异常时,错误码请参见错误码
  7. 查询租户在指定区域的所有VPC标签。
    1. 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/tags”,project_id为项目ID。

      此接口可以查询租户在指定区域的所有VPC标签。

    2. 在Request Header中增加“X-Auth-Token”。
    3. 查看请求响应结果。
      • 请求成功时,响应消息如下。
        {
            "tags": [
                {
                    "key": "key-1",
                    "values": [
                        "value-1"
                    ]
                },
                {
                    "key": "key-2",
                    "values": [
                        "value-2"
                    ]
                },
                {
                    "key": "key-test",
                    "values": [
                        "value-test"
                    ]
                }
            ]
        }
      • 请求异常时,错误码请参见错误码

相关文档