summaryrefslogtreecommitdiff
path: root/data/zh_cn/pai-dlc/2020-12-03
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/pai-dlc/2020-12-03
downloadacs-metadata-full-1.0.0+20260212.tar.gz
acs-metadata-full-1.0.0+20260212.zip
Diffstat (limited to 'data/zh_cn/pai-dlc/2020-12-03')
-rw-r--r--data/zh_cn/pai-dlc/2020-12-03/api-docs.php7748
1 files changed, 7748 insertions, 0 deletions
diff --git a/data/zh_cn/pai-dlc/2020-12-03/api-docs.php b/data/zh_cn/pai-dlc/2020-12-03/api-docs.php
new file mode 100644
index 0000000..155a692
--- /dev/null
+++ b/data/zh_cn/pai-dlc/2020-12-03/api-docs.php
@@ -0,0 +1,7748 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'ROA',
+ 'product' => 'pai-dlc',
+ 'version' => '2020-12-03',
+ ],
+ 'directories' => [
+ [
+ 'id' => 169743,
+ 'title' => '任务',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateJob',
+ 'DeleteJob',
+ 'UpdateJob',
+ 'StopJob',
+ 'ListJobs',
+ 'GetJob',
+ 'GetJobSanityCheckResult',
+ 'ListJobSanityCheckResults',
+ 'GetPodLogs',
+ 'GetPodEvents',
+ 'GetJobMetrics',
+ 'GetJobEvents',
+ 'ListEcsSpecs',
+ 'GetWebTerminal',
+ 'GetToken',
+ ],
+ ],
+ [
+ 'id' => 169755,
+ 'title' => 'Tensorboard',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateTensorboard',
+ 'DeleteTensorboard',
+ 'StartTensorboard',
+ 'UpdateTensorboard',
+ 'StopTensorboard',
+ 'ListTensorboards',
+ 'GetTensorboard',
+ 'GetTensorboardSharedUrl',
+ ],
+ ],
+ [
+ 'id' => 208978,
+ 'title' => '其他',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetRayDashboard',
+ 'GetDashboard',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [
+ 'AIMasterMessage' => [
+ 'title' => 'AIMaster消息',
+ 'description' => 'AIMaster消息内容',
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageEvent' => [
+ 'title' => '消息事件',
+ 'type' => 'string',
+ ],
+ 'MessageContent' => [
+ 'title' => '消息内容',
+ 'type' => 'string',
+ ],
+ 'Extended' => [
+ 'title' => '消息扩展内容',
+ 'type' => 'string',
+ ],
+ 'JobRestartCount' => [
+ 'title' => '作业重启次数',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ 'RestartType' => [
+ 'title' => '重启类型',
+ 'type' => 'string',
+ ],
+ 'MessageVersion' => [
+ 'title' => '消息版本号',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ 'AliyunAccounts' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'aliyunaccounts',
+ 'type' => 'object',
+ 'properties' => [
+ 'AliyunUid' => [
+ 'title' => 'Aliyun账号的UID',
+ 'type' => 'string',
+ ],
+ 'EmployeeId' => [
+ 'title' => '弹内用户的工号',
+ 'type' => 'string',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '这条记录的创建时间',
+ 'type' => 'string',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '这条记录的上次修改时间',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'AssignNodeSpec' => [
+ 'title' => 'AssignNodeSpec',
+ 'description' => '指定调度节点详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableAssignNode' => [
+ 'title' => 'EnableAssignNode',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NodeNames' => [
+ 'title' => 'NodeNames',
+ 'type' => 'string',
+ 'example' => 'lingjxxxxxxxx',
+ ],
+ 'AntiAffinityNodeNames' => [
+ 'title' => 'AntiAffinityNodeNames',
+ 'type' => 'string',
+ 'example' => 'lingjxxxxxxxx',
+ ],
+ 'HyperNodes' => [
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/HyperNodeSpec',
+ ],
+ ],
+ 'AntiAffinityHyperNodes' => [
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/HyperNodeSpec',
+ ],
+ ],
+ ],
+ ],
+ 'AssumeUserInfo' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'SecurityToken' => [
+ 'title' => 'SecurityToken',
+ 'type' => 'string',
+ ],
+ 'AccessKeyId' => [
+ 'title' => 'AccessKeyId',
+ 'type' => 'string',
+ ],
+ 'Type' => [
+ 'title' => 'Type',
+ 'type' => 'string',
+ ],
+ 'Id' => [
+ 'title' => 'Id',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'AutoScalingSpec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ScalingStrategy' => [
+ 'title' => '自动伸缩策略,目前支持 Default, ScaleByAPI, RayAutoscaler, CloudMonitorMetric',
+ 'type' => 'string',
+ ],
+ 'MinReplicas' => [
+ 'title' => '最小副本数量',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'MaxReplicas' => [
+ 'title' => '最大副本数量',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'PodsToDelete' => [
+ 'title' => '指定缩容节点。仅允许通过 UpdateJob修改,缩容数量必须与 PodCount 匹配',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'AutoscalingMetricSpec' => [
+ '$ref' => '#/components/schemas/AutoscalingMetricSpec',
+ ],
+ ],
+ ],
+ 'AutoscalingMetricSpec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MetricName' => [
+ 'type' => 'string',
+ ],
+ 'TargetValue' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ 'CodeSourceItem' => [
+ 'title' => '代码源配置的内容',
+ 'description' => '一个CodeSource的描述,用于ListCodeSources',
+ 'type' => 'object',
+ 'properties' => [
+ 'CodeSourceId' => [
+ 'title' => '代码源ID',
+ 'description' => '代码源ID',
+ 'type' => 'string',
+ 'example' => 'code-20210111103721-********',
+ ],
+ 'DisplayName' => [
+ 'title' => '代码源配置的名字',
+ 'description' => '代码源名称',
+ 'type' => 'string',
+ 'example' => 'MyCodeSourceName1',
+ ],
+ 'Description' => [
+ 'title' => '代码源详细描述',
+ 'description' => '代码源详细文字描述',
+ 'type' => 'string',
+ 'example' => 'code source of dlc examples',
+ ],
+ 'CodeRepo' => [
+ 'title' => '代码仓库地址',
+ 'description' => '代码仓库地址',
+ 'type' => 'string',
+ 'example' => 'https://code.aliyun.com/pai-dlc/examples.git',
+ ],
+ 'CodeBranch' => [
+ 'title' => '代码分支',
+ 'description' => '代码仓库分支;在CreateJob时可以被覆盖。',
+ 'type' => 'string',
+ 'example' => 'master',
+ ],
+ 'CodeCommit' => [
+ 'title' => '代码Commit ID',
+ 'description' => '代码CommitID,调用CreateJob时可以覆盖。',
+ 'type' => 'string',
+ 'example' => '44da109b59f8596152987eaa8f3b2487bb72ea63',
+ ],
+ 'CodeRepoUserName' => [
+ 'title' => '访问代码仓库的用户名',
+ 'description' => '代码仓库访问的用户名,用于访问私有仓库。',
+ 'type' => 'string',
+ 'example' => 'user',
+ ],
+ 'CodeRepoAccessToken' => [
+ 'title' => '访问代码仓库所用的AccessToken',
+ 'description' => '访问代码仓库的AccessToken。',
+ 'type' => 'string',
+ 'example' => 'xxxx',
+ ],
+ 'UserId' => [
+ 'title' => '代码源配置的用户ID',
+ 'description' => '代码源创建者的阿里云用户UID。',
+ 'type' => 'string',
+ 'example' => '115729017166****',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间',
+ 'description' => '创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-18T12:52:15Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间',
+ 'description' => '修改时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-18T12:52:15Z',
+ ],
+ ],
+ ],
+ 'ContainerSpec' => [
+ 'title' => 'ContainerSpec',
+ 'description' => '容器参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '容器名称',
+ 'description' => '容器名称。',
+ 'type' => 'string',
+ 'example' => 'data-init',
+ ],
+ 'Image' => [
+ 'title' => '容器镜像地址',
+ 'description' => '容器镜像地址。',
+ 'type' => 'string',
+ 'example' => 'registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0',
+ ],
+ 'Command' => [
+ 'title' => '用户命令',
+ 'description' => '用户命令。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '命令行。',
+ 'type' => 'string',
+ 'example' => 'curl www.aliyun.com',
+ ],
+ ],
+ 'Args' => [
+ 'title' => '命令参数',
+ 'description' => '命令参数。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '参数。',
+ 'type' => 'string',
+ 'example' => '-v',
+ ],
+ ],
+ 'WorkingDir' => [
+ 'title' => '容器内工作目录',
+ 'description' => '容器内工作目录。',
+ 'type' => 'string',
+ 'example' => '/root',
+ ],
+ 'Env' => [
+ 'title' => '环境变量',
+ 'description' => '环境变量。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '环境变量列表。',
+ '$ref' => '#/components/schemas/EnvVar',
+ ],
+ ],
+ 'Resources' => [
+ 'title' => '容器资源',
+ 'description' => '容器资源。',
+ '$ref' => '#/components/schemas/ResourceRequirements',
+ ],
+ ],
+ ],
+ 'CredentialConfig' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableCredentialInject' => [
+ 'title' => 'EnableCredentialInject',
+ 'type' => 'boolean',
+ ],
+ 'AliyunEnvRoleKey' => [
+ 'title' => 'AliyunEnvRoleKey',
+ 'type' => 'string',
+ ],
+ 'CredentialConfigItems' => [
+ 'title' => 'CredentialConfigItems',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/CredentialConfigItem',
+ ],
+ ],
+ ],
+ ],
+ 'CredentialConfigItem' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'title' => 'Key',
+ 'type' => 'string',
+ ],
+ 'Type' => [
+ 'title' => 'Type',
+ 'type' => 'string',
+ ],
+ 'Roles' => [
+ 'title' => 'Roles',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/CredentialRole',
+ ],
+ ],
+ ],
+ ],
+ 'CredentialRole' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'RoleArn' => [
+ 'title' => 'RoleArn',
+ 'type' => 'string',
+ ],
+ 'RoleType' => [
+ 'title' => 'RoleType',
+ 'type' => 'string',
+ ],
+ 'AssumeRoleFor' => [
+ 'title' => 'AssumeRoleFor',
+ 'type' => 'string',
+ ],
+ 'Policy' => [
+ 'title' => 'Policy',
+ 'type' => 'string',
+ ],
+ 'AssumeUserInfo' => [
+ '$ref' => '#/components/schemas/AssumeUserInfo',
+ ],
+ ],
+ ],
+ 'DataJuicerConfig' => [
+ 'description' => 'DataJuicer任务的配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ExecutionMode' => [
+ 'title' => '执行方式',
+ 'description' => '运行模式:'."\n"
+ ."\n"
+ .'- standalone:单节点。'."\n"
+ .'- distributed:分布式。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'standalone',
+ 'enum' => [
+ 'standalone',
+ 'distributed',
+ ],
+ ],
+ 'CommandType' => [
+ 'title' => '命令类型',
+ 'description' => '命令类型:'."\n"
+ ."\n"
+ .'- shell:填写shell命令。'."\n"
+ .'- config:填写DataJuicer的yaml配置。',
+ 'type' => 'string',
+ 'example' => 'config',
+ 'enum' => [
+ 'shell',
+ 'config',
+ ],
+ ],
+ 'EnableResourceEstimation' => [
+ 'title' => '是否开启资源预估',
+ 'description' => '是否开启资源预估',
+ 'type' => 'boolean',
+ ],
+ 'ResourceLimit' => [
+ '$ref' => '#/components/schemas/ResourceLimit',
+ ],
+ ],
+ ],
+ 'DataSourceItem' => [
+ 'title' => '数据源详情',
+ 'description' => '数据源详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataSourceType' => [
+ 'title' => '数据源类型',
+ 'description' => '数据源类型,目前仅支持NAS。',
+ 'type' => 'string',
+ 'example' => 'NAS',
+ ],
+ 'DataSourceId' => [
+ 'title' => '数据源Id',
+ 'description' => '数据源的唯一标识符。',
+ 'type' => 'string',
+ 'example' => 'data-20210114104214-xxxxxxx',
+ ],
+ 'DisplayName' => [
+ 'title' => '数据源显示名称',
+ 'description' => '数据源显示名称。',
+ 'type' => 'string',
+ 'example' => 'nas-data',
+ ],
+ 'Description' => [
+ 'title' => '数据源描述',
+ 'description' => '数据源详细描述。',
+ 'type' => 'string',
+ 'example' => 'data source of dlc examples',
+ ],
+ 'FileSystemId' => [
+ 'title' => '阿里云NAS文件系统Id',
+ 'description' => '阿里云NAS文件系统ID,请参考[阿里云文档](~~185212~~)。',
+ 'type' => 'string',
+ 'example' => '1ca404****',
+ ],
+ 'Path' => [
+ 'title' => '阿里云OSS文件系统路径',
+ 'description' => '阿里云OSS文件系统路径。',
+ 'type' => 'string',
+ 'example' => 'oss://mybucket/path/to/dir',
+ ],
+ 'Endpoint' => [
+ 'title' => '阿里云OSS文件系统服务端点',
+ 'description' => '阿里云OSS文件系统服务端点。',
+ 'type' => 'string',
+ 'example' => 'oss-cn-beijing-internal.aliyuncs.com',
+ ],
+ 'Options' => [
+ 'title' => '阿里云OSS文件系统配置选项',
+ 'description' => '阿里云OSS文件系统配置选项。',
+ 'type' => 'string',
+ 'example' => '{"key": "value"}',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载目录',
+ 'description' => '挂载到任务运行时的容器的本地路径。',
+ 'type' => 'string',
+ 'example' => '/root/data/',
+ ],
+ 'UserId' => [
+ 'title' => '创建人Id',
+ 'description' => '数据源创建者的阿里云账号ID。',
+ 'type' => 'string',
+ 'example' => '123456789',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'description' => '创建时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:00Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间(UTC)',
+ 'description' => '最后修改时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:00Z',
+ ],
+ ],
+ ],
+ 'DebuggerConfig' => [
+ 'title' => 'debugger参数配置项',
+ 'description' => 'debug配置参数项',
+ 'type' => 'object',
+ 'properties' => [
+ 'DebuggerConfigId' => [
+ 'title' => '系统生成的debug config唯一ID',
+ 'type' => 'string',
+ 'example' => 'dc-vf9lowjt3pso',
+ ],
+ 'DisplayName' => [
+ 'title' => '模板配置项名称',
+ 'type' => 'string',
+ 'example' => 'Pytorch Experiment Config',
+ ],
+ 'Description' => [
+ 'title' => '配置项描述',
+ 'type' => 'string',
+ 'example' => '这是一个Pytorch的基础配置模板',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:00Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:00Z',
+ ],
+ 'Content' => [
+ 'title' => '配置项细节,json结构',
+ 'type' => 'string',
+ 'example' => '{\\"description\\":\\"这是一个新的pytorchjob模板\\"}',
+ ],
+ ],
+ ],
+ 'DebuggerJob' => [
+ 'title' => 'debugger分析任务',
+ 'description' => 'debug分析任务',
+ 'type' => 'object',
+ 'properties' => [
+ 'DebuggerJobId' => [
+ 'title' => 'debugger分析作业ID',
+ 'type' => 'string',
+ 'example' => 'dlc20210126170216-mtl37ge7gkvdz',
+ ],
+ 'DisplayName' => [
+ 'title' => '作业显示名',
+ 'type' => 'string',
+ 'example' => 'dlc debugger test',
+ ],
+ 'UserId' => [
+ 'title' => '用户ID',
+ 'type' => 'string',
+ 'example' => '12344556',
+ ],
+ 'Status' => [
+ 'title' => '作业运行状态',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'WorkspaceId' => [
+ 'title' => '作业所属的运行工作空间',
+ 'type' => 'string',
+ 'example' => 'workspace01',
+ ],
+ 'Duration' => [
+ 'title' => '作业运行的时长(单位秒)',
+ 'type' => 'string',
+ 'example' => '2932',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:00Z',
+ ],
+ 'GmtSubmittedTime' => [
+ 'title' => '提交时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'GmtRunningTime' => [
+ 'title' => '运行开始时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'GmtSucceedTime' => [
+ 'title' => '成功结束时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'GmtStoppedTime' => [
+ 'title' => '结束时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'GmtFailedTime' => [
+ 'title' => '失败时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => '任务完成时间(UTC)',
+ 'type' => 'string',
+ ],
+ 'WorkspaceName' => [
+ 'title' => '作业所属的运行工作空间名称',
+ 'type' => 'string',
+ 'example' => 'public',
+ ],
+ ],
+ ],
+ 'DebuggerJobIssue' => [
+ 'title' => 'debugger过程中触发的event',
+ 'description' => 'debug过程中触发的event',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobDebuggerIssueId' => [
+ 'title' => 'event的全局唯一ID',
+ 'type' => 'string',
+ 'example' => 'de-826ca1bcfba30',
+ ],
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-mtl37ge7gkvdz',
+ ],
+ 'RuleName' => [
+ 'title' => '规则名称',
+ 'type' => 'string',
+ 'example' => 'ProfileReport',
+ ],
+ 'ReasonCode' => [
+ 'title' => '规则触发原因的编码',
+ 'type' => 'string',
+ 'example' => '1002300',
+ ],
+ 'ReasonMessage' => [
+ 'title' => '规则触发的原因',
+ 'type' => 'string',
+ 'example' => 'GPU利用率低',
+ ],
+ 'DebuggerJobIssue' => [
+ 'title' => '规则报告的具体json描述',
+ 'type' => 'string',
+ 'example' => '{"Name": "CPUBottleneck", "Triggered": 10, "Violations": 2, "Details": "{}"}',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:00Z',
+ ],
+ ],
+ ],
+ 'DebuggerResult' => [
+ 'title' => 'debugger评估报告',
+ 'description' => 'debug生成的评估报告',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-mtl37ge7gkvdz',
+ ],
+ 'JobDisplayName' => [
+ 'title' => '作业显示名',
+ 'type' => 'string',
+ 'example' => 'dlc debugger test',
+ ],
+ 'JobUserId' => [
+ 'title' => '用户ID',
+ 'type' => 'string',
+ 'example' => '12344556',
+ ],
+ 'DebuggerJobStatus' => [
+ 'title' => 'debugger job运行状态描述',
+ 'type' => 'string',
+ 'example' => '{"Running": 1, "Failed": 1, "Succeeded": 2}',
+ ],
+ 'DebuggerReportURL' => [
+ 'title' => '报告文件下载地址',
+ 'type' => 'string',
+ 'example' => 'http://xxx.com/debug/report/download/new_xxxx.html',
+ ],
+ 'DebuggerJobIssues' => [
+ 'title' => '规则报告细节信息',
+ 'type' => 'string',
+ 'example' => '{ "ProfileReport": { "Name": "CPUBottleneck","Triggered": 10,"Violations": 2,"Details": "{}"}, "LowCPU": { "Name": "CPUBottleneck","Triggered": 10,"Violations": 2,"Details": "{}"}}',
+ ],
+ 'DebuggerConfigContent' => [
+ 'title' => '配置项细节,json结构',
+ 'type' => 'string',
+ 'example' => '{\\"description\\":\\"这是一个新的pytorchjob模板\\"}',
+ ],
+ ],
+ ],
+ 'EcsSpec' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'ECS规格。',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceType' => [
+ 'title' => '规格类型',
+ 'description' => '规格类型。',
+ 'type' => 'string',
+ 'example' => 'ecs.gn6e-c12g1.3xlarge',
+ ],
+ 'AcceleratorType' => [
+ 'title' => '加速器类型',
+ 'description' => '加速器类型。可能值为:'."\n"
+ .'- CPU'."\n"
+ .'- GPU',
+ 'type' => 'string',
+ 'example' => 'GPU',
+ ],
+ 'Cpu' => [
+ 'title' => 'cpu数量',
+ 'description' => 'CPU数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12',
+ ],
+ 'Gpu' => [
+ 'title' => 'gpu数量',
+ 'description' => 'GPU数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'GpuType' => [
+ 'title' => 'gpu类型',
+ 'description' => 'GPU类型。',
+ 'type' => 'string',
+ 'example' => 'NVIDIA v100',
+ ],
+ 'Memory' => [
+ 'title' => 'Memory数量',
+ 'description' => '内存大小(Mi或Gi)。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '92',
+ ],
+ 'GpuMemory' => [
+ 'title' => '显存大小',
+ 'description' => '显存大小。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '80',
+ ],
+ 'IsAvailable' => [
+ 'title' => '是否有库存',
+ 'description' => '是否有库存。可能值为:'."\n"
+ .'- true:有库存。'."\n"
+ .'- false:无库存。',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型,可选值:ECS, Lingjun',
+ 'description' => '资源类型,可能值为:'."\n"
+ .'- ECS'."\n"
+ .'- Lingjun',
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'DefaultGPUDriver' => [
+ 'title' => '默认GPU驱动版本',
+ 'description' => '默认GPU驱动版本。',
+ 'type' => 'string',
+ 'example' => '470.199.02',
+ ],
+ 'SupportedGPUDrivers' => [
+ 'title' => '支持的GPU驱动版本列表',
+ 'description' => '支持的GPU驱动版本列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '支持的GPU驱动版本列表。',
+ 'type' => 'string',
+ 'example' => '470.199.02, 535.54.03',
+ ],
+ ],
+ 'SpotStockStatus' => [
+ 'title' => '抢占式实例库存状态',
+ 'description' => '抢占式实例库存状态。',
+ 'type' => 'string',
+ 'example' => 'WithStock',
+ ],
+ 'NonProtectSpotDiscount' => [
+ 'title' => '抢占式实例当前价格折扣',
+ 'description' => '抢占式实例当前价格折扣。',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.1',
+ ],
+ 'PaymentTypes' => [
+ 'title' => '支持的付费类型列表',
+ 'description' => '支持的付费类型列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '付费类型:'."\n"
+ .'- Spot'."\n"
+ .'- PostPaid',
+ 'type' => 'string',
+ 'example' => 'Spot,PostPaid',
+ ],
+ ],
+ ],
+ ],
+ 'EnvVar' => [
+ 'title' => 'EnvVar',
+ 'description' => '环境变量。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '环境变量名称',
+ 'description' => '环境变量名称。',
+ 'type' => 'string',
+ 'example' => 'ENABLE_DEBUG',
+ ],
+ 'Value' => [
+ 'title' => '环境变量值',
+ 'description' => '环境变量值。',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'EventInfo' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'DLC任务的事件信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'PodId' => [
+ 'title' => '事件所属的Pod的Id',
+ 'type' => 'string',
+ ],
+ 'PodUid' => [
+ 'title' => '事件所属的Pod的Uid',
+ 'type' => 'string',
+ ],
+ 'Id' => [
+ 'title' => '事件的ID信息,用于获取相关上下文',
+ 'type' => 'string',
+ ],
+ 'Time' => [
+ 'title' => '事件的时间戳信息,该时间为UTC时间',
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'title' => '事件的文本内容',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'ExtraPodSpec' => [
+ 'title' => 'ExtraPodSpec',
+ 'description' => '额外Pod配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'SideCarContainers' => [
+ 'title' => '伴随容器',
+ 'description' => '伴随容器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '容器配置。',
+ '$ref' => '#/components/schemas/ContainerSpec',
+ ],
+ ],
+ 'InitContainers' => [
+ 'title' => '初始化容器',
+ 'description' => '初始化容器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '容器配置。',
+ '$ref' => '#/components/schemas/ContainerSpec',
+ ],
+ ],
+ 'PodLabels' => [
+ 'title' => 'Pod标签',
+ 'description' => 'Pod标签。',
+ 'type' => 'object',
+ 'deprecated' => true,
+ 'additionalProperties' => [
+ 'description' => '标签。格式:Key=Value。',
+ 'type' => 'string',
+ 'example' => 'example-lable',
+ ],
+ ],
+ 'PodAnnotations' => [
+ 'title' => 'Pod注解',
+ 'description' => 'Pod注解。',
+ 'type' => 'object',
+ 'deprecated' => true,
+ 'additionalProperties' => [
+ 'description' => '注解。格式:Key=Value。',
+ 'type' => 'string',
+ 'example' => 'example-annotation',
+ ],
+ ],
+ 'SharedVolumeMountPaths' => [
+ 'title' => '容器间共享的本地目录',
+ 'description' => '容器间共享的本地目录。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '共享的本地目录。',
+ 'type' => 'string',
+ 'example' => '/root/share/',
+ ],
+ ],
+ 'Lifecycle' => [
+ 'description' => 'Lifecycle对象。',
+ '$ref' => '#/components/schemas/Lifecycle',
+ ],
+ ],
+ ],
+ 'FreeResourceClusterControlItem' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'FreeResourceClusterControlId' => [
+ 'title' => '超卖资源集群控制Id',
+ 'type' => 'string',
+ 'example' => 'frcc-whateversth',
+ ],
+ 'RegionID' => [
+ 'title' => '区域id',
+ 'type' => 'string',
+ ],
+ 'ClusterID' => [
+ 'title' => '集群ID',
+ 'type' => 'string',
+ ],
+ 'ClusterName' => [
+ 'title' => '集群名',
+ 'type' => 'string',
+ ],
+ 'EnableFreeResource' => [
+ 'title' => '是否打开集群超卖',
+ 'type' => 'boolean',
+ ],
+ 'CrossClusters' => [
+ 'title' => '是否允许跨集群超卖',
+ 'type' => 'boolean',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间',
+ 'type' => 'string',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'FreeResourceDetail' => [
+ 'title' => 'A short description of struct',
+ 'description' => '超卖资源细节',
+ 'type' => 'object',
+ 'properties' => [
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'type' => 'string',
+ 'example' => 'CPU',
+ ],
+ 'Amount' => [
+ 'title' => '资源数量',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'FreeResourceItem' => [
+ 'title' => '空闲资源信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'FreeResourceId' => [
+ 'title' => '空闲资源Id',
+ 'type' => 'string',
+ 'example' => 'freeres-whateversth',
+ ],
+ 'RegionID' => [
+ 'title' => '域Id',
+ 'type' => 'string',
+ 'example' => 'inner',
+ ],
+ 'ClusterID' => [
+ 'title' => '集群Id',
+ 'type' => 'string',
+ ],
+ 'ClusterName' => [
+ 'title' => '集群名',
+ 'type' => 'string',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'type' => 'string',
+ 'example' => 'cpu',
+ ],
+ 'AvailableNumber' => [
+ 'title' => '资源数量',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间',
+ 'type' => 'string',
+ 'example' => '2021-01-18T12:52:15Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间',
+ 'type' => 'string',
+ 'example' => '2021-01-18T12:52:15Z',
+ ],
+ ],
+ ],
+ 'GPUDetail' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'GPU详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'GPU' => [
+ 'title' => 'GPU卡数',
+ 'type' => 'string',
+ ],
+ 'GPUType' => [
+ 'title' => 'GPU卡型',
+ 'type' => 'string',
+ 'example' => 'Tesla-V100-32G',
+ ],
+ 'GPUTypeFullName' => [
+ 'title' => 'GPU卡型全名',
+ 'type' => 'string',
+ 'example' => 'nvidia.com/gpu-tesla-v100-sxm2-16gb',
+ ],
+ ],
+ ],
+ 'HyperNodeSpec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HyperNodeName' => [
+ 'type' => 'string',
+ ],
+ 'NodeNames' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'ImageConfig' => [
+ 'title' => 'A short description of struct',
+ 'description' => '私有镜像信息配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'DockerRegistry' => [
+ 'title' => '镜像仓库地址',
+ 'description' => '镜像仓库地址',
+ 'type' => 'string',
+ 'example' => 'docker****registry.com',
+ ],
+ 'Username' => [
+ 'title' => '镜像仓库用户名',
+ 'description' => '镜像仓库用户名',
+ 'type' => 'string',
+ 'example' => ' username',
+ ],
+ 'Password' => [
+ 'title' => '镜像仓库密码',
+ 'description' => '镜像仓库密码',
+ 'type' => 'string',
+ 'example' => 'password',
+ ],
+ 'Auth' => [
+ 'title' => '镜像仓库认证信息',
+ 'description' => '镜像仓库认证信息',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'ImageItem' => [
+ 'title' => 'Docker image详情',
+ 'description' => 'Docker Image详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'ImageTag' => [
+ 'title' => '镜像Tag',
+ 'description' => 'Docker镜像的Tag',
+ 'type' => 'string',
+ 'example' => 'tensorflow-training:2.3-cpu-py36-ubuntu18.04',
+ ],
+ 'ImageUrl' => [
+ 'title' => '镜像地址',
+ 'description' => '镜像URL地址',
+ 'type' => 'string',
+ 'example' => 'registry.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:2.3-cpu-py36-ubuntu18.04',
+ ],
+ 'ImageUrlVpc' => [
+ 'title' => '镜像vpc地址',
+ 'description' => '镜像URL的阿里云VPC地址,访问速度更快。',
+ 'type' => 'string',
+ 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:2.3-cpu-py36-ubuntu18.04',
+ ],
+ 'ImageProviderType' => [
+ 'title' => '镜像类型',
+ 'description' => '镜像类型,枚举值:'."\n"
+ ."\n"
+ .'- Community: 社区'."\n"
+ .'- PAI: PAI平台优化',
+ 'type' => 'string',
+ 'example' => 'Community',
+ ],
+ 'AcceleratorType' => [
+ 'title' => '加速器类型',
+ 'description' => '镜像加速器类型,枚举型:'."\n"
+ ."\n"
+ .'- cpu'."\n"
+ .'- gpu',
+ 'type' => 'string',
+ 'example' => 'gpu',
+ ],
+ 'Framework' => [
+ 'title' => '镜像包含的框架类型',
+ 'description' => '镜像封装的计算框架,枚举型:'."\n"
+ ."\n"
+ .'- TFJob'."\n"
+ .'- PyTorchJob',
+ 'type' => 'string',
+ 'example' => 'PyTorchJob',
+ ],
+ 'AuthorId' => [
+ 'title' => '镜像作者',
+ 'description' => '镜像作者',
+ 'type' => 'string',
+ 'example' => 'ken',
+ ],
+ ],
+ ],
+ 'JobDebuggerConfig' => [
+ 'title' => 'job的debugger配置信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'DebuggerConfigId' => [
+ 'title' => 'debugger配置项ID',
+ 'type' => 'string',
+ ],
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'type' => 'string',
+ ],
+ 'DebuggerConfigContent' => [
+ 'title' => 'debugger配置信息',
+ 'type' => 'string',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => 'debugger配置创建的时间',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'JobElasticSpec' => [
+ 'title' => '弹性任务参数',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableElasticTraining' => [
+ 'title' => '打开弹性训练',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'MinParallelism' => [
+ 'title' => '最小并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MaxParallelism' => [
+ 'title' => '最大并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'AIMasterType' => [
+ 'title' => 'aimaster角色使用的资源规格',
+ 'type' => 'string',
+ ],
+ 'AIMasterDockerImage' => [
+ 'title' => 'aimaster docker镜像',
+ 'type' => 'string',
+ ],
+ 'EnablePsJobElasticWorker' => [
+ 'title' => '是否开启弹性Worker对于PS作业',
+ 'type' => 'boolean',
+ ],
+ 'EnableAIMaster' => [
+ 'title' => '是否打开AIMaster',
+ 'type' => 'boolean',
+ ],
+ 'EnablePsResourceEstimate' => [
+ 'title' => '是否打开PS资源预估',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'EnablePsJobElasticPS' => [
+ 'title' => '是否打开弹性PS功能',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'PSMinParallelism' => [
+ 'title' => 'PS最小并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'PSMaxParallelism' => [
+ 'title' => 'PS最大并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'ElasticStrategy' => [
+ 'title' => '弹性训练策略',
+ 'type' => 'string',
+ ],
+ 'EnableEDP' => [
+ 'title' => '是否打开EDP',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'EDPMaxParallelism' => [
+ 'title' => 'EDP最大并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '16',
+ ],
+ 'EDPMinParallelism' => [
+ 'title' => 'EDP最小并行度',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ ],
+ ],
+ 'JobItem' => [
+ 'title' => '作业详情信息',
+ 'description' => '作业详情信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业Id',
+ 'description' => '作业ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-********',
+ ],
+ 'CredentialConfig' => [
+ 'description' => '作业关联的访问凭证配置。',
+ '$ref' => '#/components/schemas/CredentialConfig',
+ ],
+ 'JobType' => [
+ 'title' => '作业类型',
+ 'description' => '作业类型,可能值:'."\n"
+ .'- TFJob'."\n"
+ .'- PyTorchJob'."\n"
+ .'- MPIJob'."\n"
+ .'- XGBoostJob'."\n"
+ .'- OneFlowJob'."\n"
+ .'- ElasticBatchJob'."\n"
+ .'- RayJob'."\n"
+ .'- SlurmJob',
+ 'type' => 'string',
+ 'example' => 'TFJob',
+ ],
+ 'DisplayName' => [
+ 'title' => '作业显示名称',
+ 'description' => '作业名称。',
+ 'type' => 'string',
+ 'example' => 'tf-mnist-test',
+ ],
+ 'UserVpc' => [
+ 'title' => '用户vpc',
+ 'description' => '用户VPC。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => [
+ 'title' => 'VPC ID',
+ 'description' => 'VPC ID',
+ 'type' => 'string',
+ 'example' => 'vpc-2zed***',
+ ],
+ 'SwitchId' => [
+ 'title' => '交换机ID',
+ 'description' => '交换机ID',
+ 'type' => 'string',
+ 'example' => 'vsw-2ze6***',
+ ],
+ 'SecurityGroupId' => [
+ 'title' => '安全组ID',
+ 'description' => '安全组ID',
+ 'type' => 'string',
+ 'example' => 'sg-2zeef***',
+ ],
+ 'ExtendedCidrs' => [
+ 'title' => '需要打通的扩展网段',
+ 'description' => '需要打通的扩展网段',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网络段的CIDR,如:10.2.0.0/16',
+ 'type' => 'string',
+ 'example' => '10.2.0.0/16',
+ ],
+ ],
+ 'DefaultRoute' => [
+ 'title' => '默认路由',
+ 'description' => '默认路由。取值如下:'."\n"
+ .'- eth0:表示使用默认网卡,通过公共网关访问外部网络。'."\n"
+ .'- eth1:表示使用用户弹性网卡,通过私有网关访问外部网络。',
+ 'type' => 'string',
+ 'example' => 'eth0',
+ ],
+ ],
+ 'example' => 'vpc-1',
+ ],
+ 'UserId' => [
+ 'title' => '作业提交人Id',
+ 'description' => '作业所属用户的UID。',
+ 'type' => 'string',
+ 'example' => '123456789',
+ ],
+ 'Username' => [
+ 'title' => '作业提交用户名',
+ 'description' => '作业提交用户名。',
+ 'type' => 'string',
+ 'example' => 'pai-dlc-role',
+ ],
+ 'Status' => [
+ 'title' => '作业状态',
+ 'description' => '作业状态,可能值:'."\n"
+ .'- Succeeded'."\n"
+ .'- Failed',
+ 'type' => 'string',
+ 'example' => 'Stopped',
+ ],
+ 'WorkspaceId' => [
+ 'title' => '作业所属工作空间ID',
+ 'description' => '作业所属工作空间ID。',
+ 'type' => 'string',
+ 'example' => '268',
+ ],
+ 'WorkspaceName' => [
+ 'title' => '作业所属工作空间名称',
+ 'description' => '作业所属工作空间名称。',
+ 'type' => 'string',
+ 'example' => 'dlc-workspace',
+ ],
+ 'ResourceId' => [
+ 'title' => '作业运行所在的资源组ID',
+ 'description' => '作业运行所在的资源组ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-quota',
+ ],
+ 'ResourceLevel' => [
+ 'title' => '作业运行时的资源级别',
+ 'description' => '作业运行时的资源级别。',
+ 'type' => 'string',
+ 'example' => 'L0',
+ ],
+ 'ReasonCode' => [
+ 'title' => '状态详情码',
+ 'description' => '作业进入当前状态的缘由Code。可能值:'."\n"
+ .'- InvalidParameter'."\n"
+ .'- JobSucceeded'."\n"
+ .'- JobStoppedByUser',
+ 'type' => 'string',
+ 'example' => 'JobStoppedByUser',
+ ],
+ 'ReasonMessage' => [
+ 'title' => '状态详情',
+ 'description' => '作业进入当前状态的缘由详细描述。',
+ 'type' => 'string',
+ 'example' => 'Job is stopped by user.',
+ ],
+ 'JobSpecs' => [
+ 'title' => '作业规格配置',
+ 'description' => '作业运行时的节点配置。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '节点配置。',
+ '$ref' => '#/components/schemas/JobSpec',
+ ],
+ ],
+ 'UserCommand' => [
+ 'title' => '用户命令',
+ 'description' => '作业每个节点运行的启动命令。',
+ 'type' => 'string',
+ 'example' => 'python /root/code/mnist.py',
+ ],
+ 'DataSources' => [
+ 'title' => '数据源配置列表',
+ 'description' => '本作业使用的所有数据源配置列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '数据源列表。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataSourceId' => [
+ 'title' => '数据源Id',
+ 'description' => '数据源配置ID。',
+ 'type' => 'string',
+ 'example' => 'data-20210114104214-********',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '数据源在本地的挂载路径。',
+ 'type' => 'string',
+ 'example' => '/mnt/data',
+ ],
+ ],
+ ],
+ ],
+ 'CodeSource' => [
+ 'title' => '代码源配置',
+ 'description' => '次作业使用的代码源配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'CodeSourceId' => [
+ 'title' => '代码源Id',
+ 'description' => '代码源配置ID。',
+ 'type' => 'string',
+ 'example' => 'code-20210111103721-********',
+ ],
+ 'Branch' => [
+ 'title' => '代码分支',
+ 'description' => '代码仓库分支。',
+ 'type' => 'string',
+ 'example' => 'master',
+ ],
+ 'Commit' => [
+ 'title' => '代码Commit',
+ 'description' => '此次作业使用的代码仓库的CommitID。',
+ 'type' => 'string',
+ 'example' => '44da109b59f8596152987eaa8f3b2487bb******',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '代码在本地的挂载路径。',
+ 'type' => 'string',
+ 'example' => '/mnt/data',
+ ],
+ ],
+ ],
+ 'ThirdpartyLibs' => [
+ 'title' => '三方库配置列表',
+ 'description' => '作业运行之前安装的第三方Python库列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '一个Python三方库。',
+ 'type' => 'string',
+ 'example' => 'numpy==1.16.1',
+ ],
+ ],
+ 'NodeNames' => [
+ 'title' => '节点名称',
+ 'description' => '节点名称。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '节点名称。',
+ 'type' => 'string',
+ 'example' => 'i-a',
+ ],
+ ],
+ 'ThirdpartyLibDir' => [
+ 'title' => '三方库(requirements.txt)文件路径',
+ 'description' => '三方库文件Requirements.txt所在目录。',
+ 'type' => 'string',
+ 'example' => '/root/code/',
+ ],
+ 'Envs' => [
+ 'title' => '环境变量配置',
+ 'description' => '作业运行时被注入的环境变量。',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'description' => '环境变量的Key和Value。',
+ 'type' => 'string',
+ 'example' => 'ENABLE_DEBUG_MODE',
+ ],
+ ],
+ 'SystemEnvs' => [
+ 'title' => '系统环境变量配置',
+ 'description' => '系统环境变量配置。',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'description' => '系统环境变量配置。',
+ 'type' => 'string',
+ 'example' => 'ENABLE_DEBUG_MODE',
+ ],
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '作业创建时间(UTC)',
+ 'description' => '作业创建时间, UTC格式。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:25:34Z',
+ ],
+ 'GmtSubmittedTime' => [
+ 'title' => '作业提交时间(UTC)',
+ 'description' => '作业提交时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:26:14Z',
+ ],
+ 'GmtRunningTime' => [
+ 'title' => '作业开始运行时间(UTC)',
+ 'description' => '作业开始运行时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:26:41Z',
+ ],
+ 'GmtSuccessedTime' => [
+ 'title' => '作业成功完成时间(UTC)',
+ 'description' => '作业成功完成时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:28:20Z',
+ ],
+ 'GmtStoppedTime' => [
+ 'title' => '作业停止时间(UTC)',
+ 'description' => '作业停止时间(UTC)。',
+ 'type' => 'string',
+ 'example' => 'null',
+ ],
+ 'GmtFailedTime' => [
+ 'title' => '作业失败时间(UTC)',
+ 'description' => '作业失败时间(UTC)。',
+ 'type' => 'string',
+ 'example' => 'null',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => '作业结束时间(UTC)',
+ 'description' => '作业结束时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:28:20Z',
+ ],
+ 'GmtModifiedTime' => [
+ 'title' => '作业修改时间时间(UTC)',
+ 'description' => '作业修改时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2025-04-16T07:28:22Z',
+ ],
+ 'Duration' => [
+ 'title' => '作业运行时长,单位:秒',
+ 'description' => '作业运行时长,单位:秒。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '243',
+ ],
+ 'JobMaxRunningTimeMinutes' => [
+ 'title' => '作业最长运行时长',
+ 'description' => '作业最长运行时长。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'Settings' => [
+ 'title' => '作业额外参数',
+ 'description' => '作业额外参数。',
+ '$ref' => '#/components/schemas/JobSettings',
+ ],
+ 'EnabledDebugger' => [
+ 'title' => '是否开启了debugger分析',
+ 'description' => '是否开启了DeBugger分析。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'IsDeleted' => [
+ 'title' => '是否被删除',
+ 'description' => '是否被删除。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'EnablePreemptibleJob' => [
+ 'title' => '是否开启了PreemptibleJob',
+ 'description' => '是否开启了PreemptibleJob。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ResourceName' => [
+ 'title' => '作业运行的资源名称',
+ 'description' => '作业运行的资源名称。',
+ 'type' => 'string',
+ 'example' => 'my_resource_group',
+ ],
+ 'WorkingDir' => [
+ 'title' => '工作路径',
+ 'description' => '工作路径。',
+ 'type' => 'string',
+ 'example' => '/mnt/data',
+ ],
+ 'UserScript' => [
+ 'title' => '用户脚本',
+ 'description' => '用户脚本。',
+ 'type' => 'string',
+ 'example' => 'ls ',
+ ],
+ 'RestartTimes' => [
+ 'title' => '作业重启的次数',
+ 'description' => '作业重启的次数。',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'RequestCPU' => [
+ 'title' => '申请的CPU资源',
+ 'description' => '申请的CPU资源。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'RequestMemory' => [
+ 'title' => '申请的内存资源',
+ 'description' => '申请的内存资源。',
+ 'type' => 'string',
+ 'example' => '1Gi',
+ ],
+ 'ResourceQuotaName' => [
+ 'title' => '资源名称',
+ 'description' => '资源名称。',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RequestGPU' => [
+ 'title' => '申请的GPU资源',
+ 'description' => '申请的GPU资源。',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NodeCount' => [
+ 'title' => '节点个数',
+ 'description' => '节点个数。',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'Priority' => [
+ 'title' => '任务优先级',
+ 'description' => '任务优先级。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SubStatus' => [
+ 'title' => '作业子状态,如抢占重试状态',
+ 'description' => '作业子状态,如抢占重试状态。',
+ 'type' => 'string',
+ 'example' => 'Restarting',
+ ],
+ 'UseOversoldResource' => [
+ 'title' => '作业是否使用闲时资源',
+ 'description' => '作业是否使用闲时资源。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型,可选值:ECS、Lingjun、ACS等',
+ 'description' => '资源类型,可选值:ECS、Lingjun、ACS等。',
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'Accessibility' => [
+ 'title' => '可见性',
+ 'description' => '可见性。',
+ 'type' => 'string',
+ 'example' => 'PUBLIC',
+ ],
+ 'ClusterId' => [
+ 'title' => '集群id',
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'example' => '****1316721349****',
+ ],
+ 'TenantId' => [
+ 'title' => '租户id',
+ 'description' => '租户ID。',
+ 'type' => 'string',
+ 'example' => '****93955616****',
+ ],
+ 'StatusHistory' => [
+ 'title' => 'StatusHistory',
+ 'description' => '作业流转状态信息。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '作业流转状态信息条目。',
+ '$ref' => '#/components/schemas/StatusTransitionItem',
+ ],
+ ],
+ 'ElasticSpec' => [
+ 'description' => '弹性任务参数。',
+ '$ref' => '#/components/schemas/JobElasticSpec',
+ ],
+ 'Pods' => [
+ 'title' => 'Pods',
+ 'description' => 'Pods。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Pod的详细信息。',
+ '$ref' => '#/components/schemas/PodItem',
+ ],
+ ],
+ 'TemplateId' => [
+ 'type' => 'string',
+ ],
+ 'TemplateName' => [
+ 'type' => 'string',
+ ],
+ 'JobReplicaStatuses' => [
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/JobReplicaStatus',
+ ],
+ ],
+ ],
+ ],
+ 'JobReplicaStatus' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'type' => 'string',
+ ],
+ 'Active' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'EstimatedPodCount' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'EstimatedAutoScalingSpec' => [
+ '$ref' => '#/components/schemas/AutoScalingSpec',
+ ],
+ 'EstimatedResourceConfig' => [
+ '$ref' => '#/components/schemas/ResourceConfig',
+ ],
+ 'Queuing' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Dequeued' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ 'JobSettings' => [
+ 'title' => '作业额外参数配置',
+ 'description' => '额外参数配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'BusinessUserId' => [
+ 'title' => '作业关联用户ID',
+ 'description' => '作业关联用户ID。',
+ 'type' => 'string',
+ 'example' => '16****',
+ ],
+ 'Caller' => [
+ 'title' => '调用方',
+ 'description' => '调用方。',
+ 'type' => 'string',
+ 'example' => 'SilkFlow',
+ ],
+ 'Tags' => [
+ 'title' => '自定义标签',
+ 'description' => '自定义标签。',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'description' => '标签。',
+ 'type' => 'string',
+ 'example' => 'key:value',
+ ],
+ ],
+ 'PipelineId' => [
+ 'title' => '工作流ID',
+ 'description' => '工作流ID。',
+ 'type' => 'string',
+ 'example' => 'pid-12****',
+ ],
+ 'EnableTideResource' => [
+ 'title' => '允许作业使用潮汐资源',
+ 'description' => '允许任务使用潮汐资源。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'EnableErrorMonitoringInAIMaster' => [
+ 'title' => '允许打开作业容错监控',
+ 'description' => '允许作业开启容错监控。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ErrorMonitoringArgs' => [
+ 'title' => '用户指定容错监控的配置参数,比如指定是否启动基于log hang的检测',
+ 'description' => '启用容错监控后,用于指定容错监控的配置参数,比如指定是否启动基于log hang的检测。',
+ 'type' => 'string',
+ 'example' => '--enable-log-hang-detection true',
+ ],
+ 'EnableRDMA' => [
+ 'title' => '允许作业使用RDMA',
+ 'description' => '允许作业使用RDMA。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'EnableOssAppend' => [
+ 'title' => '运行oss追加写',
+ 'description' => '是否允许OSS追加写。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'OversoldType' => [
+ 'title' => '作业的超卖资源使用方式(不接受/可接受/只接受)',
+ 'description' => '作业的超卖资源使用方式(不接受/可接受/只接受)。',
+ 'type' => 'string',
+ 'example' => 'AcceptQuotaOverSold',
+ ],
+ 'AdvancedSettings' => [
+ 'title' => '额外高级参数配置',
+ 'description' => '额外高级参数配置。',
+ 'type' => 'object',
+ ],
+ 'Driver' => [
+ 'title' => 'NVIDAI驱动配置',
+ 'description' => 'NVIDIA驱动配置。',
+ 'type' => 'string',
+ 'example' => '535.54.03',
+ ],
+ 'EnableSanityCheck' => [
+ 'title' => '允许作业开启算力健康检测',
+ 'description' => '允许作业开启算力健康检测。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SanityCheckArgs' => [
+ 'title' => '算力健康检测的配置参数',
+ 'description' => '算力健康检测的配置参数。',
+ 'type' => 'string',
+ 'example' => '--sanity-check-timing=AfterJobFaultTolerant --sanity-check-timeout-ops=MarkJobFail',
+ ],
+ 'JobReservedMinutes' => [
+ 'title' => '作业结束后保留的时长,单位分钟',
+ 'description' => '作业结束后保留的时长(分钟)。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'JobReservedPolicy' => [
+ 'title' => '作业结束后保留的策略',
+ 'description' => '作业结束后保留的策略。',
+ 'type' => 'string',
+ 'example' => 'Always',
+ 'enum' => [
+ 'Always',
+ 'OnFailure',
+ 'OnSucceed',
+ ],
+ ],
+ 'EnableCPUAffinity' => [
+ 'title' => 'CPU亲和性设置,仅在使用通用计算预付费资源时该设置有效',
+ 'description' => 'CPU亲和性设置,仅在使用通用计算预付费资源时该设置有效',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DisableEcsStockCheck' => [
+ 'title' => '是否跳过库存校验',
+ 'description' => '是否跳过库存校验。取值如下:'."\n"
+ .'- true'."\n"
+ .'- false',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'AllocateAllRDMADevices' => [
+ 'title' => '是否需要挂载全部RDMA网卡',
+ 'description' => '是否需要挂载全部RDMA网卡',
+ 'type' => 'boolean',
+ ],
+ 'EnableDSWDev' => [
+ 'type' => 'boolean',
+ ],
+ 'DataJuicerConfig' => [
+ 'description' => 'DataJuicer任务配置。',
+ '$ref' => '#/components/schemas/DataJuicerConfig',
+ ],
+ 'ModelConfig' => [
+ 'title' => '产出模型配置,该参数目前只在联合训练场景中生效',
+ 'description' => '产出模型配置,该参数目前只在联合训练场景中生效',
+ '$ref' => '#/components/schemas/ModelConfig',
+ ],
+ 'AllowUnschedulableNodes' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'JobSpec' => [
+ 'title' => 'JobSpec',
+ 'description' => '描述一种类型的Worker的详细配置,包括硬件规格,运行镜像,副本数量等。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => '类型',
+ 'description' => 'Type与Job Type紧密相关,不同Job Type支持不同的Worker Type。'."\n"
+ ."\n"
+ .'- **TFJob**:支持Chief, PS, Worker, Evaluator, GraphLearn。'."\n"
+ ."\n"
+ .'- **PyTorchJob**: 支持Worker, Master。'."\n"
+ ."\n"
+ .'- **XGBoostJob**: 支持Worker, Master。'."\n"
+ .'- **OneFlowJob**:支持Worker, Master。'."\n"
+ .'- **ElasticBatch**:支持Worker, Master。'."\n"
+ ."\n"
+ .'PyTorchJob、XGBoostJob、OneFlowJob和ElasticBatch中的Master是可选的,若未指定,系统会自动将第一个Worker节点作为Master。',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'Image' => [
+ 'title' => '镜像',
+ 'description' => '此类Worker的运行镜像地址,可以调用 [ListImages](~~449118~~) 获取PAI平台提供的镜像。也可以指定第三方公开的镜像。',
+ 'type' => 'string',
+ 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/cloud-dsw/tensorflow:1.12PAI-gpu-py36-cu101-ubuntu18.04',
+ ],
+ 'ImageConfig' => [
+ 'title' => '私有镜像配置',
+ 'description' => '私有镜像配置。',
+ '$ref' => '#/components/schemas/ImageConfig',
+ ],
+ 'PodCount' => [
+ 'title' => '实例数量',
+ 'description' => '副本数量。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'EcsSpec' => [
+ 'title' => 'Ecs实例规格',
+ 'description' => 'Worker的硬件规格,请访问[PAI-DLC计费说明](~~171758~~)获取详细规格列表。><notice>不同规格的价格会有区别。></notice>',
+ 'type' => 'string',
+ 'example' => 'ecs.c6.large',
+ ],
+ 'ExtraPodSpec' => [
+ 'title' => '额外的Pod配置',
+ 'description' => '额外的Pod配置。',
+ '$ref' => '#/components/schemas/ExtraPodSpec',
+ ],
+ 'ResourceConfig' => [
+ 'title' => '资源配置',
+ 'description' => '资源配置。',
+ '$ref' => '#/components/schemas/ResourceConfig',
+ ],
+ 'UseSpotInstance' => [
+ 'title' => '是否使用竞价实例',
+ 'description' => '是否使用竞价实例。',
+ 'type' => 'boolean',
+ 'deprecated' => true,
+ 'example' => 'false',
+ ],
+ 'SpotSpec' => [
+ 'title' => '抢占式实例配置',
+ 'description' => '抢占式实例配置。',
+ '$ref' => '#/components/schemas/SpotSpec',
+ ],
+ 'AssignNodeSpec' => [
+ 'title' => '指点调度节点配置',
+ 'description' => '指点调度节点配置。',
+ '$ref' => '#/components/schemas/AssignNodeSpec',
+ ],
+ 'LocalMountSpecs' => [
+ 'title' => '本地挂载配置列表',
+ 'description' => '本地挂载配置列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '本地挂载配置',
+ 'description' => '本地挂载配置',
+ '$ref' => '#/components/schemas/LocalMountSpec',
+ ],
+ ],
+ 'AutoScalingSpec' => [
+ 'title' => '自动伸缩配置',
+ 'description' => '自动伸缩配置',
+ '$ref' => '#/components/schemas/AutoScalingSpec',
+ ],
+ 'ServiceSpec' => [
+ 'description' => '服务配置',
+ '$ref' => '#/components/schemas/ServiceSpec',
+ ],
+ 'IsCheif' => [
+ 'title' => '单词拼写错误,已废弃',
+ 'description' => '单词拼写错误,已废弃',
+ 'type' => 'boolean',
+ 'deprecated' => true,
+ ],
+ 'IsChief' => [
+ 'title' => '标记该角色是否是Chief角色,Chief角色只能有一个',
+ 'description' => '标记该角色是否是Chief角色,Chief角色只能有一个',
+ 'type' => 'boolean',
+ ],
+ 'RestartPolicy' => [
+ 'title' => '重启策略,支持Always,Never,OnFailure,ExitCode四种策略',
+ 'description' => '重启策略,支持Always,Never,OnFailure,ExitCode四种策略',
+ 'type' => 'string',
+ 'example' => 'ExitCode',
+ ],
+ 'SystemDisk' => [
+ '$ref' => '#/components/schemas/SystemDisk',
+ ],
+ 'StartupDependencies' => [
+ 'title' => '该角色启动前需要的依赖',
+ 'description' => '该角色启动前需要的依赖',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/StartupDependency',
+ ],
+ ],
+ ],
+ ],
+ 'JobTemplateVersionDetail' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Version' => [
+ 'title' => '版本号',
+ 'description' => '模板版本号',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Content' => [
+ 'title' => '模板内容',
+ 'description' => '任务模板的配置内容,支持 CreateJob 接口的所有参数字段,以 JSON 对象存储',
+ 'type' => 'string',
+ ],
+ 'CreatedBy' => [
+ 'title' => '版本创建者',
+ 'description' => '创建该版本的用户ID',
+ 'type' => 'string',
+ ],
+ 'GmtCreated' => [
+ 'title' => '版本创建时间',
+ 'description' => '该版本的创建时间',
+ 'type' => 'string',
+ 'format' => 'iso8601_normal',
+ ],
+ 'Constraints' => [
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'Lifecycle' => [
+ 'title' => 'Lifecycle对象',
+ 'type' => 'object',
+ 'properties' => [
+ 'PreStop' => [
+ 'title' => '容器停止之前',
+ 'type' => 'object',
+ 'properties' => [
+ 'Exec' => [
+ 'title' => '执行对象',
+ 'type' => 'object',
+ 'properties' => [
+ 'Command' => [
+ 'title' => '命令',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'PostStart' => [
+ 'title' => '容器启动之后',
+ 'type' => 'object',
+ 'properties' => [
+ 'Exec' => [
+ 'title' => '执行对象',
+ 'type' => 'object',
+ 'properties' => [
+ 'Command' => [
+ 'title' => '命令',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'LocalMountSpec' => [
+ 'title' => '本地挂载配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'MountPath' => [
+ 'title' => '容器内挂载绝对路径,必须以/开头,当MountMode为Block时,必须以/dev/开头',
+ 'type' => 'string',
+ ],
+ 'MountMode' => [
+ 'title' => '挂载模式,支持Block,Filesystem两种模式',
+ 'type' => 'string',
+ ],
+ 'LocalPath' => [
+ 'title' => '本地路径,当MountMode为Block时,该字段无效',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'LogInfo' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'PodUid' => [
+ 'title' => '日志所属的Pod的Uid',
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'title' => '日志的文本内容',
+ 'type' => 'string',
+ ],
+ 'Time' => [
+ 'title' => '日志的时间戳信息,该时间为UTC时间',
+ 'type' => 'string',
+ ],
+ 'IsTruncated' => [
+ 'title' => '标志日志是否被截断的属性。若为true,则代表该日志被截断。若为false,则代表日志未被截断。',
+ 'type' => 'boolean',
+ ],
+ 'PodId' => [
+ 'title' => '日志所属的Pod的Id',
+ 'type' => 'string',
+ ],
+ 'Id' => [
+ 'title' => '日志的ID信息,用于获取相关上下文',
+ 'type' => 'string',
+ ],
+ 'Source' => [
+ 'title' => '日志的来源',
+ 'type' => 'string',
+ 'example' => 'stderr, stdout',
+ ],
+ ],
+ ],
+ 'Member' => [
+ 'title' => 'A short description of struct',
+ 'description' => '工作空间成员',
+ 'type' => 'object',
+ 'properties' => [
+ 'MemberId' => [
+ 'title' => '成员id',
+ 'type' => 'string',
+ 'example' => 'ken_12345',
+ ],
+ 'MemberType' => [
+ 'title' => '成员角色',
+ 'type' => 'string',
+ 'example' => 'WorkspaceAdmin',
+ ],
+ ],
+ ],
+ 'Metric' => [
+ 'title' => '监控指标样本',
+ 'description' => '监控指标。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => [
+ 'title' => '时间戳(毫秒)',
+ 'description' => '时间戳(Unix Timestamp),单位为毫秒。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1616987726587',
+ ],
+ 'Value' => [
+ 'title' => '样本值',
+ 'description' => '监控数据的值。',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '23.45',
+ ],
+ ],
+ ],
+ 'ModelConfig' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModelName' => [
+ 'title' => '产出模型名称,联合训练的作业的产出模型会以这个模型名称注册到AI资产管理-模型当中',
+ 'type' => 'string',
+ ],
+ 'ModelTemplate' => [
+ 'title' => '模型模版配置,产出模型如果要一键部署到EAS时需要填写',
+ '$ref' => '#/components/schemas/ModelTemplate',
+ ],
+ ],
+ ],
+ 'ModelTemplate' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModelName' => [
+ 'title' => '模型模版名称',
+ 'type' => 'string',
+ ],
+ 'Provider' => [
+ 'title' => '模型模版提供方,默认值: \'pai\',表示PAI官方提供的模型模版',
+ 'type' => 'string',
+ ],
+ 'Collections' => [
+ 'title' => '模型模板所在的Collection,默认值:\'QuickStartTemplate\'',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'NodeMetric' => [
+ 'title' => '节点监控指标',
+ 'description' => '节点监控指标',
+ 'type' => 'object',
+ 'properties' => [
+ 'NodeName' => [
+ 'title' => '节点名称',
+ 'type' => 'string',
+ 'example' => 'asi_xxx',
+ ],
+ 'Metrics' => [
+ 'title' => '监控指标样本序列',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/Metric',
+ ],
+ ],
+ ],
+ ],
+ 'PodItem' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'Pod的详细信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => 'Pod类型',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'PodId' => [
+ 'title' => 'Pod Id',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-mtl37ge7gkvdz-worker-0',
+ ],
+ 'PodUid' => [
+ 'title' => 'Pod Uid',
+ 'type' => 'string',
+ 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d',
+ ],
+ 'Status' => [
+ 'title' => 'Pod状态',
+ 'type' => 'string',
+ 'example' => 'Stopped',
+ ],
+ 'Ip' => [
+ 'title' => 'Pod Ip',
+ 'type' => 'string',
+ 'example' => '10.0.1.2',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => 'Pod创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtStartTime' => [
+ 'title' => 'Pod启动时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:05Z',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => 'Pod结束时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:05Z',
+ ],
+ 'HistoryPods' => [
+ 'title' => '历史Pods',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/PodItem',
+ ],
+ ],
+ 'SubStatus' => [
+ 'type' => 'string',
+ ],
+ 'NodeName' => [
+ 'type' => 'string',
+ ],
+ 'PodIp' => [
+ 'type' => 'string',
+ ],
+ 'PodIps' => [
+ 'title' => '灵骏智算:用户VPC net0;管控VPC net;Pod间通信ethx'."\n"
+ .'通用计算:用户VPC eth1 专有网关默认路由;管控VPC eth0 公有网关默认路由;Pod间通信 net eRDMA',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/PodNetworkInterface',
+ ],
+ ],
+ ],
+ ],
+ 'PodMetric' => [
+ 'title' => 'Pod监控指标',
+ 'description' => '任务监控数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'PodId' => [
+ 'title' => 'Pod编号',
+ 'description' => '节点ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210329110128-******-worker-0',
+ ],
+ 'Metrics' => [
+ 'title' => '监控指标样本序列',
+ 'description' => '监控数据列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '监控数据。',
+ '$ref' => '#/components/schemas/Metric',
+ ],
+ ],
+ ],
+ ],
+ 'PodNetworkInterface' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'InterfaceName' => [
+ 'type' => 'string',
+ ],
+ 'Ip' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'Quota' => [
+ 'title' => '资源配额',
+ 'description' => '资源配额详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'QuotaId' => [
+ 'title' => '资源配额id',
+ 'type' => 'string',
+ 'example' => 'quotamtl37ge7gkvdz',
+ ],
+ 'QuotaName' => [
+ 'title' => '资源配额名称',
+ 'type' => 'string',
+ 'example' => 'dlc-quota',
+ ],
+ 'QuotaType' => [
+ 'title' => '资源配额类型',
+ 'type' => 'string',
+ 'example' => 'asiquota',
+ ],
+ 'UsedQuota' => [
+ 'title' => '资源用量',
+ '$ref' => '#/components/schemas/QuotaDetail',
+ ],
+ 'TotalQuota' => [
+ 'title' => '资源总量',
+ '$ref' => '#/components/schemas/QuotaDetail',
+ ],
+ 'ClusterId' => [
+ 'title' => '集群id',
+ 'type' => 'string',
+ ],
+ 'ClusterName' => [
+ 'title' => '集群名称',
+ 'type' => 'string',
+ ],
+ 'TotalTideQuota' => [
+ 'title' => '潮汐资源总量',
+ '$ref' => '#/components/schemas/QuotaDetail',
+ ],
+ 'UsedTideQuota' => [
+ 'title' => '潮汐资源用量',
+ '$ref' => '#/components/schemas/QuotaDetail',
+ ],
+ 'QuotaConfig' => [
+ 'title' => '资源配额设置',
+ '$ref' => '#/components/schemas/QuotaConfig',
+ ],
+ ],
+ ],
+ 'QuotaConfig' => [
+ 'title' => '资源配额度设置',
+ 'description' => '资源组配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableTideResource' => [
+ 'title' => '是否使用潮汐资源',
+ 'type' => 'boolean',
+ ],
+ 'ResourceLevel' => [
+ 'title' => '资源级别(L0, L1)',
+ 'type' => 'string',
+ ],
+ 'AllowedMaxPriority' => [
+ 'title' => '允许的最大优先级',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'EnableDLC' => [
+ 'title' => '是否开启DLC',
+ 'type' => 'boolean',
+ ],
+ 'EnableDSW' => [
+ 'title' => '是否开启DSW',
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'QuotaDetail' => [
+ 'title' => 'A short description of struct',
+ 'description' => '资源配额详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'CPU' => [
+ 'title' => 'CPU核数',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Memory' => [
+ 'title' => '内存容量',
+ 'type' => 'string',
+ 'example' => '10Gi',
+ ],
+ 'GPU' => [
+ 'title' => 'GPU卡数',
+ 'type' => 'string',
+ 'example' => '5',
+ ],
+ 'GPUType' => [
+ 'title' => 'GPU卡型',
+ 'type' => 'string',
+ 'example' => 'Tesla-V100',
+ ],
+ 'GPUTypeFullName' => [
+ 'title' => 'GPU卡型全名',
+ 'type' => 'string',
+ 'example' => 'nvidia.com/gpu',
+ ],
+ 'GPUDetails' => [
+ 'title' => 'GPU详情',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/GPUDetail',
+ ],
+ ],
+ ],
+ ],
+ 'ResourceConfig' => [
+ 'title' => '资源配置',
+ 'description' => '资源配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'CPU' => [
+ 'title' => 'CPU核心数',
+ 'description' => 'CPU核心数',
+ 'type' => 'string',
+ 'example' => '10',
+ ],
+ 'GPU' => [
+ 'title' => 'GPU核心数',
+ 'description' => 'GPU核心数',
+ 'type' => 'string',
+ 'example' => '3',
+ ],
+ 'Memory' => [
+ 'title' => '内存容量',
+ 'description' => '内存容量',
+ 'type' => 'string',
+ 'example' => '10Gi',
+ ],
+ 'SharedMemory' => [
+ 'title' => '共享内存容量',
+ 'description' => '共享内存容量',
+ 'type' => 'string',
+ 'example' => '5Gi',
+ ],
+ 'GPUType' => [
+ 'title' => '显卡类型',
+ 'description' => 'GPU类型',
+ 'type' => 'string',
+ 'example' => 'Tesla-V100-16G',
+ ],
+ ],
+ ],
+ 'ResourceLimit' => [
+ 'description' => '资源预估的限制。',
+ 'type' => 'object',
+ 'properties' => [
+ 'CPU' => [
+ 'title' => 'GPU核心数',
+ 'description' => 'GPU核心数。',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Memory' => [
+ 'title' => '内存容量',
+ 'description' => '内存容量限制,单位为Gi。',
+ 'type' => 'string',
+ 'example' => '10Gi',
+ ],
+ 'GPU' => [
+ 'title' => 'GPU核心数',
+ 'description' => 'GPU核心数。',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ 'ResourceRequirements' => [
+ 'title' => 'ResourceRequirements',
+ 'description' => '容器资源',
+ 'type' => 'object',
+ 'properties' => [
+ 'Limits' => [
+ 'title' => '资源限制',
+ 'description' => '资源限制',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}',
+ ],
+ ],
+ 'Requests' => [
+ 'title' => '资源需求',
+ 'description' => '资源需求',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}',
+ ],
+ ],
+ ],
+ ],
+ 'Resources' => [
+ 'title' => 'A short description of struct',
+ 'description' => '资源量',
+ 'type' => 'object',
+ 'properties' => [
+ 'CPU' => [
+ 'title' => 'CPU核心数',
+ 'type' => 'string',
+ 'example' => '10',
+ ],
+ 'GPU' => [
+ 'title' => 'GPU卡数',
+ 'type' => 'string',
+ 'example' => '8',
+ ],
+ 'Memory' => [
+ 'title' => '内存大小',
+ 'type' => 'string',
+ 'example' => '1024(单位GB)',
+ ],
+ ],
+ ],
+ 'SanityCheckResultItem' => [
+ 'title' => 'SanityCheck检测结果条目',
+ 'description' => 'SanityCheck检测结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Phase' => [
+ 'title' => '所在的检测阶段',
+ 'description' => '所在的检测阶段。',
+ 'type' => 'string',
+ 'example' => 'CheckInit',
+ ],
+ 'Message' => [
+ 'title' => '检测结果具体信息',
+ 'description' => '检测结果具体信息。',
+ 'type' => 'string',
+ ],
+ 'Status' => [
+ 'title' => '检测状态',
+ 'description' => '检测状态。',
+ 'type' => 'string',
+ 'example' => 'Succeeded',
+ ],
+ 'StartedAt' => [
+ 'title' => '检测开始时间',
+ 'description' => '检测开始时间。',
+ 'type' => 'string',
+ 'example' => '2023-11-30T16:47:30.343005+08:00',
+ ],
+ 'FinishedAt' => [
+ 'title' => '检测结束时间',
+ 'description' => '检测结束时间。',
+ 'type' => 'string',
+ 'example' => '2023-11-30T16:47:30.378817+08:00',
+ ],
+ 'CheckNumber' => [
+ 'title' => '第几次检测',
+ 'description' => '第几次检测。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'SeccompProfile' => [
+ 'title' => 'A short description of struct',
+ 'description' => '过滤进程的系统调用的SecurityContext配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => 'Seccomp配置类型,取值:Localhost,RuntimeDefault,Unconfined',
+ 'type' => 'string',
+ 'example' => 'Unconfined',
+ ],
+ 'LocalhostProfile' => [
+ 'title' => '节点上的seccomp配置文件路径,仅Type为Localhost生效',
+ 'type' => 'string',
+ 'example' => 'my-profiles/profile-allow.json',
+ ],
+ ],
+ ],
+ 'SecurityContext' => [
+ 'title' => 'A short description of struct',
+ 'description' => '容器安全上下文',
+ 'type' => 'object',
+ 'properties' => [
+ 'RunAsUser' => [
+ 'title' => '运行容器的用户UID',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'Privileged' => [
+ 'title' => '特权模式,仅对部分灵骏预付费用户场景开放',
+ 'type' => 'boolean',
+ ],
+ 'Capabilities' => [
+ '$ref' => '#/components/schemas/SecurityContextCapabilities',
+ ],
+ 'RunAsGroup' => [
+ 'title' => '运行容器的用户GID',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'SeccompProfile' => [
+ 'title' => 'Seccomp配置',
+ '$ref' => '#/components/schemas/SeccompProfile',
+ ],
+ ],
+ ],
+ 'SecurityContextCapabilities' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Add' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'Drop' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'ServiceExposure' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceId' => [
+ 'type' => 'string',
+ ],
+ 'DisplayName' => [
+ 'type' => 'string',
+ ],
+ 'JobId' => [
+ 'type' => 'string',
+ ],
+ 'PodId' => [
+ 'type' => 'string',
+ ],
+ 'Type' => [
+ 'type' => 'string',
+ ],
+ 'Port' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Status' => [
+ 'type' => 'string',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'ServiceSpec' => [
+ 'description' => '服务配置详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceMode' => [
+ 'title' => '服务模式,支持PerRole和PerPod',
+ 'description' => '服务模式,支持PerRole和PerPod,默认为空,空表示PerPod',
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'PerPod' => 'PerPod',
+ 'PerRole' => 'PerRole',
+ ],
+ 'example' => 'PerRole',
+ ],
+ 'ExtraPorts' => [
+ 'title' => '服务额外端口列表',
+ 'description' => '服务额外端口列表',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务额外端口',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8081',
+ ],
+ ],
+ 'DefaultPort' => [
+ 'title' => '服务默认端口',
+ 'description' => '服务默认端口',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8080',
+ ],
+ ],
+ ],
+ 'SmartCache' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'SmartCacheId' => [
+ 'title' => 'SmartCacheId',
+ 'type' => 'string',
+ 'example' => 'smartcache-20210114104214-vf9lowjt3pso',
+ ],
+ 'DisplayName' => [
+ 'title' => 'SmartCache 名称',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Description' => [
+ 'title' => 'SmartCache 描述',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'UserId' => [
+ 'title' => '创建者Id',
+ 'type' => 'string',
+ 'example' => '189xxx',
+ ],
+ 'MountPath' => [
+ 'title' => '数据源本地挂载目录',
+ 'type' => 'string',
+ 'example' => '/root/data/',
+ ],
+ 'Type' => [
+ 'title' => '挂载的数据类型',
+ 'type' => 'string',
+ 'example' => 'oss',
+ ],
+ 'FileSystemId' => [
+ 'title' => '阿里云的NAS文件系统ID',
+ 'type' => 'string',
+ 'example' => '1ca404****',
+ ],
+ 'Path' => [
+ 'title' => 'OSS数据源路径',
+ 'type' => 'string',
+ 'example' => 'oss://buc/path/to/dir',
+ ],
+ 'Endpoint' => [
+ 'title' => 'OSS Endpoint',
+ 'type' => 'string',
+ 'example' => 'oss-cn-beijing-internal.aliyuncs.com',
+ ],
+ 'Status' => [
+ 'title' => '运行状态',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间(UTC)',
+ 'type' => 'string',
+ 'example' => '2021-01-12T23:36:01Z',
+ ],
+ 'Duration' => [
+ 'title' => '已运行时长',
+ 'type' => 'string',
+ 'example' => '123456',
+ ],
+ 'Options' => [
+ 'title' => '可选的超参数',
+ 'type' => 'string',
+ 'example' => '{"num_threads": 32}',
+ ],
+ 'CacheWorkerSize' => [
+ 'title' => '每个cache worker的cache大小单位是GB',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'CacheWorkerNum' => [
+ 'title' => 'cache worker的数量单位是个',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'SpotSpec' => [
+ 'title' => '抢占式实例规格',
+ 'description' => '抢占式实例配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'SpotStrategy' => [
+ 'title' => '抢占式实例抢占策略',
+ 'description' => '抢占式实例抢占策略,可选值:'."\n"
+ .'- SpotWithPriceLimit',
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'SpotWithPriceLimit' => 'SpotWithPriceLimit',
+ ],
+ 'example' => 'SpotWithPriceLimit',
+ ],
+ 'SpotDiscountLimit' => [
+ 'title' => '抢占式实例最高价格折扣上限',
+ 'description' => '抢占式实例最高价格折扣上限。参数SpotDiscountLimit和SpotPriceLimit二选一',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.8',
+ ],
+ 'SpotPriceLimit' => [
+ 'title' => '抢占式实例最高价格上限',
+ 'description' => '抢占式实例最高价格上限,单位是元/分钟。参数SpotDiscountLimit和SpotPriceLimit二选一',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.4744',
+ ],
+ ],
+ ],
+ 'StartupDependency' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => '依赖的角色类型',
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'OnPhase' => [
+ 'title' => '依赖的角色到何种阶段视作满足',
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'MinReplicas' => [
+ 'title' => '依赖的角色最少多少个达到预期Phase视作满足',
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'StatusTransitionItem' => [
+ 'title' => '作业状态信息流转条目',
+ 'description' => '作业流转状态信息条目',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => '作业状态',
+ 'type' => 'string',
+ ],
+ 'StartTime' => [
+ 'title' => '此状态开始时间',
+ 'type' => 'string',
+ ],
+ 'EndTime' => [
+ 'title' => '此状态结束时间',
+ 'type' => 'string',
+ ],
+ 'ReasonCode' => [
+ 'title' => '出现此状态的原因码',
+ 'type' => 'string',
+ ],
+ 'ReasonMessage' => [
+ 'title' => '出现此状态的具体信息',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'SystemDisk' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Size' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ ],
+ 'Category' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'PerformanceLevel' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'Tensorboard' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'Tensorboard详情说明。',
+ 'type' => 'object',
+ 'properties' => [
+ 'TensorboardId' => [
+ 'title' => 'Tensorboard Id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tensorboard-xxx',
+ ],
+ 'TensorboardUrl' => [
+ 'title' => 'Tensorboard URL',
+ 'description' => 'Tensorboard URL。',
+ 'type' => 'string',
+ 'example' => 'http://xxxxxx',
+ ],
+ 'Status' => [
+ 'title' => '状态',
+ 'description' => '状态。',
+ 'type' => 'string',
+ 'example' => 'running',
+ ],
+ 'Duration' => [
+ 'title' => '运行时长',
+ 'description' => '运行时长(秒)。',
+ 'type' => 'string',
+ 'example' => '60',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间(UTC)',
+ 'description' => '创建时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:00Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '修改时间(UTC)',
+ 'description' => '修改时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:00Z',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => '结束时间(UTC)',
+ 'description' => '结束时间(UTC)',
+ 'type' => 'string',
+ 'example' => 'null',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'DisplayName' => [
+ 'title' => '展示名称',
+ 'description' => '展示名称。',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DataSourceId' => [
+ 'title' => '数据源Id',
+ 'description' => '数据源ID。',
+ 'type' => 'string',
+ 'example' => 'datasource-test',
+ ],
+ 'SummaryPath' => [
+ 'title' => '文件路径',
+ 'description' => '文件路径。',
+ 'type' => 'string',
+ 'example' => '/root/data',
+ ],
+ 'UserId' => [
+ 'title' => '创建者',
+ 'description' => '创建者的ID。',
+ 'type' => 'string',
+ 'example' => 'lycxxxxx',
+ ],
+ 'Username' => [
+ 'title' => '创建者的用户名',
+ 'description' => '创建者的用户名。',
+ 'type' => 'string',
+ 'example' => 'tensorboard.pai',
+ ],
+ 'ReasonCode' => [
+ 'title' => '状态详情码',
+ 'description' => '状态详情码。',
+ 'type' => 'string',
+ 'example' => '""',
+ ],
+ 'ReasonMessage' => [
+ 'title' => '状态详情',
+ 'description' => '状态详情。',
+ 'type' => 'string',
+ 'example' => '""',
+ ],
+ 'JobId' => [
+ 'title' => '任务Id',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210114104214-vf9lowjt3pso',
+ ],
+ 'TensorboardDataSources' => [
+ 'title' => 'Tensorboard任务挂载的数据集',
+ 'description' => 'Tensorboard任务挂载的数据集。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Tensorboard的数据集配置描述。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/TensorboardDataSourceSpec',
+ ],
+ ],
+ 'TensorboardSpec' => [
+ 'title' => 'Tensorboard任务的后付费配置',
+ 'description' => 'Tensorboard任务的后付费配置。',
+ '$ref' => '#/components/schemas/TensorboardSpec',
+ ],
+ 'QuotaId' => [
+ 'title' => 'Tensorboard使用的资源组Id',
+ 'description' => 'Tensorboard使用的资源组ID。',
+ 'type' => 'string',
+ 'example' => 'quota12***',
+ ],
+ 'Priority' => [
+ 'title' => 'Tensorboard任务的优先级',
+ 'description' => 'Tensorboard任务的优先级。',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'QuotaName' => [
+ 'title' => 'Tensorboard使用的资源配额的名称',
+ 'description' => 'Tensorboard使用的资源配额的名称。',
+ 'type' => 'string',
+ 'example' => 'dlc-quota',
+ ],
+ 'Accessibility' => [
+ 'title' => '可见性',
+ 'description' => '可见性。',
+ 'type' => 'string',
+ 'example' => 'PRIVATE',
+ ],
+ 'Cpu' => [
+ 'title' => 'Cpu资源',
+ 'description' => 'CPU资源。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'SummaryRelativePath' => [
+ 'title' => 'summary的绝对路径',
+ 'description' => 'Summary的绝对路径。',
+ 'type' => 'string',
+ 'example' => '/summary/',
+ ],
+ 'MaxRunningTimeMinutes' => [
+ 'title' => '最大运行时长',
+ 'description' => '最大运行时长(分钟)。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '240',
+ ],
+ 'WorkspaceId' => [
+ 'title' => '工资空间',
+ 'description' => '工资空间。',
+ 'type' => 'string',
+ 'example' => '123***',
+ ],
+ 'DataSourceType' => [
+ 'title' => '数据集类型',
+ 'description' => '数据集类型。',
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'Options' => [
+ 'title' => '配置参数',
+ 'description' => '数据集的扩展字段为 JSON 格式,当前支持 MountPath:自定义数据集挂载的路径。',
+ 'type' => 'string',
+ 'example' => '{"mountpath":"/root/data/"}',
+ ],
+ 'Memory' => [
+ 'title' => '内存',
+ 'description' => '内存大小(GB)。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'Token' => [
+ 'title' => 'token值',
+ 'description' => 'Token值。',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'TensorboardDataSourceSpec' => [
+ 'title' => 'Tensorboard的DataSource配置',
+ 'description' => 'Tensorboard的数据集配置描述。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DirectoryName' => [
+ 'title' => 'DataSource在Tensorboard内的目录前缀',
+ 'description' => '数据集在Tensorboard任务内的目录前缀。',
+ 'type' => 'string',
+ 'example' => 'dlcJobName',
+ ],
+ 'Name' => [
+ 'title' => 'DataSource名称',
+ 'description' => '数据集配置的名称。通常为数据集名称或者任务名称。',
+ 'type' => 'string',
+ 'example' => 'dlcJobName',
+ ],
+ 'Id' => [
+ 'title' => 'DataSource Id',
+ 'description' => '数据集配置的ID。通常为数据集ID,或者任务ID。',
+ 'type' => 'string',
+ 'example' => 'd-vf2fdhxxxxxx',
+ ],
+ 'DataSourceType' => [
+ 'title' => 'DataSource数据集类型',
+ 'description' => '数据集配置的Uri对应文件类型。',
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'Uri' => [
+ 'title' => 'DataSourceType对应的文件系统Uri',
+ 'description' => '数据集配置中的文件系统Uri。',
+ 'type' => 'string',
+ 'example' => 'oss://examplebucket.oss-cn-shanghai-internal.aliyuncs.com/',
+ ],
+ 'SourceType' => [
+ 'title' => 'DataSource的类型',
+ 'description' => '数据集的类型。'."\n"
+ .'- datasource代表按数据集类型配置。'."\n"
+ .'- dlcjob代表按任务类型配置。',
+ 'type' => 'string',
+ 'example' => 'datasource',
+ ],
+ 'SummaryPath' => [
+ 'title' => 'Tensorboard Summary文件路径',
+ 'description' => 'Summary目录路径。',
+ 'type' => 'string',
+ 'example' => '/tensorboard/run1',
+ ],
+ 'FullSummaryPath' => [
+ 'title' => 'Tensorboard Summary文件的最终路径',
+ 'description' => 'Summary目录的最终路径。',
+ 'type' => 'string',
+ 'example' => 'oss://xxxxx/tensorboard/run1',
+ ],
+ ],
+ ],
+ 'TensorboardSpec' => [
+ 'title' => 'Tensorboard任务后付费配置',
+ 'description' => '后付费的Tensorboard任务相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => [
+ 'title' => 'VPC的Id信息',
+ 'description' => '后付费Tensorboard任务配置的VPC的ID。',
+ 'type' => 'string',
+ 'example' => 'vpc-xxxx',
+ ],
+ 'EcsType' => [
+ 'title' => 'ECS规格',
+ 'description' => '后付费Tensorboard任务配置的ECS的规格。',
+ 'type' => 'string',
+ 'example' => 'ecs.g6.large',
+ ],
+ 'SecurityGroupId' => [
+ 'title' => '安全组的Id信息',
+ 'description' => '后付费Tensorboard任务配置的安全组的ID。',
+ 'type' => 'string',
+ 'example' => 'sg-xxxxx',
+ ],
+ 'SwitchId' => [
+ 'title' => 'VSwitch的Id信息',
+ 'description' => '后付费Tensorboard任务配置的vSwitch的ID。',
+ 'type' => 'string',
+ 'example' => 'vsw-xxxx',
+ ],
+ ],
+ ],
+ 'Workspace' => [
+ 'title' => 'A short description of struct',
+ 'description' => '工作空间',
+ 'type' => 'object',
+ 'properties' => [
+ 'WorkspaceId' => [
+ 'title' => '工作空间id',
+ 'type' => 'string',
+ 'example' => 'ws-20210126170216-mtl37ge7gkvdz',
+ ],
+ 'WorkspaceName' => [
+ 'title' => '工作空间名称',
+ 'type' => 'string',
+ 'example' => 'dlc-workspace',
+ ],
+ 'Creator' => [
+ 'title' => '创建者',
+ 'type' => 'string',
+ 'example' => 'ken',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '创建时间',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtModifyTime' => [
+ 'title' => '最近修改时间',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'Quotas' => [
+ 'title' => '资源配额列表',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/Quota',
+ ],
+ ],
+ 'TotalResources' => [
+ 'title' => '资源总量',
+ '$ref' => '#/components/schemas/Resources',
+ ],
+ 'Members' => [
+ 'title' => '成员列表',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/Member',
+ ],
+ ],
+ 'WorkspaceAdmins' => [
+ 'title' => '管理员列表',
+ 'type' => 'array',
+ 'items' => [
+ '$ref' => '#/components/schemas/Member',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'CreateJob' => [
+ 'summary' => '创建一个任务到集群中运行。您可以指定数据源配置、代码源配置、启动命令以及任务运行的每个节点的计算资源配置等信息',
+ 'path' => '/api/v1/jobs',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '13110',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '请求Body参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DisplayName' => [
+ 'title' => '作业显示名称',
+ 'description' => '任务的名称,命名格式如下:'."\n"
+ .'- 名称长度不超过256个字符。'."\n"
+ .'- 允许数字、字母、下划线(_)、英文句号(.)和短横线(-)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tf-mnist-test',
+ 'maxLength' => 1024,
+ 'minLength' => 1,
+ ],
+ 'JobType' => [
+ 'title' => '作业类型',
+ 'description' => '任务类型,大小写敏感。当前支持的任务类型:'."\n"
+ .'- TFJob'."\n"
+ .'- PyTorchJob'."\n"
+ .'- MPIJob'."\n"
+ .'- XGBoostJob'."\n"
+ .'- OneFlowJob'."\n"
+ .'- ElasticBatchJob'."\n"
+ .'- SlurmJob'."\n"
+ .'- RayJob'."\n"
+ .'- DataJuicerJob',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [
+ 'OneFlowJob' => 'OneFlow',
+ 'PyTorchJob' => 'PyTorch',
+ 'SlurmJob' => 'Slurm',
+ 'XGBoostJob' => 'XGBoost',
+ 'ElasticBatchJob' => 'ElasticBatch',
+ 'DataJuicerJob' => 'DataJuicer',
+ 'MPIJob' => 'MPIJob',
+ 'TFJob' => 'Tensorflow',
+ 'RayJob' => 'Ray',
+ ],
+ 'example' => 'TFJob',
+ 'maxLength' => 32,
+ 'minLength' => 1,
+ ],
+ 'JobSpecs' => [
+ 'title' => '作业规格配置',
+ 'description' => '**JobSpecs**描述任务运行时的各种配置,诸如镜像地址、启动命令、节点资源申明、副本数量等。'."\n"
+ ."\n"
+ .'DLC任务由不同类型的节点组成,同一类型的节点拥有完全相同的配置,这种配置被称为一个JobSpec。**JobSpecs**描述所有类型节点的配置,是JobSpec的数组。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '任务的运行时配置。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/JobSpec',
+ ],
+ 'required' => true,
+ 'minItems' => 1,
+ ],
+ 'UserCommand' => [
+ 'title' => '作业命令',
+ 'description' => '任务所有节点的启动命令。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'python /root/code/mnist.py',
+ ],
+ 'DataSources' => [
+ 'title' => '数据源配置列表',
+ 'description' => '任务运行所使用的数据源列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '本任务使用的所有数据源列表。按照数据源中的配置mount到每一个节点所在的容器本地目录上(本地目录由数据源中的配置MountPath指定)。'."\n"
+ ."\n"
+ .'任务的启动命令中的进程以MountPath为路径直接访问每一个数据源代表的分布式文件系统。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataSourceId' => [
+ 'title' => '数据源Id',
+ 'description' => '数据源的ID。<props="china">如何查看数据源ID,请参见[ListDatasets](~~457222~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-cn9dl*******',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '本任务需要挂载的路径,可选参数,默认使用数据源中的挂载路径。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/root/data',
+ ],
+ 'Uri' => [
+ 'title' => '数据源路径',
+ 'description' => '数据源路径。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/',
+ ],
+ 'Options' => [
+ 'description' => '自定义数据集挂载属性,目前仅支持 OSS。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{'."\n"
+ .' "fs.oss.download.thread.concurrency": "10",'."\n"
+ .' "fs.oss.upload.thread.concurrency": "10",'."\n"
+ .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n"
+ .'}',
+ ],
+ 'DataSourceVersion' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'MountAccess' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'EnableCache' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'CodeSource' => [
+ 'title' => '代码源配置',
+ 'description' => '本任务使用的代码源。任务的节点启动之前,DLC会自动下载代码源中配置好的代码,并Mount到容器的本地目录。',
+ 'type' => 'object',
+ 'properties' => [
+ 'CodeSourceId' => [
+ 'title' => '代码源Id',
+ 'description' => '代码源ID。<props="china">如何获取代码源ID,请参见[ListCodeSources ](~~459922~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'code-20210111103721-xxxxxxx',
+ ],
+ 'Branch' => [
+ 'title' => '代码分支',
+ 'description' => '本任务运行时,引用的代码仓库的分支,可选参数,默认使用代码源中的配置分支字段。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'master',
+ ],
+ 'Commit' => [
+ 'title' => '代码Commit',
+ 'description' => '本任务需要下载的代码Commit ID,可选参数,默认使用代码源中的CommitID配置。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '44da109b5******',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '本次任务需要挂载的路径,可选参数,默认使用代码源中配置挂载路径。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/root/data',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'UserVpc' => [
+ 'title' => '用户VPC',
+ 'description' => '用户VPC配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => [
+ 'title' => '用户VPC的id',
+ 'description' => '用户VPC的ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-abcdef****',
+ ],
+ 'SwitchId' => [
+ 'title' => '用户交换机的id',
+ 'description' => '用户交换机的ID,可选参数'."\n"
+ .'- 参数值为空时系统会根据库存情况自动选择合适的交换机;'."\n"
+ .'- 也可以自己指定交换机ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vs-abcdef****',
+ ],
+ 'SecurityGroupId' => [
+ 'title' => '用户安全组的id',
+ 'description' => '用户安全组的ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sg-abcdef****',
+ ],
+ 'ExtendedCIDRs' => [
+ 'title' => '扩展网段',
+ 'description' => '扩展网段'."\n"
+ .'- 当交换机ID为空时,此参数可以不提供,系统会自动获取VPC下的所有网段;'."\n"
+ .'- 当交换机ID不为空时,此参数必须提供,建议填写VPC下的所有网段。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '扩展网段。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.0.1/24',
+ ],
+ 'required' => false,
+ ],
+ 'DefaultRoute' => [
+ 'description' => '默认路由。取值如下:'."\n"
+ .'- eth0:表示使用默认网卡,通过公共网关访问外部网络。'."\n"
+ .'- eth1:表示使用用户弹性网卡,通过私有网关访问外部网络。具体配置方法,请参考[配置DSW实例通过专有公网网关访问公网](~~2525343~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'eth0',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'ThirdpartyLibs' => [
+ 'title' => '三方库配置列表',
+ 'description' => '待安装的Python三方库列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '指定一个第三方Python库和对应版本要求,例如:`numpy==1.16.1`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'numpy==1.16.1',
+ ],
+ 'required' => false,
+ ],
+ 'ThirdpartyLibDir' => [
+ 'title' => '三方库(requirements.txt)文件路径',
+ 'description' => 'Python三方库(requirements.txt)文件所在文件夹名称;每个节点在运行指定的UserCommand之前,PAI-DLC会从指定文件夹取出requirements.txt文件,并调用`pip install -r`安装。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/root/code/',
+ ],
+ 'Envs' => [
+ 'title' => '环境变量配置',
+ 'description' => '环境变量配置。',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => 'ENABLE_DEBUG_MODE',
+ 'description' => '一个环境变量,格式:`Key=Value`。'."\n"
+ .'><notice>环境变量需遵循POSIX标准></notice>',
+ ],
+ ],
+ 'JobMaxRunningTimeMinutes' => [
+ 'title' => '作业最大运行时间',
+ 'description' => '作业最长运行时长,单位为分钟。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1024',
+ ],
+ 'WorkspaceId' => [
+ 'title' => '工作空间编号',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ws-20210126170216-xxxxxxx',
+ ],
+ 'ResourceId' => [
+ 'title' => '资源组编号',
+ 'description' => '资源组ID,可选参数。'."\n"
+ .'- 参数值为空表示提交到公共资源组。'."\n"
+ .'- 如果当前工作空间已经绑定的资源配额,此处可以指定对应的资源配额ID;如何查询资源配额ID,详情请参见[管理资源配额](~~2651299~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rs-xxx',
+ ],
+ 'Priority' => [
+ 'title' => '作业优先级',
+ 'description' => '任务的优先级,可选参数,默认值1,参数值的范围是1~9。其中:'."\n"
+ ."\n"
+ .'- 1为最低优先级。'."\n"
+ .'- 9为最高优先级。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '8',
+ ],
+ 'Settings' => [
+ 'description' => '作业额外参数配置。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/JobSettings',
+ ],
+ 'ElasticSpec' => [
+ 'description' => '该参数暂未支持,无需关注。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/JobElasticSpec',
+ ],
+ 'DebuggerConfigContent' => [
+ 'title' => 'debugger参数',
+ 'description' => '该参数暂未支持,无需关注。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '“”',
+ ],
+ 'Options' => [
+ 'description' => '本任务的额外配置,通过此参数可以调整挂载的数据源的一些行为。如任务有挂载OSS类型的数据源时,可以通过将此参数配置为 `fs.oss.download.thread.concurrency=4,fs.oss.download.queue.size=16` ,覆盖JindoFS的默认参数。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1=value1,key2=value2',
+ ],
+ 'SuccessPolicy' => [
+ 'title' => '作业成功策略,支持ChiefWorker,AllWorkers,Never',
+ 'description' => '分布式多机任务的成功策略,目前只有Tensorflow的多机任务支持。'."\n"
+ .'- ChiefWorker:当指定为这个值的时候,只要Chief的pod成功结束,那么就认为整个任务成功结束。'."\n"
+ .'- AllWorkers(默认值):必须是所有的Worker全部成功,才会认为整个任务成功。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AllWorkers',
+ ],
+ 'CredentialConfig' => [
+ 'description' => '访问凭证配置。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/CredentialConfig',
+ ],
+ 'Accessibility' => [
+ 'description' => '作业的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE:在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRIVATE',
+ ],
+ 'CustomEnvs' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Visible' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'TemplateId' => [
+ 'title' => '模板 ID',
+ 'description' => '任务模版ID',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tplabc1234567',
+ ],
+ 'TemplateVersion' => [
+ 'title' => '模板版本号',
+ 'description' => '任务模版版本',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回JSON格式字符串。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业Id',
+ 'description' => '此次调用创建的任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc7*******',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '本次请求的ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc7*******\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]',
+ 'title' => '创建任务',
+ 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n"
+ .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>',
+ ],
+ 'DeleteJob' => [
+ 'summary' => '删除一个运行结束(或者已停止)的任务。',
+ 'path' => '/api/v1/jobs/{JobId}',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '34384',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc*************',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc*************',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"< 不支持 />","errorExample":""}]',
+ 'title' => '删除任务',
+ ],
+ 'UpdateJob' => [
+ 'summary' => '更新一个任务的配置信息,例如修改一个排队中任务的优先级。',
+ 'path' => '/api/v1/jobs/{JobId}',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '119379',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc*************',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '任务配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Priority' => [
+ 'title' => '设置优先级',
+ 'description' => '任务的优先级,值的范围是1~9:'."\n"
+ .'- 1为最低优先级。'."\n"
+ .'- 9为最高优先级。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ 'Accessibility' => [
+ 'description' => '任务的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE:在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRIVATE',
+ ],
+ 'JobSpecs' => [
+ 'title' => '任务规格定义',
+ 'type' => 'array',
+ 'items' => [
+ 'required' => false,
+ '$ref' => '#/components/schemas/JobSpec',
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回内容。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc*************',
+ ],
+ 'RequestId' => [
+ 'title' => '请求ID',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"< 不支持 />","errorExample":""}]',
+ 'title' => '更新任务配置',
+ ],
+ 'StopJob' => [
+ 'summary' => '停止一个正在运行的任务。',
+ 'path' => '/api/v1/jobs/{JobId}/stop',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '13123',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-20210126170216-xxxxxx',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回内容。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-xxxxxxx',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]',
+ 'title' => '停止任务',
+ ],
+ 'ListJobs' => [
+ 'summary' => '获取任务列表,支持分页、排序和按条件过滤。',
+ 'path' => '/api/v1/jobs',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '13122',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '作业显示名称,支持模糊查询',
+ 'description' => '任务名称,支持模糊查询,大小写不敏感,不支持通配符。'."\n"
+ .'例如:输入test,可以匹配test-job1、job-test、job-test2或job-Test;但是不能匹配job-t1。'."\n"
+ .'默认为空,代表任意任务名称。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tf-mnist-test',
+ 'maxLength' => 1024,
+ ],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '作业类型',
+ 'description' => '任务类型,默认为空,代表所有类型。支持的任务类型如下:'."\n"
+ .'- TFJob'."\n"
+ .'- PyTorchJob'."\n"
+ .'- XGBoostJob'."\n"
+ .'- OneFlowJob'."\n"
+ .'- ElasticBatchJob',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TFJob',
+ 'maxLength' => 32,
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '作业状态',
+ 'description' => '任务运行状态,可能值:'."\n"
+ .'- Creating'."\n"
+ .'- Queuing'."\n"
+ .'- Bidding (当前仅限灵骏Spot作业)'."\n"
+ .'- EnvPreparing'."\n"
+ .'- SanityChecking'."\n"
+ .'- Running'."\n"
+ .'- Restarting'."\n"
+ .'- Stopping'."\n"
+ .'- SucceededReserving'."\n"
+ .'- FailedReserving'."\n"
+ .'- Succeeded'."\n"
+ .'- Failed'."\n"
+ .'- Stopped',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Running',
+ 'maxLength' => 200,
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '起始时间',
+ 'description' => '查询区间的起始时间;使用任务的创建时间来过滤。默认值是当前时间减去7天,即:如果StartTime与EndTime都没有配置时,默认查询最近7天的任务列表。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2025-04-16T07:25:34Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '截止时间',
+ 'description' => '查询区间的截止时间;使用任务的创建时间来过滤。默认值是当前时刻。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2025-04-16T07:26:41Z',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '当前页',
+ 'description' => '分页查询,指定当前需要返回的页码,起始值为1,默认为1。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '每页返回的作业数',
+ 'description' => '每页返回的任务数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '50',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '按返回字段排序',
+ 'description' => '排序字段:'."\n"
+ ."\n"
+ .'- DisplayName'."\n"
+ .'- JobType'."\n"
+ .'- Status'."\n"
+ .'- GmtCreateTime'."\n"
+ .'- GmtFinishTime',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GmtCreateTime',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '排序顺序',
+ 'description' => '排列顺序,支持:'."\n"
+ ."\n"
+ .'- desc:降序,默认值。'."\n"
+ .'- asc:升序。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'asc' => 'asc',
+ 'desc' => 'desc',
+ ],
+ 'example' => 'desc',
+ 'default' => 'desc',
+ ],
+ ],
+ [
+ 'name' => 'ShowOwn',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否只返回当前登录者所提交的作业',
+ 'description' => '是否只查询当前用户提交的任务列表。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ 'default' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '资源组ID',
+ 'description' => '资源组ID。如何查询专有资源组ID,详情请参见[管理资源配额](~~2651299~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'r*****',
+ ],
+ ],
+ [
+ 'name' => 'BusinessUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '作业关联用户ID',
+ 'description' => '任务关联用户ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '16****',
+ ],
+ ],
+ [
+ 'name' => 'Caller',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '调用方',
+ 'description' => '调用方。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'local',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '自定义标签',
+ 'description' => '用于过滤的标签。',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => 'recommandation',
+ 'description' => '单个标签。',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'PipelineId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作流ID',
+ 'description' => '过滤指定工作流ID创建的任务。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'flow-*******',
+ ],
+ ],
+ [
+ 'name' => 'FromAllWorkspaces',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '是否跨工作空间获取任务列表,需要配合`ShowOwn=true`参数使用,可以查询当前用户最近提交的任务列表。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务ID,不支持模糊查询,对大小写不敏感。不支持通配符。'."\n"
+ .'默认为空,代表任意任务ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc********',
+ ],
+ ],
+ [
+ 'name' => 'UserIdForFilter',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '用于过滤的用户ID',
+ 'description' => '按任务提交者的用户ID,过滤查询任务列表。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20**************',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '提交作业用户名,支持模糊匹配',
+ 'description' => '按任务提交者的用户名,过滤查询任务列表。支持模糊查询,不支持通配符。默认为空,表示不过滤用户名。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test***',
+ ],
+ ],
+ [
+ 'name' => 'ResourceQuotaName',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '资源组名称',
+ 'description' => '按资源配额的名字,过滤查询任务列表。支持模糊匹配,不支持通配符。默认为空,表示不过滤资源配额。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'quota***',
+ ],
+ ],
+ [
+ 'name' => 'Accessibility',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '作业的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE(默认值):在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'PUBLIC' => 'PUBLIC',
+ 'PRIVATE' => 'PRIVATE',
+ ],
+ 'example' => 'PRIVATE',
+ ],
+ ],
+ [
+ 'name' => 'OversoldInfo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '闲时资源信息,可能的取值'."\n"
+ .'- ForbiddenQuotaOverSold'."\n"
+ .'- ForceQuotaOverSold'."\n"
+ .'- AcceptQuotaOverSold-true (true表示作业实际使用了闲时资源)'."\n"
+ .'- AcceptQuotaOverSold-false (false表示作业实际使用了保障资源)',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ForbiddenQuotaOverSold',
+ ],
+ ],
+ [
+ 'name' => 'PaymentType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '资源类型,取值如下:'."\n"
+ .'- PrePaid:资源配额'."\n"
+ .'- Spot:竞价资源'."\n"
+ .'- PostPaid:公共资源',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PostPaid',
+ ],
+ ],
+ [
+ 'name' => 'JobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务ID列表,多个ID用英文逗号分隔。与JobId同时设置时,以JobId为准。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc123abc',
+ ],
+ ],
+ [
+ 'name' => 'DisplayNameSearchMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'DisplayName搜索模式。默认为通配符匹配。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'prefix' => 'prefix',
+ 'fulltext' => 'fulltext',
+ 'term' => 'term',
+ 'wildcard' => 'wildcard',
+ ],
+ 'example' => 'wildcard',
+ ],
+ ],
+ [
+ 'name' => 'ReasonSearch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '在任务失败原因(reason)字段中进行全文检索,支持中英文分词。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OOM',
+ ],
+ ],
+ [
+ 'name' => 'UserCommandSearch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '在用户命令(user_command)字段中进行全文检索,支持中英文分词。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'python train.py',
+ ],
+ ],
+ [
+ 'name' => 'ImageSearch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '在镜像(images)字段中进行全文检索,支持中英文分词。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'pytorch',
+ ],
+ ],
+ [
+ 'name' => 'TimeRangeField',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '指定StartTime/EndTime筛选使用的时间字段。不填默认为创建时间。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GmtFinishTime',
+ ],
+ ],
+ [
+ 'name' => 'NumericRangeField',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '数值范围筛选的字段名。需配合NumericRangeMin/NumericRangeMax使用。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RequestGPU',
+ ],
+ ],
+ [
+ 'name' => 'NumericRangeMin',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '数值范围筛选的最小值(包含)。需配合NumericRangeField使用。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '4 ',
+ ],
+ ],
+ [
+ 'name' => 'NumericRangeMax',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '数值范围筛选的最大值(包含)。需配合NumericRangeField使用。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '8',
+ ],
+ ],
+ [
+ 'name' => 'EnableAssignNode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '筛选是否启用指定节点运行的任务。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'true' => 'true',
+ 'false' => 'false',
+ ],
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'TemplateId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '模板ID,用于筛选由指定模板创建的任务。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tmlabc123 ',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '任务列表。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Jobs' => [
+ 'title' => '作业列表',
+ 'description' => '任务列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '单个任务。',
+ '$ref' => '#/components/schemas/JobItem',
+ ],
+ ],
+ 'TotalCount' => [
+ 'title' => '符合过滤条件的总作业数',
+ 'description' => '符合过滤条件的总任务数。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"dlc-20210126170216-mtl37ge7gkvdz\\",\\n \\"CredentialConfig\\": {\\n \\"EnableCredentialInject\\": true,\\n \\"AliyunEnvRoleKey\\": \\"\\",\\n \\"CredentialConfigItems\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Type\\": \\"\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"\\",\\n \\"RoleType\\": \\"\\",\\n \\"AssumeRoleFor\\": \\"\\",\\n \\"Policy\\": \\"\\",\\n \\"AssumeUserInfo\\": {\\n \\"SecurityToken\\": \\"\\",\\n \\"AccessKeyId\\": \\"\\",\\n \\"Type\\": \\"\\",\\n \\"Id\\": \\"\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"JobType\\": \\"TFJob\\",\\n \\"DisplayName\\": \\"tf-mnist-test\\",\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"\\",\\n \\"SwitchId\\": \\"\\",\\n \\"SecurityGroupId\\": \\"\\",\\n \\"ExtendedCidrs\\": [\\n \\"\\"\\n ],\\n \\"DefaultRoute\\": \\"\\"\\n },\\n \\"UserId\\": \\"123456789\\",\\n \\"Username\\": \\"pai-dlc-role\\",\\n \\"Status\\": \\"Stopped\\",\\n \\"WorkspaceId\\": \\"268\\",\\n \\"WorkspaceName\\": \\"dlc-workspace\\",\\n \\"ResourceId\\": \\"dlc-quota\\",\\n \\"ResourceLevel\\": \\"L0\\",\\n \\"ReasonCode\\": \\"JobStoppedByUser\\",\\n \\"ReasonMessage\\": \\"Job is stopped by user.\\",\\n \\"JobSpecs\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04\\",\\n \\"ImageConfig\\": {\\n \\"DockerRegistry\\": \\"registry.cn-hangzhou.aliyuncs.com\\",\\n \\"Username\\": \\"\\",\\n \\"Password\\": \\"\\",\\n \\"Auth\\": \\"\\"\\n },\\n \\"PodCount\\": 1,\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"ExtraPodSpec\\": {\\n \\"SideCarContainers\\": [\\n {\\n \\"Name\\": \\"data-init\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0\\",\\n \\"Command\\": [\\n \\"curl www.aliyun.com\\"\\n ],\\n \\"Args\\": [\\n \\"\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"\\"\\n }\\n }\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"Name\\": \\"data-init\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0\\",\\n \\"Command\\": [\\n \\"curl www.aliyun.com\\"\\n ],\\n \\"Args\\": [\\n \\"\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"\\"\\n }\\n }\\n }\\n ],\\n \\"PodLabels\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"PodAnnotations\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"SharedVolumeMountPaths\\": [\\n \\"/root/share/\\"\\n ],\\n \\"SharedVolumeEphemeralStorageSize\\": \\"\\",\\n \\"Lifecycle\\": {\\n \\"PreStop\\": {\\n \\"Exec\\": {\\n \\"Command\\": [\\n \\"\\"\\n ]\\n }\\n },\\n \\"PostStart\\": {\\n \\"Exec\\": {\\n \\"Command\\": [\\n \\"\\"\\n ]\\n }\\n }\\n },\\n \\"MainContainerSecurityContext\\": {\\n \\"RunAsUser\\": 1000,\\n \\"Privileged\\": true,\\n \\"Capabilities\\": {\\n \\"Add\\": [\\n \\"\\"\\n ],\\n \\"Drop\\": [\\n \\"\\"\\n ]\\n },\\n \\"RunAsGroup\\": 1000,\\n \\"SeccompProfile\\": {\\n \\"Type\\": \\"Unconfined\\",\\n \\"LocalhostProfile\\": \\"my-profiles/profile-allow.json\\"\\n }\\n }\\n },\\n \\"ResourceConfig\\": {\\n \\"CPU\\": \\"10\\",\\n \\"GPU\\": \\"3\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"SharedMemory\\": \\"5Gi\\",\\n \\"GPUType\\": \\"Tesla-V100-16G\\"\\n },\\n \\"UseSpotInstance\\": false,\\n \\"SpotSpec\\": {\\n \\"SpotStrategy\\": \\"\\",\\n \\"SpotDiscountLimit\\": 0,\\n \\"SpotPriceLimit\\": 0\\n },\\n \\"AssignNodeSpec\\": {\\n \\"EnableAssignNode\\": true,\\n \\"NodeNames\\": \\"lingjxxxxxxxx\\",\\n \\"AntiAffinityNodeNames\\": \\"lingjxxxxxxxx\\",\\n \\"HyperNodes\\": [\\n {\\n \\"HyperNodeName\\": \\"\\",\\n \\"NodeNames\\": \\"\\"\\n }\\n ],\\n \\"AntiAffinityHyperNodes\\": [\\n {\\n \\"HyperNodeName\\": \\"\\",\\n \\"NodeNames\\": \\"\\"\\n }\\n ]\\n },\\n \\"LocalMountSpecs\\": [\\n {\\n \\"MountPath\\": \\"\\",\\n \\"MountMode\\": \\"\\",\\n \\"LocalPath\\": \\"\\"\\n }\\n ],\\n \\"AutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0\\n }\\n },\\n \\"ServiceSpec\\": {\\n \\"ServiceMode\\": \\"\\",\\n \\"ExtraPorts\\": [\\n 0\\n ],\\n \\"DefaultPort\\": 0\\n },\\n \\"IsCheif\\": true,\\n \\"IsChief\\": true,\\n \\"RestartPolicy\\": \\"\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"StartupDependencies\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"OnPhase\\": \\"\\",\\n \\"MinReplicas\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"UserCommand\\": \\"python /root/code/mnist.py\\",\\n \\"DataSources\\": [\\n {\\n \\"DataSourceId\\": \\"data-20210114104214-vf9lowjt3pso\\",\\n \\"MountPath\\": \\"/mnt/data\\"\\n }\\n ],\\n \\"CodeSource\\": {\\n \\"CodeSourceId\\": \\"code-20210111103721-85qz78ia96lu\\",\\n \\"Branch\\": \\"master\\",\\n \\"Commit\\": \\"44da109b59f8596152987eaa8f3b2487bb72ea63\\",\\n \\"MountPath\\": \\"/mnt/data\\"\\n },\\n \\"ThirdpartyLibs\\": [\\n \\"numpy==1.16.1\\"\\n ],\\n \\"NodeNames\\": [\\n \\"i-a\\"\\n ],\\n \\"ThirdpartyLibDir\\": \\"/root/code/\\",\\n \\"Envs\\": {\\n \\"key\\": \\"ENABLE_DEBUG_MODE\\"\\n },\\n \\"SystemEnvs\\": {\\n \\"key\\": \\"ENABLE_DEBUG_MODE\\"\\n },\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtSubmittedTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtRunningTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtSuccessedTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtStoppedTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtFailedTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"Duration\\": 3602,\\n \\"JobMaxRunningTimeMinutes\\": 1,\\n \\"Settings\\": {\\n \\"BusinessUserId\\": \\"166924\\",\\n \\"Caller\\": \\"SilkFlow\\",\\n \\"Tags\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"PipelineId\\": \\"pid-123456\\",\\n \\"EnableTideResource\\": true,\\n \\"EnableErrorMonitoringInAIMaster\\": false,\\n \\"ErrorMonitoringArgs\\": \\"--enable-log-hang-detection true\\",\\n \\"EnableRDMA\\": true,\\n \\"EnableOssAppend\\": true,\\n \\"OversoldType\\": \\"AcceptQuotaOverSold\\",\\n \\"AdvancedSettings\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Driver\\": \\"535.54.03\\",\\n \\"EnableSanityCheck\\": true,\\n \\"SanityCheckArgs\\": \\"--sanity-check-timing=AfterJobFaultTolerant --sanity-check-timeout-ops=MarkJobFai\\",\\n \\"JobReservedMinutes\\": 30,\\n \\"JobReservedPolicy\\": \\"Always\\",\\n \\"EnableCPUAffinity\\": true,\\n \\"DisableEcsStockCheck\\": false,\\n \\"AllocateAllRDMADevices\\": true,\\n \\"EnableDSWDev\\": true,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"\\",\\n \\"CommandType\\": \\"\\",\\n \\"EnableResourceEstimation\\": true,\\n \\"ResourceLimit\\": {\\n \\"CPU\\": \\"\\",\\n \\"Memory\\": \\"\\",\\n \\"GPU\\": \\"\\"\\n }\\n },\\n \\"ModelConfig\\": {\\n \\"ModelName\\": \\"\\",\\n \\"ModelTemplate\\": {\\n \\"ModelName\\": \\"\\",\\n \\"Provider\\": \\"\\",\\n \\"Collections\\": \\"\\"\\n }\\n },\\n \\"AllowUnschedulableNodes\\": true\\n },\\n \\"EnabledDebugger\\": false,\\n \\"IsDeleted\\": false,\\n \\"EnablePreemptibleJob\\": false,\\n \\"ResourceName\\": \\"my_resource_group\\",\\n \\"WorkingDir\\": \\"/mnt/data\\",\\n \\"UserScript\\": \\"ls \\",\\n \\"RestartTimes\\": \\"1\\",\\n \\"RequestCPU\\": 1,\\n \\"RequestMemory\\": \\"1Gi\\",\\n \\"ResourceQuotaName\\": \\"test\\",\\n \\"RequestGPU\\": \\"1\\",\\n \\"NodeCount\\": \\"1\\",\\n \\"Priority\\": 1,\\n \\"SubStatus\\": \\"Restarting\\",\\n \\"UseOversoldResource\\": false,\\n \\"ResourceType\\": \\"ECS\\",\\n \\"Accessibility\\": \\"PUBLIC\\",\\n \\"ClusterId\\": \\"\\",\\n \\"TenantId\\": \\"\\",\\n \\"StatusHistory\\": [\\n {\\n \\"Status\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"ReasonCode\\": \\"\\",\\n \\"ReasonMessage\\": \\"\\"\\n }\\n ],\\n \\"ElasticSpec\\": {\\n \\"EnableElasticTraining\\": true,\\n \\"MinParallelism\\": 1,\\n \\"MaxParallelism\\": 8,\\n \\"AIMasterType\\": \\"\\",\\n \\"AIMasterDockerImage\\": \\"\\",\\n \\"EnablePsJobElasticWorker\\": true,\\n \\"EnableAIMaster\\": true,\\n \\"EnablePsResourceEstimate\\": true,\\n \\"EnablePsJobElasticPS\\": true,\\n \\"PSMinParallelism\\": 4,\\n \\"PSMaxParallelism\\": 10,\\n \\"ElasticStrategy\\": \\"\\",\\n \\"EnableEDP\\": true,\\n \\"EDPMaxParallelism\\": 16,\\n \\"EDPMinParallelism\\": 8\\n },\\n \\"Pods\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"PodId\\": \\"dlc-20210126170216-mtl37ge7gkvdz-worker-0\\",\\n \\"PodUid\\": \\"fe846462-af2c-4521-bd6f-96787a57591d\\",\\n \\"Status\\": \\"Stopped\\",\\n \\"Ip\\": \\"10.0.1.2\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtStartTime\\": \\"2021-01-12T14:36:05Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:05Z\\",\\n \\"HistoryPods\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"PodId\\": \\"dlc-20210126170216-mtl37ge7gkvdz-worker-0\\",\\n \\"PodUid\\": \\"fe846462-af2c-4521-bd6f-96787a57591d\\",\\n \\"Status\\": \\"Stopped\\",\\n \\"Ip\\": \\"10.0.1.2\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtStartTime\\": \\"2021-01-12T14:36:05Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:05Z\\",\\n \\"HistoryPods\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"PodId\\": \\"dlc-20210126170216-mtl37ge7gkvdz-worker-0\\",\\n \\"PodUid\\": \\"fe846462-af2c-4521-bd6f-96787a57591d\\",\\n \\"Status\\": \\"Stopped\\",\\n \\"Ip\\": \\"10.0.1.2\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtStartTime\\": \\"2021-01-12T14:36:05Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:05Z\\",\\n \\"HistoryPods\\": [],\\n \\"SubStatus\\": \\"\\",\\n \\"NodeName\\": \\"\\",\\n \\"PodIp\\": \\"\\",\\n \\"PodIps\\": [\\n {\\n \\"InterfaceName\\": \\"\\",\\n \\"Ip\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"SubStatus\\": \\"\\",\\n \\"NodeName\\": \\"\\",\\n \\"PodIp\\": \\"\\",\\n \\"PodIps\\": [\\n {\\n \\"InterfaceName\\": \\"\\",\\n \\"Ip\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"SubStatus\\": \\"\\",\\n \\"NodeName\\": \\"\\",\\n \\"PodIp\\": \\"\\",\\n \\"PodIps\\": [\\n {\\n \\"InterfaceName\\": \\"\\",\\n \\"Ip\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"TemplateId\\": \\"\\",\\n \\"TemplateName\\": \\"\\",\\n \\"JobReplicaStatuses\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"Active\\": 0,\\n \\"EstimatedPodCount\\": 0,\\n \\"EstimatedAutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0\\n }\\n },\\n \\"EstimatedResourceConfig\\": {\\n \\"CPU\\": \\"10\\",\\n \\"GPU\\": \\"3\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"SharedMemory\\": \\"5Gi\\",\\n \\"GPUType\\": \\"Tesla-V100-16G\\"\\n },\\n \\"Queuing\\": 0,\\n \\"Dequeued\\": 0\\n }\\n ]\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]',
+ 'title' => '获取任务列表',
+ ],
+ 'GetJob' => [
+ 'summary' => '获取一个任务的详细配置和运行时信息。',
+ 'path' => '/api/v1/jobs/{JobId}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '13115',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc*******',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'NeedDetail',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否返回作业详情信息,默认为true',
+ 'description' => '是否返回作业详情信息,默认为true',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'JSON格式的字符串。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业Id',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc*******',
+ ],
+ 'JobType' => [
+ 'title' => '作业类型',
+ 'description' => '任务类型。由[CreateJob](~~459672~~) API中的JobType指定。',
+ 'type' => 'string',
+ 'example' => 'TFJob',
+ ],
+ 'DisplayName' => [
+ 'title' => '作业显示名称',
+ 'description' => '任务名称。',
+ 'type' => 'string',
+ 'example' => 'tf-mnist-test',
+ ],
+ 'UserId' => [
+ 'title' => '作业提交人Id',
+ 'description' => '任务提交人的阿里云UID。',
+ 'type' => 'string',
+ 'example' => '12*********',
+ ],
+ 'Status' => [
+ 'title' => '作业状态',
+ 'description' => '任务运行状态,可能值:'."\n"
+ .'- Creating'."\n"
+ .'- Queuing'."\n"
+ .'- Bidding (当前仅限灵骏Spot作业)'."\n"
+ .'- EnvPreparing'."\n"
+ .'- SanityChecking'."\n"
+ .'- Running'."\n"
+ .'- Restarting'."\n"
+ .'- Stopping'."\n"
+ .'- SucceededReserving'."\n"
+ .'- FailedReserving'."\n"
+ .'- Succeeded'."\n"
+ .'- Failed'."\n"
+ .'- Stopped',
+ 'type' => 'string',
+ 'example' => 'Stopped',
+ ],
+ 'WorkspaceId' => [
+ 'title' => '作业所属工作空间ID',
+ 'description' => '任务所属工作空间ID。',
+ 'type' => 'string',
+ 'example' => '268',
+ ],
+ 'WorkspaceName' => [
+ 'title' => '作业所属工作空间名称',
+ 'description' => '任务所属工作空间名称。',
+ 'type' => 'string',
+ 'example' => 'dlc-workspace',
+ ],
+ 'ResourceId' => [
+ 'title' => '作业运行所在的资源组ID',
+ 'description' => '任务运行所在的资源组ID。',
+ 'type' => 'string',
+ 'example' => 'r******',
+ ],
+ 'ResourceLevel' => [
+ 'title' => '作业运行时使用的资源级别',
+ 'description' => '任务运行时使用的资源级别。',
+ 'type' => 'string',
+ 'example' => 'L0',
+ ],
+ 'ReasonCode' => [
+ 'title' => '状态详情码',
+ 'description' => '状态详情码,对当前状态(Status)下的子状态的一个分类。',
+ 'type' => 'string',
+ 'example' => 'JobStoppedByUser',
+ ],
+ 'ReasonMessage' => [
+ 'title' => '状态详情',
+ 'description' => '状态详情的详细描述。',
+ 'type' => 'string',
+ 'example' => 'Job is stopped by user.',
+ ],
+ 'JobSpecs' => [
+ 'title' => '作业规格配置',
+ 'description' => '任务中的节点配置,参考CreateJob API中的**JobSpecs**。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '描述一种节点类型的详细配置。',
+ '$ref' => '#/components/schemas/JobSpec',
+ ],
+ ],
+ 'UserCommand' => [
+ 'title' => '用户命令',
+ 'description' => '每个节点的启动命令。',
+ 'type' => 'string',
+ 'example' => 'python /root/code/mnist.py',
+ ],
+ 'DataSources' => [
+ 'title' => '数据源配置列表',
+ 'description' => '数据源列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '数据源。',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataSourceId' => [
+ 'title' => '数据源Id',
+ 'description' => '数据源ID。',
+ 'type' => 'string',
+ 'example' => 'd*******',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '本地挂载路径,可选参数,默认为空(表示使用数据源中挂载路径)。',
+ 'type' => 'string',
+ 'example' => '/mnt/data/',
+ ],
+ 'Uri' => [
+ 'title' => '数据源路径',
+ 'description' => '数据源路径',
+ 'type' => 'string',
+ 'example' => 'oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/',
+ ],
+ ],
+ ],
+ ],
+ 'CodeSource' => [
+ 'title' => '代码源配置',
+ 'description' => '代码源。',
+ 'type' => 'object',
+ 'properties' => [
+ 'CodeSourceId' => [
+ 'title' => '代码源Id',
+ 'description' => '代码源ID。',
+ 'type' => 'string',
+ 'example' => 'code******',
+ ],
+ 'Branch' => [
+ 'title' => '代码分支',
+ 'description' => '代码分支。',
+ 'type' => 'string',
+ 'example' => 'master',
+ ],
+ 'Commit' => [
+ 'title' => '代码Commit',
+ 'description' => '代码CommitID。',
+ 'type' => 'string',
+ 'example' => '44da109b59f8596152987eaa8f3b2487xxxxxx',
+ ],
+ 'MountPath' => [
+ 'title' => '本地挂载路径',
+ 'description' => '本地挂载路径。',
+ 'type' => 'string',
+ 'example' => '/mnt/data',
+ ],
+ ],
+ ],
+ 'ThirdpartyLibs' => [
+ 'title' => '三方库配置列表',
+ 'description' => '需要安装的Python三方库列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '第三方Python库。',
+ 'type' => 'string',
+ 'example' => 'numpy==1.16.1',
+ ],
+ ],
+ 'ThirdpartyLibDir' => [
+ 'title' => '三方库(requirements.txt)文件路径',
+ 'description' => '三方库(requirements.txt)文件所在文件夹。',
+ 'type' => 'string',
+ 'example' => '/root/code/',
+ ],
+ 'Envs' => [
+ 'title' => '环境变量配置',
+ 'description' => '环境变量配置。',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => 'ENABLE_DEBUG_MODE',
+ 'description' => '环境变量Key和Value。',
+ ],
+ ],
+ 'UserVpc' => [
+ 'title' => '用户VPC',
+ 'description' => '用户VPC',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => [
+ 'title' => '用户VPC的id',
+ 'description' => '用户VPC的id',
+ 'type' => 'string',
+ 'example' => 'vpc-abcdef****',
+ ],
+ 'SwitchId' => [
+ 'title' => '用户交换机的id',
+ 'description' => '用户交换机的id',
+ 'type' => 'string',
+ 'example' => 'vs-abcdef****',
+ ],
+ 'SecurityGroupId' => [
+ 'title' => '用户安全组的id',
+ 'description' => '用户安全组的id',
+ 'type' => 'string',
+ 'example' => 'sg-abcdef****',
+ ],
+ 'ExtendedCidrs' => [
+ 'title' => '扩展网段,示例:192.168.0.1/24',
+ 'description' => '扩展网段,示例:192.168.0.1/24',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '扩展网段',
+ 'description' => '扩展网段',
+ 'type' => 'string',
+ 'example' => '192.168.0.1/24',
+ ],
+ ],
+ 'DefaultRoute' => [
+ 'title' => '默认路由。此参数只在通用计算资源下有效,取值如下:'."\n"
+ ."\n"
+ .'eth0:表示使用默认网卡,通过公共网关访问外部网络。'."\n"
+ .'eth1:表示使用用户弹性网卡,通过私有网关访问外部网络。',
+ 'description' => '默认路由。此参数只在通用计算资源下有效,取值如下:'."\n"
+ ."\n"
+ .'eth0:表示使用默认网卡,通过公共网关访问外部网络。'."\n"
+ .'eth1:表示使用用户弹性网卡,通过私有网关访问外部网络。',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'GmtCreateTime' => [
+ 'title' => '作业创建时间(UTC)',
+ 'description' => '任务创建时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:35:01Z',
+ ],
+ 'GmtSubmittedTime' => [
+ 'title' => '作业提交时间(UTC)',
+ 'description' => '任务提交到集群的时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtRunningTime' => [
+ 'title' => '作业运行时间(UTC)',
+ 'description' => '任务开始运行的时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:21Z',
+ ],
+ 'GmtSuccessedTime' => [
+ 'title' => '作业成功时间(UTC)',
+ 'description' => '任务正常结束的时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:08Z',
+ ],
+ 'GmtStoppedTime' => [
+ 'title' => '作业停止时间(UTC)',
+ 'description' => '任务停止的时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:08Z',
+ ],
+ 'GmtFailedTime' => [
+ 'title' => '作业失败时间(UTC)',
+ 'description' => '任务运行失败的时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:08Z',
+ ],
+ 'Duration' => [
+ 'title' => '作业运行时长(s)',
+ 'description' => '任务运行时长,单位:秒。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3602',
+ ],
+ 'Pods' => [
+ 'title' => '作业所以运行Pod列表',
+ 'description' => '任务运行中的所有节点。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '节点数组。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => 'Pod类型',
+ 'description' => '节点类型,与CreateJob中的JobSpecs中的某个JobSpec对应。',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'PodId' => [
+ 'title' => 'Pod Id',
+ 'description' => '节点ID,可用于GetPodLogs和GetPodEvents API获取节点的详细日志和事件。',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'PodUid' => [
+ 'title' => 'Pod UId',
+ 'description' => 'Pod UID。',
+ 'type' => 'string',
+ 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d',
+ ],
+ 'Status' => [
+ 'title' => 'Pod状态',
+ 'description' => '节点状态。可能值:'."\n"
+ ."\n"
+ .'- Pending'."\n"
+ .'- Running'."\n"
+ .'- Succeeded'."\n"
+ .'- Failed'."\n"
+ .'- Unknown',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'Ip' => [
+ 'title' => 'Pod Ip',
+ 'description' => '节点的网络IP地址。',
+ 'type' => 'string',
+ 'example' => '10.0.1.2',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => 'Pod创建时间(UTC)',
+ 'description' => 'Pod创建时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtStartTime' => [
+ 'title' => 'Pod启动时间(UTC)',
+ 'description' => '节点启动时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => 'Pod结束时间(UTC)',
+ 'description' => '节点结束时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:05Z',
+ ],
+ 'HistoryPods' => [
+ 'title' => '历史Pods',
+ 'description' => '历史Pods。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '历史Pod数组。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'title' => 'Pod类型',
+ 'description' => 'Pod类型。',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'PodId' => [
+ 'title' => 'Pod Id',
+ 'description' => 'Pod ID。',
+ 'type' => 'string',
+ 'example' => 'Worker',
+ ],
+ 'PodUid' => [
+ 'title' => 'Pod UId',
+ 'description' => 'Pod UID。',
+ 'type' => 'string',
+ 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d',
+ ],
+ 'Status' => [
+ 'title' => 'Pod状态',
+ 'description' => 'Pod状态。',
+ 'type' => 'string',
+ 'example' => 'Failed',
+ ],
+ 'Ip' => [
+ 'title' => 'Pod Ip',
+ 'description' => 'Pod IP。',
+ 'type' => 'string',
+ 'example' => '10.0.1.3',
+ ],
+ 'GmtCreateTime' => [
+ 'title' => 'Pod创建时间(UTC)',
+ 'description' => 'Pod创建时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtStartTime' => [
+ 'title' => 'Pod启动时间(UTC)',
+ 'description' => 'Pod启动时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'GmtFinishTime' => [
+ 'title' => 'Pod结束时间(UTC)',
+ 'description' => 'Pod结束时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T14:36:01Z',
+ ],
+ 'SubStatus' => [
+ 'title' => 'Pod子状态,如抢占状态',
+ 'description' => 'Pod子状态,例如抢占状态。取值如下:'."\n"
+ .'- Normal'."\n"
+ .'- Evicted',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'ResourceType' => [
+ 'title' => 'Pod资源使用类型',
+ 'description' => 'Pod资源使用类型。',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'Duration' => [
+ 'title' => 'Pod运行时长',
+ 'description' => 'Pod运行时长',
+ 'type' => 'number',
+ 'format' => 'double',
+ ],
+ 'NodeName' => [
+ 'title' => '节点名称',
+ 'description' => '节点名称',
+ 'type' => 'string',
+ ],
+ 'PodIps' => [
+ 'title' => 'Pod的IP地址',
+ 'description' => 'Pod的IP地址',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '每张网卡对应的IP地址',
+ 'description' => '每张网卡对应的IP地址',
+ '$ref' => '#/components/schemas/PodNetworkInterface',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SubStatus' => [
+ 'title' => 'Pod子状态,如抢占状态',
+ 'description' => 'Pod子状态,例如抢占状态。取值如下:'."\n"
+ .'- Normal'."\n"
+ .'- Evicted',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'ResourceType' => [
+ 'title' => 'Pod资源使用类型',
+ 'description' => 'Pod资源使用类型。',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'Duration' => [
+ 'title' => 'Pod运行时长',
+ 'description' => 'Pod运行时长',
+ 'type' => 'number',
+ 'format' => 'double',
+ ],
+ 'NodeName' => [
+ 'title' => '节点名称',
+ 'description' => '节点名称',
+ 'type' => 'string',
+ ],
+ 'PodIps' => [
+ 'title' => 'Pod的IP地址',
+ 'description' => 'Pod的IP地址',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '每张网卡对应的IP地址',
+ 'description' => '每张网卡对应的IP地址',
+ '$ref' => '#/components/schemas/PodNetworkInterface',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxxx',
+ ],
+ 'Settings' => [
+ 'title' => '作业额外参数配置',
+ 'description' => '作业额外参数配置。',
+ '$ref' => '#/components/schemas/JobSettings',
+ ],
+ 'ClusterId' => [
+ 'title' => '集群ID',
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'example' => 'a*****',
+ ],
+ 'ElasticSpec' => [
+ 'title' => '弹性任务参数',
+ 'description' => '弹性任务参数。',
+ '$ref' => '#/components/schemas/JobElasticSpec',
+ ],
+ 'EnabledDebugger' => [
+ 'title' => '是否开启debugger任务',
+ 'description' => '是否开启debugger任务。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Priority' => [
+ 'title' => '任务的优先级',
+ 'description' => '任务的优先级。可能值为1~9。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SubStatus' => [
+ 'title' => '作业子状态,如抢占重试状态',
+ 'description' => '作业子状态,例如抢占重试状态。',
+ 'type' => 'string',
+ 'example' => 'Restarting',
+ ],
+ 'RestartTimes' => [
+ 'title' => '作业已使用的重试次数和最大重试次数',
+ 'description' => '作业已使用的重试次数和最大重试次数。',
+ 'type' => 'string',
+ 'example' => '0/10',
+ ],
+ 'StatusHistory' => [
+ 'title' => '作业历史的状态',
+ 'description' => '历史状态。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '历史状态。',
+ '$ref' => '#/components/schemas/StatusTransitionItem',
+ ],
+ ],
+ 'TenantId' => [
+ 'title' => '租户ID',
+ 'description' => '租户ID。',
+ 'type' => 'string',
+ 'example' => 'GAR***W134',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型,可选值:ECS,Lingjun,ACS',
+ 'description' => '资源类型,可选值:ECS,Lingjun,ACS',
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'CredentialConfig' => [
+ 'title' => '凭证配置',
+ 'description' => '访问凭证配置。',
+ '$ref' => '#/components/schemas/CredentialConfig',
+ ],
+ 'Accessibility' => [
+ 'title' => '可访问性',
+ 'description' => '任务的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE(默认值):在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'example' => 'PRIVATE',
+ ],
+ 'RestartRecord' => [
+ 'title' => '作业重启记录',
+ 'description' => '作业重启记录',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '作业重启记录',
+ 'description' => '作业重启记录',
+ 'type' => 'object',
+ 'properties' => [
+ 'DetailErrorInfoList' => [
+ 'title' => '错误信息列表',
+ 'description' => '错误信息列表',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '错误信息',
+ 'description' => '错误信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'AddJobLevelBlacklist' => [
+ 'title' => '作业黑名单',
+ 'description' => '作业黑名单',
+ 'type' => 'boolean',
+ ],
+ 'AddNodeToBlacklist' => [
+ 'title' => '节点黑名单',
+ 'description' => '节点黑名单',
+ 'type' => 'boolean',
+ ],
+ 'DetailErrorMsg' => [
+ 'title' => '详细错误信息',
+ 'description' => '详细错误信息',
+ 'type' => 'string',
+ ],
+ 'ErrorCode' => [
+ 'title' => '错误码',
+ 'description' => '错误码',
+ 'type' => 'string',
+ ],
+ 'ErrorMsg' => [
+ 'title' => '错误信息',
+ 'description' => '错误信息',
+ 'type' => 'string',
+ ],
+ 'ErrorSource' => [
+ 'title' => '错误源',
+ 'description' => '错误源',
+ 'type' => 'string',
+ ],
+ 'Node' => [
+ 'title' => '节点',
+ 'description' => '节点',
+ 'type' => 'string',
+ ],
+ 'Pod' => [
+ 'title' => '实例',
+ 'description' => '实例',
+ 'type' => 'string',
+ ],
+ 'TriggerRestart' => [
+ 'title' => '是否触发重启',
+ 'description' => '是否触发重启',
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ 'JobRestartCount' => [
+ 'title' => '作业重启次数',
+ 'description' => '作业重启次数',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'OccurPhase' => [
+ 'title' => '发生的阶段',
+ 'description' => '发生的阶段',
+ 'type' => 'string',
+ ],
+ 'OccurTime' => [
+ 'title' => '发生的时间',
+ 'description' => '发生的时间',
+ 'type' => 'string',
+ ],
+ 'Reason' => [
+ 'title' => '原因',
+ 'description' => '原因',
+ 'type' => 'string',
+ ],
+ 'RestartDurationInSec' => [
+ 'title' => '重启时间',
+ 'description' => '重启时间',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'RestartFailReason' => [
+ 'title' => '重启失败原因',
+ 'description' => '重启失败原因',
+ 'type' => 'string',
+ ],
+ 'RestartStatus' => [
+ 'title' => '重启状态',
+ 'description' => '重启状态',
+ 'type' => 'string',
+ ],
+ 'TriggerID' => [
+ 'title' => 'TriggerID',
+ 'description' => 'TriggerID',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'JobReplicaStatuses' => [
+ 'title' => '作业副本状态',
+ 'description' => '作业副本状态',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '作业副本状态',
+ 'description' => '作业副本状态',
+ '$ref' => '#/components/schemas/JobReplicaStatus',
+ ],
+ ],
+ 'GmtFinishTime' => [
+ 'title' => '作业结束时间(UTC)',
+ 'description' => '任务结束时间(UTC)。',
+ 'type' => 'string',
+ 'example' => '2021-01-12T15:36:08Z',
+ ],
+ 'CustomEnvs' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ 'Visible' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*******\\",\\n \\"JobType\\": \\"TFJob\\",\\n \\"DisplayName\\": \\"tf-mnist-test\\",\\n \\"UserId\\": \\"12*********\\",\\n \\"Status\\": \\"Stopped\\",\\n \\"WorkspaceId\\": \\"268\\",\\n \\"WorkspaceName\\": \\"dlc-workspace\\",\\n \\"ResourceId\\": \\"r******\\",\\n \\"ResourceLevel\\": \\"L0\\",\\n \\"ReasonCode\\": \\"JobStoppedByUser\\",\\n \\"ReasonMessage\\": \\"Job is stopped by user.\\",\\n \\"JobSpecs\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04\\",\\n \\"ImageConfig\\": {\\n \\"DockerRegistry\\": \\"registry.cn-hangzhou.aliyuncs.com\\",\\n \\"Username\\": \\"\\",\\n \\"Password\\": \\"\\",\\n \\"Auth\\": \\"\\"\\n },\\n \\"PodCount\\": 1,\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"ExtraPodSpec\\": {\\n \\"SideCarContainers\\": [\\n {\\n \\"Name\\": \\"data-init\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0\\",\\n \\"Command\\": [\\n \\"curl www.aliyun.com\\"\\n ],\\n \\"Args\\": [\\n \\"\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"\\"\\n }\\n }\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"Name\\": \\"data-init\\",\\n \\"Image\\": \\"registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0\\",\\n \\"Command\\": [\\n \\"curl www.aliyun.com\\"\\n ],\\n \\"Args\\": [\\n \\"\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"\\"\\n }\\n }\\n }\\n ],\\n \\"PodLabels\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"PodAnnotations\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"SharedVolumeMountPaths\\": [\\n \\"/root/share/\\"\\n ],\\n \\"SharedVolumeEphemeralStorageSize\\": \\"\\",\\n \\"Lifecycle\\": {\\n \\"PreStop\\": {\\n \\"Exec\\": {\\n \\"Command\\": [\\n \\"\\"\\n ]\\n }\\n },\\n \\"PostStart\\": {\\n \\"Exec\\": {\\n \\"Command\\": [\\n \\"\\"\\n ]\\n }\\n }\\n },\\n \\"MainContainerSecurityContext\\": {\\n \\"RunAsUser\\": 1000,\\n \\"Privileged\\": true,\\n \\"Capabilities\\": {\\n \\"Add\\": [\\n \\"\\"\\n ],\\n \\"Drop\\": [\\n \\"\\"\\n ]\\n },\\n \\"RunAsGroup\\": 1000,\\n \\"SeccompProfile\\": {\\n \\"Type\\": \\"Unconfined\\",\\n \\"LocalhostProfile\\": \\"my-profiles/profile-allow.json\\"\\n }\\n }\\n },\\n \\"ResourceConfig\\": {\\n \\"CPU\\": \\"10\\",\\n \\"GPU\\": \\"3\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"SharedMemory\\": \\"5Gi\\",\\n \\"GPUType\\": \\"Tesla-V100-16G\\"\\n },\\n \\"UseSpotInstance\\": false,\\n \\"SpotSpec\\": {\\n \\"SpotStrategy\\": \\"\\",\\n \\"SpotDiscountLimit\\": 0,\\n \\"SpotPriceLimit\\": 0\\n },\\n \\"AssignNodeSpec\\": {\\n \\"EnableAssignNode\\": true,\\n \\"NodeNames\\": \\"lingjxxxxxxxx\\",\\n \\"AntiAffinityNodeNames\\": \\"lingjxxxxxxxx\\",\\n \\"HyperNodes\\": [\\n {\\n \\"HyperNodeName\\": \\"\\",\\n \\"NodeNames\\": \\"\\"\\n }\\n ],\\n \\"AntiAffinityHyperNodes\\": [\\n {\\n \\"HyperNodeName\\": \\"\\",\\n \\"NodeNames\\": \\"\\"\\n }\\n ]\\n },\\n \\"LocalMountSpecs\\": [\\n {\\n \\"MountPath\\": \\"\\",\\n \\"MountMode\\": \\"\\",\\n \\"LocalPath\\": \\"\\"\\n }\\n ],\\n \\"AutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0\\n }\\n },\\n \\"ServiceSpec\\": {\\n \\"ServiceMode\\": \\"\\",\\n \\"ExtraPorts\\": [\\n 0\\n ],\\n \\"DefaultPort\\": 0\\n },\\n \\"IsCheif\\": true,\\n \\"IsChief\\": true,\\n \\"RestartPolicy\\": \\"\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"StartupDependencies\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"OnPhase\\": \\"\\",\\n \\"MinReplicas\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"UserCommand\\": \\"python /root/code/mnist.py\\",\\n \\"DataSources\\": [\\n {\\n \\"DataSourceId\\": \\"d*******\\",\\n \\"MountPath\\": \\"/mnt/data/\\",\\n \\"Uri\\": \\"oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/\\"\\n }\\n ],\\n \\"CodeSource\\": {\\n \\"CodeSourceId\\": \\"code******\\",\\n \\"Branch\\": \\"master\\",\\n \\"Commit\\": \\"44da109b59f8596152987eaa8f3b2487xxxxxx\\",\\n \\"MountPath\\": \\"/mnt/data\\"\\n },\\n \\"ThirdpartyLibs\\": [\\n \\"numpy==1.16.1\\"\\n ],\\n \\"ThirdpartyLibDir\\": \\"/root/code/\\",\\n \\"Envs\\": {\\n \\"key\\": \\"ENABLE_DEBUG_MODE\\"\\n },\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"vpc-abcdef****\\",\\n \\"SwitchId\\": \\"vs-abcdef****\\",\\n \\"SecurityGroupId\\": \\"sg-abcdef****\\",\\n \\"ExtendedCidrs\\": [\\n \\"192.168.0.1/24\\"\\n ],\\n \\"DefaultRoute\\": \\"\\"\\n },\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtSubmittedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtRunningTime\\": \\"2021-01-12T14:36:21Z\\",\\n \\"GmtSuccessedTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"GmtStoppedTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"GmtFailedTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"Duration\\": 3602,\\n \\"Pods\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"PodId\\": \\"Worker\\",\\n \\"PodUid\\": \\"fe846462-af2c-4521-bd6f-96787a57591d\\",\\n \\"Status\\": \\"Running\\",\\n \\"Ip\\": \\"10.0.1.2\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtStartTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:05Z\\",\\n \\"HistoryPods\\": [\\n {\\n \\"Type\\": \\"Worker\\",\\n \\"PodId\\": \\"Worker\\",\\n \\"PodUid\\": \\"fe846462-af2c-4521-bd6f-96787a57591d\\",\\n \\"Status\\": \\"Failed\\",\\n \\"Ip\\": \\"10.0.1.3\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtStartTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"SubStatus\\": \\"Normal\\",\\n \\"ResourceType\\": \\"Normal\\",\\n \\"Duration\\": 0,\\n \\"NodeName\\": \\"\\",\\n \\"PodIps\\": [\\n {\\n \\"InterfaceName\\": \\"\\",\\n \\"Ip\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"SubStatus\\": \\"Normal\\",\\n \\"ResourceType\\": \\"Normal\\",\\n \\"Duration\\": 0,\\n \\"NodeName\\": \\"\\",\\n \\"PodIps\\": [\\n {\\n \\"InterfaceName\\": \\"\\",\\n \\"Ip\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxxx\\",\\n \\"Settings\\": {\\n \\"BusinessUserId\\": \\"166924\\",\\n \\"Caller\\": \\"SilkFlow\\",\\n \\"Tags\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"PipelineId\\": \\"pid-123456\\",\\n \\"EnableTideResource\\": true,\\n \\"EnableErrorMonitoringInAIMaster\\": false,\\n \\"ErrorMonitoringArgs\\": \\"--enable-log-hang-detection true\\",\\n \\"EnableRDMA\\": true,\\n \\"EnableOssAppend\\": true,\\n \\"OversoldType\\": \\"AcceptQuotaOverSold\\",\\n \\"AdvancedSettings\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Driver\\": \\"535.54.03\\",\\n \\"EnableSanityCheck\\": true,\\n \\"SanityCheckArgs\\": \\"--sanity-check-timing=AfterJobFaultTolerant --sanity-check-timeout-ops=MarkJobFai\\",\\n \\"JobReservedMinutes\\": 30,\\n \\"JobReservedPolicy\\": \\"Always\\",\\n \\"EnableCPUAffinity\\": true,\\n \\"DisableEcsStockCheck\\": false,\\n \\"AllocateAllRDMADevices\\": true,\\n \\"EnableDSWDev\\": true,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"\\",\\n \\"CommandType\\": \\"\\",\\n \\"EnableResourceEstimation\\": true,\\n \\"ResourceLimit\\": {\\n \\"CPU\\": \\"\\",\\n \\"Memory\\": \\"\\",\\n \\"GPU\\": \\"\\"\\n }\\n },\\n \\"ModelConfig\\": {\\n \\"ModelName\\": \\"\\",\\n \\"ModelTemplate\\": {\\n \\"ModelName\\": \\"\\",\\n \\"Provider\\": \\"\\",\\n \\"Collections\\": \\"\\"\\n }\\n },\\n \\"AllowUnschedulableNodes\\": true\\n },\\n \\"ClusterId\\": \\"a*****\\",\\n \\"ElasticSpec\\": {\\n \\"EnableElasticTraining\\": true,\\n \\"MinParallelism\\": 1,\\n \\"MaxParallelism\\": 8,\\n \\"AIMasterType\\": \\"\\",\\n \\"AIMasterDockerImage\\": \\"\\",\\n \\"EnablePsJobElasticWorker\\": true,\\n \\"EnableAIMaster\\": true,\\n \\"EnablePsResourceEstimate\\": true,\\n \\"EnablePsJobElasticPS\\": true,\\n \\"PSMinParallelism\\": 4,\\n \\"PSMaxParallelism\\": 10,\\n \\"ElasticStrategy\\": \\"\\",\\n \\"EnableEDP\\": true,\\n \\"EDPMaxParallelism\\": 16,\\n \\"EDPMinParallelism\\": 8\\n },\\n \\"EnabledDebugger\\": false,\\n \\"Priority\\": 1,\\n \\"SubStatus\\": \\"Restarting\\",\\n \\"RestartTimes\\": \\"0/10\\",\\n \\"StatusHistory\\": [\\n {\\n \\"Status\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"ReasonCode\\": \\"\\",\\n \\"ReasonMessage\\": \\"\\"\\n }\\n ],\\n \\"TenantId\\": \\"GAR***W134\\",\\n \\"ResourceType\\": \\"ECS\\",\\n \\"CredentialConfig\\": {\\n \\"EnableCredentialInject\\": true,\\n \\"AliyunEnvRoleKey\\": \\"\\",\\n \\"CredentialConfigItems\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Type\\": \\"\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"\\",\\n \\"RoleType\\": \\"\\",\\n \\"AssumeRoleFor\\": \\"\\",\\n \\"Policy\\": \\"\\",\\n \\"AssumeUserInfo\\": {\\n \\"SecurityToken\\": \\"\\",\\n \\"AccessKeyId\\": \\"\\",\\n \\"Type\\": \\"\\",\\n \\"Id\\": \\"\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"RestartRecord\\": [\\n {\\n \\"DetailErrorInfoList\\": [\\n {\\n \\"AddJobLevelBlacklist\\": true,\\n \\"AddNodeToBlacklist\\": true,\\n \\"DetailErrorMsg\\": \\"\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\",\\n \\"ErrorSource\\": \\"\\",\\n \\"Node\\": \\"\\",\\n \\"Pod\\": \\"\\",\\n \\"TriggerRestart\\": true\\n }\\n ],\\n \\"JobRestartCount\\": 0,\\n \\"OccurPhase\\": \\"\\",\\n \\"OccurTime\\": \\"\\",\\n \\"Reason\\": \\"\\",\\n \\"RestartDurationInSec\\": 0,\\n \\"RestartFailReason\\": \\"\\",\\n \\"RestartStatus\\": \\"\\",\\n \\"TriggerID\\": \\"\\"\\n }\\n ],\\n \\"JobReplicaStatuses\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"Active\\": 0,\\n \\"EstimatedPodCount\\": 0,\\n \\"EstimatedAutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0\\n }\\n },\\n \\"EstimatedResourceConfig\\": {\\n \\"CPU\\": \\"10\\",\\n \\"GPU\\": \\"3\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"SharedMemory\\": \\"5Gi\\",\\n \\"GPUType\\": \\"Tesla-V100-16G\\"\\n },\\n \\"Queuing\\": 0,\\n \\"Dequeued\\": 0\\n }\\n ],\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"CustomEnvs\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\",\\n \\"Visible\\": \\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]',
+ 'title' => '获取任务详情',
+ ],
+ 'GetJobSanityCheckResult' => [
+ 'summary' => '获取DLC任务某次算力健康检测结果。',
+ 'path' => '/api/v1/jobs/{JobId}/sanitycheckresult',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '203880',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlcl5qxoxxxxx5iq',
+ ],
+ ],
+ [
+ 'name' => 'SanityCheckNumber',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'description' => '任务第几次算力健康检测。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SanityCheckPhase',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'description' => '算力健康检测的检测阶段:'."\n"
+ .'- CheckInit:检测环境准备。'."\n"
+ .'- DeviceCheck:单卡算力检测。'."\n"
+ .'- SingleNodeCommCheck:单节点内部通信检测。'."\n"
+ .'- TwoNodeCommCheck:两节点间通信检测。'."\n"
+ .'- AllNodeCommCheck:所有节点通信检测。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DeviceCheck',
+ ],
+ ],
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务分享令牌中的Token信息。如何获取,请参见[GetToken](~~2557812~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'eyJhbG******zI1NiIsInR5cCI6IkpXVCJ9.eyJle****jE3MDk1Mzk0NDIsImlhdCI6MTcwODkzNDY0MiwidXNlcl9pZCI6IjE3NTgwNTQxNjI0Mzg2NTUiLCJ0YXJnZXRfaWQiOiJkbGM1OGh1a2xyYzZwdGMyIiwidGFyZ2V0X3R5cGUiOiJqb2IifQ.GNL7jo6****mgKKv0QeGIYgvBufSU-PH_EQttX****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '单次算力健康检测结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-xxxxxx',
+ ],
+ 'SanityCheckResult' => [
+ 'description' => '算力健康检测的检测结果。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '一个检测阶段的算力健康检测结果。返回值各字段说明:'."\n"
+ .'- Phase:检测阶段。'."\n"
+ .'- Message:检测结果信息。'."\n"
+ .'- StartedAt: 检测开始时间。'."\n"
+ .'- FinishedAt:检测结束时间。'."\n"
+ .'- Status:检测状态。'."\n"
+ .'- CheckNumber:第几次检测。',
+ '$ref' => '#/components/schemas/SanityCheckResultItem',
+ ],
+ ],
+ 'RequestID' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'B3789344-F1xxxBE-5xx2-A04D-xxxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxx\\",\\n \\"SanityCheckResult\\": [\\n {\\n \\"Phase\\": \\"CheckInit\\",\\n \\"Message\\": \\"\\",\\n \\"Status\\": \\"Succeeded\\",\\n \\"StartedAt\\": \\"”2023-11-30T16:47:30.343005+08:00“\\",\\n \\"FinishedAt\\": \\"”2023-11-30T16:47:30.378817+08:00\\\\\\"\\",\\n \\"CheckNumber\\": 1\\n }\\n ],\\n \\"RequestID\\": \\"B3789344-F1xxxBE-5xx2-A04D-xxxxx\\"\\n}","type":"json"}]',
+ 'title' => '获取任务某次算力健康检测结果',
+ ],
+ 'ListJobSanityCheckResults' => [
+ 'summary' => '获取某个DLC任务所有算力健康检测的检测结果。',
+ 'path' => '/api/v1/jobs/{JobId}/sanitycheckresults',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '204035',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => '任务ID。参见[ListJobs](~~459676~~)获取。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210114104214-xxxx',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '排列顺序:'."\n"
+ .'- desc(降序)'."\n"
+ .'- asc(升序)',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '任务所有的算力健康检测结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'SanityCheckResults' => [
+ 'description' => '所有算力健康检测结果。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '一条完整的算力健康检测结果。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '单个检测阶段的算力健康检测结果。可能值:'."\n"
+ .'- Phase(检测阶段)'."\n"
+ .'- Message(检测结果信息)'."\n"
+ .'- StartedAt(检测开始时间)'."\n"
+ .'- FinishedAt(检测结束时间)'."\n"
+ .'- Status(检测状态)'."\n"
+ .'- CheckNumber(第几次检测)',
+ '$ref' => '#/components/schemas/SanityCheckResultItem',
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => '符合过滤条件的总检测结果数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestID' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '1AC9xxx-3xxx-5xxx2-xxxx-FA5',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SanityCheckResults\\": [\\n [\\n {\\n \\"Phase\\": \\"CheckInit\\",\\n \\"Message\\": \\"\\",\\n \\"Status\\": \\"Succeeded\\",\\n \\"StartedAt\\": \\"”2023-11-30T16:47:30.343005+08:00“\\",\\n \\"FinishedAt\\": \\"”2023-11-30T16:47:30.378817+08:00\\\\\\"\\",\\n \\"CheckNumber\\": 1\\n }\\n ]\\n ],\\n \\"TotalCount\\": 10,\\n \\"RequestID\\": \\"1AC9xxx-3xxx-5xxx2-xxxx-FA5\\"\\n}","type":"json"}]',
+ 'title' => '获取任务所有算力健康检测结果',
+ ],
+ 'GetPodLogs' => [
+ 'summary' => '获取(或者下载)任务某个节点的日志,日志来源于系统和用户脚本的stdout和stderr。',
+ 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/logs',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '13118',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-*****',
+ ],
+ ],
+ [
+ 'name' => 'PodId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '实例ID',
+ 'description' => '节点ID。如何获取节点ID,请参见[GetJob](~~459677~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-*****-chief-0',
+ ],
+ ],
+ [
+ 'name' => 'PodUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '节点UID;如何获取节点UID,请参见[GetJob](~~459677~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'fe846462-af2c-4521-bd6f-96787a57****',
+ ],
+ ],
+ [
+ 'name' => 'MaxLines',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '返回的日志的最大行数,默认值:2000。',
+ 'description' => '返回的日志的最大行数,默认值:2000。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询的起始时间,默认值:7天前。',
+ 'description' => '查询的起始时间,默认值:7天前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询的截止时间,默认值:当前。',
+ 'description' => '查询的截止时间,默认值:当前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T17:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'DownloadToFile',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否下载日志文件,默认:false。',
+ 'description' => '是否下载日志文件。取值如下:'."\n"
+ .'- false(默认):表示不下载日志文件。'."\n"
+ .'- true:开始下载日志文件。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '返回值',
+ 'description' => '返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-******',
+ ],
+ 'PodId' => [
+ 'title' => '实例ID',
+ 'description' => '节点ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-****-chief-0',
+ ],
+ 'PodUid' => [
+ 'title' => '实例UID',
+ 'description' => '实例UID。',
+ 'type' => 'string',
+ 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268',
+ ],
+ 'Logs' => [
+ 'title' => '日志列表',
+ 'description' => '日志列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '日志列表。',
+ 'type' => 'string',
+ 'example' => '2021-01-28 14:07:45 My Job started.',
+ ],
+ ],
+ 'RequestId' => [
+ 'title' => '请求ID',
+ 'description' => '此次调用的请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-******\\",\\n \\"PodId\\": \\"dlc-20210126170216-****-chief-0\\",\\n \\"PodUid\\": \\"94a7cc7c-0033-48b5-85bd-71c63592c268\\",\\n \\"Logs\\": [\\n \\"2021-01-28 14:07:45 My Job started.\\"\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<JobId>dlc-20210126170216-******</JobId>\\n<PodId>dlc-20210126170216-****-chief-0</PodId>\\n<Logs>2021-01-28 14:07:45 My Job started.</Logs>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>","errorExample":""}]',
+ 'title' => '获取任务中某个节点的日志',
+ ],
+ 'GetPodEvents' => [
+ 'summary' => '通过获取任务中特定节点的系统事件,来进行问题的定位与排查。',
+ 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/events',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '13117',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。参见[ListJobs](~~459676~~)获取任务ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-*****',
+ ],
+ ],
+ [
+ 'name' => 'PodId',
+ 'in' => 'path',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '运行实例ID',
+ 'description' => '节点ID。参见[GetJob](~~459677~~)获取节点ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-mtl37ge7g****-chief-0',
+ ],
+ ],
+ [
+ 'name' => 'PodUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '运行实例UID',
+ 'description' => '节点UID。参见[GetJob](~~459677~~)获取节点UID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-20210126170216-*****-chief-0',
+ ],
+ ],
+ [
+ 'name' => 'MaxEventsNum',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '返回的事件最大数量',
+ 'description' => '返回的事件最大数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '起始时间',
+ 'description' => '起始时间(UTC)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '截止时间',
+ 'description' => '截止时间(UTC)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-09T16:00:00Z',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '任务事件信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-*****',
+ ],
+ 'PodId' => [
+ 'title' => '运行示例ID',
+ 'description' => '节点ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-*****-chief-0',
+ ],
+ 'PodUid' => [
+ 'description' => '实例UID。',
+ 'type' => 'string',
+ 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268',
+ ],
+ 'Events' => [
+ 'title' => '事件列表',
+ 'description' => '事件列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '事件列表。',
+ 'type' => 'string',
+ 'example' => '2021-01-28 14:07:45 Successfully pulled image.',
+ ],
+ ],
+ 'RequestId' => [
+ 'title' => '请求ID',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-*****\\",\\n \\"PodId\\": \\"dlc-20210126170216-*****-chief-0\\",\\n \\"PodUid\\": \\"94a7cc7c-0033-48b5-85bd-71c63592c268\\",\\n \\"Events\\": [\\n \\"2021-01-28 14:07:45 Successfully pulled image.\\"\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<JobId>dlc-20210126170216-*****</JobId>\\n<PodId>dlc-20210126170216-*****-chief-0</PodId>\\n<Events>2021-01-28 14:07:45 Successfully pulled image.</Events>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>","errorExample":""}]',
+ 'title' => '获取任务中某个节点的系统事件',
+ ],
+ 'GetJobMetrics' => [
+ 'summary' => '获取一个任务的监控数据,包括CPU、GPU、Memory的使用率、Network、Disk读写速率等。'."\n"
+ ."\n"
+ .'⚠️注意:除基于通用计算资源的按量付费(后付费)任务外,其余任务类型均已对接云监控。相关监控调用请使用云监控接口,原接口中已被覆盖的功能将不再维护。更多信息,请参见[训练监控与报警](https://www.alibabacloud.com/help/zh/pai/user-guide/training-monitoring-and-alerting)。',
+ 'path' => '/api/v1/jobs/{JobId}/metrics',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '21204',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。您可以调用[ListJobs](~~459676~~)获取所有任务的ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dlc-20210126170216-*******',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '起始时间',
+ 'description' => '查询监控数据的时间区间的起始时间(UTC),默认值是1小时前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '截止时间',
+ 'description' => '查询监控数据的时间区间的截止时间(UTC),默认值是当前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-09T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'TimeStep',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '时间间隔',
+ 'description' => '返回监控数据的时间间隔,默认值是5分钟。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5m',
+ ],
+ ],
+ [
+ 'name' => 'MetricType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '指标类型',
+ 'description' => '查询监控数据的指标类型,取值如下:'."\n"
+ ."\n"
+ .'- GpuCoreUsage:GPU使用率。'."\n"
+ ."\n"
+ .'- GpuMemoryUsage:GPU Memory使用率。'."\n"
+ ."\n"
+ .'- CpuCoreUsage:CPU使用率。'."\n"
+ ."\n"
+ .'- MemoryUsage:Memory使用率。'."\n"
+ ."\n"
+ .'- NetworkInputRate:网络写入速率。'."\n"
+ ."\n"
+ .'- NetworkOutputRate:网络写出速率。'."\n"
+ ."\n"
+ .'- DiskReadRate:磁盘读取速率。'."\n"
+ ."\n"
+ .'- DiskWriteRate:磁盘写入速率。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'GpuMemoryUsage',
+ ],
+ ],
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'Token',
+ 'description' => '用于鉴权的临时令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'eyXXXX-XXXX.XXXXX',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '作业监控指标',
+ 'description' => '任务监控数据信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-*******',
+ ],
+ 'PodMetrics' => [
+ 'title' => '任务监控指标序列集合',
+ 'description' => '任务监控数据列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '任务监控数据。',
+ '$ref' => '#/components/schemas/PodMetric',
+ ],
+ ],
+ 'RequestId' => [
+ 'title' => '请求ID',
+ 'description' => '本次调用的请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-*******\\",\\n \\"PodMetrics\\": [\\n {\\n \\"PodId\\": \\"dlc-20210329110128-746bf7cl47pr8-worker-0\\",\\n \\"Metrics\\": [\\n {\\n \\"Time\\": 1616987726587,\\n \\"Value\\": 23.45\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<GetJobMetricsResponse>\\n <JobId>dlc-20210126170216-*******</JobId>\\n <PodMetrics>\\n <PodId>dlc-20210329110128-******-worker-0</PodId>\\n <Metrics>\\n <Time>1616987726587</Time>\\n <Value>23.45</Value>\\n </Metrics>\\n </PodMetrics>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</GetJobMetricsResponse>","errorExample":""}]',
+ 'title' => '获取任务的监控数据',
+ ],
+ 'GetJobEvents' => [
+ 'summary' => '获取一个任务的系统事件。',
+ 'path' => '/api/v1/jobs/{JobId}/events',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '13116',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dlc-20210126170216-*******',
+ ],
+ ],
+ [
+ 'name' => 'MaxEventsNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '获取事件的最大数目,默认值:2000',
+ 'description' => '获取事件的最大数目,默认值:2000。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '100',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询事件的时间区间的起始时间,默认值是7天前。',
+ 'description' => '查询事件的时间区间的起始时间(UTC),默认值是7天前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询事件的时间区间的截止时间,默认值是当前。',
+ 'description' => '查询事件的时间区间的截止时间(UTC),默认值是当前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T18:00:00Z',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回作业的系统事件信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '作业ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-******',
+ ],
+ 'Events' => [
+ 'title' => '事件',
+ 'description' => '事件。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '事件信息内容。',
+ 'type' => 'string',
+ 'example' => '2021-01-28 14:07:24 Created pod: dlc-20210128140506-oms3s46wcfl6g-worker-0',
+ ],
+ ],
+ 'RequestId' => [
+ 'title' => '请求ID',
+ 'description' => '本次调用的请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-******\\",\\n \\"Events\\": [\\n \\"2021-01-28 14:07:24 Created pod: dlc-20210128140506-oms3s46wcfl6g-worker-0\\"\\n ],\\n \\"RequestId\\": \\"78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456\\"\\n}","errorExample":""},{"type":"xml","example":"<JobId>dlc-20210126170216-******</JobId>\\n<Events>2021-01-28 14:07:24 Created pod: dlc-20210128140506-oms3s46wcfl6g-worker-0</Events>","errorExample":""}]',
+ 'title' => '获取任务的系统事件',
+ ],
+ 'ListEcsSpecs' => [
+ 'summary' => '查询当前支持的机器资源配置列表。',
+ 'path' => '/api/v1/ecsspecs',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceleratorType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '按加速器类型过滤',
+ 'description' => '按加速器类型过滤。取值如下:'."\n"
+ .'- CPU'."\n"
+ .'- GPU',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GPU',
+ ],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '按返回字段排序,可选值:Cpu, Gpu, Memory, InstanceType, ResourceType, GpuType, AcceleratorType',
+ 'description' => '按返回字段排序。取值如下:'."\n"
+ .'- CPU'."\n"
+ .'- GPU'."\n"
+ .'- Memory'."\n"
+ .'- GmtCreateTime',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GPU',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '排序顺序,可选值:desc, asc',
+ 'description' => '排序顺序,取值如下:'."\n"
+ .'- desc:逆序排列。'."\n"
+ .'- asc:升序排列。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询第几页数据',
+ 'description' => '查询第几页数据,起始值为1。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '设置查询的分页大写',
+ 'description' => '分页查询时每页显示的数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'InstanceTypes',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '需要查询机器规格列表,以逗号分隔',
+ 'description' => '需要查询的机器规格列表,以半角逗号(,)分隔。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ecs.g6.large,ecs.g6.xlarge',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '资源类型,可选值:ECS、Lingjun',
+ 'description' => '资源类型,取值如下:'."\n"
+ .'- ECS'."\n"
+ .'- Lingjun',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'EcsSpecs' => [
+ 'title' => 'ECS规格列表',
+ 'description' => 'ECS规格列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '机器资源的配置列表。',
+ '$ref' => '#/components/schemas/EcsSpec',
+ ],
+ ],
+ 'TotalCount' => [
+ 'title' => '符合过滤条件的总数量',
+ 'description' => '符合过滤条件的总数量。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"EcsSpecs\\": [\\n {\\n \\"InstanceType\\": \\"ecs.gn6e-c12g1.3xlarge\\",\\n \\"AcceleratorType\\": \\"GPU\\",\\n \\"Cpu\\": 12,\\n \\"Gpu\\": 1,\\n \\"GpuType\\": \\"NVIDIA v100\\",\\n \\"Memory\\": 92,\\n \\"GpuMemory\\": 80,\\n \\"IsAvailable\\": true,\\n \\"ResourceType\\": \\"ECS\\",\\n \\"DefaultGPUDriver\\": \\"470.199.02\\",\\n \\"SupportedGPUDrivers\\": [\\n \\"[\\\\\\"470.199.02\\\\\\", \\\\\\"535.54.03\\\\\\"]\\"\\n ],\\n \\"SpotStockStatus\\": \\"WithStock\\",\\n \\"NonProtectSpotDiscount\\": 0.1,\\n \\"PaymentTypes\\": [\\n \\"[\\\\\\"Spot\\\\\\",\\\\\\"PostPaid\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"TotalCount\\": 10\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]',
+ 'title' => '查询机器资源配置列表',
+ ],
+ 'GetWebTerminal' => [
+ 'summary' => '提供获取容器访问HTTP链接的方法和步骤。',
+ 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/webterminal',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-20210126170216-******',
+ ],
+ ],
+ [
+ 'name' => 'PodId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => '任务Pod ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-20210126170216-****-chief-0',
+ ],
+ ],
+ [
+ 'name' => 'PodUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Pod UID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268',
+ ],
+ ],
+ [
+ 'name' => 'IsShared',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '是否创建用于分享的进入容器链接,取值如下:'."\n"
+ .'- true:返回进入容器的分享链接。该链接将在三十秒后失效,且仅能被使用一次。一旦通过该链接进入容器后,其他使用该链接进入容器的请求将无效。'."\n"
+ .'- false:返回普通的进入容器的分享链接,使用时需进行阿里云身份认证。该链接将在三十秒后失效。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '此次调用的请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'WebTerminalUrl' => [
+ 'description' => '进入容器的WebSocket链接。您需构建WebSocket客户端,详细通信格式请参考如下代码:'."\n"
+ .' ```'."\n"
+ .' ws = new WebSocket('."\n"
+ .' `wss://xxxxx`,'."\n"
+ .' );'."\n"
+ .' ws.onopen = function open() {'."\n"
+ .' console.warn(\'connected\');'."\n"
+ .' term.write(\'\\r\');'."\n"
+ .' };'."\n"
+ ."\n"
+ .' ws.onclose = function close() {'."\n"
+ .' console.warn(\'disconnected\');'."\n"
+ .' term.write(\'Connection closed\');'."\n"
+ .' };'."\n"
+ ."\n"
+ .' // 收到后端返回'."\n"
+ .' ws.onmessage = function incoming(event) {'."\n"
+ .' const msg = JSON.parse(event.data);'."\n"
+ .' console.warn(msg);'."\n"
+ .' if (msg.operation === \'stdout\') {'."\n"
+ .' term.write(msg.data);'."\n"
+ .' } else {'."\n"
+ .' console.warn(\'invalid msg operation: \' + msg);'."\n"
+ .' }'."\n"
+ .' };'."\n"
+ ."\n"
+ .' // 控制台输入'."\n"
+ .' term.onData(data => {'."\n"
+ .' const msg = { operation: \'stdin\', data: data };'."\n"
+ .' ws.send(JSON.stringify(msg));'."\n"
+ .' });'."\n"
+ ."\n"
+ .' term.onResize(size => {'."\n"
+ .' const msg = { operation: \'resize\', cols: size.cols, rows: size.rows };'."\n"
+ .' ws.send(JSON.stringify(msg));'."\n"
+ .' });'."\n"
+ ."\n"
+ .' fitAddon.fit();'."\n"
+ .'};'."\n"
+ .'```',
+ 'type' => 'string',
+ 'example' => 'wss://*****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"WebTerminalUrl\\": \\"wss://*****\\"\\n}","type":"json"}]',
+ 'title' => '获取容器访问HTTP链接',
+ ],
+ 'GetToken' => [
+ 'summary' => '获取DLC任务的分享令牌(Token),用于查看分享任务的相关信息。',
+ 'path' => '/api/v1/tokens',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '44246',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'TargetType',
+ 'description' => '分享的任务类型,只可指定job或者tensorboard。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'job',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'TargetId',
+ 'description' => '等待分享的任务的ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc*******',
+ ],
+ ],
+ [
+ 'name' => 'ExpireTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'ExpireTime',
+ 'description' => '分享链接过期时间(默认为604800秒),最小值为0。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '60',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'RequestId',
+ 'description' => '请求ID,用于诊断和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxxx',
+ ],
+ 'Token' => [
+ 'title' => 'Token',
+ 'description' => '任务分享令牌,可用于查看分享任务的相关信息。',
+ 'type' => 'string',
+ 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9*****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxxx\\",\\n \\"Token\\": \\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9*****\\"\\n}","type":"json"}]',
+ 'title' => '获取任务分享令牌',
+ ],
+ 'CreateTensorboard' => [
+ 'summary' => '创建一个Tensorboard,可以通过一个任务或者指定数据源配置来创建。',
+ 'path' => '/api/v1/tensorboards',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '18654',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnVD2RKE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '请求参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'WorkspaceId' => [
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123***',
+ ],
+ 'JobId' => [
+ 'title' => '任务Id',
+ 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-20210126170216-mtl37ge7gkvdz',
+ ],
+ 'DataSourceId' => [
+ 'title' => 'DataSource Id',
+ 'description' => '数据集ID。<props="china">如何获取数据集ID,请参见[ListDatasets](~~457222~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-xxxxxxxx',
+ ],
+ 'DataSourceType' => [
+ 'description' => '数据集类型,取值如下:'."\n"
+ .'- OSS'."\n"
+ .'- NAS',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'OSS',
+ ],
+ 'Uri' => [
+ 'description' => '数据集的URI:'."\n"
+ .'- 当DataSourceType为OSS时,格式为:`oss://[oss-bucket].[endpoint]/[path]`。'."\n"
+ .'- 当DataSourceType为NAS时,格式为:`nas://[nas-filesystem-id].[region]/[path]`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oss://.oss-cn-shanghai-finance-1.aliyuncs.com/',
+ ],
+ 'Options' => [
+ 'description' => '数据集的扩展字段为JSON格式,当前支持MountPath:自定义数据集挂载的路径。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"mountpath":"/root/data/"}',
+ ],
+ 'SummaryPath' => [
+ 'title' => 'Summary 目录',
+ 'description' => 'Summary目录。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/root/data/',
+ ],
+ 'SummaryRelativePath' => [
+ 'description' => 'Summary相对目录。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/summary/',
+ ],
+ 'DisplayName' => [
+ 'title' => 'Tensorboard名称',
+ 'description' => 'Tensorboard名称。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tensorboard',
+ ],
+ 'SourceType' => [
+ 'description' => '来源类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'job',
+ ],
+ 'SourceId' => [
+ 'description' => '来源ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-xxxxxx',
+ ],
+ 'MaxRunningTimeMinutes' => [
+ 'title' => '最长运行时长',
+ 'description' => '最长运行时长,单位为:分钟。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '240',
+ ],
+ 'DataSources' => [
+ 'description' => '数据源配置。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '数据源信息。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/DataSourceItem',
+ ],
+ 'required' => false,
+ ],
+ 'Cpu' => [
+ 'description' => 'CPU核数。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'Memory' => [
+ 'description' => '内存大小,单位为:GB。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1000',
+ ],
+ 'TensorboardDataSources' => [
+ 'description' => 'Tensorboard任务挂载的数据集配置列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Tensorboard数据源配置信息,用于Tensorboard挂载多数据集功能。目前支持按数据集配置(datasource)和按任务配置(dlc)。当Tensorboard数据源配置信息不为空时,DataSourceId配置,Uri, DataSourceType等参数不生效',
+ 'required' => false,
+ '$ref' => '#/components/schemas/TensorboardDataSourceSpec',
+ ],
+ 'required' => false,
+ ],
+ 'TensorboardSpec' => [
+ 'description' => 'Tensorboard后付费配置信息,用于创建使用后付费资源的Tensorboard任务。',
+ 'required' => false,
+ '$ref' => '#/components/schemas/TensorboardSpec',
+ ],
+ 'QuotaId' => [
+ 'description' => '资源配额ID。使用资源配额的资源创建Tensorboard任务时的必填参数。<props="china">如何获取资源配额ID,请参见[ListQuotas](~~2628071~~)。</props>'."\n"
+ .'<props="china">只发布国内站</props>'."\n"
+ .'当前仅白名单用户可以使用资源配额资源创建Tensorboard任务,若需要使用该功能,请和我们联系',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'quota12345',
+ ],
+ 'Priority' => [
+ 'description' => '任务的优先级,可选参数,默认值 1,参数值的范围是 1~9。其中:'."\n"
+ .'- 1为最低优先级。'."\n"
+ .'- 9为最高优先级。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'Accessibility' => [
+ 'description' => '任务的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE:在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRIVATE',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '380',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '任务Id',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'dlc-20210126170216-xxxxxxxx',
+ ],
+ 'DataSourceId' => [
+ 'title' => 'DataSourceId',
+ 'description' => '数据集ID。',
+ 'type' => 'string',
+ 'example' => 'ds-20210126170216-xxxxxxxx',
+ ],
+ 'TensorboardId' => [
+ 'title' => 'Tensorboard id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tbxxxxxxxx',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxxxx\\",\\n \\"DataSourceId\\": \\"ds-20210126170216-xxxxxxxx\\",\\n \\"TensorboardId\\": \\"tbxxxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTensorboardResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</CreateTensorboardResponse>","errorExample":""}]',
+ 'title' => '创建Tensorboard',
+ ],
+ 'DeleteTensorboard' => [
+ 'summary' => '删除一个已经停止的Tensorboard。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '20380',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '46099',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。如何获取Tensorboard ID,请参见[ListTensorboards](~~459689~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tensorboard-20210114104214-xxxxxxxx',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TensorboardId' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tensorboard-20210114104214-vf9lowjt3pso',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-vf9lowjt3pso\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTensorboardResponse>\\n <TensorboardId>tensorboard-20210114104214-vf9lowjt3pso</TensorboardId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</DeleteTensorboardResponse>","errorExample":""}]',
+ 'title' => '删除Tensorboard',
+ ],
+ 'StartTensorboard' => [
+ 'summary' => '启动一个Tensorboard。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}/start',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '40265',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '380',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。如何获取Tensorboard ID,请参见[ListTensorboards](~~459689~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tensorboard-20210114104214-vf9lowjt3pso',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TensorboardId' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tensorboard-20210114104214-vf9lowjt3pso',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-vf9lowjt3pso\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<StartTensorboardResponse>\\n <TensorboardId>tensorboard-20210114104214-vf9lowjt3pso</TensorboardId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</StartTensorboardResponse>","errorExample":""}]',
+ 'title' => '启动Tensorboard',
+ ],
+ 'UpdateTensorboard' => [
+ 'summary' => '更新一个Tensorboard。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '40264',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '380',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。如何获取Tensorboard ID,请参见[ListTensorboards](~~459689~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tensorboard-20210114104214-vf9lowjt3pso',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'MaxRunningTimeMinutes',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'MaxRunningTimeMinutes',
+ 'description' => '最长运行时长,单位为:分钟。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '300',
+ ],
+ ],
+ [
+ 'name' => 'Accessibility',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务的可见性,取值如下:'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE:在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRIVATE',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TensorboardId' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tensorboard-20210114104214-xxxxxxxx',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-xxxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTensorboardResponse>\\n <TensorboardId>tensorboard-20210114104214-xxxxxxxx</TensorboardId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</UpdateTensorboardResponse>","errorExample":""}]',
+ 'title' => '更新Tensorboard',
+ ],
+ 'StopTensorboard' => [
+ 'summary' => '停止一个Tensorboard。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}/stop',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '40266',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '380',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。如何获取Tensorboard ID,请参见[ListTensorboards](~~459689~~)。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tensorboard-20210114104214-vf9lowjt3pso',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TensorboardId' => [
+ 'title' => 'Tensorboad Id',
+ 'description' => 'Tensorboard ID。',
+ 'type' => 'string',
+ 'example' => 'tensorboard-20210114104214-xxxxxxxx',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-xxxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<StopTensorboardResponse>\\n <TensorboardId>tensorboard-20210114104214-xxxxxxxx</TensorboardId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</StopTensorboardResponse>","errorExample":""}]',
+ 'title' => '停止Tensorboard',
+ ],
+ 'ListTensorboards' => [
+ 'summary' => '查询已创建的Tensorboard列表。',
+ 'path' => '/api/v1/tensorboards',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ [
+ 'APP' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '20382',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnVD2RKE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Verbose',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否显示详情',
+ 'description' => '是否显示详情。'."\n"
+ .'- true:显示详情。'."\n"
+ .'- false:不显示详情。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。根据工作空间ID来获取Tensorboard列表。<props="china">参见[ListWorkspaces](~~449124~~)获取工作空间ID。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '380',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '数据来源。目前仅支持DLC训练任务,即job。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'job',
+ ],
+ ],
+ [
+ 'name' => 'SourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '数据来源ID。参见[ListJobs](~~459676~~)获取任务ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-xxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '展示名称',
+ 'description' => 'Tensorboard展示名称。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TestTensorboard',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '根据状态过滤',
+ 'description' => 'Tensorboard状态:'."\n"
+ .'- Creating:创建中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Succeeded:已成功。'."\n"
+ .'- Failed:已失败。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Running',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '起始时间',
+ 'description' => '查询区间的起始时间。使用Tensorboard的创建UTC时间来过滤。若为空,则默认为当前时间的7天之前。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-08T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '截止时间',
+ 'description' => '查询区间的截止时间。使用Tensorboard的创建UTC时间来过滤。若为空,则默认为当前时间。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-11-09T14:45:00Z',
+ ],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '按返回字段排序',
+ 'description' => '按返回的以下字段排序。'."\n"
+ .'- DisplayName:任务名称。'."\n"
+ .'- GmtCreateTime:任务创建时间。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GmtCreateTime',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '当前页',
+ 'description' => '分页查询,指定当前需要返回的页码,起始值为1。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '每页返回的作业数',
+ 'description' => '分页查询中,指定每页返回的Tensorboard数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '50',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '排序顺序',
+ 'description' => '排序顺序。'."\n"
+ .'- desc:降序。'."\n"
+ .'- asc:升序。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'JobId',
+ 'description' => '根据DLC任务ID来过滤Tensorboard任务。参见[ListJobs](~~459676~~)获取任务ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-xxx',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'TensorboardId',
+ 'description' => '根据Tensorboard ID,来过滤Tensorboard列表。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tensorboard-xxx',
+ ],
+ ],
+ [
+ 'name' => 'ShowOwn',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否只返回当前登录者所创建的Tensorboard',
+ 'description' => '是否只返回当前登录者所创建的Tensorboard。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'PaymentType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Tensorboard任务的付费类型。'."\n"
+ .'- Free代表使用了免费资源的Tensorboard任务。'."\n"
+ .'- Postpaid代表使用了后付费资源的Tensorboard任务。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Postpaid',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '用户ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '161****3000',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '用户名。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'she****mo',
+ ],
+ ],
+ [
+ 'name' => 'QuotaId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '资源配额ID。'."\n"
+ .'> - 当前仅白名单用户可以使用资源配额资源创建Tensorboard任务,若需要使用该功能,请和我们联系。'."\n"
+ .'> - 当前仅当Tensorboard任务使用资源配额的资源时,该值有效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'quota12***'."\n",
+ ],
+ ],
+ [
+ 'name' => 'Accessibility',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务的可见性。'."\n"
+ .'- PUBLIC:在此工作空间中,对所有人可见。'."\n"
+ .'- PRIVATE:在此工作空间中,仅对您和管理员可见。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRIVATE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Tensorboards' => [
+ 'title' => 'Tensorboard 列表',
+ 'description' => 'Tensorboard列表及详情。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Tensorboard详情。',
+ '$ref' => '#/components/schemas/Tensorboard',
+ ],
+ ],
+ 'TotalCount' => [
+ 'title' => '符合条件的数据源总数量',
+ 'description' => '符合条件的数据源总数量。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'RequestId' => [
+ 'title' => '请求Id',
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tensorboards\\": [\\n {\\n \\"TensorboardId\\": \\"tensorboard-xxx\\",\\n \\"TensorboardUrl\\": \\"http://xxxxxx\\",\\n \\"Status\\": \\"running\\",\\n \\"Duration\\": \\"1234567\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:00Z\\",\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"DisplayName\\": \\"test\\",\\n \\"DataSourceId\\": \\"datasource-test\\",\\n \\"SummaryPath\\": \\"/root/data\\",\\n \\"UserId\\": \\"lycxxxxx\\",\\n \\"Username\\": \\"tensorboard.pai\\",\\n \\"ReasonCode\\": \\"Delete by user\\",\\n \\"ReasonMessage\\": \\"Tensorboard is deleted\\",\\n \\"JobId\\": \\"dlc-20210114104214-vf9lowjt3pso\\",\\n \\"TensorboardDataSources\\": [\\n {\\n \\"DirectoryName\\": \\"dlcJobName\\",\\n \\"Name\\": \\"dlcJobName\\",\\n \\"Id\\": \\"d-vf2fdhxxxxxx\\",\\n \\"DataSourceType\\": \\"OSS\\",\\n \\"Uri\\": \\"oss://.oss-cn-shanghai-finance-1.aliyuncs.com/\\",\\n \\"SourceType\\": \\"datasource\\",\\n \\"SummaryPath\\": \\"/tensorboard/run1\\",\\n \\"FullSummaryPath\\": \\"oss://xxxxx/tensorboard/run1\\"\\n }\\n ],\\n \\"TensorboardSpec\\": {\\n \\"VpcId\\": \\"vpc-xxxx\\",\\n \\"EcsType\\": \\"ecs.g6.large\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxx\\",\\n \\"SwitchId\\": \\"vsw-xxxx\\"\\n },\\n \\"QuotaId\\": \\"\\",\\n \\"Priority\\": \\"\\",\\n \\"QuotaName\\": \\"\\",\\n \\"Accessibility\\": \\"\\",\\n \\"Cpu\\": 0,\\n \\"SummaryRelativePath\\": \\"\\",\\n \\"MaxRunningTimeMinutes\\": 0,\\n \\"WorkspaceId\\": \\"\\",\\n \\"DataSourceType\\": \\"\\",\\n \\"Options\\": \\"\\",\\n \\"Memory\\": 0,\\n \\"Token\\": \\"\\"\\n }\\n ],\\n \\"TotalCount\\": 100,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<ListTensorboardsResponse>\\n <Tensorboards/>\\n <TotalCount>100</TotalCount>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</ListTensorboardsResponse>","errorExample":""}]',
+ 'title' => '查询Tensorboard列表',
+ ],
+ 'GetTensorboard' => [
+ 'summary' => '获取一个Tensorboard的详细信息。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '20371',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnWA9VRC',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'WorkspaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '工作空间ID',
+ 'description' => '工作空间ID。<props="china">参见[ListWorkspaces](~~449124~~)获取工作空间ID。</props>',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '46099',
+ ],
+ ],
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'TensorboardId Id',
+ 'description' => 'Tensorboard ID。参见[ListTensorboards](~~459689~~)获取Tensorboard ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tb-20210114104214-xxxxx',
+ 'maxLength' => 256,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'JodId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'JodId',
+ 'description' => '任务ID。参见[ListJobs](~~459676~~)获取任务ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc-xxxxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '分享令牌信息,填入该参数可利用分享令牌信息获得查看某个Tensorboard任务的权限。可通过执行[GetTensorboardSharedUrl](~~2557813~~),在获得的链接中提取。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e'."\n"
+ .'yJleHAiOjE2OTUyODA0NTMsImlhdCI6MTY5NTE5NDA1MywidXNlcl9pZCI6IjExN'."\n"
+ .'Tc3MDMyNzA5OTQ5MDEiLCJ0YXJnZXRfaWQiOiJ0YjRrOGxjNXhmdTM2b3B0Iiw'."\n"
+ .'idGFyZ2V0X3R5cGUiOiJ0ZW5zb3Jib2FyZCJ9.6eT68J-KMBwwfN2d7fj7u6vyPcf0erfqYeizd2N****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'Tensorboard详情。',
+ '$ref' => '#/components/schemas/Tensorboard',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-xxx\\",\\n \\"TensorboardUrl\\": \\"http://xxxxxx\\",\\n \\"Status\\": \\"running\\",\\n \\"Duration\\": \\"1234567\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:00Z\\",\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"DisplayName\\": \\"test\\",\\n \\"DataSourceId\\": \\"datasource-test\\",\\n \\"SummaryPath\\": \\"/root/data\\",\\n \\"UserId\\": \\"lycxxxxx\\",\\n \\"Username\\": \\"tensorboard.pai\\",\\n \\"ReasonCode\\": \\"Delete by user\\",\\n \\"ReasonMessage\\": \\"Tensorboard is deleted\\",\\n \\"JobId\\": \\"dlc-20210114104214-vf9lowjt3pso\\",\\n \\"TensorboardDataSources\\": [\\n {\\n \\"DirectoryName\\": \\"dlcJobName\\",\\n \\"Name\\": \\"dlcJobName\\",\\n \\"Id\\": \\"d-vf2fdhxxxxxx\\",\\n \\"DataSourceType\\": \\"OSS\\",\\n \\"Uri\\": \\"oss://.oss-cn-shanghai-finance-1.aliyuncs.com/\\",\\n \\"SourceType\\": \\"datasource\\",\\n \\"SummaryPath\\": \\"/tensorboard/run1\\",\\n \\"FullSummaryPath\\": \\"oss://xxxxx/tensorboard/run1\\"\\n }\\n ],\\n \\"TensorboardSpec\\": {\\n \\"VpcId\\": \\"vpc-xxxx\\",\\n \\"EcsType\\": \\"ecs.g6.large\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxx\\",\\n \\"SwitchId\\": \\"vsw-xxxx\\"\\n },\\n \\"QuotaId\\": \\"\\",\\n \\"Priority\\": \\"\\",\\n \\"QuotaName\\": \\"\\",\\n \\"Accessibility\\": \\"\\",\\n \\"Cpu\\": 0,\\n \\"SummaryRelativePath\\": \\"\\",\\n \\"MaxRunningTimeMinutes\\": 0,\\n \\"WorkspaceId\\": \\"\\",\\n \\"DataSourceType\\": \\"\\",\\n \\"Options\\": \\"\\",\\n \\"Memory\\": 0,\\n \\"Token\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<GetTensorboardResponse>\\n <TensorboardId>tensorboard-xxx</TensorboardId>\\n <TensorboardUrl>http://xxxxxx</TensorboardUrl>\\n <Status>running</Status>\\n <Duration>1234567</Duration>\\n <GmtCreateTime>2021-01-12T14:35:00Z</GmtCreateTime>\\n <GmtModifyTime>2021-01-12T14:36:00Z</GmtModifyTime>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <DisplayName>test</DisplayName>\\n <DataSourceId>datasource-test</DataSourceId>\\n <SummaryPath>/root/data</SummaryPath>\\n <UserId>lycxxxxx</UserId>\\n <ReasonCode>Delete by user</ReasonCode>\\n <ReasonMessage>Tensorboard is deleted</ReasonMessage>\\n <JobId>dlc-20210114104214-vf9lowjt3pso</JobId>\\n</GetTensorboardResponse>","errorExample":""}]',
+ 'title' => '获取Tensorboard详情',
+ ],
+ 'GetTensorboardSharedUrl' => [
+ 'summary' => '获得Tensorboard的分享链接。该链接中包含数字令牌。使用该分享链接可以访问被分享的Tensorboard任务。',
+ 'path' => '/api/v1/tensorboards/{TensorboardId}/sharedurl',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '189994',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TensorboardId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'Tensorboard任务的ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tbxxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'ExpireTimeSeconds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '分享链接的有效时长,单位:秒。最大值为604800。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '86400',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Request ID。用于问题查询和答疑。',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TensorboardSharedUrl' => [
+ 'description' => 'Tensorboard的任务分享链接。',
+ 'type' => 'string',
+ 'example' => 'http://pai-dlc-proxy-xxx.alicyuncs.com/xxx/xxx/token/',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TensorboardSharedUrl\\": \\"http://pai-dlc-proxy-xxx.alicyuncs.com/xxx/xxx/token/\\"\\n}","type":"json"}]',
+ 'title' => '获得Tensorboard任务的分享链接',
+ ],
+ 'GetRayDashboard' => [
+ 'summary' => '获取 Ray Dashboard 链接',
+ 'path' => '/api/v1/jobs/{jobId}/rayDashboard',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'jobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '任务ID'."\n",
+ 'description' => '任务ID'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc1k7426goc7bvy',
+ ],
+ ],
+ [
+ 'name' => 'isShared',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否为分享链接。若为是,目前同时必填token'."\n",
+ 'description' => '是否为分享链接。若为是,目前同时必填token'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'enum' => [
+ 'true',
+ 'false',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'token',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '从GetToken获取的token'."\n",
+ 'description' => '从GetToken获取的token'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'some_token_value',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'url' => [
+ 'title' => 'Ray Dashboard 的 URL'."\n",
+ 'description' => 'Ray Dashboard 的 URL'."\n",
+ 'type' => 'string',
+ 'example' => 'https://pre-pai-dlc-proxy-cn-hangzhou.aliyun.com/ray/dashboard/dlc1k7426goc7bvy',
+ ],
+ 'metricsEnabled' => [
+ 'title' => '该dashboard是否已经集成云监控支持展示ray metrics'."\n",
+ 'description' => '该dashboard是否已经集成云监控支持展示ray metrics'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ 'enum' => [
+ 'true',
+ 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://pre-pai-dlc-proxy-cn-hangzhou.aliyun.com/ray/dashboard/dlc1k7426goc7bvy\\",\\n \\"metricsEnabled\\": \\"true\\"\\n}","type":"json"}]',
+ 'title' => '获取RayDashboard',
+ 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。',
+ ],
+ 'GetDashboard' => [
+ 'summary' => '获取DLC任务的Dashboard URL(如果存在)。',
+ 'path' => '/api/v1/jobs/{jobId}/dashboard',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATURElearnQJXF95',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'jobId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '任务ID'."\n",
+ 'description' => '任务ID'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dlc1k7426goc7bvy',
+ ],
+ ],
+ [
+ 'name' => 'isShared',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否为分享链接。若为是,目前同时必填token'."\n",
+ 'description' => '是否为分享链接。若为是,目前同时必填token'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'enum' => [
+ 'true',
+ 'false',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'token',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '从GetToken获取的token'."\n",
+ 'description' => '从GetToken获取的token'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'some_token_value',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'url' => [
+ 'title' => 'Dashboard 的 URL'."\n",
+ 'description' => 'Dashboard 的 URL'."\n",
+ 'type' => 'string',
+ 'example' => 'https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com\\"\\n}","type":"json"}]',
+ 'title' => '获取DLC任务的Dashboard',
+ 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'pai-dlc.cn-beijing.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'endpoint' => 'pai-dlc.cn-wulanchabu.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'pai-dlc.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'pai-dlc.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'pai-dlc.cn-shenzhen.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-guangzhou',
+ 'endpoint' => 'pai-dlc.cn-guangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'pai-dlc.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'pai-dlc.ap-northeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'pai-dlc.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'pai-dlc.ap-southeast-3.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'pai-dlc.ap-southeast-5.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'pai-dlc.us-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'pai-dlc.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'pai-dlc.eu-central-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'pai-dlc.cn-shanghai-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-7',
+ 'endpoint' => 'pai-dlc.ap-southeast-7.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-southeast-1',
+ 'endpoint' => 'pai-dlc.us-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'pai-dlc.me-east-1.aliyuncs.com',
+ ],
+ ],
+];