Updated on 2023-05-09 GMT+08:00

Querying Key Instances

Function

  • Description: This API is used to query a key instance. You can use tags to filter and check CMK details.

URI

POST /v1.0/{project_id}/kms/{resource_instances}/action

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

resource_instances

Yes

String

Resource instance. Its value is resource_instances.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. It can be obtained by calling the IAM API that is used for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

limit

No

String

Number of records to be queried. This parameter does not need to be specified if action is set to count. If action is set to filter, the parameter defaults to 10. The value of limit is in the range 1 to 1,000.

offset

No

String

Index location. The query starts from the next piece of data indexed by this parameter. When data on a page is queried, the value in the response body of the previous page is transferred to this parameter. (If action is set to count, you do not need to set this parameter.) If the action is set to filter, offset defaults to 0. The value of offset must be a number and cannot be negative.

action

No

String

Operation type. It can be:

  • filter: Filter record.

  • count: Count the total number of records.

tags

No

Array of Tag objects

Tag list, which is a collection of key-value pairs.

  • key: Tag key. A CMK can have a maximum of 10 keys, and each of them is unique and cannot be empty. A key cannot have duplicate values. It can contain up to 36 characters.

  • value: Tag value. Each tag value can contain a maximum of 43 characters. The values are in the AND relationship.

matches

No

Array of TagItem objects

Search field.

  • key: The field to be matched, for example, resource_name.

  • value: The value to be matched. It contains a maximum of 255 characters and cannot be empty.

sequence

No

String

36-byte sequence number of a request message. Example: 919c82d4-8046-4722-9094-35c3c6524cff

Table 4 Tag

Parameter

Mandatory

Type

Description

key

No

String

Key. A tag key can contain a maximum of 36 Unicode characters. This parameter cannot be left blank. It cannot contain ASCII characters (0–31), asterisks (*), angle brackets (< and >), backslashes (), and equal signs (=).

values

No

Array of strings

Tag value set.

Table 5 TagItem

Parameter

Mandatory

Type

Description

key

No

String

Key. A tag key can contain a maximum of 36 Unicode characters. This parameter cannot be left blank. It cannot contain ASCII characters (0–31), asterisks (*), angle brackets (< and >), backslashes (), and equal signs (=).

value

No

String

Value A tag value contains a maximum of 43 Unicode characters and can be left blank. It cannot contain ASCII characters (0–31), asterisks (*), angle brackets (< and >), backslashes (), and equal signs (=).

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

resources

Array of ActionResources objects

Resource instance list. For details, see the data structure of the resource field.

total_count

Integer

Total number of records.

Table 7 ActionResources

Parameter

Type

Description

resource_id

String

Resource ID.

resource_detail

KeyDetails object

Key details.

resource_name

String

Resource name. This parameter is an empty string by default.

tags

Array of TagItem objects

Tag list. If there is no tag in the list, an empty array is returned.

Table 8 KeyDetails

Parameter

Type

Description

key_id

String

Key ID.

domain_id

String

User domain ID.

key_alias

String

Key alias.

realm

String

Key realm.

key_spec

String

Key generation algorithm. Its value can be:

  • AES_256

  • RSA_2048

  • RSA_3072

  • RSA_4096

  • EC_P256

  • EC_P384

key_usage

String

Key usage.

  • ENCRYPT_DECRYPT

  • SIGN_VERIFY

key_description

String

Key description.

creation_date

String

Time when the key was created. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

scheduled_deletion_date

String

Time when the key was scheduled to be deleted. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

key_state

String

Key status, which matches the regular expression ^[1-5]{1}$. It can be:

  • 1: to be activated

  • 2: enabled

  • 3: disabled

  • 4: pending deletion

  • 5: pending import

default_key_flag

String

Master key identifier. The value is 1 for default master keys and 0 for non-default master keys.

key_type

String

Key type.

expiration_time

String

Time when the key material expires. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

origin

String

Key source. It can be:

  • kms: The key material was generated by KMS.

  • external: The key material was imported.

key_rotation_enabled

String

Key rotation status. The default value is false, indicating that key rotation is disabled.

sys_enterprise_project_id

String

Enterprise project ID. Its default value is 0.

  • For users who have enabled the enterprise project function, this value indicates that resources are in the default enterprise project.

  • For users who have not enabled the enterprise project function, this value indicates that resources are not in the default enterprise project.

keystore_id

String

keystore id

key_label

String

Label of key in encryptor

partition_type

String

Partition type. It can be:

  • 1: professional edition.

Table 9 TagItem

Parameter

Type

Description

key

String

Key. A tag key can contain a maximum of 36 Unicode characters. This parameter cannot be left blank. It cannot contain ASCII characters (0–31), asterisks (*), angle brackets (< and >), backslashes (), and equal signs (=).

value

String

Value A tag value contains a maximum of 43 Unicode characters and can be left blank. It cannot contain ASCII characters (0–31), asterisks (*), angle brackets (< and >), backslashes (), and equal signs (=).

Status code: 400

Table 10 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 11 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 401

Table 12 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 13 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 403

Table 14 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 15 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 404

Table 16 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 17 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 500

Table 18 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 19 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 502

Table 20 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 21 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Status code: 504

Table 22 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 23 ErrorDetail

Parameter

Type

Description

error_code

String

Error code returned for an error request.

error_msg

String

Error information returned for an error request.

Example Requests

{
  "offset" : "100",
  "limit" : "100",
  "action" : "filter",
  "matches" : [ {
    "key" : "resource_name",
    "value" : "resource1"
  } ],
  "tags" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ]
}

Example Responses

Status code: 200

Request processing succeeded.

{
  "resources" : [ {
    "resource_id" : "90c03e67-5534-4ed0-acfa-89780e47a535",
    "resource_detail" : [ {
      "key_id" : "90c03e67-5534-4ed0-acfa-89780e47a535",
      "domain_id" : "4B688Fb77412Aee5570E7ecdbeB5afdc",
      "key_alias" : "tagTest_xmdmi",
      "key_description" : "123",
      "creation_date" : 1521449277000,
      "scheduled_deletion_date" : "",
      "key_state" : 2,
      "default_key_flag" : 0,
      "key_type" : 1,
      "key_rotation_enabled" : false,
      "expiration_time" : "",
      "origin" : "kms",
      "sys_enterprise_project_id" : "0",
      "realm" : "test"
    } ],
    "resource_name" : "tagTest_xmdmi",
    "tags" : [ {
      "key" : "key",
      "value" : "testValue!"
    }, {
      "key" : "haha",
      "value" : "testValue"
    } ]
  } ],
  "total_count" : 1
}

Status Codes

Status Code

Description

200

Request processing succeeded.

400

Invalid request parameters.

401

You must enter a username and password to access the requested page.

403

Authentication failed.

404

The requested resource does not exist or is not found.

500

Internal service error.

502

Failed to complete the request. The server received an invalid response.

504

Gateway timed out.

Error Codes

See Error Codes.