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

Creating an Environment

Function

In actual production, an API provider may have multiple environments, such as the development, test, and production environments. Users can publish APIs to an environment for callers to invoke.

The API version, request address, and even request message may vary depending on the environment. For example, the v1.0 version of an API is a stable version and is published to the production environment. At the same time, the API is in iteration. The v1.1 version is the version delivered to the test personnel for testing and is published to the test environment. Concurrently, the development team is developing the v1.2 version, which can be published to the development environment for self-test.

To address such needs, APIC provides the multi-environment management function to allow tenants to maximize the simulation of actual scenarios and access APIC with low costs.

URI

POST /v2/{project_id}/apic/instances/{instance_id}/envs

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

name

Yes

String

Environment name, which can contain only letters, digits, and underscores (_), and must start with a letter.

Minimum: 3

Maximum: 64

remark

No

String

Description.

Maximum: 255

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

create_time

String

Creation time.

name

String

Environment name.

remark

String

Description.

id

String

Environment 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

{
  "name" : "DEV",
  "remark" : "Development environment"
}

Example Responses

Status code: 201

Created

{
  "create_time" : "2020-07-31T06:41:43.511347628Z",
  "name" : "DEV",
  "remark" : "Development environment",
  "id" : "7a1ad0c350844ee69479b47df9a881cb"
}

Status code: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

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.3030",
  "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"
}

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.