diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/pai-dlc/2020-12-03 | |
| download | acs-metadata-full-1.0.0+20260212.tar.gz acs-metadata-full-1.0.0+20260212.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/zh_cn/pai-dlc/2020-12-03')
| -rw-r--r-- | data/zh_cn/pai-dlc/2020-12-03/api-docs.php | 7748 |
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', + ], + ], +]; |
