Querying Resources by Tag¶
Function¶
Query DNS resources by tag.
Resources are sorted by creation time in descending order.
URI¶
POST /v2/{project_id}/{resource_type}/resource_instances/action
For details, see Table 1.
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. You can obtain it in Obtaining a Project ID. |
resource_type | Yes | String | Resource type.
|
Request¶
Parameter description
¶ Parameter
Mandatory
Type
Description
tags
No
Array of tags objects
Includes specified tags. For details, see Table 3.
The structure body is mandatory. A maximum of 20 tag keys are allowed in each query operation. The tag key cannot be left blank or set to the empty string. One tag key can have up to 20 tag values. Each tag key must be unique, and the tag values of one key must also be unique.
tags_any
No
Array of tags objects
Includes any of the specified tags. For details, see Table 3.
The structure body is mandatory. A maximum of 20 tag keys are allowed in each query operation. The tag key cannot be left blank or set to the empty string. One tag key can have up to 20 tag values. Each tag key must be unique, and the tag values of one key must also be unique.
not_tags
No
Array of tags objects
Excludes specified tags. For details, see Table 3.
The structure body is mandatory. A maximum of 20 tag keys are allowed in each query operation. The tag key cannot be left blank or set to the empty string. One tag key can have up to 20 tag values. Each tag key must be unique, and the tag values of one key must also be unique.
not_tags_any
No
Array of tags objects
Excludes any of the specified tags. For details, see Table 3.
The structure body is mandatory. A maximum of 20 tag keys are allowed in each query operation. The tag key cannot be left blank or set to the empty string. One tag key can have up to 20 tag values. Each tag key must be unique, and the tag values of one key must also be unique.
limit
No
Integer
Number of resources on each page
The value range is 1-1000.
If action is set to filter, the default value is 1000.
If action is set to count, this parameter does not take effect.
offset
No
Integer
Start offset of pagination query. The query will start from the next resource of the offset value.
The value ranges from 0 to 2147483647.
The default value is 0.
You do not need to specify this parameter when querying resources on the first page.
When you query resources on subsequent pages, set the value of offset to the location returned in the response body for the previous query.
If action is set to filter, this parameter takes effect. Its value can be 0 (default) or a positive integer.
If action is set to count, this parameter does not take effect.
action
Yes
String
Operation to be performed
The value can be:
filter: queries resources in pages by filter condition.
count: queries the total number of resources.
matches
No
Array of matches objects
Field to be matched. For details, see Table 4.
This parameter specifies the key-value pair to be matched in the query.
If value is left blank, exact matching will work. Otherwise, fuzzy matching will work.
¶ Parameter
Mandatory
Type
Description
key
Yes
String
Tag key
A key can contain up to 36 Unicode characters. The key cannot be empty.
values
Yes
Array of strings
Tag value
Each value can contain up to 43 Unicode characters and can be an empty string.
¶ Parameter
Mandatory
Type
Description
key
Yes
String
Key to be matched. It can only be resource_name.
value
Yes
String
Value to be matched. It contains a maximum of 255 Unicode characters and cannot contain underscores (_) and percent sign (%).
Example request
Query DNS resources by tag.
POST https://{DNS_Endpoint}/v2/{project_id}/DNS-private_zone/resource_instances/action
The following is a request example when action is set to filter:
{ "offset": "100", "limit": "100", "action": "filter", "matches": [ { "key": "resource_name", "value": "resource1" } ], "not_tags": [ { "key": "key1", "values": [ "*value1", "value2" ] } ], "tags": [ { "key": "key1", "values": [ "*value1", "value2" ] } ], "tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "not_tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ] }
The following is a request example when action is set to count:
{ "action": "count", "not_tags": [ { "key": "key1", "values": [ "value1", "*value2" ] } ], "tags": [ { "key": "key1", "values": [ "value1", "value2" ] }, { "key": "key2", "values": [ "value1", "value2" ] } ], "tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "not_tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "matches": [ { "key": "resource_name", "value": "resource1" } ] }
Response¶
Parameter description
¶ Parameter
Type
Description
resources
Array of resource objects
Resource list For details, see Table 6.
total_count
Integer
Number of resources that meet the filter criteria. The number is irrelevant to limit or offset.
¶ Parameter
Type
Description
resource_id
String
Resource ID
resource_detail
Object
Resource details. This field is reserved for subsequent extension, and its value defaults to an empty string.
tags
Array of tag objects
List of queried tags. If no tag is matched, an empty array is returned. For details, see Table 7.
resource_name
String
Resource name. If no resource name is matched, the value is left blank.
¶ Parameter
Type
Description
key
String
Tag key
A key can contain up to 36 Unicode characters. The key cannot be empty.
value
String
Tag value
Each value can contain up to 43 Unicode characters and can be an empty string.
Example response
The following is a request example when action is set to filter:
{ "resources": [ { "resource_detail": null, "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resouece1", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value1" } ] } ], "total_count": 1000 }
The following is a request example when action is set to count:
{ "total_count": 1000 }
Returned Value¶
If a 2xx status code is returned, for example, 200, 202, or 204, the request is successful.
For details, see Status Code.