更新规格

更新一个计算规格的定义。

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
  }'

字段

类型

必填

说明

spec_id

string

要更新的计算规格 ID。

字段

类型

必填

说明

id

string

规格 ID;提供时必须与路径中的 spec_id 一致。

kind

string

资源类型,只能为 taskquery

family

string

规格族标识。

family_name

string

规格族名称。

family_name_en

string

规格族英文名称;不能为空。

cpu_milli

integer

CPU 容量,单位为毫核,必须大于 0

memory_mib

integer

内存容量,单位为 MiB,必须大于 0

gpu_count

integer

GPU 数量,不能小于 0

gpu_memory_mib

integer

GPU 显存,单位为 MiB,不能小于 0

gpu_cores

integer

GPU 核数,不能小于 0

credit_per_hour

number

每小时 Credit 用量,不能小于 0

description

string

规格说明。

node_placement

object

Kubernetes 节点调度对象;仅接受已定义的 Kubernetes 调度字段。

enabled

boolean

是否允许使用该规格;省略时为 false

请求体是完整规格定义。除 id 可省略外,必填字段必须全部提交;省略 enabled 会将规格设为禁用。

下面表格展开请求示例中的 node_placement 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

node_selector

object

节点标签选择器;键和值均为 Kubernetes 合法标签。

affinity

object

Kubernetes Pod 亲和性与反亲和性规则。

tolerations

array of object

容忍节点污点的规则列表。

topology_spread_constraints

array of object

拓扑分布约束列表。

priorityClassName

string

Kubernetes PriorityClass 名称。

runtimeClassName

string

Kubernetes RuntimeClass 名称。

schedulerName

string

Kubernetes 调度器名称。

下面表格展开请求示例中的 node_placement.node_selector 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

<key>

string

一个节点标签键对应的目标标签值。

下面表格展开请求示例中的 node_placement.affinity 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

nodeAffinity

object

节点亲和性规则。

podAffinity

object

Pod 亲和性规则。

podAntiAffinity

object

Pod 反亲和性规则。

下面表格展开请求示例中 node_placement.tolerations 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

key

string

污点键;operatorExists 时可省略。

operator

string

匹配方式:EqualExists;省略时按 Equal 处理。

value

string

污点值;operatorExists 时必须为空。

effect

string

污点效果;有值时为 NoSchedulePreferNoScheduleNoExecute

tolerationSeconds

integer

NoExecute 污点的容忍秒数。

下面表格展开请求示例中 node_placement.topology_spread_constraints 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

maxSkew

integer

同一拓扑域间允许的最大偏差。

topologyKey

string

用于划分拓扑域的节点标签键。

whenUnsatisfiable

string

不满足约束时的处理方式:DoNotScheduleScheduleAnyway

labelSelector

object

用于匹配 Pod 的标签选择器。

matchLabelKeys

array of string

参与匹配的 Pod 标签键。

nodeAffinityPolicy

string

节点亲和性策略。

nodeTaintsPolicy

string

节点污点策略。

minDomains

integer

最小可用拓扑域数量。

下面表格展开请求示例中的 node_placement.topology_spread_constraints[].labelSelector 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

matchLabels

object

标签键值选择器。

matchExpressions

array of object

标签选择表达式列表。

下面表格展开请求示例中的 node_placement.topology_spread_constraints[].labelSelector.matchLabels 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

<key>

string

一个标签键对应的目标标签值。

下面表格展开请求示例中 node_placement.topology_spread_constraints[].labelSelector.matchExpressions 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

key

string

标签键。

operator

string

标签运算符。

values

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
  }
}

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data

object

响应数据。

下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。

字段

类型

说明

id

string

更新后的规格 ID。

kind

string

资源类型。

family

string

规格族标识。

family_name

string

规格族名称。

family_name_en

string

规格族英文名称。

cpu_milli

integer

CPU 容量,单位为毫核。

memory_mib

integer

内存容量,单位为 MiB。

gpu_count

integer

GPU 数量。

gpu_memory_mib

integer

GPU 显存,单位为 MiB。

gpu_cores

integer

GPU 核数。

credit_per_hour

number

每小时 Credit 用量。

description

string

规格说明。

description_en

string

英文规格说明;系统规格可返回。

node_placement

object

Kubernetes 节点调度对象;仅接受已定义的 Kubernetes 调度字段。

下面表格展开响应示例中 data.node_placement 对象;每一行是该对象的一个字段。

字段

类型

说明

node_selector

object

节点标签选择器;键和值均为 Kubernetes 合法标签。

affinity

object

Kubernetes Pod 亲和性与反亲和性规则。

tolerations

array of object

容忍节点污点的规则列表。

topology_spread_constraints

array of object

拓扑分布约束列表。

priorityClassName

string

Kubernetes PriorityClass 名称。

runtimeClassName

string

Kubernetes RuntimeClass 名称。

schedulerName

string

Kubernetes 调度器名称。

下面表格展开响应示例中 data.node_placement.node_selector 对象;每一行是该对象的一个字段。

字段

类型

说明

<key>

string

一个节点标签键对应的目标标签值。

下面表格展开响应示例中 data.node_placement.affinity 对象;每一行是该对象的一个字段。

字段

类型

说明

nodeAffinity

object

节点亲和性规则;有值时返回。

podAffinity

object

Pod 亲和性规则;有值时返回。

podAntiAffinity

object

Pod 反亲和性规则;有值时返回。

下面表格展开响应示例中 data.node_placement.tolerations 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

key

string

污点键;operatorExists 时可省略。

operator

string

匹配方式:EqualExists;省略时按 Equal 处理。

value

string

污点值;operatorExists 时必须为空。

effect

string

污点效果;有值时为 NoSchedulePreferNoScheduleNoExecute

tolerationSeconds

integer

NoExecute 污点的容忍秒数;有值时返回。

下面表格展开响应示例中 data.node_placement.topology_spread_constraints 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

maxSkew

integer

同一拓扑域间允许的最大偏差。

topologyKey

string

用于划分拓扑域的节点标签键。

whenUnsatisfiable

string

不满足约束时的处理方式:DoNotScheduleScheduleAnyway

labelSelector

object

用于匹配 Pod 的标签选择器;有值时返回。

matchLabelKeys

array of string

参与匹配的 Pod 标签键;有值时返回。

nodeAffinityPolicy

string

节点亲和性策略;有值时返回。

nodeTaintsPolicy

string

节点污点策略;有值时返回。

minDomains

integer

最小可用拓扑域数量;有值时返回。

下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector 对象;每一行是该对象的一个字段。

字段

类型

说明

matchLabels

object

标签键值选择器;有值时返回。

matchExpressions

array of object

标签选择表达式列表;有值时返回。

下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector.matchLabels 对象;每一行是该对象的一个字段。

字段

类型

说明

<key>

string

一个标签键对应的目标标签值。

下面表格展开响应示例中 data.node_placement.topology_spread_constraints[].labelSelector.matchExpressions 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

key

string

标签键。

operator

string

标签运算符。

values

array of string

标签比较值列表。

下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。

字段

类型

说明

enabled

boolean

更新后的启用状态。

is_system

boolean

是否为系统内置规格。

created_by

string

创建者标识。

updated_by

string

最后更新者标识。

created_at

string

创建时间。

updated_at

string

最后更新时间。

错误响应

{
  "code": "INVALID_PARAMS",
  "msg": "family_name_en is required",
  "data": null
}

字段

类型

说明

code

string

错误代码。

msg

string

错误说明。

data

null

错误时为空。

后续操作

如只需切换可用性,使用启用或禁用计算规格

最后更新于