Updated on 2023-06-29 GMT+08:00

Creating an Environment Variable

Function

After an API is published in different environments, the environment variables, such as the API service deployment address and request version number, may vary depending on the environment.

Users can define different environment variables when defining APIs. When an API is called, APIC replaces the variables with actual values to distinguish different environments.

Environment variables are defined in an API group and can be used by all APIs in the group.

  1. The name of an environment variable must be unique. That is, an API group cannot have two variables with the same name in the same environment.

  1. Environment variables are case sensitive. That is, variables ABC and abc are different.

  2. After an environment variable is set, the debugging function of the API that uses the variable cannot be used.

  3. After the environment variables are defined, the places where the environment variables are used must be symmetric.

URI

POST /v2/{project_id}/apic/instances/{instance_id}/env-variables

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference.

instance_id

Yes

String

Instance ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

variable_value

Yes

String

The variable value can contain 1 to 255 characters, including letters, digits, underscores (_), hyphens (-), slashes (/), periods (.), and colons (:).

env_id

Yes

String

Environment ID.

Minimum: 1

Maximum: 65

group_id

Yes

String

API group ID.

Minimum: 1

Maximum: 65

variable_name

Yes

String

Variable name, which can contain 3 to 32 characters, starting with a letter. Only letters, digits, hyphens (-), and underscores (_) are allowed. The variable name is equivalent to "#Name#" in API definitions. Characters between the number signs are case-sensitive. The variable name will be replaced with the variable value after API publication.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

variable_value

String

The variable value can contain 1 to 255 characters, including letters, digits, underscores (_), hyphens (-), slashes (/), periods (.), and colons (:).

env_id

String

Environment ID.

Minimum: 1

Maximum: 65

group_id

String

API group ID.

Minimum: 1

Maximum: 65

variable_name

String

Variable name, which can contain 3 to 32 characters, starting with a letter. Only letters, digits, hyphens (-), and underscores (_) are allowed. The variable name is equivalent to "#Name#" in API definitions. Characters between the number signs are case-sensitive. The variable name will be replaced with the variable value after API publication.

id

String

Environment variable ID.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

{
  "variable_name" : "address",
  "variable_value" : "192.168.1.5",
  "env_id" : "7a1ad0c350844ee69479b47df9a881cb",
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600"
}

Example Responses

Status code: 201

Created

{
  "variable_value" : "192.168.1.5",
  "env_id" : "7a1ad0c350844ee69479b47df9a881cb",
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
  "id" : "25054838a624400bbf2267cf5b3a3f70",
  "variable_name" : "address"
}

Status code: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:variable_name"
}

Status code: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Status code: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Status code: 404

Not Found

{
  "error_code" : "APIG.3003",
  "error_msg" : "Environment 7a1ad0c350844ee69479b47df9a881cb does not exist"
}

Status code: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Status Codes

Status Code

Description

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.