更新Notebook实例 - UpdateNotebook
功能介绍
更新Notebook实例接口用于修改Notebook实例的配置信息,包括名称、描述、规格和镜像等。该接口适用于以下场景:用户需要调整Notebook实例的配置以适应新的需求时,可通过此接口更新实例的详细信息。使用该接口的前提条件是用户已登录系统并具有操作目标Notebook实例的权限,同时Notebook实例必须处于停止状态。调用该接口后,系统将更新指定Notebook实例的配置信息。若用户无权限操作指定实例或Notebook实例未停止,接口将返回相应的错误信息。异常情况包括:若指定的Notebook实例不存在,或更新参数无效,接口将返回相应的错误提示。
接口约束
暂无约束
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
modelarts:notebook:update
Write
notebook *
g:ResourceTag/<tag-key>
-
-
-
-
g:EnterpriseProjectId
-
modelarts:poolType
-
modelarts:poolId
-
URI
PUT /v1/{project_id}/notebooks/{id}
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
id |
是 |
String |
参数解释:Notebook实例ID。ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID),可通过调用查询Notebook实例列表接口获取。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
project_id |
是 |
String |
参数解释:用户项目ID,获取方法请参见获取项目ID和名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
description |
否 |
String |
参数解释:支持更新实例描述信息。 约束限制:不涉及。 取值范围:长度限制为512字符,且不能包含字符&<>"'/。 默认取值:不涉及。 |
|
endpoints |
否 |
Array of EndpointsReq objects |
参数解释:仅在本地IDE(如PyCharm、VS Code)或SSH客户端接入Notebook。 约束限制:仅在本地IDE(如PyCharm、VS Code)或SSH客户端,通过SSH远程接入Notebook实例时需要的相关配置。 |
|
flavor |
否 |
String |
参数解释:支持变更实例的机器规格。支持变更的规格可以通过本章节的查询支持可切换规格列表的API获取。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
custom_spec |
否 |
NotebookCustomSpec object |
参数解释:实例的自定义规格参数,跟flavor字段不可同时填写。 约束限制:仅支持CPU或GPU专属池场景下根据专属池节点规格使用。 |
|
image_id |
否 |
String |
参数解释:支持更新镜像ID,镜像ID参考查询支持的镜像列表获取。 约束限制:不涉及。 取值范围:调用查询支持的镜像列表接口获取的合法镜像ID列表。 默认取值:不涉及。 |
|
name |
否 |
String |
参数解释:支持更新实例名称。 约束限制:不涉及。 取值范围:长度限制为128个字符,支持大小写字母、数字、中划线和下划线,名称可重复。 默认取值:不涉及。 |
|
storage_new_size |
否 |
Integer |
参数解释:EVS实例支持动态扩充的容量,单位GB。只允许扩容,不允许缩容。 约束限制:不涉及。 取值范围:最大允许扩容至4096。 默认取值:不涉及。 |
|
hooks |
否 |
CustomHooks object |
参数解释:支持更新实例启动脚本。 约束限制:不涉及。 |
|
affinity |
否 |
AffinityType object |
参数解释:支持更新亲和度设置。 约束限制:只有实例停止状态和启动失败状态下可更新。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
allowed_access_ips |
否 |
Array of strings |
参数解释:允许远程接入的公网IP地址列表,最多5个。 约束限制:不涉及。 |
|
service |
否 |
String |
参数解释:支持的服务。 约束限制:不涉及。 取值范围:枚举类型,取值如下:
默认取值:不涉及。 |
|
key_pair_names |
否 |
Array of strings |
参数解释:SSH密钥对名称,可以在云服务器控制台(ECS)“密钥对”页面创建和查看。 约束限制:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
gpu |
否 |
Float |
参数描述: GPU专属池场景下若无需调度卡则填0,GPU专属池场景必填,代表实例申请的GPU卡数 参数约束: CPU专属池场景下请勿填写此字段, 单位:卡,最小值为0,最大值请根据申请的GPU专属池单节点规格约束; |
|
cpu |
是 |
Float |
参数描述: CPU/GPU专属池场景下自定义规格必填,代表实例申请的CPU核数大小 参数约束: 单位:核,需大于0.3核,最大值请根据申请的专属池单节点规格约束 |
|
memory |
是 |
Float |
参数描述: CPU/GPU专属池场景下自定义规格必填,代表实例申请的内存大小 参数约束: 单位:MiB,大于512MiB的正整数,最大值请根据申请的专属池单节点规格约束 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
post_start |
否 |
Config object |
参数解释:启动服务后脚本配置。 约束限制:不涉及。 |
|
pre_start |
否 |
Config object |
参数解释:启动服务前脚本配置。 约束限制:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
script |
否 |
String |
参数解释:自定义脚本内容(base64编码)或脚本绝对路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
type |
否 |
String |
参数解释:脚本类型。 约束限制:不涉及。 取值范围:枚举类型,取值如下:
默认取值:SCRIPT。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
required_during_scheduling_ignored_during_execution |
否 |
Array of AffinityRule objects |
参数描述: 专属池场景下设置强亲和特性 参数约束: key、values、operator必填 |
|
preferred_during_scheduling_ignored_during_execution |
否 |
Array of AffinityRule objects |
参数描述: 专属池场景下设置弱亲和特性 参数约束: key、values、operator必填,weight选填 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
key |
否 |
String |
参数解释:亲和度描述具体信息。 该标签可以使用系统默认的标签,也可以使用自定义标签。系统默认的节点标签详情请参见管理节点标签。 约束限制:标签是键值对。有效的标签键有两个段:可选的前缀和名称,用斜杠(/)分隔。 取值范围:名称段是必需的,必须小于等于 63 个字符,以字母数字字符([a-z0-9A-Z])开头和结尾, 带有破折号(-),下划线(_),点( .)和之间的字母数字;前缀是可选的。如果指定,前缀必须是 DNS 子域:由点(.)分隔的一系列 DNS 标签,总共不超过 253 个字符, 后跟斜杠(/).请参见标签和选择算符 默认取值:不涉及。 |
|
operator |
否 |
String |
参数解释:操作符 约束限制:不涉及 取值范围:可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。 In:亲和/反亲和对象的标签在标签值列表(values字段)中。 NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。 Exists:亲和/反亲和对象存在指定标签名。 DoesNotExist:亲和/反亲和对象不存在指定标签名。 Gt:调度节点的标签值大于列表值 (字符串比较)。 Lt:调度节点的标签值小于列表值 (字符串比较)。 默认取值:不涉及。 |
|
values |
否 |
Array of strings |
参数解释:设置节点亲和性时,填写节点标签对应的标签值 约束限制:必须为 63 个字符或更少(可以为空),除非标签值为空,必须以字母数字字符([a-z0-9A-Z])开头和结尾,包含破折号(-)、下划线(_)、点(.)和字母或数字 请参见标签和选择算符 |
|
weight |
否 |
Integer |
设置弱亲和节点的权重值,该值的取值应为0-100之间,强亲和该值为NULL,弱亲和该值可选 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
action_progress |
Array of JobProgress objects |
参数解释:实例初始化进度。 |
|
description |
String |
参数解释:实例描述。 取值范围:不涉及。 |
|
endpoints |
Array of EndpointsRes objects |
参数解释:本地IDE(如PyCharm、VS Code)或SSH客户端,通过SSH远程接入Notebook实例时需要的相关配置。 |
|
fail_reason |
String |
参数解释:实例失败原因。 取值范围:不涉及。 |
|
flavor |
String |
参数解释:实例规格, 1.当用户选择系统规格时,返回值为系统规格码; 2.当用户创建实例时选择了自定义规格,则此字段会固定返回"custom.flavor.spec.code"。 取值范围:不涉及。 |
|
custom_spec |
NotebookCustomSpecRep object |
参数解释:实例自定义规格详情,仅CPU/GPU专属池,用户自定义规格时返回。 取值范围:不涉及 |
|
id |
String |
参数解释:实例ID。 取值范围:不涉及。 |
|
image |
Image object |
参数解释:实例镜像信息。 |
|
lease |
Lease object |
参数解释:实例自动停止的倒计时信息。 |
|
name |
String |
参数解释:实例名称。 取值范围:不涉及。 |
|
pool |
Pool object |
参数解释:专属池的基本信息,在专属池中创建的实例会返回该字段。 |
|
status |
String |
参数解释:实例状态。 取值范围:枚举类型,取值如下:
|
|
token |
String |
参数解释:Notebook鉴权使用的token信息。 取值范围:不涉及。 |
|
url |
String |
参数解释:实例访问的URL。 取值范围:不涉及。 |
|
volume |
VolumeRes object |
参数解释:实例存储信息。 |
|
workspace_id |
String |
参数解释:工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 取值范围:不涉及。 |
|
feature |
String |
参数解释:实例类别。 取值范围:枚举类型,取值如下:
|
|
billing_items |
Array of strings |
参数解释:计费资源类型。枚举类型,取值如下:
|
|
user |
user object |
参数解释:账号信息。 |
|
affinity |
AffinityType object |
参数解释:亲和度信息 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
notebook_id |
String |
参数解释:实例ID。 取值范围:不涉及。 |
|
status |
String |
参数解释:任务某个步骤的状态。 取值范围:枚举类型,取值如下:
|
|
step |
Integer |
参数解释:任务的步骤。 取值范围:枚举类型,取值如下:
|
|
step_description |
String |
参数解释:任务某个步骤的描述。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
allowed_access_ips |
Array of strings |
参数解释:允许通过SSH协议访问Notebook的公网IP地址白名单列表,默认都可以访问。当配置指定IP后,则仅允许IP所在的客户端实现对Notebook的访问。 |
|
dev_service |
String |
参数解释:访问Notebook的途径。 取值范围:枚举类型,取值如下:
|
|
ssh_keys |
Array of strings |
参数解释:SSH密钥对名称列表,允许设置多个密钥对实现同时对SSH实例的访问。 |
|
service |
String |
参数解释:访问Notebook的途径。 取值范围:枚举类型,取值如下:
|
|
uri |
String |
参数解释:实例私有IP地址。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
gpu |
Float |
参数描述: GPU专属池场景下若无需调度卡则填0,GPU专属池场景必填,代表实例申请的GPU卡数 参数约束: CPU专属池场景下无此字段 |
|
gpu_type |
String |
参数描述: GPU专属池场景下自定义规格响应参数之一,代表实例申请的GPU加速卡类型 参数约束: CPU专属池场景下无此字段 |
|
cpu |
Float |
参数描述: CPU/GPU专属池场景下自定义规格必填,代表实例申请的CPU核数大小 |
|
memory |
Float |
参数描述: 代表实例申请的内存大小 |
|
arch |
String |
参数描述: CPU/GPU专属池场景下自定义规格必填,代表实例申请的自定义规格CPU架构 参数约束: 枚举类型,取值范围为“X86_64”或“AARCH64” |
|
category |
String |
参数描述: CPU/GPU专属池场景下自定义规格必填,代表实例申请的自定义规格类型 参数约束: 枚举类型,取值范围为“CPU”或“GPU” |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
arch |
String |
参数解释:该镜像所支持处理器架构类型。 取值范围:枚举类型,取值如下:
|
|
create_at |
Long |
参数解释:镜像创建的时间,UTC毫秒。 取值范围:不涉及。 |
|
description |
String |
参数解释:该镜像所对应的描述信息。 取值范围:长度限制512个字符。 |
|
dev_services |
Array of strings |
参数解释:镜像支持的服务。 取值范围:枚举类型,取值如下:
|
|
id |
String |
参数解释:待创建Notebook实例的镜像,需要指定镜像ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。预置镜像的ID参考查询支持的镜像列表获取。 取值范围:不涉及。 |
|
name |
String |
参数解释:镜像名称。 取值范围:长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 |
|
namespace |
String |
参数解释:镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 取值范围:不涉及。 |
|
origin |
String |
参数解释:指定镜像来源。 取值范围:枚举类型,取值如下:
|
|
resource_categories |
Array of strings |
参数解释:镜像支持的规格。枚举类型,取值如下:
|
|
service_type |
String |
参数解释:镜像支持服务类型。 取值范围:枚举类型,取值如下:
|
|
size |
Long |
参数解释:镜像大小(单位KB)。 取值范围:不涉及。 |
|
status |
String |
参数解释:镜像状态。 取值范围:枚举类型,取值如下:
|
|
status_message |
String |
参数解释:镜像保存操作过程中,构建信息展示。 取值范围:不涉及。 |
|
support_res_categories |
Array of strings |
参数解释:镜像支持的规格。 枚举类型,取值如下:
|
|
swr_path |
String |
参数解释:SWR镜像地址。 取值范围:不涉及。 |
|
tag |
String |
参数解释:镜像Tag。 取值范围:不涉及。 |
|
type |
String |
参数解释:镜像类型。 取值范围:枚举类型,取值如下:
|
|
update_at |
Long |
参数解释:镜像最后更新的时间,UTC毫秒。 取值范围:不涉及。 |
|
visibility |
String |
参数解释:镜像可见度。 取值范围:枚举类型,取值如下:
|
|
workspace_id |
String |
参数解释:工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 取值范围:不涉及。 |
|
flavor_type |
String |
参数解释:镜像的资源类型。 取值范围:枚举类型,取值如下:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
create_at |
Long |
参数解释:实例创建的时间,UTC毫秒。 取值范围:不涉及。 |
|
duration |
Long |
参数解释:实例运行时长,以创建时间为起点计算,即“创建时间+duration > 当前时刻”时,系统会自动停止实例。 取值范围:不涉及。 |
|
enable |
Boolean |
参数解释:是否启用自动停止功能。 取值范围:布尔类型:
|
|
type |
String |
参数解释:自动停止类别。 取值范围:枚举类型,取值如下:
|
|
update_at |
Long |
参数解释:实例最后更新(不包括探活心跳)的时间,UTC毫秒。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
capacity |
Integer |
参数解释:存储容量。 取值范围:EVS默认5G,EFS默认50G,最大限制4096G。 |
|
category |
String |
参数解释:支持的存储类型。不同存储类型的差异,详见开发环境中如何选择存储。 取值范围:枚举类型,取值如下:
|
|
mount_path |
String |
参数解释:存储挂载至Notebook实例的目录,当前固定在/home/ma-user/work/下。 取值范围:不涉及。 |
|
ownership |
String |
参数解释:资源所属。 取值范围:枚举类型,取值如下:
|
|
status |
String |
参数解释:EVS扩容状态,扩容时的状态为RESIZING,此时实例可以正常使用。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
domain |
domain object |
参数解释:账号domain信息。 |
|
id |
String |
参数解释:用户ID。获取方法请参见获取用户ID和名称。 取值范围:不涉及。 |
|
name |
String |
参数解释:用户名。 取值范围:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
required_during_scheduling_ignored_during_execution |
Array of AffinityRule objects |
参数描述: 专属池场景下设置强亲和特性 参数约束: key、values、operator必填 |
|
preferred_during_scheduling_ignored_during_execution |
Array of AffinityRule objects |
参数描述: 专属池场景下设置弱亲和特性 参数约束: key、values、operator必填,weight选填 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
key |
String |
参数解释:亲和度描述具体信息。 该标签可以使用系统默认的标签,也可以使用自定义标签。系统默认的节点标签详情请参见管理节点标签。 约束限制:标签是键值对。有效的标签键有两个段:可选的前缀和名称,用斜杠(/)分隔。 取值范围:名称段是必需的,必须小于等于 63 个字符,以字母数字字符([a-z0-9A-Z])开头和结尾, 带有破折号(-),下划线(_),点( .)和之间的字母数字;前缀是可选的。如果指定,前缀必须是 DNS 子域:由点(.)分隔的一系列 DNS 标签,总共不超过 253 个字符, 后跟斜杠(/).请参见标签和选择算符 默认取值:不涉及。 |
|
operator |
String |
参数解释:操作符 约束限制:不涉及 取值范围:可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。 In:亲和/反亲和对象的标签在标签值列表(values字段)中。 NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。 Exists:亲和/反亲和对象存在指定标签名。 DoesNotExist:亲和/反亲和对象不存在指定标签名。 Gt:调度节点的标签值大于列表值 (字符串比较)。 Lt:调度节点的标签值小于列表值 (字符串比较)。 默认取值:不涉及。 |
|
values |
Array of strings |
参数解释:设置节点亲和性时,填写节点标签对应的标签值 约束限制:必须为 63 个字符或更少(可以为空),除非标签值为空,必须以字母数字字符([a-z0-9A-Z])开头和结尾,包含破折号(-)、下划线(_)、点(.)和字母或数字 请参见标签和选择算符 |
|
weight |
Integer |
设置弱亲和节点的权重值,该值的取值应为0-100之间,强亲和该值为NULL,弱亲和该值可选 |
状态码:201
Created
请求示例
-
更新Notebook实例。在实例停止状态下和启动失败状态下可以进行该操作。强亲和/弱亲和更新值二选一,根据输入的值进行亲和度配置更新
{ "affinity" : { "required_during_scheduling_ignored_during_execution" : [ { "key" : "kubernetes.io/hostname", "operator" : "In", "values" : [ "192.168.1.1" ] } ], "preferred_during_scheduling_ignored_during_execution" : [ { "key" : "kubernetes.io/hostname", "operator" : "In", "values" : [ "192.168.1.1" ] } ] } } -
两者二选一,表示无需修改
{ "affinity" : { "required_during_scheduling_ignored_during_execution" : null, "preferred_during_scheduling_ignored_during_execution" : null } } -
表示关闭亲和度设置,亲和度设置清空
{ "affinity" : { "required_during_scheduling_ignored_during_execution" : [ ], "preferred_during_scheduling_ignored_during_execution" : [ ] } } -
更新notebook实例时,表示无需更新
{ "affinity" : null }
响应示例
状态码:200
OK
{
"affinity" : {
"required_during_scheduling_ignored_during_execution" : [ {
"key" : "kubernetes.io/hostname",
"operator" : "In",
"values" : [ "192.168.1.1" ]
} ],
"preferred_during_scheduling_ignored_during_execution" : [ {
"key" : "kubernetes.io/hostname",
"operator" : "In",
"values" : [ "192.168.1.1" ]
} ]
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
OK |
|
201 |
Created |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
错误码
请参见错误码。