Updated on 2024-06-14 GMT+08:00

Creating an Environment

Function

An environment is a collection of compute, storage, and network resources used for deploying and running an application. ServiceStage combines the compute resources (such as CCE clusters and ECSs), network resources (such as ELB instances and EIPs), and middleware (such as DCS instances, RDS instances, and CSE engines) in the same VPC into an environment, such as a development environment, testing environment, pre-production environment, or production environment. The resources within an environment can be networked together. Managing resources and deploying services by environment simplifies O&M.

This API is used to create an environment.

URI

POST /v2/{project_id}/cas/environments

Table 1 Path parameters

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 or format.

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

name

Yes

String

Environment name.

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

alias

No

String

Environment alias.

The value can contain up to 64 characters.

deploy_mode

Yes

String

Environment type.

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

description

No

String

Environment description.

The value can contain up to 128 characters.

enterprise_project_id

No

String

Enterprise project ID.

charge_mode

No

String

Billing mode. Value: provided, on_demanded, and monthly. provided (default) indicates that provided resources are used and no fees are charged, on_demanded indicates the pay-per-use billing mode, and monthly indicates the monthly billing mode.

vpc_id

Yes

String

VPC ID.

base_resources

Yes

Array of objects

Basic resources. See Table 4.

optional_resources

No

Array of objects

Optional resources. See Table 4.

Table 4 resources parameters

Parameter

Mandatory

Type

Description

id

Yes

String

Resource ID.

type

Yes

String

Basic resources: cce, as, and ecs.

Optional resources: rds, dcs, elb, cse, and other services.

name

No

String

Resource name.

Response

Table 5 Response parameters

Parameter

Type

Description

id

String

Environment ID.

name

String

Environment name.

alias

String

Environment alias.

description

String

Environment description.

project_id

String

Project ID.

enterprise_project_id

String

Enterprise project ID.

charge_mode

String

Billing mode.

deploy_mode

String

Environment type.

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

vpc_id

String

VPC ID.

base_resources

Array of objects

Basic resources. See Table 6. The returned value is empty.

optional_resources

Array of objects

Optional resources. See Table 6. The returned value is empty.

creator

String

Creator.

create_time

Integer

Creation time.

update_time

Integer

Update time.

Table 6 resources parameters

Parameter

Type

Description

id

String

Resource ID.

name

String

Resource name.

type

String

Basic resources: cce, as, and ecs.

Optional resources: rds, dcs, elb, cse, and other services.

Example Request

Create a VM environment development-env. The ID of the VPC where the environment is located is 29d55020-ae0e-4a18-871c-93e6976ee7bd.

{
	"name": "development-env",
	"description": "",
	"charge_mode": "provided",
        "deploy_mode": "container",
	"vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd",
        "base_resources": [
                {
                        "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9",
                        "type": "cce"
                }
        ],   
        "optional_resources": [
                {
                        "id": "default",
                        "type": "cse"
                }
        ]
}

Example Response

{
	"id": "00078e9d-a61c-476e-ac63-a10c9cb2638e",
	"name": "development-env",
	"alias": null,
	"description": "",
	"project_id": "e7d2e9c589e5445e808a8ff0d1235aca",
	"enterprise_project_id": "0",
	"charge_mode": "provided",
        "deploy_mode": "container",
	"vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd",	
        "base_resources": [
                {
                        "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9",
                        "type": "cce"
                }
        ],   
        "optional_resources": [
                {
                        "id": "default",
                        "type": "cse"
                }
        ],
	"creator": "ss-test",
	"create_time": 1610418873730,
	"update_time": 1610418873730
}

Status Code

Table 7 Status codes

HTTP Status Code

Description

200

OK

400

Bad Request

404

Not Found

500

Internal Server Error

Error Code

The error code format is SVCSTG.00100.[Error_ID], for example, SVCSTG.00100400. For details, see ServiceStage Error Codes.