更新规格¶
更新一个计算规格的定义。
PUT https://api.moi.matrixorigin.cn/v5/compute-resource-specs/{spec_id}
调用前准备¶
先列出计算规格,确认要更新的规格。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和规格 ID。
请求体¶
curl -X PUT "https://api.moi.matrixorigin.cn/v5/compute-resource-specs/$SPEC_ID" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"id": "task-standard-small",
"kind": "task",
"family": "standard",
"family_name": "标准",
"family_name_en": "Standard",
"cpu_milli": 2000,
"memory_mib": 4096,
"gpu_count": 0,
"gpu_memory_mib": 0,
"gpu_cores": 0,
"credit_per_hour": 1,
"enabled": true
}'
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
是 |
要更新的计算规格 ID。 |
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
否 |
规格 ID;提供时必须与路径中的 |
|
string |
是 |
资源类型,只能为 |
|
string |
是 |
规格族标识。 |
|
string |
是 |
规格族名称。 |
|
string |
是 |
规格族英文名称;不能为空。 |
|
integer |
是 |
CPU 容量,单位为毫核,必须大于 |
|
integer |
是 |
内存容量,单位为 MiB,必须大于 |
|
integer |
否 |
GPU 数量,不能小于 |
|
integer |
否 |
GPU 显存,单位为 MiB,不能小于 |
|
integer |
否 |
GPU 核数,不能小于 |
|
number |
否 |
每小时 Credit 用量,不能小于 |
|
string |
否 |
规格说明。 |
|
object |
否 |
Kubernetes 节点调度对象;仅接受已定义的 Kubernetes 调度字段。 |
|
boolean |
否 |
是否允许使用该规格;省略时为 |
请求体是完整规格定义。除 id 可省略外,必填字段必须全部提交;省略 enabled 会将规格设为禁用。
下面表格展开请求示例中的 node_placement 对象;每一行是该对象的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
object |
否 |
节点标签选择器;键和值均为 Kubernetes 合法标签。 |
|
object |
否 |
Kubernetes Pod 亲和性与反亲和性规则。 |
|
array of object |
否 |
容忍节点污点的规则列表。 |
|
array of object |
否 |
拓扑分布约束列表。 |
|
string |
否 |
Kubernetes PriorityClass 名称。 |
|
string |
否 |
Kubernetes RuntimeClass 名称。 |
|
string |
否 |
Kubernetes 调度器名称。 |
下面表格展开请求示例中的 node_placement.node_selector 对象;每一行是该对象的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
否 |
一个节点标签键对应的目标标签值。 |
下面表格展开请求示例中的 node_placement.affinity 对象;每一行是该对象的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
object |
否 |
节点亲和性规则。 |
|
object |
否 |
Pod 亲和性规则。 |
|
object |
否 |
Pod 反亲和性规则。 |
下面表格展开请求示例中 node_placement.tolerations 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
否 |
污点键; |
|
string |
否 |
匹配方式: |
|
string |
否 |
污点值; |
|
string |
否 |
污点效果;有值时为 |
|
integer |
否 |
对 |
下面表格展开请求示例中 node_placement.topology_spread_constraints 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
integer |
否 |
同一拓扑域间允许的最大偏差。 |
|
string |
否 |
用于划分拓扑域的节点标签键。 |
|
string |
否 |
不满足约束时的处理方式: |
|
object |
否 |
用于匹配 Pod 的标签选择器。 |
|
array of string |
否 |
参与匹配的 Pod 标签键。 |
|
string |
否 |
节点亲和性策略。 |
|
string |
否 |
节点污点策略。 |
|
integer |
否 |
最小可用拓扑域数量。 |
下面表格展开请求示例中的 node_placement.topology_spread_constraints[].labelSelector 对象;每一行是该对象的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
object |
否 |
标签键值选择器。 |
|
array of object |
否 |
标签选择表达式列表。 |
下面表格展开请求示例中的 node_placement.topology_spread_constraints[].labelSelector.matchLabels 对象;每一行是该对象的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
否 |
一个标签键对应的目标标签值。 |
下面表格展开请求示例中 node_placement.topology_spread_constraints[].labelSelector.matchExpressions 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
否 |
标签键。 |
|
string |
否 |
标签运算符。 |
|
array of string |
否 |
标签比较值列表。 |
成功响应¶
{
"code": "OK",
"msg": "OK",
"data": {
"id": "task-standard-small",
"kind": "task",
"family": "standard",
"family_name": "标准",
"family_name_en": "Standard",
"cpu_milli": 2000,
"memory_mib": 4096,
"gpu_count": 0,
"gpu_memory_mib": 0,
"gpu_cores": 0,
"credit_per_hour": 1,
"description": "用于常规任务",
"node_placement": {},
"enabled": true
}
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
object |
响应数据。 |
下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
更新后的规格 ID。 |
|
string |
资源类型。 |
|
string |
规格族标识。 |
|
string |
规格族名称。 |
|
string |
规格族英文名称。 |
|
integer |
CPU 容量,单位为毫核。 |
|
integer |
内存容量,单位为 MiB。 |
|
integer |
GPU 数量。 |
|
integer |
GPU 显存,单位为 MiB。 |
|
integer |
GPU 核数。 |
|
number |
每小时 Credit 用量。 |
|
string |
规格说明。 |
|
string |
英文规格说明;系统规格可返回。 |
|
object |
Kubernetes 节点调度对象;仅接受已定义的 Kubernetes 调度字段。 |
下面表格展开响应示例中 data.node_placement 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
object |
节点标签选择器;键和值均为 Kubernetes 合法标签。 |
|
object |
Kubernetes Pod 亲和性与反亲和性规则。 |
|
array of object |
容忍节点污点的规则列表。 |
|
array of object |
拓扑分布约束列表。 |
|
string |
Kubernetes PriorityClass 名称。 |
|
string |
Kubernetes RuntimeClass 名称。 |
|
string |
Kubernetes 调度器名称。 |
下面表格展开响应示例中 data.node_placement.node_selector 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
一个节点标签键对应的目标标签值。 |
下面表格展开响应示例中 data.node_placement.affinity 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
object |
节点亲和性规则;有值时返回。 |
|
object |
Pod 亲和性规则;有值时返回。 |
|
object |
Pod 反亲和性规则;有值时返回。 |
下面表格展开响应示例中 data.node_placement.tolerations 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
污点键; |
|
string |
匹配方式: |
|
string |
污点值; |
|
string |
污点效果;有值时为 |
|
integer |
对 |
下面表格展开响应示例中 data.node_placement.topology_spread_constraints 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
integer |
同一拓扑域间允许的最大偏差。 |
|
string |
用于划分拓扑域的节点标签键。 |
|
string |
不满足约束时的处理方式: |
|
object |
用于匹配 Pod 的标签选择器;有值时返回。 |
|
array of string |
参与匹配的 Pod 标签键;有值时返回。 |
|
string |
节点亲和性策略;有值时返回。 |
|
string |
节点污点策略;有值时返回。 |
|
integer |
最小可用拓扑域数量;有值时返回。 |
下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
object |
标签键值选择器;有值时返回。 |
|
array of object |
标签选择表达式列表;有值时返回。 |
下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector.matchLabels 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
一个标签键对应的目标标签值。 |
下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector.matchExpressions 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
标签键。 |
|
string |
标签运算符。 |
|
array of string |
标签比较值列表。 |
下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
boolean |
更新后的启用状态。 |
|
boolean |
是否为系统内置规格。 |
|
string |
创建者标识。 |
|
string |
最后更新者标识。 |
|
string |
创建时间。 |
|
string |
最后更新时间。 |
错误响应¶
{
"code": "INVALID_PARAMS",
"msg": "family_name_en is required",
"data": null
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
错误代码。 |
|
string |
错误说明。 |
|
null |
错误时为空。 |
后续操作¶
如只需切换可用性,使用启用或禁用计算规格。