Updated on 2023-11-23 GMT+08:00

Creating a Secret

Function

This API is used to create a secret.

URI

POST /v2/{project_id}/edgemgr/secrets

Parameter

Mandatory

Description

project_id

Yes

Project ID. For details about how to obtain a project ID, see Obtaining a Project ID.

Request

Request parameters

Table 1 Parameters in the request header

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Message body type (format).

The default value application/json is recommended.

X-Auth-Token

Yes

String

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

Table 2 Parameters in the request body

Parameter

Mandatory

Type

Description

secret

Yes

Table 3 object

Secret information.

Table 3 secret

Parameter

Mandatory

Type

Description

name

Yes

String

Secret name. The value must start with a lowercase letter but cannot end with a hyphen (-). The value contains 4 to 64 characters. Only lowercase letters, digits, and hyphens (-) are allowed.

type

No

String

Secret type. Currently, only opaque secrets are supported.

description

No

String

Secret description. The value contains a maximum of 255 characters. The following characters are not allowed: ^~#$%&* <>()[]{}'"\

secrets

Yes

Map<String, String>

secrets is a dictionary consisting of multiple key-value pairs. The maximum length of the dictionary is 1,048,576 characters after being converted into JSON strings. The keys and values are strings. The key in a key-value pair must contain 1 to 63 characters and start with a letter or hyphen. Only letters, digits, periods (.), hyphens (-), and underscores (_) are allowed. The value in the key-value pair must be a Base64-encoded string.

Note: The length of the secrets dictionary is the length after the dictionary is converted into a standard string. For example, after the dictionary {"a": "b"} is converted into a standard string '{"a": "b"}', the length is 10 characters.

Example request

{
    "secret": {
        "name": "test-secret",
        "description": "this is a test secret",
        "type": "Opaque",
        "secrets": {
            "key1": "val1",
            "key2": "val2 "
        }
    }
}

Response

Response parameters

Table 4 Parameters in the response body

Parameter

Type

Description

secret

Table 5 object

KeySecret information.

Table 5 secret

Parameter

Type

Description

id

String

Secret ID.

name

String

Secret name.

description

String

Secret description.

secrets

Object

Secret list.

project_id

String

Project ID.

created_at

String

Time when the secret is created.

updated_at

String

Time when the secret is updated.

type

String

Secret type.

Example response
{
    "secret": {
        "id": "12ns9eb6cc0d49a0941df2f31283mds8 ",
        "name": "test-secret",
        "description": "this is a test secret",
        "secrets": {
            "key1": "val-1",
            "key2": "val-2"
        },
        "project_id": "d16e6eb6cc0d49a0941df2f31285757a",
        "created_at": "2018-07-16T13:41:25.347335",
        "updated_at": "2018-07-18T13:41:25.347335",
        "type": "Opaque"
    }
}

Error Codes

For details, see Error Codes.