Updated on 2025-07-10 GMT+08:00

Creating an Environment

Function

This API is used to create an environment.

URI

POST /v3/{project_id}/cas/environments

Table 1 Path parameter

Parameter

Mandatory

Type

Description

project_id

Yes

String

Tenant's project ID. See Obtaining a Project ID.

Request

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Message body type (format). Default value: application/json;charset=utf8.

X-Auth-Token

Yes

String

API calling can be authenticated using a token or AK/SK. If you use a token, this parameter is mandatory and must be set to the token. For details about how to obtain a token, see Obtaining a User Token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

config_mode

No

String

Configuration mode.

  • ui

name

Yes

String

Environment name.

The value contains 2 to 64 characters consisting of letters, digits, hyphens (-), or underscores (_). It starts with a letter and ends with a letter or digit. Letters are case sensitive.

deploy_mode

No

String

Environment type.

  • virtualmachine
  • container: Kubernetes
  • mixed: VM and Kubernetes

To use a custom server in the created environment, select virtualmachine or mixed.

type

No

String

Whether the Kubernetes environment is of the HA type.

  • normal: non-HA environment.
  • high: HA environment.

resource_create_mode

No

String

Resource configuration mode.

  • none: resource management.
  • iac: resource creation.

To use a custom server in the created environment, select none.

resources

No

Array of objects

Resource list. See Table 4.

description

No

String

Environment description.

The value can contain up to 128 characters.

enterprise_project_id

No

String

Enterprise project ID.

If this parameter is not set, the default enterprise project is default and the ID is 0.

vpc_id

Yes

String

VPC ID.

labels

No

Array of objects

Label. You can use TMS to filter resources by labels. See Table 5.

Each environment can have a maximum of 20 labels.

environment_azs

No

Array of objects

List of AZs.

When type is set to high, you need to set two AZs.

Table 4 resources

Parameter

Mandatory

Type

Description

id

Yes

String

Resource ID. (To ensure that the API can be called properly, enter the correct resource ID.)

name

No

String

Resource name.

type

Yes

String

Resource type.

  • eip
  • elb
  • cce
  • ecs
  • dcs
  • rds
  • cse: ServiceComb engine
  • nacos: registry/configuration center
  • vpc
  • subnet
  • customServer
  • acl
  • gaussdb
  • dms_rocketmq
  • css_es: Elasticsearch
Table 5 labels

Parameter

Mandatory

Type

Description

key

Yes

String

Label name.

Labels are used to identify cloud resources. When you have multiple cloud resources of the same type, you can use labels to classify them based on usage, owner, or environment.

The value contains 1 to 36 characters, including digits, letters, underscores (_), or hyphens (-).

value

Yes

String

Label value.

The value contains 1 to 43 characters, including digits, letters, underscores (_), periods (.), or hyphens (-).

Response

Table 6 Response parameters

Parameter

Type

Description

id

String

Environment ID.

name

String

Environment name.

description

String

Environment description.

project_id

String

Project ID.

enterprise_project_id

String

Enterprise project ID.

deploy_mode

String

Environment type.

  • virtualmachine
  • container: Kubernetes
  • mixed: VM and Kubernetes.

vpc_id

String

VPC ID.

creator

String

Environment creator.

create_time

Integer

Environment creation time.

update_time

Integer

Environment update time.

labels

Array of objects

Label. You can use TMS to query resources by labels. See Table 7.

type

String

Whether the Kubernetes environment is of the HA type.

  • normal: non-HA environment.
  • high: HA environment.

resource_create_mode

String

Resource configuration mode.

  • none: resource management.

config_mode

String

Configuration mode.

  • ui

env_status

String

Non-real-time environment resource status.

  • REFRESHING
  • UNKNOWN
  • NORMAL
  • PARTIALLY_NORMAL
Table 7 labels

Parameter

Type

Description

key

String

Label name.

value

String

Label value.

Example Request

Create a VM environment env-test. The ID of the VPC where the environment is located is 0c72428b-cd6c-4283-a560-210d3edb49f7.

{
    "name": "env-test",
    "description": "",
    "enterprise_project_id": "0",
    "vpc_id": "0c72428b-cd6c-4283-a560-210d3edb49f7",
    "labels": [
        {
            "key": "aaaaa",
            "value": "a5"
        }
    ],
    "deploy_mode": "virtualmachine"
}

Example Response

{
    "id": "c93a5313-d141-4b9f-97ce-b4ce2b3988bd",
    "name": "test",
    "description": "",
    "project_id": "13ae26238d724e54947af3e0fcbef9c3",
    "enterprise_project_id": "0",
    "vpc_id": "0c72428b-cd6c-4283-a560-210d3edb49f7",
    "creator": "ss-test",
    "create_time": 1681384236023,
    "update_time": 1681384236023,
    "deploy_mode": "virtualmachine",
    "labels": []
}

Status Code

Status Code

Description

200

OK

400

Bad Request

404

Not Found

500

Internal Server Error

Error Code

See ServiceStage Error Codes.