更新时间:2024-10-23 GMT+08:00
分享

创建工作空间

功能介绍

创建工作空间("default"为系统预留的默认工作空间名称,不能使用)。

调试

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

URI

POST /v1/{project_id}/workspaces

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

用户项目ID。获取方法请参见获取项目ID和名称

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

grants

Array of grants objects

授权用户列表,默认为空。需要与“auth_type”参数配合使用,且仅当授权类型为“INTERNAL”时才会生效。

auth_type

String

授权类型。可选值有PUBLIC、PRIVATE、INTERNAL。默认值为PUBLIC。

  • PUBLIC:租户内部公开访问。

  • PRIVATE:仅创建者和主账号可访问。

  • INTERNAL:创建者、主账号、指定IAM子账号可访问,需要与grants参数配合使用。

enterprise_project_id

String

企业项目ID。

name

String

工作空间名称。长度限制为4-64字符,支持中文、大小写字母、数字、中划线和下划线。同时'default'为系统预留的默认工作空间名称,用户无法自己创建名为'default'的工作空间。

description

String

工作空间描述,默认为空。长度限制为0-256字符。

表4 grants

参数

是否必选

参数类型

描述

user_id

String

IAM用户ID。此参数与user_name必填一个。两者都填优先使用user_id。

user_name

String

IAM用户名称。此参数与user_id必填一个。

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

owner

String

创建者名称。

auth_type

String

授权类型。默认值为PUBLIC。PUBLIC:租户内部公开访问。PRIVATE:仅创建者和主账号可访问。INTERNAL:创建者、主账号、指定IAM子账号可访问,需要与grants参数配合使用。

enterprise_project_id

String

企业项目ID。

update_time

Integer

最后修改时间,UTC。

create_time

Integer

创建时间,UTC。

enterprise_project_name

String

企业项目名称。

name

String

工作空间名称。

description

String

工作空间描述。

id

String

工作空间ID,系统生成的32位UUID,不带橫线。

status

String

工作空间状态。

  • CREATE_FAILED:创建失败。

  • NORMAL:状态正常。

  • DELETING:正在删除。

  • DELETE_FAILED:删除失败。

status_info

String

状态描述,默认为空。该字段会补充显示状态的详细信息。如删除失败时,可通过该字段查看删除失败的原因。

grants

Array of grants objects

授权用户列表。默认为空。需要与“auth_type”参数配合使用,且仅当授权类型为“INTERNAL”时才会生效。

表6 grants

参数

参数类型

描述

user_id

String

用户ID,此参数与user_name必填一个。两者都填优先使用user_id。

user_name

String

IAM用户名称。此参数与user_id必填一个。

状态码: 400

表7 响应Body参数

参数

参数类型

描述

-

String

状态码: 403

表8 响应Body参数

参数

参数类型

描述

-

String

状态码: 500

表9 响应Body参数

参数

参数类型

描述

-

String

请求示例

创建工作空间。设置工作空间名称为“test-workspace”,授权类型为“internal”,授权的IAM用户名称为“test”。

POST https://{endpoint}/v1/{project_id}/workspaces

{
  "name" : "test-workspace",
  "description" : "It is a test project",
  "enterprise_project_id" : "***b0091-887f-4839-9929-cbc884f1e***",
  "auth_type" : "internal",
  "grants" : [ {
    "user_name" : "test"
  } ]
}

响应示例

状态码: 200

创建工作空间成功的响应参数。

{
  "id" : "**d05d1a553b4e188ea878e7dcb85e**",
  "name" : "test-workspace",
  "description" : "It is a test project'",
  "owner" : "testUser",
  "create_time" : 1470000020000,
  "update_time" : 1470000030000,
  "enterprise_project_id" : "***b0091-887f-4839-9929-cbc884f1e***",
  "enterprise_project_name" : "test-eps",
  "auth_type" : "public",
  "status" : "NORMAL",
  "status_info" : ""
}

状态码

状态码

描述

200

创建工作空间成功的响应参数。

400

BadRequest

403

Forbidden

500

InternalServerError

错误码

请参见错误码

相关文档