更新时间:2025-07-08 GMT+08:00
分享

创建环境

功能介绍

此API用于创建环境。

调试

您可以在API Explorer中调试该接口。

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获取方式,请参考获取用户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。

labels

Array of objects

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

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

environment_azs

Array of objects

可用区列表。

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

表4 resources

参数

是否必选

参数类型

描述

id

String

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

name

String

资源名称。

type

String

资源类型。

  • eip,弹性IP。
  • elb,弹性负载均衡。
  • cce,云容器引擎。
  • ecs,弹性云服务器。
  • dcs,分布式缓存服务。
  • rds,云数据库RDS。
  • cse,ServiceComb引擎。
  • nacos,注册配置中心。
  • ms_gateway,应用网关。

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

  • vpc,虚拟私有云。
  • subnet,子网。
  • customServer,自定义服务器。
  • acl,网络ACL。
  • 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错误码

相关文档