更新时间:2026-02-28 GMT+08:00
分享

创建环境 - CreateEnvironment

功能介绍

此API用于创建环境。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    servicestage:environment:create

    write

    -

    -

    -

    environment *

    -

URI

POST /v3/{project_id}/cas/environments

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户项目ID。获取方法,请参考获取项目ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求消息

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

参数解释:

消息体的类型(格式)。

约束限制:

不涉及

取值范围:

application/json;charset=utf8

默认取值:

不涉及

X-Auth-Token

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

config_mode

String

参数解释:

用于标识各项参数的配置方式。

取值范围:

  • ui:基于UI页面配置。

默认取值:

不涉及

name

String

参数解释:

环境名称。

取值范围:

由英文字母、数字、中划线(-)或下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母区分大小写,长度为2~64个字符。

默认取值:

不涉及

deploy_mode

String

参数解释:

环境类型。

取值范围:

  • virtualmachine:虚拟机。
  • container:Kubernetes。
  • mixed :虚拟机和Kubernetes。

如果您需要在创建的环境下使用自定义服务器,请选择virtualmachine或者mixed类型环境。

默认取值:

不涉及

type

String

参数解释:

Kubernetes环境是否高可用类型。

取值范围:

  • normal:非高可用环境。
  • high:高可用环境。

默认取值:

不涉及

resource_create_mode

String

参数解释:

资源配置模式。

取值范围:

  • none:纳管资源。
  • iac:创建资源。

如果您需要在创建的环境下使用自定义服务器,请选择纳管资源配置模式。

默认取值:

不涉及

resources

Array of objects

参数解释:

资源列表,请参考表4

description

String

参数解释:

环境描述。

取值范围:

最大长度为128个字符。

默认取值:

不涉及

enterprise_project_id

String

参数解释:

企业项目ID。

如果不配置此参数,则默认企业项目为“default”,ID为0。

约束限制:

需要开通企业项目功能后才可配置企业项目。

取值范围:

不涉及

默认取值:

不涉及

vpc_id

String

参数解释:

虚拟私有云ID。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
  • 方法2:通过虚拟私有云服务的API接口查询。链接请参见查询VPC列表

取值范围:

不涉及

默认取值:

不涉及

labels

Array of objects

参数解释:

标签,可使用标签管理服务通过标签过滤资源,请参考表6

约束限制:

同一个环境下最多可以添加20个标签。

environment_azs

Array of objects

参数解释:

可用区列表。

约束限制:

“type”为“high”时需要设置两个可用区。

表4 resources

参数

是否必选

参数类型

描述

id

String

参数解释:

资源ID(为了保证接口调用正常,请您确保调用前输入正确的资源ID)。

取值范围:

不涉及

默认取值:

不涉及

name

String

参数解释:

资源名称。

取值范围:

不涉及

默认取值:

不涉及

type

String

参数解释:

资源类型。

取值范围:

  • vpc:虚拟私有云。
  • eip:弹性IP。
  • elb:弹性负载均衡。
  • cce:云容器引擎。
  • ecs:弹性云服务器。
  • as:弹性伸缩组。
  • cse:ServiceComb引擎。
  • nacos:注册配置中心。
  • ms_gateway:应用网关。

    “华东-上海一”“亚太-新加坡”区域支持纳管应用网关,用于使用全链路流量控制功能。

  • dcs:分布式缓存服务。
  • rds:云数据库RDS。
  • subnet:子网。
  • acl:网络ACL。
  • customServer:自定义服务器。
  • gaussdb:云数据库GaussDB。
  • dms_rocketmq:分布式消息服务RocketMQ。
  • css_es:云搜索服务Elasticsearch。
  • custom_k8s:自定义kubernetes集群。

默认取值:

不涉及

parameters

Map<String, String>

参数解释:

资源参数,请参考表5

表5 parameters

参数

是否必选

参数类型

描述

kube_config

String

参数解释:

Kubernetes连接配置文件。

资源类型为custom_k8s时需要设置此参数。

取值范围:

不涉及

默认取值:

不涉及

表6 labels

参数

是否必选

参数类型

描述

key

String

参数解释:

标签名称。

标签用于标识资源,当您拥有相同类型的许多资源时,可以使用标签按各种维度(例如用途、所有者或环境)对资源进行分类。

取值范围:

长度为1到36个字符,只能包含数字、英文字母、下划线(_)、中划线(-)或中文。

默认取值:

不涉及

value

String

参数解释:

标签值。

取值范围:

长度为1到43个字符,只能包含数字、英文字母、下划线(_)、点(.)、中划线(-)或中文。

默认取值:

不涉及

响应消息

表7 响应参数

参数

参数类型

描述

id

String

参数解释:

环境ID。

取值范围:

不涉及

name

String

参数解释:

环境名称。

取值范围:

不涉及

description

String

参数解释:

环境描述。

取值范围:

不涉及

project_id

String

参数解释:

项目ID。

取值范围:

不涉及

enterprise_project_id

String

参数解释:

企业项目ID。

取值范围:

不涉及

deploy_mode

String

参数解释:

环境类型。

取值范围:

  • virtualmachine:虚拟机。
  • container:Kubernetes。
  • mixed :虚拟机+Kubernetes。

vpc_id

String

参数解释:

虚拟私有云ID。

取值范围:

不涉及

creator

String

参数解释:

环境创建人。

取值范围:

不涉及

create_time

Integer

参数解释:

环境创建时间。

取值范围:

不涉及

update_time

Integer

参数解释:

环境修改时间。

取值范围:

不涉及

labels

Array of objects

参数解释:

标签,可使用标签管理服务通过标签过滤查询资源信息,请参考表8

type

String

参数解释:

Kubernetes类型环境是否高可用类型。

取值范围:

  • normal:非高可用环境。
  • high:高可用环境。

resource_create_mode

String

参数解释:

资源配置模式。

取值范围:

  • none:纳管资源。

config_mode

String

参数解释:

配置模式。

取值范围:

  • ui:基于UI页面配置。

env_status

String

参数解释:

获取的非实时环境资源状态。

取值范围:

  • REFRESHING:刷新中。
  • UNKNOWN:未知。
  • NORMAL:正常。
  • PARTIALLY_NORMAL:部分正常。
表8 labels

参数

参数类型

描述

key

String

参数解释:

标签名称。

取值范围:

不涉及

value

String

参数解释:

标签值。

取值范围:

不涉及

请求示例

创建名称为env-test的“虚拟机”类型环境,环境所在VPC的id为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"
}

响应示例

{
    "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": []
}

状态码

状态码

描述

200

操作成功。

400

错误的请求。

404

请求对象不存在。

500

内部错误。

错误码

请参考ServiceStage错误码

相关文档