diff options
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 | 9876 |
1 files changed, 4100 insertions, 5776 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 index 155a692..95287e5 100644 --- a/data/zh_cn/pai-dlc/2020-12-03/api-docs.php +++ b/data/zh_cn/pai-dlc/2020-12-03/api-docs.php @@ -1,115 +1,49 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'pai-dlc', - 'version' => '2020-12-03', - ], + 'info' => ['style' => 'ROA', 'product' => 'pai-dlc', 'version' => '2020-12-03'], 'directories' => [ [ - 'id' => 169743, + 'children' => ['CreateJob', 'DeleteJob', 'UpdateJob', 'StopJob', 'ListJobs', 'GetJob', 'GetJobSanityCheckResult', 'ListJobSanityCheckResults', 'GetPodLogs', 'GetPodEvents', 'GetJobMetrics', 'GetJobEvents', 'ListEcsSpecs', 'GetWebTerminal', 'GetToken'], + 'type' => 'directory', 'title' => '任务', + 'id' => 350601, + ], + [ + 'children' => ['CreateJobTemplate', 'GetJobTemplate', 'DeleteJobTemplate', 'UpdateJobTemplate', 'ListJobTemplates', 'SetJobTemplateDefaultVersion'], 'type' => 'directory', - 'children' => [ - 'CreateJob', - 'DeleteJob', - 'UpdateJob', - 'StopJob', - 'ListJobs', - 'GetJob', - 'GetJobSanityCheckResult', - 'ListJobSanityCheckResults', - 'GetPodLogs', - 'GetPodEvents', - 'GetJobMetrics', - 'GetJobEvents', - 'ListEcsSpecs', - 'GetWebTerminal', - 'GetToken', - ], + 'title' => '任务模板', + 'id' => 448115, ], [ - 'id' => 169755, + 'children' => ['CreateTensorboard', 'DeleteTensorboard', 'StartTensorboard', 'UpdateTensorboard', 'StopTensorboard', 'ListTensorboards', 'GetTensorboard', 'GetTensorboardSharedUrl'], + 'type' => 'directory', 'title' => 'Tensorboard', + 'id' => 350617, + ], + [ + 'children' => ['CreateRayHistoryServer', 'GetRayHistoryServer', 'ListRayHistoryServers', 'StartRayHistoryServer', 'StopRayHistoryServer', 'DeleteRayHistoryServer'], 'type' => 'directory', - 'children' => [ - 'CreateTensorboard', - 'DeleteTensorboard', - 'StartTensorboard', - 'UpdateTensorboard', - 'StopTensorboard', - 'ListTensorboards', - 'GetTensorboard', - 'GetTensorboardSharedUrl', - ], + 'title' => 'RayHistoryServer', + 'id' => 452529, ], [ - 'id' => 208978, - 'title' => '其他', + 'children' => ['GetDashboard', 'GetRayDashboard', 'GetMetrics'], 'type' => 'directory', - 'children' => [ - 'GetRayDashboard', - 'GetDashboard', - ], + 'title' => '其他', + 'id' => 350626, ], ], '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', - ], + 'AliyunUid' => ['title' => 'Aliyun账号的UID', 'type' => 'string'], + 'EmployeeId' => ['title' => '弹内用户的工号', 'type' => 'string'], + 'GmtCreateTime' => ['title' => '这条记录的创建时间', 'type' => 'string'], + 'GmtModifyTime' => ['title' => '这条记录的上次修改时间', 'type' => 'string'], ], ], 'AssignNodeSpec' => [ @@ -117,169 +51,71 @@ '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', - ], + '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', - ], + 'items' => ['$ref' => '#/components/schemas/HyperNodeSpec'], ], 'AntiAffinityHyperNodes' => [ 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/HyperNodeSpec', - ], + 'items' => ['$ref' => '#/components/schemas/HyperNodeSpec'], ], ], ], 'AssumeUserInfo' => [ 'title' => 'A short description of struct', + 'description' => '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', - ], + 'SecurityToken' => ['title' => '扮演角色时使用的安全令牌', 'description' => '扮演角色时使用的安全令牌', 'type' => 'string'], + 'AccessKeyId' => ['title' => '扮演角色时使用的AccessKey ID', 'description' => '扮演角色时使用的AccessKey ID', 'type' => 'string'], + 'Type' => ['title' => '用户身份类型', 'description' => '用户身份类型', 'type' => 'string'], + 'Id' => ['title' => '用户ID', 'description' => '用户ID', 'type' => 'string'], ], ], - 'AutoScalingSpec' => [ + 'AutoscalingMetricSpec' => [ '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', - ], + 'MetricName' => ['type' => 'string'], + 'TargetValue' => ['type' => 'integer', 'format' => 'int32'], + 'StabilizationWindowSeconds' => ['type' => 'integer', 'format' => 'int32'], + 'Tolerance' => ['type' => 'string'], ], ], - 'AutoscalingMetricSpec' => [ + 'AutoScalingSpec' => [ 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'type' => 'string', - ], - 'TargetValue' => [ - 'type' => 'integer', - 'format' => 'int32', + 'ScalingStrategy' => ['title' => '自动伸缩策略,目前支持 Default, ScaleByAPI, RayAutoscaler, CloudMonitorMetric', 'description' => '自动伸缩策略,目前支持 Default, ScaleByAPI, RayAutoscaler, CloudMonitorMetric', 'type' => 'string'], + 'MinReplicas' => ['title' => '最小副本数量', 'description' => '最小副本数量', 'type' => 'integer', 'format' => 'int32'], + 'MaxReplicas' => ['title' => '最大副本数量', 'description' => '最大副本数量', 'type' => 'integer', 'format' => 'int32'], + 'PodsToDelete' => [ + 'title' => '指定缩容节点。仅允许通过 UpdateJob修改,缩容数量必须与 PodCount 匹配', + 'description' => '指定缩容节点。仅允许通过 UpdateJob修改,缩容数量必须与 PodCount 匹配', + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => ''], ], + 'AutoscalingMetricSpec' => ['title' => '自动伸缩的监控指标配置', 'description' => '自动伸缩的监控指标配置', '$ref' => '#/components/schemas/AutoscalingMetricSpec'], ], + 'description' => '', ], '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', - ], + 'CodeRepo' => ['title' => '代码仓库地址', 'description' => '代码仓库地址', 'type' => 'string', 'example' => 'https://code.aliyun.com/pai-dlc/examples.git'], + 'Description' => ['title' => '代码源详细描述', 'description' => '代码源详细文字描述', 'type' => 'string', 'example' => 'code source of dlc examples'], + 'CodeRepoAccessToken' => ['title' => '访问代码仓库所用的AccessToken', 'description' => '访问代码仓库的AccessToken。', 'type' => 'string', 'example' => 'xxxx'], + 'GmtModifyTime' => ['title' => '修改时间', 'description' => '修改时间(UTC)', 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], + 'UserId' => ['title' => '代码源配置的用户ID', 'description' => '代码源创建者的阿里云用户UID。', 'type' => 'string', 'example' => '115729017166****'], + 'CodeCommit' => ['title' => '代码Commit ID', 'description' => '代码CommitID,调用CreateJob时可以覆盖。', 'type' => 'string', 'example' => '44da109b59f8596152987eaa8f3b2487bb72ea63'], + 'DisplayName' => ['title' => '代码源配置的名字', 'description' => '代码源名称', 'type' => 'string', 'example' => 'MyCodeSourceName1'], + 'CodeSourceId' => ['title' => '代码源ID', 'description' => '代码源ID', 'type' => 'string', 'example' => 'code-20210111103721-********'], + 'CodeBranch' => ['title' => '代码分支', 'description' => '代码仓库分支;在CreateJob时可以被覆盖。', 'type' => 'string', 'example' => 'master'], + 'CodeRepoUserName' => ['title' => '访问代码仓库的用户名', 'description' => '代码仓库访问的用户名,用于访问私有仓库。', 'type' => 'string', 'example' => 'user'], + 'GmtCreateTime' => ['title' => '创建时间', 'description' => '创建时间(UTC)', 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], ], ], 'ContainerSpec' => [ @@ -287,125 +123,70 @@ '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', - ], + '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', - ], + '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', + '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', + 'items' => ['description' => '环境变量列表。', '$ref' => '#/components/schemas/EnvVar'], ], + 'Resources' => ['title' => '容器资源', 'description' => '容器资源。', '$ref' => '#/components/schemas/ResourceRequirements'], ], ], 'CredentialConfig' => [ 'title' => 'A short description of struct', + 'description' => 'A short description of struct', 'type' => 'object', 'properties' => [ - 'EnableCredentialInject' => [ - 'title' => 'EnableCredentialInject', - 'type' => 'boolean', - ], - 'AliyunEnvRoleKey' => [ - 'title' => 'AliyunEnvRoleKey', - 'type' => 'string', - ], + 'EnableCredentialInject' => ['title' => '是否开启凭证注入', 'description' => '是否开启凭证注入', 'type' => 'boolean'], + 'AliyunEnvRoleKey' => ['title' => '注入到环境变量中的角色标识Key', 'description' => '注入到环境变量中的角色标识Key', 'type' => 'string'], 'CredentialConfigItems' => [ - 'title' => 'CredentialConfigItems', + 'title' => '凭证配置项列表', + 'description' => '凭证配置项列表', 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/CredentialConfigItem', - ], + 'items' => ['$ref' => '#/components/schemas/CredentialConfigItem', 'description' => ''], ], ], ], 'CredentialConfigItem' => [ - 'title' => 'A short description of struct', + 'title' => '凭证配置项', + 'description' => '凭证配置项', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => 'Key', - 'type' => 'string', - ], - 'Type' => [ - 'title' => 'Type', - 'type' => 'string', - ], + 'Key' => ['title' => '凭证配置项的标识Key', 'description' => '凭证配置项的标识Key', 'type' => 'string'], + 'Type' => ['title' => '凭证类型', 'description' => '凭证类型', 'type' => 'string'], 'Roles' => [ - 'title' => 'Roles', + 'title' => '关联的角色列表', + 'description' => '关联的角色列表', 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/CredentialRole', - ], + 'items' => ['$ref' => '#/components/schemas/CredentialRole', 'description' => ''], ], ], ], 'CredentialRole' => [ - 'title' => 'A short description of struct', + 'title' => '凭证角色配置', + 'description' => '凭证角色配置', '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', - ], + 'RoleArn' => ['title' => 'RAM角色的ARN', 'description' => 'RAM角色的ARN', 'type' => 'string'], + 'RoleType' => ['title' => '角色类型,取值为service或user', 'description' => '角色类型,取值为service或user', 'type' => 'string'], + 'AssumeRoleFor' => ['title' => '代表哪个账号扮演该角色', 'description' => '代表哪个账号扮演该角色', 'type' => 'string'], + 'Policy' => ['title' => '角色扮演时附加的权限策略', 'description' => '角色扮演时附加的权限策略', 'type' => 'string'], + 'AssumeUserInfo' => ['$ref' => '#/components/schemas/AssumeUserInfo', 'description' => ''], ], ], 'DataJuicerConfig' => [ @@ -421,10 +202,7 @@ 'type' => 'string', 'required' => false, 'example' => 'standalone', - 'enum' => [ - 'standalone', - 'distributed', - ], + 'enum' => ['standalone', 'distributed'], ], 'CommandType' => [ 'title' => '命令类型', @@ -434,19 +212,10 @@ .'- config:填写DataJuicer的yaml配置。', 'type' => 'string', 'example' => 'config', - 'enum' => [ - 'shell', - 'config', - ], - ], - 'EnableResourceEstimation' => [ - 'title' => '是否开启资源预估', - 'description' => '是否开启资源预估', - 'type' => 'boolean', - ], - 'ResourceLimit' => [ - '$ref' => '#/components/schemas/ResourceLimit', + 'enum' => ['shell', 'config'], ], + 'EnableResourceEstimation' => ['title' => '是否开启资源预估', 'description' => '是否开启资源预估', 'type' => 'boolean'], + 'ResourceLimit' => ['$ref' => '#/components/schemas/ResourceLimit', 'description' => ''], ], ], 'DataSourceItem' => [ @@ -454,78 +223,18 @@ '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', - ], + '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' => [ @@ -533,191 +242,41 @@ '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', - ], + '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模板\\"}'], ], ], - 'DebuggerResult' => [ - 'title' => 'debugger评估报告', - 'description' => 'debug生成的评估报告', + 'DownloadJobResult' => [ '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": "{}"}}', + 'DownloadJobId' => ['type' => 'string'], + 'UserId' => ['type' => 'string'], + 'TenantId' => ['type' => 'string'], + 'WorkspaceId' => ['type' => 'string'], + 'Type' => ['type' => 'string'], + 'SourceJobId' => ['type' => 'string'], + 'StartTime' => ['type' => 'string'], + 'EndTime' => ['type' => 'string'], + 'LogCount' => ['type' => 'integer', 'format' => 'int32'], + 'Status' => ['type' => 'string'], + 'DownloadUrl' => ['type' => 'string'], + 'UrlExpireTime' => ['type' => 'string'], + 'GmtCreated' => ['type' => 'string'], + 'GmtModified' => ['type' => 'string'], + 'DisplayName' => ['type' => 'string'], + 'PodIds' => [ + 'type' => 'array', + 'items' => ['type' => 'string'], ], - 'DebuggerConfigContent' => [ - 'title' => '配置项细节,json结构', - 'type' => 'string', - 'example' => '{\\"description\\":\\"这是一个新的pytorchjob模板\\"}', + 'PodUids' => [ + 'type' => 'array', + 'items' => ['type' => 'string'], ], + 'FileType' => ['type' => 'string'], ], ], 'EcsSpec' => [ @@ -725,130 +284,56 @@ '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', - ], + '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', + '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', - ], + 'items' => ['description' => '付费类型:'."\n" + .'- Spot'."\n" + .'- PostPaid', 'type' => 'string', 'example' => 'Spot,PostPaid'], ], ], ], + 'ElasticSpotSpec' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['title' => '机型', 'type' => 'string'], + 'SpotPriceLimit' => ['title' => '最高出价', 'type' => 'number', 'format' => 'double'], + 'SpotDiscountLimit' => ['title' => '最高折扣', 'type' => 'number', 'format' => 'double'], + 'SpotStrategy' => ['title' => '竞价策略', 'type' => 'string'], + ], + ], 'EnvVar' => [ 'title' => 'EnvVar', 'description' => '环境变量。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '环境变量名称', - 'description' => '环境变量名称。', - 'type' => 'string', - 'example' => 'ENABLE_DEBUG', - ], - 'Value' => [ - 'title' => '环境变量值', - 'description' => '环境变量值。', - 'type' => 'string', - 'example' => 'true', - ], + 'Name' => ['title' => '环境变量名称', 'description' => '环境变量名称。', 'type' => 'string', 'example' => 'ENABLE_DEBUG'], + 'Value' => ['title' => '环境变量值', 'description' => '环境变量值。', 'type' => 'string', 'example' => 'true'], ], ], 'EventInfo' => [ @@ -856,26 +341,11 @@ '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', - ], + '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' => [ @@ -887,158 +357,50 @@ 'title' => '伴随容器', 'description' => '伴随容器。', 'type' => 'array', - 'items' => [ - 'description' => '容器配置。', - '$ref' => '#/components/schemas/ContainerSpec', - ], + 'items' => ['description' => '容器配置。', '$ref' => '#/components/schemas/ContainerSpec'], ], 'InitContainers' => [ 'title' => '初始化容器', 'description' => '初始化容器。', 'type' => 'array', - 'items' => [ - 'description' => '容器配置。', - '$ref' => '#/components/schemas/ContainerSpec', - ], + 'items' => ['description' => '容器配置。', '$ref' => '#/components/schemas/ContainerSpec'], ], 'PodLabels' => [ 'title' => 'Pod标签', 'description' => 'Pod标签。', 'type' => 'object', 'deprecated' => true, - 'additionalProperties' => [ - 'description' => '标签。格式:Key=Value。', - 'type' => 'string', - 'example' => 'example-lable', - ], + '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', - ], + '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', + 'items' => ['description' => '共享的本地目录。', 'type' => 'string', 'example' => '/root/share/'], ], + 'Lifecycle' => ['description' => 'Lifecycle对象。', '$ref' => '#/components/schemas/Lifecycle'], + 'MainContainerSecurityContext' => ['title' => '主容器安全上下文', 'description' => '主容器安全上下文', '$ref' => '#/components/schemas/SecurityContext'], ], ], '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', - ], + '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' => [ @@ -1046,31 +408,16 @@ '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', - ], + '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', - ], + 'HyperNodeName' => ['type' => 'string'], + 'NodeNames' => ['type' => 'string'], ], ], 'ImageConfig' => [ @@ -1078,29 +425,10 @@ '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', - ], + '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' => [ @@ -1108,161 +436,44 @@ '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', - ], + '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'], ], ], 'JobElasticSpec' => [ 'title' => '弹性任务参数', + 'description' => '弹性任务参数', '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', - ], + 'EnableElasticTraining' => ['title' => '是否开启弹性训练', 'description' => '是否开启弹性训练', 'type' => 'boolean', 'example' => 'true'], + 'MinParallelism' => ['title' => '最小并行度', 'description' => '最小并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxParallelism' => ['title' => '最大并行度', 'description' => '最大并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '8'], + 'AIMasterType' => ['title' => 'aimaster角色使用的资源规格', 'description' => 'aimaster角色使用的资源规格', 'type' => 'string'], + 'AIMasterDockerImage' => ['title' => 'aimaster docker镜像', 'description' => 'aimaster docker镜像', 'type' => 'string'], + 'EnablePsJobElasticWorker' => ['title' => '是否开启弹性Worker对于PS作业', 'description' => '是否开启弹性Worker对于PS作业', 'type' => 'boolean'], + 'EnableAIMaster' => ['title' => '是否打开AIMaster', 'description' => '是否打开AIMaster', 'type' => 'boolean'], + 'EnablePsResourceEstimate' => ['title' => '是否打开PS资源预估', 'description' => '是否打开PS资源预估', 'type' => 'boolean', 'example' => 'true'], + 'EnablePsJobElasticPS' => ['title' => '是否打开弹性PS功能', 'description' => '是否打开弹性PS功能', 'type' => 'boolean', 'example' => 'true'], + 'PSMinParallelism' => ['title' => 'PS最小并行度', 'description' => 'PS最小并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'PSMaxParallelism' => ['title' => 'PS最大并行度', 'description' => 'PS最大并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ElasticStrategy' => ['title' => '弹性训练策略', 'description' => '弹性训练策略', 'type' => 'string'], + 'EnableEDP' => ['title' => '是否打开EDP', 'description' => '是否打开EDP', 'type' => 'boolean', 'example' => 'true'], + 'EDPMaxParallelism' => ['title' => 'EDP最大并行度', 'description' => 'EDP最大并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '16'], + 'EDPMinParallelism' => ['title' => 'EDP最小并行度', 'description' => 'EDP最小并行度', 'type' => 'integer', 'format' => 'int32', 'example' => '8'], ], ], 'JobItem' => [ @@ -1270,154 +481,59 @@ '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', - ], + '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***', - ], + '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', + '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.', - ], + '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', + 'items' => ['description' => '节点配置。', '$ref' => '#/components/schemas/JobSpec'], ], + 'UserCommand' => ['title' => '用户命令', 'description' => '作业每个节点运行的启动命令。', 'type' => 'string', 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '数据源配置列表', 'description' => '本作业使用的所有数据源配置列表。', @@ -1426,18 +542,8 @@ 'description' => '数据源列表。', 'type' => 'object', 'properties' => [ - 'DataSourceId' => [ - 'title' => '数据源Id', - 'description' => '数据源配置ID。', - 'type' => 'string', - 'example' => 'data-20210114104214-********', - ], - 'MountPath' => [ - 'title' => '本地挂载路径', - 'description' => '数据源在本地的挂载路径。', - 'type' => 'string', - 'example' => '/mnt/data', - ], + 'DataSourceId' => ['title' => '数据源Id', 'description' => '数据源配置ID。', 'type' => 'string', 'example' => 'data-20210114104214-********'], + 'MountPath' => ['title' => '本地挂载路径', 'description' => '数据源在本地的挂载路径。', 'type' => 'string', 'example' => '/mnt/data'], ], ], ], @@ -1446,325 +552,102 @@ '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', - ], + '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', - ], + '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/', + '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', - ], + '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****', - ], + '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', + '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', + 'items' => ['description' => 'Pod的详细信息。', '$ref' => '#/components/schemas/PodItem'], ], + 'TemplateId' => ['type' => 'string'], + 'TemplateName' => ['type' => 'string'], 'JobReplicaStatuses' => [ 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/JobReplicaStatus', - ], + 'items' => ['$ref' => '#/components/schemas/JobReplicaStatus', 'description' => ''], + 'description' => '', ], + 'SchedulingStrategy' => ['type' => 'string'], + 'RetryCount' => ['type' => 'integer', 'format' => 'int32'], ], ], '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', - ], + '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'], + 'CurrentSpotInstanceType' => ['title' => '当前选中的 Spot 规格(仅对弹性Spot任务生效)', 'type' => 'string'], ], ], 'JobSettings' => [ @@ -1772,154 +655,56 @@ 'description' => '额外参数配置。', 'type' => 'object', 'properties' => [ - 'BusinessUserId' => [ - 'title' => '作业关联用户ID', - 'description' => '作业关联用户ID。', - 'type' => 'string', - 'example' => '16****', - ], - 'Caller' => [ - 'title' => '调用方', - 'description' => '调用方。', - 'type' => 'string', - 'example' => 'SilkFlow', - ], + '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', - ], + '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', - ], + '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', + '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', 'description' => ''], + 'DataJuicerConfig' => ['description' => 'DataJuicer任务配置。', '$ref' => '#/components/schemas/DataJuicerConfig'], + 'ModelConfig' => ['$ref' => '#/components/schemas/ModelConfig', 'title' => '产出模型配置,该参数目前只在联合训练场景中生效', 'description' => '产出模型配置,该参数目前只在联合训练场景中生效'], + 'AllowUnschedulableNodes' => ['type' => 'boolean'], + 'Shell' => [ + 'type' => 'string', + 'example' => '/bin/bash', + 'enum' => ['/bin/sh', '/bin/bash'], ], ], ], @@ -1928,173 +713,86 @@ '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', - ], + '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" + .'- **RayJob**:支持Head, Worker, Worker[-xxx]。'."\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'], + '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', - ], + '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', 'description' => ''], + 'EcsSpec' => ['description' => 'Worker的硬件规格,请访问[PAI-DLC计费说明](~~171758~~)获取详细规格列表。><notice>不同规格的价格会有区别。></notice>', 'type' => 'string', 'example' => 'ecs.c6.large'], + 'QuotaId' => ['type' => 'string', 'description' => ''], + 'ConsiderInSuccessPolicy' => ['title' => '判断任务成功时是否考虑该角色,成功策略为Partial时生效', 'description' => '判断任务成功时是否考虑该角色,成功策略为Partial时生效', 'type' => 'boolean'], 'StartupDependencies' => [ 'title' => '该角色启动前需要的依赖', 'description' => '该角色启动前需要的依赖', 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/StartupDependency', - ], + 'items' => ['$ref' => '#/components/schemas/StartupDependency', 'description' => ''], + ], + 'ElasticSpotSpecs' => [ + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/ElasticSpotSpec'], ], ], ], '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', - ], + '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', - ], + 'additionalProperties' => ['type' => 'string'], ], ], ], 'Lifecycle' => [ 'title' => 'Lifecycle对象', + 'description' => 'Lifecycle对象', 'type' => 'object', 'properties' => [ 'PreStop' => [ 'title' => '容器停止之前', + 'description' => '容器停止之前', 'type' => 'object', 'properties' => [ 'Exec' => [ 'title' => '执行对象', + 'description' => '执行对象', 'type' => 'object', 'properties' => [ 'Command' => [ - 'title' => '命令', + 'title' => '命令Command', + 'description' => '命令Command', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['title' => '', 'description' => '', 'type' => 'string'], ], ], ], @@ -2102,18 +800,19 @@ ], 'PostStart' => [ 'title' => '容器启动之后', + 'description' => '容器启动之后', 'type' => 'object', 'properties' => [ 'Exec' => [ 'title' => '执行对象', + 'description' => '执行对象', 'type' => 'object', 'properties' => [ 'Command' => [ 'title' => '命令', + 'description' => '命令', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => ''], ], ], ], @@ -2123,55 +822,25 @@ ], 'LocalMountSpec' => [ 'title' => '本地挂载配置', + 'description' => '本地挂载配置', 'type' => 'object', 'properties' => [ - 'MountPath' => [ - 'title' => '容器内挂载绝对路径,必须以/开头,当MountMode为Block时,必须以/dev/开头', - 'type' => 'string', - ], - 'MountMode' => [ - 'title' => '挂载模式,支持Block,Filesystem两种模式', - 'type' => 'string', - ], - 'LocalPath' => [ - 'title' => '本地路径,当MountMode为Block时,该字段无效', - 'type' => 'string', - ], + 'MountMode' => ['title' => '挂载模式,支持Block,Filesystem两种模式', 'description' => '挂载模式,支持Block,Filesystem两种模式', 'type' => 'string'], + 'LocalPath' => ['title' => '宿主机本地路径,当MountMode为Block时该字段无效', 'description' => '宿主机本地路径,当MountMode为Block时该字段无效', 'type' => 'string'], + 'MountPath' => ['title' => '容器内挂载绝对路径,必须以/开头,当MountMode为Block时,必须以/dev/开头', 'description' => '容器内挂载绝对路径,必须以/开头,当MountMode为Block时,必须以/dev/开头', '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', - ], + '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' => [ @@ -2179,16 +848,8 @@ 'description' => '工作空间成员', 'type' => 'object', 'properties' => [ - 'MemberId' => [ - 'title' => '成员id', - 'type' => 'string', - 'example' => 'ken_12345', - ], - 'MemberType' => [ - 'title' => '成员角色', - 'type' => 'string', - 'example' => 'WorkspaceAdmin', - ], + 'MemberId' => ['title' => '成员id', 'type' => 'string', 'example' => 'ken_12345'], + 'MemberType' => ['title' => '成员角色', 'type' => 'string', 'example' => 'WorkspaceAdmin'], ], ], 'Metric' => [ @@ -2196,69 +857,23 @@ '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', - ], + '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', - ], + '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', - ], - ], + 'ModelName' => ['title' => '模型模版名称', 'type' => 'string'], + 'Provider' => ['title' => '模型模版提供方,默认值: \'pai\',表示PAI官方提供的模型模版', 'type' => 'string'], + 'Collections' => ['title' => '模型模板所在的Collection,默认值:\'QuickStartTemplate\'', 'type' => 'string'], ], ], 'PodItem' => [ @@ -2266,69 +881,27 @@ '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', - ], + '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', + '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', - ], + 'items' => ['$ref' => '#/components/schemas/PodNetworkInterface'], ], ], ], @@ -2337,82 +910,38 @@ 'description' => '任务监控数据。', 'type' => 'object', 'properties' => [ - 'PodId' => [ - 'title' => 'Pod编号', - 'description' => '节点ID。', - 'type' => 'string', - 'example' => 'dlc-20210329110128-******-worker-0', - ], + 'PodId' => ['title' => 'Pod编号', 'description' => '节点ID。', 'type' => 'string', 'example' => 'dlc-20210329110128-******-worker-0'], 'Metrics' => [ 'title' => '监控指标样本序列', 'description' => '监控数据列表。', 'type' => 'array', - 'items' => [ - 'description' => '监控数据。', - '$ref' => '#/components/schemas/Metric', - ], + 'items' => ['description' => '监控数据。', '$ref' => '#/components/schemas/Metric'], ], ], ], 'PodNetworkInterface' => [ 'type' => 'object', 'properties' => [ - 'InterfaceName' => [ - 'type' => 'string', - ], - 'Ip' => [ - 'type' => 'string', - ], + 'InterfaceName' => ['title' => '网卡接口名称', 'description' => '网卡接口名称', 'type' => 'string'], + 'Ip' => ['title' => '网卡对应的IP地址', 'description' => '网卡对应的IP地址', 'type' => 'string'], ], + 'description' => '', ], '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', - ], + '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' => [ @@ -2420,27 +949,11 @@ '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', - ], + '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' => [ @@ -2448,37 +961,15 @@ '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', - ], + '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', - ], + 'items' => ['$ref' => '#/components/schemas/GPUDetail'], ], ], ], @@ -2487,60 +978,20 @@ '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', - ], + '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', - ], + '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' => [ @@ -2552,19 +1003,13 @@ 'title' => '资源限制', 'description' => '资源限制', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', 'description' => ''], ], 'Requests' => [ 'title' => '资源需求', 'description' => '资源需求', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', 'description' => ''], ], ], ], @@ -2573,21 +1018,9 @@ '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)', - ], + 'CPU' => ['title' => 'CPU核心数', 'type' => 'string', 'example' => '10'], + 'GPU' => ['title' => 'GPU卡数', 'type' => 'string', 'example' => '8'], + 'Memory' => ['title' => '内存大小', 'type' => 'string', 'example' => '1024(单位GB)'], ], ], 'SanityCheckResultItem' => [ @@ -2595,169 +1028,84 @@ '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', - ], + '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', + 'title' => 'Seccomp安全配置', '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', - ], + 'Type' => ['title' => 'Seccomp配置类型,取值:Localhost,RuntimeDefault,Unconfined', 'description' => 'Seccomp配置类型,取值:Localhost,RuntimeDefault,Unconfined', 'type' => 'string', 'example' => 'Unconfined'], + 'LocalhostProfile' => ['title' => '节点上的seccomp配置文件路径,仅Type为Localhost生效', 'description' => '节点上的seccomp配置文件路径,仅Type为Localhost生效', 'type' => 'string', 'example' => 'my-profiles/profile-allow.json'], ], ], 'SecurityContext' => [ - 'title' => 'A short description of struct', - 'description' => '容器安全上下文', + 'title' => '容器安全上下文', + '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', - ], + 'RunAsUser' => ['title' => '运行容器的用户UID', 'description' => '运行容器的用户UID', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'RunAsGroup' => ['title' => '运行容器的用户GID', 'description' => '运行容器的用户GID', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'SeccompProfile' => ['title' => 'Seccomp配置', 'description' => 'Seccomp配置', '$ref' => '#/components/schemas/SeccompProfile'], + 'Privileged' => ['title' => '特权模式,仅对部分灵骏预付费用户场景开放', 'description' => '特权模式,仅对部分灵骏预付费用户场景开放', 'type' => 'boolean'], + 'Capabilities' => ['title' => '容器的Linux Capabilities配置', 'description' => '容器的Linux Capabilities配置', '$ref' => '#/components/schemas/SecurityContextCapabilities'], ], ], 'SecurityContextCapabilities' => [ + 'title' => 'Linux Capabilities配置', + 'description' => 'Linux Capabilities配置', 'type' => 'object', 'properties' => [ 'Add' => [ + 'title' => '需要添加的Linux Capability列表', + 'description' => '需要添加的Linux Capability列表', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => ''], ], 'Drop' => [ + 'title' => '需要移除的Linux Capability列表', + 'description' => '需要移除的Linux Capability列表', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => ''], ], ], ], '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', - ], + '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' => [ + 'DefaultPort' => ['title' => '服务默认端口', 'description' => '服务默认端口', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], 'ServiceMode' => [ 'title' => '服务模式,支持PerRole和PerPod', 'description' => '服务模式,支持PerRole和PerPod,默认为空,空表示PerPod', 'type' => 'string', - 'enumValueTitles' => [ - 'PerPod' => 'PerPod', - 'PerRole' => 'PerRole', - ], + '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', + 'items' => ['description' => '服务额外端口', 'type' => 'integer', 'format' => 'int32', 'example' => '8081'], ], ], ], @@ -2765,88 +1113,22 @@ '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', - ], + 'Path' => ['title' => 'OSS数据源路径', 'type' => 'string', 'example' => 'oss://buc/path/to/dir'], + 'Status' => ['title' => '运行状态', 'type' => 'string', 'example' => 'Running'], + 'Options' => ['title' => '可选的超参数', 'type' => 'string', 'example' => '{"num_threads": 32}'], + 'Description' => ['title' => 'SmartCache 描述', 'type' => 'string', 'example' => 'test'], + 'Duration' => ['title' => '已运行时长', 'type' => 'string', 'example' => '123456'], + 'SmartCacheId' => ['title' => 'SmartCacheId', 'type' => 'string', 'example' => 'smartcache-20210114104214-vf9lowjt3pso'], + 'CacheWorkerNum' => ['title' => 'cache worker的数量单位是个', 'type' => 'integer', 'format' => 'int64', 'example' => '10'], + 'MountPath' => ['title' => '数据源本地挂载目录', 'type' => 'string', 'example' => '/root/data/'], + 'CacheWorkerSize' => ['title' => '每个cache worker的cache大小单位是GB', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'Type' => ['title' => '挂载的数据类型', 'type' => 'string', 'example' => 'oss'], + 'Endpoint' => ['title' => 'OSS Endpoint', 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com'], + 'GmtModifyTime' => ['title' => '修改时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T23:36:01Z'], + 'UserId' => ['title' => '创建者Id', 'type' => 'string', 'example' => '189xxx'], + 'DisplayName' => ['title' => 'SmartCache 名称', 'type' => 'string', 'example' => 'test'], + 'FileSystemId' => ['title' => '阿里云的NAS文件系统ID', 'type' => 'string', 'example' => '1ca404****'], + 'GmtCreateTime' => ['title' => '创建时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], ], ], 'SpotSpec' => [ @@ -2859,45 +1141,19 @@ 'description' => '抢占式实例抢占策略,可选值:'."\n" .'- SpotWithPriceLimit', 'type' => 'string', - 'enumValueTitles' => [ - 'SpotWithPriceLimit' => 'SpotWithPriceLimit', - ], + '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', - ], + '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, - ], + 'Type' => ['title' => '依赖的角色类型', 'type' => 'string', 'required' => false], + 'OnPhase' => ['title' => '依赖的角色到何种阶段视作满足', 'type' => 'string', 'required' => false], + 'MinReplicas' => ['title' => '依赖的角色最少多少个达到预期Phase视作满足', 'type' => 'string', 'required' => false], ], ], 'StatusTransitionItem' => [ @@ -2905,44 +1161,21 @@ 'description' => '作业流转状态信息条目', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '作业状态', - 'type' => 'string', - ], - 'StartTime' => [ - 'title' => '此状态开始时间', - 'type' => 'string', - ], - 'EndTime' => [ - 'title' => '此状态结束时间', - 'type' => 'string', - ], - 'ReasonCode' => [ - 'title' => '出现此状态的原因码', - 'type' => 'string', - ], - 'ReasonMessage' => [ - 'title' => '出现此状态的具体信息', - 'type' => 'string', - ], + 'Status' => ['title' => '作业状态', 'description' => '作业状态', 'type' => 'string'], + 'StartTime' => ['title' => '此状态开始时间(UTC)', 'description' => '此状态开始时间(UTC)', 'type' => 'string'], + 'EndTime' => ['title' => '此状态结束时间(UTC)', 'description' => '此状态结束时间(UTC)', 'type' => 'string'], + 'ReasonCode' => ['title' => '出现此状态的原因码', 'description' => '出现此状态的原因码', 'type' => 'string'], + 'ReasonMessage' => ['title' => '出现此状态的具体信息', 'description' => '出现此状态的具体信息', 'type' => 'string'], ], ], 'SystemDisk' => [ + 'title' => '系统盘配置', + 'description' => '系统盘配置', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - ], - 'Category' => [ - 'type' => 'string', - 'required' => false, - ], - 'PerformanceLevel' => [ - 'type' => 'string', - 'required' => false, - ], + 'Size' => ['title' => '系统盘大小,单位为GiB', 'description' => '系统盘大小,单位为GiB', 'type' => 'integer', 'format' => 'int64', 'required' => false], + 'Category' => ['title' => '系统盘类型,如cloud_essd', 'description' => '系统盘类型,如cloud_essd', 'type' => 'string', 'required' => false], + 'PerformanceLevel' => ['title' => 'ESSD云盘的性能等级,如PL0、PL1', 'description' => 'ESSD云盘的性能等级,如PL0、PL1', 'type' => 'string', 'required' => false], ], ], 'Tensorboard' => [ @@ -2950,191 +1183,33 @@ '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', - ], + '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', + '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'], ], ], 'TensorboardDataSourceSpec' => [ @@ -3142,56 +1217,16 @@ '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', - ], + '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' => [ @@ -3199,30 +1234,10 @@ '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', - ], + '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' => [ @@ -3230,55 +1245,26 @@ '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', - ], + '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', + 'items' => ['$ref' => '#/components/schemas/Quota'], ], + 'TotalResources' => ['title' => '资源总量', '$ref' => '#/components/schemas/Resources'], 'Members' => [ 'title' => '成员列表', 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/Member', - ], + 'items' => ['$ref' => '#/components/schemas/Member'], ], 'WorkspaceAdmins' => [ 'title' => '管理员列表', 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/Member', - ], + 'items' => ['$ref' => '#/components/schemas/Member'], ], ], ], @@ -3286,26 +1272,16 @@ ], 'apis' => [ 'CreateJob' => [ - 'summary' => '创建一个任务到集群中运行。您可以指定数据源配置、代码源配置、启动命令以及任务运行的每个节点的计算资源配置等信息', 'path' => '/api/v1/jobs', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ @@ -3313,9 +1289,7 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '13110', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ @@ -3326,17 +1300,9 @@ 'description' => '请求Body参数。', 'type' => 'object', 'properties' => [ - 'DisplayName' => [ - 'title' => '作业显示名称', - 'description' => '任务的名称,命名格式如下:'."\n" - .'- 名称长度不超过256个字符。'."\n" - .'- 允许数字、字母、下划线(_)、英文句号(.)和短横线(-)。', - 'type' => 'string', - 'required' => true, - 'example' => 'tf-mnist-test', - 'maxLength' => 1024, - 'minLength' => 1, - ], + 'DisplayName' => ['title' => '作业显示名称', 'description' => '任务的名称,命名格式如下:'."\n" + .'- 名称长度不超过256个字符。'."\n" + .'- 允许数字、字母、下划线(_)、英文句号(.)和短横线(-)。', 'type' => 'string', 'required' => true, 'example' => 'tf-mnist-test', 'maxLength' => 1024, 'minLength' => 1], 'JobType' => [ 'title' => '作业类型', 'description' => '任务类型,大小写敏感。当前支持的任务类型:'."\n" @@ -3351,17 +1317,7 @@ .'- DataJuicerJob', 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'OneFlowJob' => 'OneFlow', - 'PyTorchJob' => 'PyTorch', - 'SlurmJob' => 'Slurm', - 'XGBoostJob' => 'XGBoost', - 'ElasticBatchJob' => 'ElasticBatch', - 'DataJuicerJob' => 'DataJuicer', - 'MPIJob' => 'MPIJob', - 'TFJob' => 'Tensorflow', - 'RayJob' => 'Ray', - ], + '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, @@ -3372,21 +1328,11 @@ ."\n" .'DLC任务由不同类型的节点组成,同一类型的节点拥有完全相同的配置,这种配置被称为一个JobSpec。**JobSpecs**描述所有类型节点的配置,是JobSpec的数组。', 'type' => 'array', - 'items' => [ - 'description' => '任务的运行时配置。', - 'required' => false, - '$ref' => '#/components/schemas/JobSpec', - ], + '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', - ], + 'UserCommand' => ['title' => '作业命令', 'description' => '任务所有节点的启动命令。', 'type' => 'string', 'required' => true, 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '数据源配置列表', 'description' => '任务运行所使用的数据源列表。', @@ -3397,49 +1343,19 @@ .'任务的启动命令中的进程以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, - ], + '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, 'description' => ''], + 'MountAccess' => ['type' => 'string', 'required' => false, 'description' => ''], + 'EnableCache' => ['type' => 'boolean', 'required' => false, 'description' => ''], + 'AccessPointId' => ['type' => 'string'], + 'RoleChain' => ['type' => 'string'], ], 'required' => false, ], @@ -3450,34 +1366,10 @@ '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', - ], + '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, ], @@ -3486,51 +1378,23 @@ '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****', - ], + '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', + 'items' => ['description' => '扩展网段。', 'type' => 'string', 'required' => false, 'example' => '192.168.0.1/24'], 'required' => false, - 'example' => 'eth0', ], + 'DefaultRoute' => ['description' => '默认路由。取值如下:'."\n" + .'- eth0:表示使用默认网卡,通过公共网关访问外部网络。'."\n" + .'- eth1:表示使用用户弹性网卡,通过私有网关访问外部网络。具体配置方法,请参考[配置DSW实例通过专有公网网关访问公网](~~2525343~~)。', 'type' => 'string', 'required' => false, 'example' => 'eth0'], ], 'required' => false, ], @@ -3538,150 +1402,61 @@ 'title' => '三方库配置列表', 'description' => '待安装的Python三方库列表。', 'type' => 'array', - 'items' => [ - 'description' => '指定一个第三方Python库和对应版本要求,例如:`numpy==1.16.1`。', - 'type' => 'string', - 'required' => false, - 'example' => 'numpy==1.16.1', - ], + '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/', - ], + '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' => '该参数暂未支持,无需关注。', + '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'], + 'TemplateId' => ['title' => '模板 ID', 'description' => '任务模版ID', 'type' => 'string', 'required' => false, 'example' => 'tplabc1234567'], + 'TemplateVersion' => ['title' => '模板版本号', 'description' => '任务模版版本', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + 'Description' => ['type' => 'string'], + 'SchedulingStrategy' => [ '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', + 'example' => 'Auto', + 'default' => 'Auto', + 'enum' => ['Auto', 'Binpack', 'Spread'], ], 'CustomEnvs' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'type' => 'string', - 'required' => false, - ], - 'Value' => [ - 'type' => 'string', - 'required' => false, - ], - 'Visible' => [ - 'type' => 'string', - 'required' => false, - ], + 'Key' => ['type' => 'string', 'required' => false, 'description' => ''], + 'Value' => ['type' => 'string', 'required' => false, 'description' => ''], + 'Visible' => ['type' => 'string', 'required' => false, 'description' => ''], ], 'required' => false, + 'description' => '', ], 'required' => false, - ], - 'TemplateId' => [ - 'title' => '模板 ID', - 'description' => '任务模版ID', - 'type' => 'string', - 'required' => false, - 'example' => 'tplabc1234567', - ], - 'TemplateVersion' => [ - 'title' => '模板版本号', - 'description' => '任务模版版本', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'description' => '', ], ], 'required' => false, @@ -3694,67 +1469,83 @@ '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', - ], + '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' => '创建任务', + 'summary' => '创建一个任务到集群中运行。您可以指定数据源配置、代码源配置、启动命令以及任务运行的每个节点的计算资源配置等信息', 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', - ], - 'DeleteJob' => [ - 'summary' => '删除一个运行结束(或者已停止)的任务。', - 'path' => '/api/v1/jobs/{JobId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-30T08:02:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-05-20T12:11:56.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-02T12:02:35.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-18T06:03:20.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-08-09T08:19:35.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-07-05T02:28:26.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-12-08T08:06:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-09-11T11:52:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-12-13T02:00:39.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc7*******\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]', + ], + 'CreateJobTemplate' => [ + 'path' => '/api/v1/jobtemplates', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '34384', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '作业Id', - 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc*************', + 'description' => '请求Body参数。', + 'type' => 'object', + 'properties' => [ + 'TemplateName' => ['title' => '模板名称', 'description' => '任务模板的名称', 'type' => 'string', 'required' => true, 'example' => 'job-template-example-1778047**** ', 'maxLength' => 1024, 'minLength' => 1], + 'Description' => ['title' => '模板描述', 'description' => '任务模板的描述信息', 'type' => 'string', 'required' => false, 'example' => 'Template description '], + 'WorkspaceId' => ['title' => '工作空间 ID', 'description' => '模板所属的工作空间ID', 'type' => 'string', 'required' => true, 'example' => '15****05', 'maxLength' => 128], + 'Metadata' => ['title' => '自定义元数据', 'description' => '自定义的键值对元数据', 'type' => 'object', 'required' => false, 'example' => '{}'], + 'Content' => ['title' => '模板内容', 'description' => '任务模板的配置内容,包含作业配置参数,以 JSON String格式传入。', 'type' => 'string', 'required' => true, 'example' => '{\\"WorkspaceId\\":\\"15****05\\",\\"JobType\\":\\"PyTorchJob\\",\\"UserCommand\\":\\"echo hello\\",\\"JobSpecs\\":[{\\"Type\\":\\"Worker\\",\\"PodCount\\":1,\\"Image\\":\\"dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:2.8.0-gpu-py313-cu129-ubuntu22.04-3995b779-1764361782\\",\\"EcsSpec\\":\\"ecs.gn7i-c8g1.2xlarge\\"}],\\"ResourceType\\":\\"ECS\\",\\"_ResourcePaymentType\\":\\"PostPaid\\",\\"CredentialConfig\\":{\\"EnableCredentialInject\\":false},\\"Accessibility\\":\\"PRIVATE\\",\\"Settings\\":{\\"JobReservedMinutes\\":0,\\"Tags\\":{}}} '], + 'Constraints' => ['title' => '约束规则', 'description' => '字段约束规则。Key 为 JSONPath 表达式,Value 为约束类型:locked(锁定不可覆盖)、overridable(可覆盖)、required(必填)。', 'type' => 'object', 'required' => false, 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], + ], + 'required' => false, ], ], ], @@ -3763,739 +1554,558 @@ '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', - ], + 'TemplateId' => ['title' => '模板 ID', 'description' => '任务模板的唯一标识', 'type' => 'string', 'example' => 'tplmceolmf2****'], + 'TemplateName' => ['title' => '模板名称', 'description' => '任务模板的名称', 'type' => 'string', 'example' => 'job-template-example-1778047**** '], + 'Description' => ['title' => '模板描述', 'description' => '任务模板的描述信息', 'type' => 'string', 'example' => 'Template description'."\n"], + 'Metadata' => ['title' => '自定义元数据', 'description' => '用户自定义的键值对元数据', 'type' => 'object', 'example' => '{}'], + 'WorkspaceId' => ['title' => '工作空间 ID', 'description' => '模板所属的工作空间ID', 'type' => 'string', 'example' => '15****05'], + 'UserId' => ['title' => '创建者 ID', 'description' => '创建模板的用户ID', 'type' => 'string', 'example' => '20**************02'], + 'TenantId' => ['title' => '租户 ID', 'description' => '模板所属的租户ID', 'type' => 'string', 'example' => '10**************14'], + 'DefaultVersion' => ['title' => '默认版本号', 'description' => '当前使用的默认版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Version' => ['title' => '版本号', 'description' => '当前返回的版本的号', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'GmtCreateTime' => ['title' => '创建时间', 'description' => '模板的创建时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2025-12-31T02:18:09Z'], + 'GmtModifyTime' => ['title' => '修改时间', 'description' => '模板的最后修改时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-01-12T14:36:00Z'], + 'RequestId' => ['title' => '请求 ID', 'description' => '本次请求的 ID,用于诊断和答疑。', 'type' => 'string', 'example' => '8762921A-911C-515F-A3A4-*********'], ], + 'description' => '', ], ], ], - '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', + 'title' => '创建任务模板', + 'summary' => '创建任务模板。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": \\"tplmceolmf2****\\",\\n \\"TemplateName\\": \\"job-template-example-1778047****\\\\t\\",\\n \\"Description\\": \\"Template description\\\\n\\",\\n \\"Metadata\\": {},\\n \\"WorkspaceId\\": \\"15****05\\",\\n \\"UserId\\": \\"20**************02\\",\\n \\"TenantId\\": \\"10**************14\\",\\n \\"DefaultVersion\\": 1,\\n \\"Version\\": 1,\\n \\"GmtCreateTime\\": \\"2025-12-31T02:18:09Z\\",\\n \\"GmtModifyTime\\": \\"2026-01-12T14:36:00Z\\",\\n \\"RequestId\\": \\"8762921A-911C-515F-A3A4-*********\\"\\n}","type":"json"}]', + ], + 'CreateRayHistoryServer' => [ + 'path' => '/api/v1/rayhistoryservers', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '119379', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '作业ID', - 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', - 'type' => 'string', + 'description' => '请求Body参数。', + 'type' => 'object', + 'properties' => [ + 'DisplayName' => ['description' => '任务的显示名称。', 'type' => 'string', 'required' => true, 'example' => 'my-ray-history-server'], + 'StoragePath' => ['description' => 'Ray 日志存储路径', 'type' => 'string', 'required' => true, 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp'], + 'WorkspaceId' => ['description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', 'type' => 'string', 'required' => true, 'example' => '12345'], + 'ResourceId' => ['description' => '资源组ID,可选参数。'."\n" + .'- 参数值为空表示提交到公共资源组。'."\n" + .'- 如果当前工作空间已经绑定的资源配额,此处可以指定对应的资源配额ID;如何查询资源配额ID,详情请参见[管理资源配额](~~2651299~~)。', 'type' => 'string', 'required' => false, 'example' => 'quotaxxx'], + 'EcsSpec' => ['description' => '公共资源组的硬件规格,请访问[PAI-DLC计费说明](~~171758~~)获取详细规格列表。><notice>不同规格的价格会有区别。></notice>', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.large'], + 'MaxRuntimeMinutes' => ['description' => '最大运行分钟数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], + 'Accessibility' => ['description' => '作业的可见性,取值如下:'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE'], + ], 'required' => false, - 'example' => 'dlc*************', ], ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '根节点', + 'description' => '根节点', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '本次调用的请求ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], + 'RayHistoryServerId' => ['description' => '创建的 Ray History Server ID。', 'type' => 'string', 'example' => 'rhsxxxx'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建 RayHistoryServer', + 'summary' => '创建 RayHistoryServer', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\",\\n \\"RayHistoryServerId\\": \\"rhsxxxx\\"\\n}","type":"json"}]', + ], + 'CreateTensorboard' => [ + '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' => '任务配置。', + 'description' => '请求参数。', 'type' => 'object', 'properties' => [ - 'Priority' => [ - 'title' => '设置优先级', - 'description' => '任务的优先级,值的范围是1~9:'."\n" - .'- 1为最低优先级。'."\n" - .'- 9为最高优先级。', - 'type' => 'integer', - 'format' => 'int32', + '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, - 'example' => '5', + 'enumValueTitles' => [], + 'example' => 'OSS', ], - 'Accessibility' => [ - 'description' => '任务的可见性,取值如下:'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', - 'type' => 'string', + '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, - 'example' => 'PRIVATE', ], - 'JobSpecs' => [ - 'title' => '任务规格定义', + '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' => [ - 'required' => false, - '$ref' => '#/components/schemas/JobSpec', - ], + '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' => [ - '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', - ], + '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'], ], + 'description' => '', ], ], ], - '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', + 'title' => '创建Tensorboard', + 'summary' => '创建一个Tensorboard,可以通过一个任务或者指定数据源配置来创建。', + 'changeSet' => [ + ['createdAt' => '2024-07-11T11:23:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-03-28T07:37:36.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTensorboard'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'DeleteJob' => [ + 'path' => '/api/v1/jobs/{JobId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '13123', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '34384', + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', - 'schema' => [ - 'title' => '作业Id', - 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'dlc-20210126170216-xxxxxx', - ], + 'schema' => ['title' => '作业Id', 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', 'type' => 'string', 'required' => true, 'example' => 'dlc*************'], ], ], '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', - ], + 'JobId' => ['title' => '作业Id', 'description' => '任务ID。', 'type' => 'string', 'example' => 'dlc*************'], + 'RequestId' => ['title' => '请求Id', 'description' => '请求ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'description' => '', ], ], ], - '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', + 'title' => '删除任务', + 'summary' => '删除一个运行结束(或者已停止)的任务。', + 'changeSet' => [ + ['createdAt' => '2024-08-22T10:38:05.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-01-06T07:37:50.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"< 不支持 />","errorExample":""}]', + ], + 'DeleteJobTemplate' => [ + 'summary' => '删除没有使用的任务模板,如果模版已经被任务使用则不允许删除。', + 'path' => '/api/v1/jobtemplates/{TemplateId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '13122', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + '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' => 'TemplateId', + 'in' => 'path', + 'schema' => ['title' => '模板 ID', 'description' => '模板 ID', 'type' => 'string', 'required' => true, 'example' => 'tplwk80096dw**** ', 'maxLength' => 128], ], - [ - 'name' => 'Order', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '排序顺序', - 'description' => '排列顺序,支持:'."\n" - ."\n" - .'- desc:降序,默认值。'."\n" - .'- asc:升序。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'asc' => 'asc', - 'desc' => 'desc', + 'description' => '模版删除信息', + 'type' => 'object', + 'properties' => [ + 'TemplateId' => ['title' => '模板 ID', 'description' => '模板 ID', 'type' => 'string', 'example' => 'tplwk80096dw****'], + 'RequestId' => ['title' => '请求 ID', 'description' => '请求 ID', 'type' => 'string', 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA****'], ], - '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****', ], ], + ], + 'title' => '删除任务模板', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'title' => '资源组ID', - 'description' => '资源组ID。如何查询专有资源组ID,详情请参见[管理资源配额](~~2651299~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'r*****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": \\"tplwk80096dw****\\",\\n \\"RequestId\\": \\"78F6FCE2-278F-4C4A-A6B7-DD8ECEA****\\"\\n}","type":"json"}]', + ], + 'DeleteRayHistoryServer' => [ + 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BusinessUserId', - 'in' => 'query', - 'schema' => [ - 'title' => '作业关联用户ID', - 'description' => '任务关联用户ID。', - 'type' => 'string', - 'required' => false, - 'example' => '16****', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], + ], + 'parameters' => [ [ - 'name' => 'Caller', - 'in' => 'query', - 'schema' => [ - 'title' => '调用方', - 'description' => '调用方。', - 'type' => 'string', - 'required' => false, - 'example' => 'local', - ], + 'name' => 'RayHistoryServerId', + 'in' => 'path', + 'schema' => ['description' => '请求删除的 Ray History Server ID。', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx'], ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '自定义标签', - 'description' => '用于过滤的标签。', 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - 'example' => 'recommandation', - 'description' => '单个标签。', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456'], ], + 'description' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除 RayHistoryServer', + 'summary' => '删除RayHistoryServer', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456\\"\\n}","type":"json"}]', + ], + 'DeleteTensorboard' => [ + 'path' => '/api/v1/tensorboards/{TensorboardId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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**************', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '20380', + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], + ], + 'parameters' => [ [ - 'name' => 'Username', + 'name' => 'WorkspaceId', 'in' => 'query', - 'schema' => [ - 'title' => '提交作业用户名,支持模糊匹配', - 'description' => '按任务提交者的用户名,过滤查询任务列表。支持模糊查询,不支持通配符。默认为空,表示不过滤用户名。', - 'type' => 'string', - 'required' => false, - 'example' => 'test***', - ], + 'schema' => ['title' => '工作空间ID', 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', 'type' => 'string', 'required' => false, 'example' => '46099'], ], [ - 'name' => 'ResourceQuotaName', - 'in' => 'query', - 'schema' => [ - 'title' => '资源组名称', - 'description' => '按资源配额的名字,过滤查询任务列表。支持模糊匹配,不支持通配符。默认为空,表示不过滤资源配额。', - 'type' => 'string', - 'required' => false, - 'example' => 'quota***', - ], + '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], ], - [ - 'name' => 'Accessibility', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '作业的可见性,取值如下:'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" - .'- PRIVATE(默认值):在此工作空间中,仅对您和管理员可见。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PUBLIC' => 'PUBLIC', - 'PRIVATE' => 'PRIVATE', + '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'], ], - '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', + 'description' => '', ], ], - [ - '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', - ], + ], + 'title' => '删除Tensorboard', + 'summary' => '删除一个已经停止的Tensorboard。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTensorboard'], ], + ], + 'ramActions' => [ [ - 'name' => 'DisplayNameSearchMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'DisplayName搜索模式。默认为通配符匹配。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'prefix' => 'prefix', - 'fulltext' => 'fulltext', - 'term' => 'term', - 'wildcard' => 'wildcard', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], ], - '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', ], ], + ], + '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":""}]', + ], + 'GetDashboard' => [ + 'summary' => '获取DLC任务的Dashboard URL(如果存在)。', + 'path' => '/api/v1/jobs/{jobId}/dashboard', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'NumericRangeMin', - 'in' => 'query', - 'schema' => [ - 'description' => '数值范围筛选的最小值(包含)。需配合NumericRangeField使用。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4 ', - ], + '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' => 'NumericRangeMax', - 'in' => 'query', - 'schema' => [ - 'description' => '数值范围筛选的最大值(包含)。需配合NumericRangeField使用。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '8', - ], + 'name' => 'jobId', + 'in' => 'path', + 'schema' => ['title' => '任务ID'."\n", 'description' => '任务ID'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc1k7426goc7bvy'], ], [ - 'name' => 'EnableAssignNode', + 'name' => 'isShared', 'in' => 'query', 'schema' => [ - 'description' => '筛选是否启用指定节点运行的任务。', - 'type' => 'string', + 'title' => '是否为分享链接。若为是,目前同时必填token'."\n", + 'description' => '是否为分享链接。若为是,目前同时必填token'."\n", + 'type' => 'boolean', 'required' => false, - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], - 'example' => 'true', + 'example' => 'false', + 'enum' => ['true', 'false'], ], ], [ - 'name' => 'TemplateId', + 'name' => 'token', 'in' => 'query', - 'schema' => [ - 'description' => '模板ID,用于筛选由指定模板创建的任务。', - 'type' => 'string', - 'required' => false, - 'example' => 'tmlabc123 ', - ], + 'schema' => ['title' => '从GetToken获取的token'."\n", 'description' => '从GetToken获取的token'."\n", 'type' => 'string', 'required' => false, 'example' => 'some_token_value'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '任务列表。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', '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', - ], + 'url' => ['title' => 'Dashboard 的 URL'."\n", 'description' => 'Dashboard 的 URL'."\n", 'type' => 'string', 'example' => 'https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com'], ], ], ], ], - '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' => '获取任务列表', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取DLC任务的Dashboard', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com\\"\\n}","type":"json"}]', ], 'GetJob' => [ - 'summary' => '获取一个任务的详细配置和运行时信息。', 'path' => '/api/v1/jobs/{JobId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ @@ -4503,34 +2113,18 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '13115', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + '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, - ], + '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', - ], + 'schema' => ['title' => '是否返回作业详情信息,默认为true', 'description' => '是否返回作业详情信息,默认为true', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -4539,100 +2133,37 @@ '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.', - ], + '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', + 'items' => ['description' => '描述一种节点类型的详细配置。', '$ref' => '#/components/schemas/JobSpec'], ], + 'UserCommand' => ['title' => '用户命令', 'description' => '每个节点的启动命令。', 'type' => 'string', 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '数据源配置列表', 'description' => '数据源列表。', @@ -4641,24 +2172,9 @@ '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/', - ], + '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/'], ], ], ], @@ -4667,148 +2183,55 @@ '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', - ], + '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/', + '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。', - ], + '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****', - ], + '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', + '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', - ], + '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' => '任务运行中的所有节点。', @@ -4817,60 +2240,20 @@ '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', - ], + '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。', @@ -4879,211 +2262,64 @@ '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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' => '作业重启记录', @@ -5102,96 +2338,27 @@ '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', - ], + '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', - ], + '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'], + 'RestartLevelType' => ['type' => 'string'], ], ], ], @@ -5199,121 +2366,312 @@ 'title' => '作业副本状态', 'description' => '作业副本状态', 'type' => 'array', - 'items' => [ - 'title' => '作业副本状态', - 'description' => '作业副本状态', - '$ref' => '#/components/schemas/JobReplicaStatus', - ], - ], - 'GmtFinishTime' => [ - 'title' => '作业结束时间(UTC)', - 'description' => '任务结束时间(UTC)。', - 'type' => 'string', - 'example' => '2021-01-12T15:36:08Z', + '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', - ], + 'Key' => ['type' => 'string'], + 'Value' => ['type' => 'string'], + 'Visible' => ['type' => 'string'], ], ], ], + 'RoleSystemEnvs' => [ + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'additionalProperties' => ['type' => 'string'], + ], + ], + 'Description' => ['type' => 'string'], + 'SchedulingStrategy' => [ + 'type' => 'string', + 'example' => 'Auto', + 'enum' => ['Auto', 'Binpack', 'Spread'], + ], ], ], ], ], - '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' => '获取任务详情', + 'summary' => '获取一个任务的详细配置和运行时信息。', + 'changeSet' => [ + ['createdAt' => '2025-11-18T03:50:35.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-10-23T08:44:29.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-09-15T09:29:03.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-23T02:31:33.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-07-09T04:17:55.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-01-24T10:35:10.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-01-05T02:50:41.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-01-03T08:01:46.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-12-08T08:06:18.000Z', 'description' => '响应参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-07-21T11:12:45.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-01-11T07:54:01.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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-vpc.cn-hangzhou.aliyuncs.com/cloud-dsw/tensorflow:1.12PAI-gpu-py36-cu101-ubuntu18.04\\",\\n \\"ImageConfig\\": {\\n \\"DockerRegistry\\": \\"docker****registry.com\\",\\n \\"Username\\": \\" username\\",\\n \\"Password\\": \\"password\\",\\n \\"Auth\\": \\"\\"\\n },\\n \\"PodCount\\": 1,\\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 \\"-v\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\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 \\"-v\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n }\\n }\\n }\\n ],\\n \\"PodLabels\\": {\\n \\"key\\": \\"example-lable\\"\\n },\\n \\"PodAnnotations\\": {\\n \\"key\\": \\"example-annotation\\"\\n },\\n \\"SharedVolumeMountPaths\\": [\\n \\"/root/share/\\"\\n ],\\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 \\"RunAsGroup\\": 1000,\\n \\"SeccompProfile\\": {\\n \\"Type\\": \\"Unconfined\\",\\n \\"LocalhostProfile\\": \\"my-profiles/profile-allow.json\\"\\n },\\n \\"Privileged\\": true,\\n \\"Capabilities\\": {\\n \\"Add\\": [\\n \\"\\"\\n ],\\n \\"Drop\\": [\\n \\"\\"\\n ]\\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\\": \\"SpotWithPriceLimit\\",\\n \\"SpotDiscountLimit\\": 0.8,\\n \\"SpotPriceLimit\\": 0.4744\\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 \\"MountMode\\": \\"\\",\\n \\"LocalPath\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ],\\n \\"AutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0,\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"Tolerance\\": \\"\\"\\n }\\n },\\n \\"ServiceSpec\\": {\\n \\"DefaultPort\\": 8080,\\n \\"ServiceMode\\": \\"PerRole\\",\\n \\"ExtraPorts\\": [\\n 8081\\n ]\\n },\\n \\"IsCheif\\": true,\\n \\"IsChief\\": true,\\n \\"RestartPolicy\\": \\"ExitCode\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"QuotaId\\": \\"\\",\\n \\"ConsiderInSuccessPolicy\\": true,\\n \\"StartupDependencies\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"OnPhase\\": \\"\\",\\n \\"MinReplicas\\": \\"\\"\\n }\\n ],\\n \\"ElasticSpotSpecs\\": [\\n {\\n \\"InstanceType\\": \\"\\",\\n \\"SpotPriceLimit\\": 0,\\n \\"SpotDiscountLimit\\": 0,\\n \\"SpotStrategy\\": \\"\\"\\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\\": \\"16****\\",\\n \\"Caller\\": \\"SilkFlow\\",\\n \\"Tags\\": {\\n \\"key\\": \\"key:value\\"\\n },\\n \\"PipelineId\\": \\"pid-12****\\",\\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=MarkJobFail\\",\\n \\"JobReservedMinutes\\": 30,\\n \\"JobReservedPolicy\\": \\"Always\\",\\n \\"EnableCPUAffinity\\": true,\\n \\"DisableEcsStockCheck\\": false,\\n \\"AllocateAllRDMADevices\\": true,\\n \\"EnableDSWDev\\": true,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"standalone\\",\\n \\"CommandType\\": \\"config\\",\\n \\"EnableResourceEstimation\\": true,\\n \\"ResourceLimit\\": {\\n \\"CPU\\": \\"2\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"GPU\\": \\"20\\"\\n }\\n },\\n \\"ModelConfig\\": {\\n \\"ModelName\\": \\"\\",\\n \\"ModelTemplate\\": {\\n \\"ModelName\\": \\"\\",\\n \\"Provider\\": \\"\\",\\n \\"Collections\\": \\"\\"\\n }\\n },\\n \\"AllowUnschedulableNodes\\": true,\\n \\"Shell\\": \\"/bin/bash\\"\\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 \\"RestartLevelType\\": \\"\\"\\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 \\"StabilizationWindowSeconds\\": 0,\\n \\"Tolerance\\": \\"\\"\\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 \\"CurrentSpotInstanceType\\": \\"\\"\\n }\\n ],\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"CustomEnvs\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\",\\n \\"Visible\\": \\"\\"\\n }\\n ],\\n \\"RoleSystemEnvs\\": {\\n \\"key\\": {\\n \\"key\\": \\"\\"\\n }\\n },\\n \\"Description\\": \\"\\",\\n \\"SchedulingStrategy\\": \\"Auto\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]', ], - 'GetJobSanityCheckResult' => [ - 'summary' => '获取DLC任务某次算力健康检测结果。', - 'path' => '/api/v1/jobs/{JobId}/sanitycheckresult', - 'methods' => [ - 'get', + 'GetJobEvents' => [ + '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'], + ], + ], + ], + ], + 'title' => '获取任务的系统事件', + 'summary' => '获取一个任务的系统事件。', + 'changeSet' => [ + ['createdAt' => '2023-03-22T06:25:27.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobEvents'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'GetJobMetrics' => [ + 'path' => '/api/v1/jobs/{JobId}/metrics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + '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'], + ], + ], + ], + ], + 'title' => '获取任务的监控数据', + 'summary' => '获取一个任务的监控数据,包括CPU、GPU、Memory的使用率、Network、Disk读写速率等。'."\n" + ."\n" + .'⚠️注意:除基于通用计算资源的按量付费(后付费)任务外,其余任务类型均已对接云监控。相关监控调用请使用云监控接口,原接口中已被覆盖的功能将不再维护。更多信息,请参见[训练监控与报警](https://www.alibabacloud.com/help/zh/pai/user-guide/training-monitoring-and-alerting)。', + 'changeSet' => [ + ['createdAt' => '2021-04-23T06:37:52.000Z', 'description' => 'OpenAPI 下线'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobMetrics'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'produces' => [ - 'application/json', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-*******\\",\\n \\"PodMetrics\\": [\\n {\\n \\"PodId\\": \\"dlc-20210329110128-******-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":""}]', + ], + 'GetJobSanityCheckResult' => [ + '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', - ], + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', - 'schema' => [ - 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlcl5qxoxxxxx5iq', - ], + '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', - ], + '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', - ], + '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****', - ], + 'schema' => ['description' => '任务分享令牌中的Token信息。如何获取,请参见[GetToken](~~2557812~~)。', 'type' => 'string', 'required' => false, 'example' => 'eyJhbG******zI1NiIsInR5cCI6IkpXVCJ9.eyJle****jE3MDk1Mzk0NDIsImlhdCI6MTcwODkzNDY0MiwidXNlcl9pZCI6IjE3NTgwNTQxNjI0Mzg2NTUiLCJ0YXJnZXRfaWQiOiJkbGM1OGh1a2xyYzZwdGMyIiwidGFyZ2V0X3R5cGUiOiJqb2IifQ.GNL7jo6****mgKKv0QeGIYgvBufSU-PH_EQttX****'], ], ], 'responses' => [ @@ -5323,400 +2681,311 @@ 'description' => '单次算力健康检测结果。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'dlc-20210126170216-xxxxxx', - ], + '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', - ], + '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"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取任务某次算力健康检测结果', - ], - 'ListJobSanityCheckResults' => [ - 'summary' => '获取某个DLC任务所有算力健康检测的检测结果。', - 'path' => '/api/v1/jobs/{JobId}/sanitycheckresults', - 'methods' => [ - 'get', + 'summary' => '获取DLC任务某次算力健康检测结果。', + 'changeSet' => [ + ['createdAt' => '2024-02-26T03:31:14.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-01-08T08:09:54.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobSanityCheckResult'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobSanityCheckResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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"}]', + ], + 'GetJobTemplate' => [ + 'path' => '/api/v1/jobtemplates/{TemplateId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '204035', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'TemplateId', 'in' => 'path', - 'schema' => [ - 'description' => '任务ID。参见[ListJobs](~~459676~~)获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc-20210114104214-xxxx', - ], + 'schema' => ['title' => '模板 ID', 'description' => '任务模板的唯一标识', 'type' => 'string', 'required' => true, 'example' => 'tplmceolmf2****', 'maxLength' => 128], ], [ - 'name' => 'Order', + 'name' => 'Version', 'in' => 'query', - 'schema' => [ - 'description' => '排列顺序:'."\n" - .'- desc(降序)'."\n" - .'- asc(升序)', - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], + 'schema' => ['title' => '版本号', 'description' => '不传返回默认版本;传具体数字返回该版本;传 all 返回全部版本', 'type' => 'string', 'required' => false, 'example' => 'all'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '任务所有的算力健康检测结果。', + 'description' => '任务模板详情', 'type' => 'object', 'properties' => [ - 'SanityCheckResults' => [ - 'description' => '所有算力健康检测结果。', + 'TemplateId' => ['title' => '模板 ID', 'description' => '任务模板的唯一标识', 'type' => 'string', 'example' => 'tplmceolmf2****'], + 'TemplateName' => ['title' => '模板名称', 'description' => '任务模板的名称', 'type' => 'string', 'example' => 'job-template-example-1778047****'], + 'Description' => ['title' => '模板描述', 'description' => '任务模板的描述信息', 'type' => 'string', 'example' => 'job template description'], + 'Metadata' => ['title' => '自定义元数据', 'description' => '用户自定义的键值对元数据', 'type' => 'object', 'example' => '{}'], + 'UserId' => ['title' => '创建者 ID', 'description' => '创建模板的用户ID', 'type' => 'string', 'example' => '20**************26'], + 'WorkspaceId' => ['title' => '工作空间 ID', 'description' => '模板所属的工作空间ID', 'type' => 'string', 'example' => '4***9'], + 'TenantId' => ['title' => '租户 ID', 'description' => '模板所属的租户ID', 'type' => 'string', 'example' => '142388383837****'], + 'DefaultVersion' => ['title' => '默认版本号', 'description' => '当前使用的默认版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'GmtCreateTime' => ['title' => '模板创建时间', 'description' => '模板的创建时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-01-08T14:17:55Z'], + 'GmtModifyTime' => ['title' => '模板修改时间', 'description' => '模板的最后修改时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-03-03T05:48:02Z'], + 'ModifiedBy' => ['title' => '最后修改者 ID', 'description' => '最后修改模板的用户ID', 'type' => 'string', 'example' => '20**************26'], + 'Versions' => [ + 'title' => '版本列表', + 'description' => '模板版本详情列表。查询单个版本时返回1个元素,查询所有版本时返回全部', 'type' => 'array', 'items' => [ - 'description' => '一条完整的算力健康检测结果。', - 'type' => 'array', - 'items' => [ - 'description' => '单个检测阶段的算力健康检测结果。可能值:'."\n" - .'- Phase(检测阶段)'."\n" - .'- Message(检测结果信息)'."\n" - .'- StartedAt(检测开始时间)'."\n" - .'- FinishedAt(检测结束时间)'."\n" - .'- Status(检测状态)'."\n" - .'- CheckNumber(第几次检测)', - '$ref' => '#/components/schemas/SanityCheckResultItem', + 'description' => '版本列表。', + 'type' => 'object', + 'properties' => [ + 'Version' => ['title' => '版本号', 'description' => '版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Content' => ['title' => '模板内容', 'description' => '该版本的模板配置内容,JSON 格式', 'type' => 'any', 'example' => '{\\"WorkspaceId\\":\\"15****05\\",\\"JobType\\":\\"PyTorchJob\\",\\"UserCommand\\":\\"echo hello\\",\\"JobSpecs\\":[{\\"Type\\":\\"Worker\\",\\"PodCount\\":1,\\"Image\\":\\"dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:2.8.0-gpu-py313-cu129-ubuntu22.04-3995b779-1764361782\\",\\"EcsSpec\\":\\"ecs.gn7i-c8g1.2xlarge\\"}],\\"ResourceType\\":\\"ECS\\",\\"_ResourcePaymentType\\":\\"PostPaid\\",\\"CredentialConfig\\":{\\"EnableCredentialInject\\":false},\\"Accessibility\\":\\"PRIVATE\\",\\"Settings\\":{\\"JobReservedMinutes\\":0,\\"Tags\\":{}}}'], + 'Constraints' => ['title' => '约束规则', 'description' => '字段约束规则。Key 为 JSONPath 表达式,Value 为约束类型', 'type' => 'object', 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], + 'CreatedBy' => ['title' => '版本创建者 ID', 'description' => '版本创建者 ID', 'type' => 'string', 'example' => '20**************26'], + 'GmtCreateTime' => ['title' => '版本创建时间', 'description' => '版本创建时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-01-08T14:17:55Z'], ], ], ], - 'TotalCount' => [ - 'description' => '符合过滤条件的总检测结果数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestID' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1AC9xxx-3xxx-5xxx2-xxxx-FA5', - ], + 'TotalCount' => ['title' => '总版本数', 'description' => '版本总数,查询单个版本返回1,查询所有版本返回实际总数', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'RequestId' => ['title' => '请求 ID', 'description' => '本次请求的 ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], ], ], ], - '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', + 'title' => '获取任务模板详情', + 'summary' => '获取任务模板详情。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": \\"tplmceolmf2****\\",\\n \\"TemplateName\\": \\"job-template-example-1778047****\\",\\n \\"Description\\": \\"job template description\\",\\n \\"Metadata\\": {},\\n \\"UserId\\": \\"20**************26\\",\\n \\"WorkspaceId\\": \\"4***9\\",\\n \\"TenantId\\": \\"142388383837****\\",\\n \\"DefaultVersion\\": 2,\\n \\"GmtCreateTime\\": \\"2026-01-08T14:17:55Z\\",\\n \\"GmtModifyTime\\": \\"2026-03-03T05:48:02Z\\",\\n \\"ModifiedBy\\": \\"20**************26\\",\\n \\"Versions\\": [\\n {\\n \\"Version\\": 2,\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"WorkspaceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"15****05\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"JobType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PyTorchJob\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"UserCommand\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"echo hello\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"JobSpecs\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Worker\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PodCount\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"Image\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:2.8.0-gpu-py313-cu129-ubuntu22.04-3995b779-1764361782\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EcsSpec\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ecs.gn7i-c8g1.2xlarge\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"ResourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ECS\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_ResourcePaymentType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PostPaid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CredentialConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"EnableCredentialInject\\\\\\\\\\\\\\":false},\\\\\\\\\\\\\\"Accessibility\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PRIVATE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Settings\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"JobReservedMinutes\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"Tags\\\\\\\\\\\\\\":{}}}\\",\\n \\"Constraints\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"CreatedBy\\": \\"20**************26\\",\\n \\"GmtCreateTime\\": \\"2026-01-08T14:17:55Z\\"\\n }\\n ],\\n \\"TotalCount\\": 100,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'GetMetrics' => [ + 'path' => '/api/v1/cms/metrics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '13118', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203098', + 'abilityTreeNodes' => ['FEATURElearn8Y18OQ'], ], 'parameters' => [ [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '云产品的数据命名空间。关于云产品的数据命名空间,请参见云产品监控项。', 'type' => 'string', 'required' => false, 'example' => 'acs_pai_dlc'], + ], + [ 'name' => 'JobId', - 'in' => 'path', - 'schema' => [ - 'title' => '作业ID', - 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc-20210126170216-*****', - ], + 'in' => 'query', + 'schema' => ['description' => '任务ID。', 'type' => 'string', 'required' => false, 'example' => 'dlckjd5hm84tmjec'], ], [ - 'name' => 'PodId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '节点ID。如何获取节点ID,请参见[GetJob](~~459677~~)。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc-20210126170216-*****-chief-0', - ], + 'name' => 'Dimensions', + 'in' => 'query', + 'schema' => ['description' => '(必填)请求参数。', 'type' => 'string', 'required' => false, 'example' => '[{\\"jobId\\":\\"dlcdpfpc96mh63mg\\",\\"pod\\":\\"dlcdpfpc96mh63mg-worker-748\\",\\"regionId\\":\\"cn-wulanchabu\\",\\"userId\\":\\"1458867964644701\\"}]'], ], [ - 'name' => 'PodUid', + 'name' => 'Length', 'in' => 'query', - 'schema' => [ - 'description' => '节点UID;如何获取节点UID,请参见[GetJob](~~459677~~)。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'fe846462-af2c-4521-bd6f-96787a57****', - ], + 'schema' => ['description' => '每次查询大小,用于分页查询,默认值为1000。', 'type' => 'string', 'required' => false, 'example' => '5000'], ], [ - 'name' => 'MaxLines', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'title' => '返回的日志的最大行数,默认值:2000。', - 'description' => '返回的日志的最大行数,默认值:2000。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '查询的截止时间,默认值:当前。', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], ], [ - 'name' => 'StartTime', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'title' => '查询的起始时间,默认值:7天前。', - 'description' => '查询的起始时间,默认值:7天前。', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T16:00:00Z', - ], + 'schema' => ['description' => '监控数据的统计周期。单位:秒。取值:15、60、900和3600。', 'type' => 'string', 'required' => false, 'example' => '5'], ], [ - 'name' => 'EndTime', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'title' => '查询的截止时间,默认值:当前。', - 'description' => '查询的截止时间,默认值:当前。', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T17:00:00Z', - ], + 'schema' => ['description' => '分页游标标识。说明 如果不设置该参数,则表示获取第一页的数据。当该参数有返回值时,说明还有下一页,您可以将返回的NextToken作为参数再次请求获得下一页的数据,直到返回为Null为止,表示获取到了所有的数据。', 'type' => 'string', 'required' => false, 'example' => '2c6b65b6f9d625d4716568ca19b2064be0b5e8707e68181f'], ], [ - 'name' => 'DownloadToFile', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'title' => '是否下载日志文件,默认:false。', - 'description' => '是否下载日志文件。取值如下:'."\n" - .'- false(默认):表示不下载日志文件。'."\n" - .'- true:开始下载日志文件。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'metric名称。未填充,不在使用中', 'type' => 'string', 'required' => false, 'example' => 'JOB_MEMORY_FREE'], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => '查询监控数据的时间区间的起始时间(UTC),默认值是1小时前。', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => ['description' => '用于鉴权的临时令牌。', 'type' => 'string', 'required' => false, 'example' => 'eyXXXX-XXXX.XXXXX'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '返回值', - 'description' => '返回值。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', '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', - ], + 'NextToken' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'AAAAAV3MpHK1AP0pfERHZN5pu6lESTRpd5hnHNnmKOP/+w9F'], + 'Success' => ['description' => '操作是否成功。取值:true:成功。false:失败。', 'type' => 'boolean', 'example' => 'True'], + 'DataPoints' => ['description' => '监控指标数据内容。', 'type' => 'string', 'example' => '[{\'Content\': \'\', \'OperationName\': \'purchase\', \'Success\': 1, \'Id\': \'217\', \'LogDatetime\': 1687679582923}]'], + 'Code' => ['description' => '状态码。说明 200表示成功。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '检测结果具体信息。', 'type' => 'string', 'example' => 'Success.'], + 'Period' => ['description' => '监控数据的统计周期。取值:15、60、900和3600。单位:秒。说明 如果不设置统计周期,则按照注册监控项时申请的上报周期来查询监控数据。每个云产品的监控项(MetricName)的统计周期不同。更多信息,请参见云产品监控项。', 'type' => 'string', 'example' => '5'], + 'RequestId' => ['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' => '获取任务中某个节点的日志', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取任务指标', + 'summary' => '获取metrics数据', + 'description' => '## 请求说明'."\n" + .'- 该接口用于查询指定命名空间(Namespace)下的特定作业(JobId)或维度(Dimensions)的监控指标。'."\n" + .'- 支持自定义查询的时间范围,默认为最近一小时的数据。'."\n" + .'- 可以选择不同的时间间隔(Period)来获取更细粒度或更粗略的数据点。'."\n" + .'- 如果需要分页获取大量数据,可以通过`NextToken`参数进行翻页操作。'."\n" + .'- `MetricName`是必填项,用来指定要查询的具体监控指标名称。'."\n" + .'- 对于某些高级功能或者特定类型的监控指标,请参考相关文档以了解更多信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paidlc:GetMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAV3MpHK1AP0pfERHZN5pu6lESTRpd5hnHNnmKOP/+w9F\\",\\n \\"Success\\": true,\\n \\"DataPoints\\": \\"[{\'Content\': \'\', \'OperationName\': \'purchase\', \'Success\': 1, \'Id\': \'217\', \'LogDatetime\': 1687679582923}]\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success.\\",\\n \\"Period\\": \\"5\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'GetPodEvents' => [ - 'summary' => '通过获取任务中特定节点的系统事件,来进行问题的定位与排查。', 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/events', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '13117', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '作业ID', - 'description' => '任务ID。参见[ListJobs](~~459676~~)获取任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc-20210126170216-*****', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + 'schema' => ['title' => '截止时间', 'description' => '截止时间(UTC)。', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], ], ], 'responses' => [ @@ -5726,666 +2995,496 @@ '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', - ], + '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', + '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', + 'summary' => '通过获取任务中特定节点的系统事件,来进行问题的定位与排查。', + 'changeSet' => [ + ['createdAt' => '2021-02-01T09:20:07.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodEvents'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetPodEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'GetPodLogs' => [ + 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/logs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '21204', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'abilityTreeCode' => '13118', + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', - 'schema' => [ - 'title' => '作业ID', - 'description' => '任务ID。您可以调用[ListJobs](~~459676~~)获取所有任务的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'dlc-20210126170216-*******', - ], + 'schema' => ['title' => '作业ID', 'description' => '任务ID。如何获取任务ID,请参见[ListJobs](~~459676~~)。', 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*****'], ], [ - 'name' => 'StartTime', + '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' => [ - 'title' => '起始时间', - 'description' => '查询监控数据的时间区间的起始时间(UTC),默认值是1小时前。', + 'description' => '节点UID;如何获取节点UID,请参见[GetJob](~~459677~~)。', 'type' => 'string', 'required' => false, - 'example' => '2020-11-08T16:00:00Z', + 'enumValueTitles' => [], + 'example' => 'fe846462-af2c-4521-bd6f-96787a57****', ], ], [ - 'name' => 'EndTime', + 'name' => 'MaxLines', 'in' => 'query', - 'schema' => [ - 'title' => '截止时间', - 'description' => '查询监控数据的时间区间的截止时间(UTC),默认值是当前。', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-09T16:00:00Z', - ], + 'schema' => ['title' => '返回的日志的最大行数,默认值:2000。', 'description' => '返回的日志的最大行数,默认值:2000。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], [ - 'name' => 'TimeStep', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'title' => '时间间隔', - 'description' => '返回监控数据的时间间隔,默认值是5分钟。', - 'type' => 'string', - 'required' => false, - 'example' => '5m', - ], + 'schema' => ['title' => '查询的起始时间,默认值:7天前。', 'description' => '查询的起始时间,默认值:7天前。', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ - 'name' => 'MetricType', + 'name' => 'EndTime', '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', - ], + 'schema' => ['title' => '查询的截止时间,默认值:当前。', 'description' => '查询的截止时间,默认值:当前。', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T17:00:00Z'], ], [ - 'name' => 'Token', + 'name' => 'DownloadToFile', 'in' => 'query', - 'schema' => [ - 'title' => 'Token', - 'description' => '用于鉴权的临时令牌。', - 'type' => 'string', - 'required' => false, - 'example' => 'eyXXXX-XXXX.XXXXX', - ], + 'schema' => ['title' => '是否下载日志文件,默认:false。', 'description' => '是否下载日志文件。取值如下:'."\n" + .'- false(默认):表示不下载日志文件。'."\n" + .'- true:开始下载日志文件。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '作业监控指标', - 'description' => '任务监控数据信息。', + 'title' => '返回值', + 'description' => '返回值。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'title' => '作业ID', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'dlc-20210126170216-*******', - ], - 'PodMetrics' => [ - 'title' => '任务监控指标序列集合', - 'description' => '任务监控数据列表。', + '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' => '任务监控数据。', - '$ref' => '#/components/schemas/PodMetric', - ], - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => '本次调用的请求ID,用于诊断和答疑。', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + '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 \\"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', + 'title' => '获取任务中某个节点的日志', + 'summary' => '获取(或者下载)任务某个节点的日志,日志来源于系统和用户脚本的stdout和stderr。', + 'changeSet' => [ + ['createdAt' => '2021-02-01T09:20:04.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodLogs'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetPodLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'GetRayDashboard' => [ + 'path' => '/api/v1/jobs/{jobId}/rayDashboard', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '13116', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'JobId', + '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', - ], + 'schema' => ['title' => '任务ID'."\n", 'description' => '任务ID'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc1k7426goc7bvy'], ], [ - 'name' => 'StartTime', + 'name' => 'isShared', 'in' => 'query', 'schema' => [ - 'title' => '查询事件的时间区间的起始时间,默认值是7天前。', - 'description' => '查询事件的时间区间的起始时间(UTC),默认值是7天前。', - 'type' => 'string', + 'title' => '是否为分享链接。若为是,目前同时必填token'."\n", + 'description' => '是否为分享链接。若为是,目前同时必填token'."\n", + 'type' => 'boolean', 'required' => false, - 'example' => '2020-11-08T16:00:00Z', + 'example' => 'false', + 'enum' => ['true', 'false'], ], ], [ - 'name' => 'EndTime', + 'name' => 'token', 'in' => 'query', - 'schema' => [ - 'title' => '查询事件的时间区间的截止时间,默认值是当前。', - 'description' => '查询事件的时间区间的截止时间(UTC),默认值是当前。', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T18:00:00Z', - ], + 'schema' => ['title' => '从GetToken获取的token'."\n", 'description' => '从GetToken获取的token'."\n", 'type' => 'string', 'required' => false, 'example' => 'some_token_value'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回作业的系统事件信息。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', '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,用于诊断和答疑。', + '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' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456', + 'example' => 'true', + 'enum' => ['true', 'false'], ], ], ], ], ], - '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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取RayDashboard', + 'summary' => '获取 Ray Dashboard 链接', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://pre-pai-dlc-proxy-cn-hangzhou.aliyun.com/ray/dashboard/dlc1k7426goc7bvy\\",\\n \\"metricsEnabled\\": \\"true\\"\\n}","type":"json"}]', + ], + 'GetRayHistoryServer' => [ + 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}', + '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' => [ - 'FEATURElearnWA9VRC', - ], + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'AcceleratorType', - 'in' => 'query', + 'name' => 'RayHistoryServerId', + 'in' => 'path', + 'schema' => ['description' => '请求的 RayHistoryServer ID。', 'type' => 'string', 'required' => true, 'example' => 'rhsxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '按加速器类型过滤', - 'description' => '按加速器类型过滤。取值如下:'."\n" - .'- CPU'."\n" - .'- GPU', - 'type' => 'string', - 'required' => false, - 'example' => 'GPU', + 'type' => 'object', + 'properties' => [ + 'WorkspaceId' => ['description' => '任务所属工作空间ID。', 'type' => 'string', 'example' => '46099'], + 'DisplayName' => ['description' => '任务的显示名称。', 'type' => 'string', 'example' => 'my-ray-history-server'], + 'UserId' => ['description' => '按照所属用户ID过滤。', 'type' => 'string', 'example' => '123456789'], + 'Username' => ['description' => '按所属用户名过滤。', 'type' => 'string', 'example' => 'myusername'], + 'TenantId' => ['description' => '租户ID。', 'type' => 'string', 'example' => '10**************14'], + 'RayHistoryServerId' => ['description' => '请求的 Ray History Server ID。', 'type' => 'string', 'example' => 'rhsxxx'], + 'RayHistoryServerUrl' => ['description' => 'Ray Dashboard URL。', 'type' => 'string', 'example' => 'https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/'], + 'StoragePath' => ['description' => 'Ray 日志存储路径', 'type' => 'string', 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp'], + 'ResourceId' => ['description' => '任务运行所在的资源组ID。', 'type' => 'string', 'example' => 'quotaxxx'], + 'ResourceName' => ['description' => '作业运行的资源名称。', 'type' => 'string', 'example' => 'my-resource-name'], + 'Status' => ['description' => '状态。', 'type' => 'string', 'example' => 'running'], + 'ReasonCode' => ['description' => '状态详情码。', 'type' => 'string', 'example' => 'NotFound'], + 'ReasonMessage' => ['description' => '状态详情。', 'type' => 'string', 'example' => '""'], + 'GmtCreateTime' => ['description' => '创建时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:35:01Z'], + 'GmtModifyTime' => ['description' => '修改时间(UTC)。', 'type' => 'string', 'example' => '2021-01-12T14:36:00Z'], + 'GmtFinishTime' => ['description' => '结束时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z'], + 'MaxRuntimeMinutes' => ['description' => '最大运行时长。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'EcsSpec' => ['description' => '公共资源组的硬件规格,请访问[PAI-DLC计费说明](~~171758~~)获取详细规格列表。><notice>不同规格的价格会有区别。></notice>', 'type' => 'string', 'example' => 'ecs.g6.large'], + 'Accessibility' => ['description' => '可见性。', 'type' => 'string', 'example' => 'PRIVATE'], + ], + 'description' => '', ], ], - [ - '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', + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InvalidRayHistoryServer.NotFound', 'errorMessage' => 'The specified RayHistoryServer does not exist.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取 RayHistoryServer', + 'summary' => '查询 RayHistoryServer', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetRayHistoryServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"WorkspaceId\\": \\"46099\\",\\n \\"DisplayName\\": \\"my-ray-history-server\\",\\n \\"UserId\\": \\"123456789\\",\\n \\"Username\\": \\"myusername\\",\\n \\"TenantId\\": \\"10**************14\\",\\n \\"RayHistoryServerId\\": \\"rhsxxx\\",\\n \\"RayHistoryServerUrl\\": \\"https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/\\",\\n \\"StoragePath\\": \\"oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp\\",\\n \\"ResourceId\\": \\"quotaxxx\\",\\n \\"ResourceName\\": \\"my-resource-name\\",\\n \\"Status\\": \\"running\\",\\n \\"ReasonCode\\": \\"NotFound\\",\\n \\"ReasonMessage\\": \\"\\\\\\"\\\\\\"\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:01Z\\",\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"GmtFinishTime\\": \\"2021-01-12T15:36:08Z\\",\\n \\"MaxRuntimeMinutes\\": 1000,\\n \\"EcsSpec\\": \\"ecs.g6.large\\",\\n \\"Accessibility\\": \\"PRIVATE\\"\\n}","type":"json"}]', + ], + 'GetTensorboard' => [ + 'path' => '/api/v1/tensorboards/{TensorboardId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Order', - 'in' => 'query', - 'schema' => [ - 'title' => '排序顺序,可选值:desc, asc', - 'description' => '排序顺序,取值如下:'."\n" - .'- desc:逆序排列。'."\n" - .'- asc:升序排列。', - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '20371', + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], + ], + 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'WorkspaceId', 'in' => 'query', - 'schema' => [ - 'title' => '查询第几页数据', - 'description' => '查询第几页数据,起始值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '工作空间ID', 'description' => '工作空间ID。<props="china">参见[ListWorkspaces](~~449124~~)获取工作空间ID。</props>', 'type' => 'string', 'required' => false, 'example' => '46099'], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '设置查询的分页大写', - 'description' => '分页查询时每页显示的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + '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' => 'InstanceTypes', + 'name' => 'JodId', 'in' => 'query', - 'schema' => [ - 'title' => '需要查询机器规格列表,以逗号分隔', - 'description' => '需要查询的机器规格列表,以半角逗号(,)分隔。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large,ecs.g6.xlarge', - ], + 'schema' => ['title' => 'JodId', 'description' => '任务ID。参见[ListJobs](~~459676~~)获取任务ID。', 'type' => 'string', 'required' => false, 'example' => 'dlc-xxxxxxxx'], ], [ - 'name' => 'ResourceType', + 'name' => 'Token', 'in' => 'query', - 'schema' => [ - 'title' => '资源类型,可选值:ECS、Lingjun', - 'description' => '资源类型,取值如下:'."\n" - .'- ECS'."\n" - .'- Lingjun', - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => '分享令牌信息,填入该参数可利用分享令牌信息获得查看某个Tensorboard任务的权限。可通过执行[GetTensorboardSharedUrl](~~2557813~~),在获得的链接中提取。', 'type' => 'string', 'required' => false, 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e'."\n" + .'yJleHAiOjE2OTUyODA0NTMsImlhdCI6MTY5NTE5NDA1MywidXNlcl9pZCI6IjExN'."\n" + .'Tc3MDMyNzA5OTQ5MDEiLCJ0YXJnZXRfaWQiOiJ0YjRrOGxjNXhmdTM2b3B0Iiw'."\n" + .'idGFyZ2V0X3R5cGUiOiJ0ZW5zb3Jib2FyZCJ9.6eT68J-KMBwwfN2d7fj7u6vyPcf0erfqYeizd2N****'], ], ], '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', - ], + 'schema' => ['description' => 'Tensorboard详情。', '$ref' => '#/components/schemas/Tensorboard'], + ], + ], + 'title' => '获取Tensorboard详情', + 'summary' => '获取一个Tensorboard的详细信息。', + 'changeSet' => [ + ['createdAt' => '2023-08-11T05:54:35.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboard'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - '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' => '查询机器资源配置列表', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-xxx\\",\\n \\"TensorboardUrl\\": \\"http://xxxxxx\\",\\n \\"Status\\": \\"running\\",\\n \\"Duration\\": \\"60\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:00Z\\",\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"GmtFinishTime\\": \\"null\\",\\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\\": \\"\\\\\\"\\\\\\"\\",\\n \\"ReasonMessage\\": \\"\\\\\\"\\\\\\"\\",\\n \\"JobId\\": \\"dlc-20210114104214-vf9lowjt3pso\\",\\n \\"TensorboardDataSources\\": [\\n {\\n \\"DirectoryName\\": \\"dlcJobName\\",\\n \\"Name\\": \\"dlcJobName\\",\\n \\"Id\\": \\"d-vf2fdhxxxxxx\\",\\n \\"DataSourceType\\": \\"OSS\\",\\n \\"Uri\\": \\"oss://examplebucket.oss-cn-shanghai-internal.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\\": \\"quota12***\\",\\n \\"Priority\\": \\"1\\",\\n \\"QuotaName\\": \\"dlc-quota\\",\\n \\"Accessibility\\": \\"PRIVATE\\"\\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":""}]', ], - 'GetWebTerminal' => [ - 'summary' => '提供获取容器访问HTTP链接的方法和步骤。', - 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/webterminal', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetTensorboardSharedUrl' => [ + 'summary' => '获得Tensorboard的分享链接。该链接中包含数字令牌。使用该分享链接可以访问被分享的Tensorboard任务。', + 'path' => '/api/v1/tensorboards/{TensorboardId}/sharedurl', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'abilityTreeCode' => '189994', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'path', - 'schema' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dlc-20210126170216-******', - ], - ], - [ - 'name' => 'PodId', + 'name' => 'TensorboardId', 'in' => 'path', - 'schema' => [ - 'description' => '任务Pod ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dlc-20210126170216-****-chief-0', - ], + 'schema' => ['description' => 'Tensorboard任务的ID。', 'type' => 'string', 'required' => true, 'example' => 'tbxxxxxx'], ], [ - 'name' => 'PodUid', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pod UID。', - 'type' => 'string', - 'required' => false, - 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268', - ], - ], - [ - 'name' => 'IsShared', + 'name' => 'ExpireTimeSeconds', 'in' => 'query', - 'schema' => [ - 'description' => '是否创建用于分享的进入容器链接,取值如下:'."\n" - .'- true:返回进入容器的分享链接。该链接将在三十秒后失效,且仅能被使用一次。一旦通过该链接进入容器后,其他使用该链接进入容器的请求将无效。'."\n" - .'- false:返回普通的进入容器的分享链接,使用时需进行阿里云身份认证。该链接将在三十秒后失效。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '分享链接的有效时长,单位:秒。最大值为604800。', 'type' => 'string', 'required' => false, 'example' => '86400'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结果。', + 'description' => 'Schema of Response', '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://*****', - ], + '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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获得Tensorboard任务的分享链接', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboardSharedUrl'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"WebTerminalUrl\\": \\"wss://*****\\"\\n}","type":"json"}]', - 'title' => '获取容器访问HTTP链接', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetTensorboardSharedUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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"}]', ], 'GetToken' => [ 'summary' => '获取DLC任务的分享令牌(Token),用于查看分享任务的相关信息。', 'path' => '/api/v1/tokens', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '44246', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'TargetType', 'in' => 'query', - 'schema' => [ - 'title' => 'TargetType', - 'description' => '分享的任务类型,只可指定job或者tensorboard。', - 'type' => 'string', - 'required' => false, - 'example' => 'job', - ], + '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*******', - ], + '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', - ], + 'schema' => ['title' => 'ExpireTime', 'description' => '分享链接过期时间(默认为604800秒),最小值为0。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60'], ], ], 'responses' => [ @@ -6394,578 +3493,912 @@ '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*****', - ], + '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', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxxx\\",\\n \\"Token\\": \\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9*****\\"\\n}","type":"json"}]', + ], + 'GetWebTerminal' => [ + 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/webterminal', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '18654', - 'abilityTreeNodes' => [ - 'FEATURElearnVD2RKE', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + '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' => [ - 'description' => '请求参数。', + 'title' => 'Schema of Response', + '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', - ], + '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'], + 'title' => '获取容器访问HTTP链接', + 'summary' => '提供获取容器访问HTTP链接的方法和步骤。', + 'changeSet' => [ + ['createdAt' => '2023-11-07T07:13:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-07-21T08:19:02.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetWebTerminal'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetWebTerminal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'required' => false, - 'example' => '380', ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"WebTerminalUrl\\": \\"wss://*****\\"\\n}","type":"json"}]', + ], + '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' => [ - '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', + '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 \\"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', + 'title' => '查询机器资源配置列表', + 'changeSet' => [ + ['createdAt' => '2024-01-24T10:35:10.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-08-25T03:51:33.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEcsSpecs'], + ], ], + 'ramActions' => [], + '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":""}]', + ], + 'ListJobSanityCheckResults' => [ + 'path' => '/api/v1/jobs/{JobId}/sanitycheckresults', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '20380', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '204035', + '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' => 'JobId', + 'in' => 'path', + 'schema' => ['description' => '任务ID。参见[ListJobs](~~459676~~)获取。', 'type' => 'string', 'required' => true, 'example' => 'dlc-20210114104214-xxxx'], ], [ - '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, - ], + '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' => [ - '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', + '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'], ], ], ], ], - '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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取任务所有算力健康检测结果', + 'summary' => '获取某个DLC任务所有算力健康检测的检测结果。', + 'changeSet' => [ + ['createdAt' => '2024-02-26T03:31:14.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobSanityCheckResults'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListJobSanityCheckResults', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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"}]', + ], + 'ListJobTemplates' => [ + 'path' => '/api/v1/jobtemplates', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '40265', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', + 'schema' => ['title' => '工作空间 ID', 'description' => '工作空间 ID', 'type' => 'string', 'required' => true, 'example' => '4***9'], + ], + [ + 'name' => 'UserId', + 'in' => 'query', + 'schema' => ['title' => '用户 ID', 'description' => '用户 ID', 'type' => 'string', 'required' => false, 'example' => '20**************02'], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['title' => '模板 ID', 'description' => '按模板 ID 精确筛选列表', 'type' => 'string', 'required' => false, 'example' => 'tpl1****6jcq2q', 'maxLength' => 128], + ], + [ + 'name' => 'TemplateName', + 'in' => 'query', + 'schema' => ['title' => '模板名称', 'description' => '按模板名称模糊筛选列表', 'type' => 'string', 'required' => false, 'example' => 'job-template-example-1778047****', 'maxLength' => 256], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', 'schema' => [ - 'title' => '工作空间ID', - 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', + 'title' => '排序字段', + 'description' => '排序字段', 'type' => 'string', 'required' => false, - 'example' => '380', + 'example' => 'GmtCreateTime', + 'default' => 'GmtCreateTime', + 'enum' => ['GmtCreateTime', 'GmtModifyTime', 'TemplateName'], ], ], [ - 'name' => 'TensorboardId', - 'in' => 'path', + 'name' => 'Order', + 'in' => 'query', 'schema' => [ - 'title' => 'Tensorboad Id', - 'description' => 'Tensorboard ID。如何获取Tensorboard ID,请参见[ListTensorboards](~~459689~~)。', + 'title' => '排序顺序', + 'description' => '排序顺序', 'type' => 'string', - 'required' => true, - 'example' => 'tensorboard-20210114104214-vf9lowjt3pso', - 'maxLength' => 256, - 'minLength' => 1, + 'required' => false, + 'example' => 'desc', + 'default' => 'desc', + 'enum' => ['asc', 'desc'], ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['title' => '页码', 'description' => '页码', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['title' => '每页数量', 'description' => '每页数量', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '20'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '返回body', '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', + 'JobTemplates' => [ + 'title' => '模板列表', + 'description' => '模板列表', + 'type' => 'array', + 'items' => [ + 'description' => '模板信息', + 'type' => 'object', + 'properties' => [ + 'TemplateId' => ['title' => '模板 ID', 'description' => '模板 ID', 'type' => 'string', 'example' => 'tpl1r5g9ait7****'], + 'TemplateName' => ['title' => '模板名称', 'description' => '模板名称', 'type' => 'string', 'example' => 'job-template-1772516653885'], + 'Description' => ['title' => '模板描述', 'description' => '模板描述', 'type' => 'string', 'example' => 'job description'], + 'Metadata' => ['title' => '自定义元数据', 'description' => '自定义元数据', 'type' => 'object', 'example' => '{}'], + 'UserId' => ['title' => '创建者 ID', 'description' => '创建者 ID', 'type' => 'string', 'example' => '20**************26'], + 'WorkspaceId' => ['title' => '工作空间 ID', 'description' => '工作空间 ID', 'type' => 'string', 'example' => '88****'], + 'TenantId' => ['title' => '租户 ID', 'description' => '租户 ID', 'type' => 'string', 'example' => '142388383837****'], + 'DefaultVersion' => ['title' => '默认版本号', 'description' => '默认版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'GmtCreateTime' => ['title' => '创建时间', 'description' => '创建时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-01-23T07:29:06Z'], + 'GmtModifyTime' => ['title' => '修改时间', 'description' => '修改时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2026-03-03T05:48:02Z'], + 'ModifiedBy' => ['title' => '最后修改者 ID', 'description' => '最后修改者 ID', 'type' => 'string', 'example' => '20**************26'], + ], + ], ], + 'TotalCount' => ['title' => '总记录数', 'description' => '总记录数', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'PageNumber' => ['title' => '当前页码', 'description' => '当前页码', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['title' => '每页数量', 'description' => '每页数量', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'RequestId' => ['title' => '请求 ID', 'description' => '请求 ID', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D*****'], ], ], ], ], - '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', + 'title' => '列出任务模板', + 'summary' => '按工作空间列出任务模板,支持分页与排序;可按创建者、TemplateId、TemplateName 筛选。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paidlc:ListJobTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobTemplates\\": [\\n {\\n \\"TemplateId\\": \\"tpl1r5g9ait7****\\",\\n \\"TemplateName\\": \\"job-template-1772516653885\\",\\n \\"Description\\": \\"job description\\",\\n \\"Metadata\\": {},\\n \\"UserId\\": \\"20**************26\\",\\n \\"WorkspaceId\\": \\"88****\\",\\n \\"TenantId\\": \\"142388383837****\\",\\n \\"DefaultVersion\\": 2,\\n \\"GmtCreateTime\\": \\"2026-01-23T07:29:06Z\\",\\n \\"GmtModifyTime\\": \\"2026-03-03T05:48:02Z\\",\\n \\"ModifiedBy\\": \\"20**************26\\"\\n }\\n ],\\n \\"TotalCount\\": 100,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0D*****\\"\\n}","type":"json"}]', + ], + 'ListJobs' => [ + 'summary' => '获取任务列表,支持分页、排序和按条件过滤。', + 'path' => '/api/v1/jobs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '40264', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '13122', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'WorkspaceId', + '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' => '工作空间ID', - 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', + 'title' => '排序顺序', + 'description' => '排列顺序,支持:'."\n" + ."\n" + .'- desc:降序,默认值。'."\n" + .'- asc:升序。', 'type' => 'string', 'required' => false, - 'example' => '380', + 'enumValueTitles' => ['asc' => 'asc', 'desc' => 'desc'], + 'example' => 'desc', + 'default' => 'desc', ], ], [ - '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' => 'ShowOwn', + 'in' => 'query', + 'schema' => ['title' => '是否只返回当前登录者所提交的作业', 'description' => '是否只查询当前用户提交的任务列表。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], [ - 'name' => 'MaxRunningTimeMinutes', + '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' => 'MaxRunningTimeMinutes', - 'description' => '最长运行时长,单位为:分钟。', - 'type' => 'integer', - 'format' => 'int64', + 'title' => '自定义标签', + 'description' => '用于过滤的标签。', + 'type' => 'object', 'required' => false, - 'example' => '300', + '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" + 'description' => '作业的可见性,取值如下:'."\n" .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', + .'- PRIVATE(默认值):在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['PUBLIC' => 'PUBLIC', 'PRIVATE' => 'PRIVATE'], 'example' => 'PRIVATE', ], ], [ - 'name' => 'Priority', + '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 '], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['type' => 'string'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '任务列表。', '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', + '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 \\"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', + 'title' => '获取任务列表', + 'changeSet' => [ + ['createdAt' => '2025-10-17T07:03:51.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-09-09T06:27:28.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-05-07T12:37:04.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-01-09T12:43:08.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-21T12:36:46.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-04-09T02:18:24.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-01-12T05:43:52.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-12-14T10:35:38.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-29T12:19:51.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"dlc-20210126170216-********\\",\\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\\": \\"vpc-2zed***\\",\\n \\"SwitchId\\": \\"vsw-2ze6***\\",\\n \\"SecurityGroupId\\": \\"sg-2zeef***\\",\\n \\"ExtendedCidrs\\": [\\n \\"10.2.0.0/16\\"\\n ],\\n \\"DefaultRoute\\": \\"eth0\\"\\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-vpc.cn-hangzhou.aliyuncs.com/cloud-dsw/tensorflow:1.12PAI-gpu-py36-cu101-ubuntu18.04\\",\\n \\"ImageConfig\\": {\\n \\"DockerRegistry\\": \\"docker****registry.com\\",\\n \\"Username\\": \\" username\\",\\n \\"Password\\": \\"password\\",\\n \\"Auth\\": \\"\\"\\n },\\n \\"PodCount\\": 1,\\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 \\"-v\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\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 \\"-v\\"\\n ],\\n \\"WorkingDir\\": \\"/root\\",\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"ENABLE_DEBUG\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"Resources\\": {\\n \\"Limits\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n },\\n \\"Requests\\": {\\n \\"key\\": \\"{\'cpu\': \'1\', \'memory\': \'1000Mi\'}\\"\\n }\\n }\\n }\\n ],\\n \\"PodLabels\\": {\\n \\"key\\": \\"example-lable\\"\\n },\\n \\"PodAnnotations\\": {\\n \\"key\\": \\"example-annotation\\"\\n },\\n \\"SharedVolumeMountPaths\\": [\\n \\"/root/share/\\"\\n ],\\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 \\"RunAsGroup\\": 1000,\\n \\"SeccompProfile\\": {\\n \\"Type\\": \\"Unconfined\\",\\n \\"LocalhostProfile\\": \\"my-profiles/profile-allow.json\\"\\n },\\n \\"Privileged\\": true,\\n \\"Capabilities\\": {\\n \\"Add\\": [\\n \\"\\"\\n ],\\n \\"Drop\\": [\\n \\"\\"\\n ]\\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\\": \\"SpotWithPriceLimit\\",\\n \\"SpotDiscountLimit\\": 0.8,\\n \\"SpotPriceLimit\\": 0.4744\\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 \\"MountMode\\": \\"\\",\\n \\"LocalPath\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ],\\n \\"AutoScalingSpec\\": {\\n \\"ScalingStrategy\\": \\"\\",\\n \\"MinReplicas\\": 0,\\n \\"MaxReplicas\\": 0,\\n \\"PodsToDelete\\": [\\n \\"\\"\\n ],\\n \\"AutoscalingMetricSpec\\": {\\n \\"MetricName\\": \\"\\",\\n \\"TargetValue\\": 0,\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"Tolerance\\": \\"\\"\\n }\\n },\\n \\"ServiceSpec\\": {\\n \\"DefaultPort\\": 8080,\\n \\"ServiceMode\\": \\"PerRole\\",\\n \\"ExtraPorts\\": [\\n 8081\\n ]\\n },\\n \\"IsCheif\\": true,\\n \\"IsChief\\": true,\\n \\"RestartPolicy\\": \\"ExitCode\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"QuotaId\\": \\"\\",\\n \\"ConsiderInSuccessPolicy\\": true,\\n \\"StartupDependencies\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"OnPhase\\": \\"\\",\\n \\"MinReplicas\\": \\"\\"\\n }\\n ],\\n \\"ElasticSpotSpecs\\": [\\n {\\n \\"InstanceType\\": \\"\\",\\n \\"SpotPriceLimit\\": 0,\\n \\"SpotDiscountLimit\\": 0,\\n \\"SpotStrategy\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"UserCommand\\": \\"python /root/code/mnist.py\\",\\n \\"DataSources\\": [\\n {\\n \\"DataSourceId\\": \\"data-20210114104214-********\\",\\n \\"MountPath\\": \\"/mnt/data\\"\\n }\\n ],\\n \\"CodeSource\\": {\\n \\"CodeSourceId\\": \\"code-20210111103721-********\\",\\n \\"Branch\\": \\"master\\",\\n \\"Commit\\": \\"44da109b59f8596152987eaa8f3b2487bb******\\",\\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\\": \\"2025-04-16T07:25:34Z\\",\\n \\"GmtSubmittedTime\\": \\"2025-04-16T07:26:14Z\\",\\n \\"GmtRunningTime\\": \\"2025-04-16T07:26:41Z\\",\\n \\"GmtSuccessedTime\\": \\"2025-04-16T07:28:20Z\\",\\n \\"GmtStoppedTime\\": \\"null\\",\\n \\"GmtFailedTime\\": \\"null\\",\\n \\"GmtFinishTime\\": \\"2025-04-16T07:28:20Z\\",\\n \\"GmtModifiedTime\\": \\"2025-04-16T07:28:22Z\\",\\n \\"Duration\\": 243,\\n \\"JobMaxRunningTimeMinutes\\": 0,\\n \\"Settings\\": {\\n \\"BusinessUserId\\": \\"16****\\",\\n \\"Caller\\": \\"SilkFlow\\",\\n \\"Tags\\": {\\n \\"key\\": \\"key:value\\"\\n },\\n \\"PipelineId\\": \\"pid-12****\\",\\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=MarkJobFail\\",\\n \\"JobReservedMinutes\\": 30,\\n \\"JobReservedPolicy\\": \\"Always\\",\\n \\"EnableCPUAffinity\\": true,\\n \\"DisableEcsStockCheck\\": false,\\n \\"AllocateAllRDMADevices\\": true,\\n \\"EnableDSWDev\\": true,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"standalone\\",\\n \\"CommandType\\": \\"config\\",\\n \\"EnableResourceEstimation\\": true,\\n \\"ResourceLimit\\": {\\n \\"CPU\\": \\"2\\",\\n \\"Memory\\": \\"10Gi\\",\\n \\"GPU\\": \\"20\\"\\n }\\n },\\n \\"ModelConfig\\": {\\n \\"ModelName\\": \\"\\",\\n \\"ModelTemplate\\": {\\n \\"ModelName\\": \\"\\",\\n \\"Provider\\": \\"\\",\\n \\"Collections\\": \\"\\"\\n }\\n },\\n \\"AllowUnschedulableNodes\\": true,\\n \\"Shell\\": \\"/bin/bash\\"\\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\\": \\"****1316721349****\\",\\n \\"TenantId\\": \\"****93955616****\\",\\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 \\"StabilizationWindowSeconds\\": 0,\\n \\"Tolerance\\": \\"\\"\\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 \\"CurrentSpotInstanceType\\": \\"\\"\\n }\\n ],\\n \\"SchedulingStrategy\\": \\"\\",\\n \\"RetryCount\\": 0\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]', + ], + 'ListRayHistoryServers' => [ + 'summary' => '列出资源RayHistoryServer', + 'path' => '/api/v1/rayhistoryservers', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', - 'deprecated' => false, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '40266', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', - 'schema' => [ - 'title' => '工作空间ID', - 'description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', - 'type' => 'string', - 'required' => false, - 'example' => '380', - ], + 'schema' => ['description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', 'type' => 'string', 'required' => false, 'example' => '268'], ], [ - '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' => 'DisplayName', + 'in' => 'query', + 'schema' => ['description' => '任务的显示名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'RayHistoryServer 状态:'."\n" + .'- Creating:创建中。'."\n" + .'- Queuing:排队中。'."\n" + .'- Running:运行中。'."\n" + .'- Stopped:已停止。'."\n" + .'- Failed:已失败。', 'type' => 'string', 'required' => false, 'example' => 'running'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页查询,指定当前需要返回的页码,从1开始往后编号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '分页查询中,指定每页返回的RayHistoryServer数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => '按返回的以下字段排序。'."\n" + .'- DisplayName'."\n" + .'- GmtCreateTime'."\n" + .'- UserId'."\n" + .'- ResourceId'."\n" + .'- Status'."\n" + .'- GmtModifyTime', 'type' => 'string', 'required' => false, 'example' => 'GmtCreateTime'], + ], + [ + 'name' => 'Order', + 'in' => 'query', + 'schema' => ['description' => '排序顺序。'."\n" + .'- desc:降序。'."\n" + .'- asc:升序。', 'type' => 'string', 'required' => false, 'example' => 'desc'], + ], + [ + 'name' => 'ShowOwn', + 'in' => 'query', + 'schema' => ['description' => '是否只返回当前登录者所创建的RayHistoryServer。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => '开始时间。', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => '查询区间的截止时间;使用任务的创建时间来过滤。', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], + ], + [ + 'name' => 'ModifiedAfter', + 'in' => 'query', + 'schema' => ['description' => '按修改后时间过滤', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。如何查询专有资源组ID,详情请参见[管理资源配额](~~2651299~~)。', 'type' => 'string', 'required' => false, 'example' => 'quotaxxx'], + ], + [ + 'name' => 'PaymentType', + 'in' => 'query', + 'schema' => ['description' => '付费类型。'."\n" + .'- PrePaid'."\n" + .'- PostPaid', 'type' => 'string', 'required' => false, 'example' => 'Postpaid'], + ], + [ + 'name' => 'IdPrefix', + 'in' => 'query', + 'schema' => ['description' => ' ID前缀', 'type' => 'string', 'required' => false, 'example' => '按ID前缀过滤'], + ], + [ + 'name' => 'UserIdForFilter', + 'in' => 'query', + 'schema' => ['description' => '按用户ID过滤', 'type' => 'string', 'required' => false, 'example' => '123456789'], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => ['description' => '按用户名称过滤', 'type' => 'string', 'required' => false, 'example' => 'myusername'], + ], + [ + 'name' => 'StoragePath', + 'in' => 'query', + 'schema' => ['description' => 'Ray 日志存储路径', 'type' => 'string', 'required' => false, 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp'], ], ], 'responses' => [ @@ -6973,35 +4406,76 @@ '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', + 'RequestId' => ['description' => '本次调用的请求ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], + 'TotalCount' => ['description' => '符合过滤条件的总任务数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RayHistoryServers' => [ + 'description' => 'RayHistoryServer列表', + 'type' => 'array', + 'items' => [ + 'description' => 'RayHistoryServer列表', + 'type' => 'object', + 'properties' => [ + 'WorkspaceId' => ['description' => '工作空间ID。<props="china">如何获取工作空间ID,请参见[ListWorkspaces](~~449124~~)。</props>', 'type' => 'string', 'example' => '153466'], + 'DisplayName' => ['description' => '任务的显示名称。', 'type' => 'string', 'example' => 'AEB-RECHARGE-TASK-14478-1778466397-main-4-'], + 'UserId' => ['description' => '用户ID', 'type' => 'string', 'example' => '123456789'], + 'Username' => ['description' => '用户名', 'type' => 'string', 'example' => 'myusername'], + 'TenantId' => ['description' => '租户ID。', 'type' => 'string', 'example' => '1335237941080704'], + 'RayHistoryServerId' => ['description' => '创建的 Ray History Server ID。', 'type' => 'string', 'example' => 'rhsxxx'], + 'RayHistoryServerUrl' => ['description' => 'Ray Dashboard URL。', 'type' => 'string', 'example' => 'https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/'], + 'StoragePath' => ['description' => 'Ray 日志存储路径', 'type' => 'string', 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp'], + 'ResourceId' => ['description' => '资源组ID。如何查询专有资源组ID,详情请参见[管理资源配额](~~2651299~~)。', 'type' => 'string', 'example' => 'quotazoqd53w0q75'], + 'ResourceName' => ['description' => '作业运行的资源名称。', 'type' => 'string', 'example' => 'OWNER_REPO'], + 'EcsSpec' => ['description' => '公共资源组的硬件规格,请访问[PAI-DLC计费说明](~~171758~~)获取详细规格列表。><notice>不同规格的价格会有区别。></notice>', 'type' => 'string', 'example' => 'ecs.g6.xlarge'], + 'Accessibility' => ['description' => '作业的可见性,取值如下:'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" + .'- PRIVATE(默认值):在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'example' => 'PUBLIC'], + 'Status' => ['description' => 'Tensorboard状态:'."\n" + .'- Creating:创建中。'."\n" + .'- Running:运行中。'."\n" + .'- Stopped:已停止。'."\n" + .'- Succeeded:已成功。'."\n" + .'- Failed:已失败。', 'type' => 'string', 'example' => 'Created'], + 'ReasonCode' => ['description' => '状态详情码。', 'type' => 'string', 'example' => 'InvalidParameter'], + 'ReasonMessage' => ['description' => '状态详情。', 'type' => 'string', 'example' => 'PyTorchJob dlc1tx4b9lw3ntb9 is running.'], + 'GmtCreateTime' => ['description' => '作业创建时间, UTC格式。', 'type' => 'string', 'example' => '2025-12-30T02:43:52Z'], + 'GmtModifyTime' => ['description' => '最后修改时间(UTC)。', 'type' => 'string', 'example' => '2026-05-19T04:05:46Z'], + 'GmtFinishTime' => ['description' => '结束时间(UTC)', 'type' => 'string', 'example' => '2026-01-27T09:17:11Z'], + 'MaxRuntimeMinutes' => ['description' => '最大运行时长。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + ], + ], ], ], + 'description' => '', ], ], ], - '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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '排列 RayHsitoryServer', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paidlc:ListRayHistoryServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\",\\n \\"TotalCount\\": 1,\\n \\"RayHistoryServers\\": [\\n {\\n \\"WorkspaceId\\": \\"153466\\",\\n \\"DisplayName\\": \\"AEB-RECHARGE-TASK-14478-1778466397-main-4-\\",\\n \\"UserId\\": \\"123456789\\",\\n \\"Username\\": \\"myusername\\",\\n \\"TenantId\\": \\"1335237941080704\\",\\n \\"RayHistoryServerId\\": \\"rhsxxx\\",\\n \\"RayHistoryServerUrl\\": \\"https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/\\",\\n \\"StoragePath\\": \\"oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp\\",\\n \\"ResourceId\\": \\"quotazoqd53w0q75\\",\\n \\"ResourceName\\": \\"OWNER_REPO\\",\\n \\"EcsSpec\\": \\"ecs.g6.xlarge\\",\\n \\"Accessibility\\": \\"PUBLIC\\",\\n \\"Status\\": \\"Created\\",\\n \\"ReasonCode\\": \\"InvalidParameter\\",\\n \\"ReasonMessage\\": \\"PyTorchJob dlc1tx4b9lw3ntb9 is running.\\",\\n \\"GmtCreateTime\\": \\"2025-12-30T02:43:52Z\\",\\n \\"GmtModifyTime\\": \\"2026-05-19T04:05:46Z\\",\\n \\"GmtFinishTime\\": \\"2026-01-27T09:17:11Z\\",\\n \\"MaxRuntimeMinutes\\": 1000\\n }\\n ]\\n}","type":"json"}]', ], 'ListTensorboards' => [ - 'summary' => '查询已创建的Tensorboard列表。', 'path' => '/api/v1/tensorboards', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7010,260 +4484,132 @@ 'APP' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '20382', - 'abilityTreeNodes' => [ - 'FEATURElearnVD2RKE', - ], + 'abilityTreeNodes' => ['FEATURElearnVD2RKE'], ], 'parameters' => [ [ 'name' => 'Verbose', 'in' => 'query', - 'schema' => [ - 'title' => '是否显示详情', - 'description' => '是否显示详情。'."\n" - .'- true:显示详情。'."\n" - .'- false:不显示详情。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + 'schema' => ['description' => '用户ID。', 'type' => 'string', 'required' => false, 'example' => '161****3000'], ], [ 'name' => 'Username', 'in' => 'query', - 'schema' => [ - 'description' => '用户名。', - 'type' => 'string', - 'required' => false, - 'example' => 'she****mo', - ], + '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", - ], + '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', - ], + 'schema' => ['description' => '任务的可见性。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE'], ], ], 'responses' => [ @@ -7276,267 +4622,419 @@ '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', + '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":""}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询Tensorboard列表', - ], - 'GetTensorboard' => [ - 'summary' => '获取一个Tensorboard的详细信息。', - 'path' => '/api/v1/tensorboards/{TensorboardId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => '查询已创建的Tensorboard列表。', + 'changeSet' => [ + ['createdAt' => '2024-07-11T11:23:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-06-06T07:48:17.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-03-28T07:37:35.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-08-03T11:01:35.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTensorboards'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListTensorboards', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tensorboards\\": [\\n {\\n \\"TensorboardId\\": \\"tensorboard-xxx\\",\\n \\"TensorboardUrl\\": \\"http://xxxxxx\\",\\n \\"Status\\": \\"running\\",\\n \\"Duration\\": \\"60\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:35:00Z\\",\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"GmtFinishTime\\": \\"null\\",\\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\\": \\"\\\\\\"\\\\\\"\\",\\n \\"ReasonMessage\\": \\"\\\\\\"\\\\\\"\\",\\n \\"JobId\\": \\"dlc-20210114104214-vf9lowjt3pso\\",\\n \\"TensorboardDataSources\\": [\\n {\\n \\"DirectoryName\\": \\"dlcJobName\\",\\n \\"Name\\": \\"dlcJobName\\",\\n \\"Id\\": \\"d-vf2fdhxxxxxx\\",\\n \\"DataSourceType\\": \\"OSS\\",\\n \\"Uri\\": \\"oss://examplebucket.oss-cn-shanghai-internal.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\\": \\"quota12***\\",\\n \\"Priority\\": \\"1\\",\\n \\"QuotaName\\": \\"dlc-quota\\",\\n \\"Accessibility\\": \\"PRIVATE\\"\\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":""}]', + ], + 'SetJobTemplateDefaultVersion' => [ + 'summary' => '设置模板默认版本。', + 'path' => '/api/v1/jobtemplates/{TemplateId}/defaultversion', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '20371', - 'abilityTreeNodes' => [ - 'FEATURElearnWA9VRC', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'WorkspaceId', - 'in' => 'query', + 'name' => 'TemplateId', + 'in' => 'path', + 'schema' => ['title' => '模板 ID', 'description' => '模板 ID', 'type' => 'string', 'required' => true, 'example' => 'tplmceolmf2****', 'maxLength' => 128], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '工作空间ID', - 'description' => '工作空间ID。<props="china">参见[ListWorkspaces](~~449124~~)获取工作空间ID。</props>', - 'type' => 'string', + 'description' => '请求Body参数。', + 'type' => 'object', + 'properties' => [ + 'Version' => ['title' => '目标版本号', 'description' => '目标版本号', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'example' => '2'], + ], 'required' => false, - 'example' => '46099', ], ], - [ - 'name' => 'TensorboardId', - 'in' => 'path', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => 'TensorboardId Id', - 'description' => 'Tensorboard ID。参见[ListTensorboards](~~459689~~)获取Tensorboard ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'tb-20210114104214-xxxxx', - 'maxLength' => 256, - 'minLength' => 1, + 'type' => 'object', + 'properties' => [ + 'DefaultVersion' => ['title' => '当前默认版本号', 'description' => '当前默认版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'GmtModifyTime' => ['title' => '修改时间', 'description' => '修改时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2021-01-12T14:36:00Z'], + 'RequestId' => ['title' => '请求 ID', 'description' => '请求 ID', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], + ], + 'description' => '', ], ], + ], + 'title' => '设置任务模板默认版本', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DefaultVersion\\": 2,\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\"\\n}","type":"json"}]', + ], + 'StartRayHistoryServer' => [ + 'summary' => '启动 Ray History Server', + 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}/start', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'JodId', - 'in' => 'query', - 'schema' => [ - 'title' => 'JodId', - 'description' => '任务ID。参见[ListJobs](~~459676~~)获取任务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'dlc-xxxxxxxx', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], + ], + 'parameters' => [ [ - 'name' => 'Token', - 'in' => 'query', - 'schema' => [ - 'description' => '分享令牌信息,填入该参数可利用分享令牌信息获得查看某个Tensorboard任务的权限。可通过执行[GetTensorboardSharedUrl](~~2557813~~),在获得的链接中提取。', - 'type' => 'string', - 'required' => false, - 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e'."\n" - .'yJleHAiOjE2OTUyODA0NTMsImlhdCI6MTY5NTE5NDA1MywidXNlcl9pZCI6IjExN'."\n" - .'Tc3MDMyNzA5OTQ5MDEiLCJ0YXJnZXRfaWQiOiJ0YjRrOGxjNXhmdTM2b3B0Iiw'."\n" - .'idGFyZ2V0X3R5cGUiOiJ0ZW5zb3Jib2FyZCJ9.6eT68J-KMBwwfN2d7fj7u6vyPcf0erfqYeizd2N****', - ], + 'name' => 'RayHistoryServerId', + 'in' => 'path', + 'schema' => ['description' => '请求的 Ray History Server ID。', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Tensorboard详情。', - '$ref' => '#/components/schemas/Tensorboard', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], ], ], ], - '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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '启动 RayHistoryServer', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StartTensorboard' => [ + 'path' => '/api/v1/tensorboards/{TensorboardId}/start', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '189994', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], + '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' => [ - 'description' => 'Tensorboard任务的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'tbxxxxxx', + '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'], + ], + 'description' => '', ], ], + ], + 'title' => '启动Tensorboard', + 'summary' => '启动一个Tensorboard。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartTensorboard'], + ], + ], + 'ramActions' => [], + '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":""}]', + ], + 'StopJob' => [ + 'path' => '/api/v1/jobs/{JobId}/stop', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ExpireTimeSeconds', - 'in' => 'query', - 'schema' => [ - 'description' => '分享链接的有效时长,单位:秒。最大值为604800。', - 'type' => 'string', - 'required' => false, - 'example' => '86400', - ], + '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' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回内容。', '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/', - ], + 'JobId' => ['title' => '作业Id', 'description' => '任务ID。', 'type' => 'string', 'example' => 'dlc-20210126170216-xxxxxxx'], + 'RequestId' => ['title' => '请求Id', 'description' => '请求ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxx'], ], ], ], ], - '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', + 'title' => '停止任务', + 'summary' => '停止一个正在运行的任务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopJob'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:StopJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<不支持/>","errorExample":""}]', + ], + 'StopRayHistoryServer' => [ + 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}/stop', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'jobId', + 'name' => 'RayHistoryServerId', 'in' => 'path', + 'schema' => ['description' => '请求的 Ray History Server ID。', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '任务ID'."\n", - 'description' => '任务ID'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dlc1k7426goc7bvy', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '停止 RayHistoryServer', + 'summary' => '停止 Ray History Server', + 'description' => '请确保在使用该接口前,已充分了解PAI-DLC产品的收费方式和[价格](~~171758~~)。'."\n" + .'><notice>CreateJob接口参数总长度(包含系统生成的参数)不能超过65536个字节,></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StopTensorboard' => [ + 'path' => '/api/v1/tensorboards/{TensorboardId}/stop', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'isShared', + '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' => [ - 'title' => '是否为分享链接。若为是,目前同时必填token'."\n", - 'description' => '是否为分享链接。若为是,目前同时必填token'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'enum' => [ - 'true', - 'false', + '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'], ], + 'description' => '', ], ], + ], + 'title' => '停止Tensorboard', + 'summary' => '停止一个Tensorboard。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopTensorboard'], + ], + ], + 'ramActions' => [], + '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":""}]', + ], + 'UpdateJob' => [ + 'path' => '/api/v1/jobs/{JobId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'token', - 'in' => 'query', + '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' => [ - 'title' => '从GetToken获取的token'."\n", - 'description' => '从GetToken获取的token'."\n", - 'type' => 'string', + '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:在此工作空间中,对所有人可见。', 'type' => 'string', 'required' => false, 'example' => 'PUBLIC'], + 'JobSpecs' => [ + 'title' => '任务规格定义', + 'description' => '任务规格定义', + 'type' => 'array', + 'items' => ['required' => false, '$ref' => '#/components/schemas/JobSpec', 'description' => ''], + 'required' => false, + ], + 'Description' => ['type' => 'string', 'required' => false, 'description' => ''], + ], 'required' => false, - 'example' => 'some_token_value', ], ], ], @@ -7544,205 +5042,1031 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回内容。', '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', - ], - ], + 'JobId' => ['title' => '作业ID', 'description' => '任务ID。', 'type' => 'string', 'example' => 'dlc*************'], + 'RequestId' => ['title' => '请求ID', 'description' => '请求ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '更新任务配置', + 'summary' => '更新一个任务的配置信息,例如修改一个排队中任务的优先级。', + 'changeSet' => [ + ['createdAt' => '2025-11-10T06:08:17.000Z', 'description' => '请求参数发生变更'], ], - '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', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"< 不支持 />","errorExample":""}]', + ], + 'UpdateJobTemplate' => [ + 'path' => '/api/v1/jobtemplates/{TemplateId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURElearnQJXF95', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ - 'name' => 'jobId', + 'name' => 'TemplateId', 'in' => 'path', + 'schema' => ['title' => '模板 ID', 'description' => '任务模板的唯一标识', 'type' => 'string', 'required' => true, 'example' => 'tplmceolmf2****', 'maxLength' => 128], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '任务ID'."\n", - 'description' => '任务ID'."\n", - 'type' => 'string', + 'description' => '请求Body参数。', + 'type' => 'object', + 'properties' => [ + 'TemplateName' => ['title' => '模板名称', 'description' => '任务模板的名称', 'type' => 'string', 'required' => false, 'example' => 'job-template-example-1778047**** '], + 'Description' => ['title' => '模板描述', 'description' => '任务模板的描述信息', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'Template description'."\n"], + 'Metadata' => ['title' => '自定义元数据', 'description' => '用户自定义的键值对元数据', 'type' => 'object', 'required' => false, 'example' => '{}'], + 'Content' => ['title' => '模板内容', 'description' => '任务模板的配置内容,支持 CreateJob 接口的所有参数字段,以 JSON 格式传入。提供时会创建新版本。', 'type' => 'string', 'required' => false, 'example' => '{\\"WorkspaceId\\":\\"15****05\\",\\"JobType\\":\\"PyTorchJob\\",\\"UserCommand\\":\\"echo hello\\",\\"JobSpecs\\":[{\\"Type\\":\\"Worker\\",\\"PodCount\\":1,\\"Image\\":\\"dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:2.8.0-gpu-py313-cu129-ubuntu22.04-3995b779-1764361782\\",\\"EcsSpec\\":\\"ecs.gn7i-c8g1.2xlarge\\"}],\\"ResourceType\\":\\"ECS\\",\\"_ResourcePaymentType\\":\\"PostPaid\\",\\"CredentialConfig\\":{\\"EnableCredentialInject\\":false},\\"Accessibility\\":\\"PRIVATE\\",\\"Settings\\":{\\"JobReservedMinutes\\":0,\\"Tags\\":{}}} '], + 'Constraints' => ['title' => '约束规则', 'description' => '字段约束规则。Key 为 JSONPath 表达式,Value 为约束类型:locked(锁定不可覆盖)、overridable(可覆盖)、required(必填)。需与 Content 同时提供,不允许单独更新。', 'type' => 'object', 'required' => false, 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], + 'SetAsDefault' => ['title' => '是否设为默认版本', 'description' => '当创建了新版本时,是否将新版本设为默认版本。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], + 'version' => ['description' => '无效字段', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '无效字段'], + ], 'required' => false, - 'example' => 'dlc1k7426goc7bvy', ], ], - [ - 'name' => 'isShared', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否为分享链接。若为是,目前同时必填token'."\n", - 'description' => '是否为分享链接。若为是,目前同时必填token'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'enum' => [ - 'true', - 'false', + 'type' => 'object', + 'properties' => [ + 'Version' => ['title' => '版本号', 'description' => '版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'VersionCreated' => ['title' => '是否创建了新版本', 'description' => '是否创建了新版本', 'type' => 'boolean', 'example' => 'true'], + 'DefaultVersion' => ['title' => '默认版本号', 'description' => '当前使用的默认版本号', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'GmtModifyTime' => ['title' => '更新时间', 'description' => '模板的最后修改时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2021-01-12T14:36:00Z'], + 'RequestId' => ['title' => '请求 ID', 'description' => '本次请求的 ID,用于诊断和答疑。', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], ], + 'description' => '', ], ], + ], + 'title' => '更新任务模板', + 'summary' => '更新任务模板。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'token', - 'in' => 'query', - 'schema' => [ - 'title' => '从GetToken获取的token'."\n", - 'description' => '从GetToken获取的token'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'some_token_value', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Version\\": 2,\\n \\"VersionCreated\\": true,\\n \\"DefaultVersion\\": 2,\\n \\"GmtModifyTime\\": \\"2021-01-12T14:36:00Z\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\"\\n}","type":"json"}]', + ], + 'UpdateTensorboard' => [ + '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, 'description' => ''], + ], + ], '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', - ], + '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'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '更新Tensorboard', + 'summary' => '更新一个Tensorboard。', + 'changeSet' => [ + ['createdAt' => '2024-11-18T09:25:05.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-08-22T09:59:42.000Z', 'description' => '请求参数发生变更'], ], - '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~~)。', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTensorboard'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-shenzhen.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-shenzhen.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-wulanchabu.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-beijing.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-beijing.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-northeast-1.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-northeast-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-shanghai.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-shanghai.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-guangzhou.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-guangzhou.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-hongkong.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-hongkong.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-southeast-1.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-southeast-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-southeast-3.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-southeast-3.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-southeast-5.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-southeast-5.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-southeast-7.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-southeast-7.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.cn-hangzhou.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-hangzhou.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'ap-southeast-8', 'regionName' => '马来西亚(柔佛州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'pai-dlc.ap-southeast-8.aliyuncs.com', 'endpoint' => 'pai-dlc.ap-southeast-8.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.ap-southeast-8.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'pai-dlc.us-west-1.aliyuncs.com', 'endpoint' => 'pai-dlc.us-west-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'pai-dlc.us-east-1.aliyuncs.com', 'endpoint' => 'pai-dlc.us-east-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'us-southeast-1', 'regionName' => '美国(亚特兰大)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'pai-dlc.us-southeast-1.aliyuncs.com', 'endpoint' => 'pai-dlc.us-southeast-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.us-southeast-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'pai-dlc.eu-central-1.aliyuncs.com', 'endpoint' => 'pai-dlc.eu-central-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'pai-dlc.me-east-1.aliyuncs.com', 'endpoint' => 'pai-dlc.me-east-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'pai-dlc.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'pai-dlc.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'pai-dlc-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], + ], + 'changeSet' => [ [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'pai-dlc.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2025-11-18T03:50:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateJob'], + ], + 'createdAt' => '2025-11-10T06:08:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2025-10-23T08:44:46.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2025-10-17T07:04:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2025-01-09T12:43:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2024-12-18T06:03:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2024-11-21T12:37:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateTensorboard'], + ], + 'createdAt' => '2024-11-18T09:25:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2024-10-23T02:31:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DeleteJob'], + ], + 'createdAt' => '2024-08-22T10:40:26.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateTensorboard'], + ], + 'createdAt' => '2024-08-22T10:01:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2024-08-09T08:19:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateTensorboard'], + ['description' => '请求参数发生变更', 'api' => 'ListTensorboards'], + ], + 'createdAt' => '2024-07-11T11:25:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2024-07-09T04:18:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2024-07-05T02:28:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListTensorboards'], + ], + 'createdAt' => '2024-06-06T07:48:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2024-04-09T02:18:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateTensorboard'], + ['description' => '请求参数发生变更', 'api' => 'ListTensorboards'], + ], + 'createdAt' => '2024-03-28T07:38:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetJobSanityCheckResult'], + ['description' => '请求参数发生变更', 'api' => 'ListJobSanityCheckResults'], + ], + 'createdAt' => '2024-02-26T03:31:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ['description' => '请求参数发生变更', 'api' => 'ListEcsSpecs'], + ], + 'createdAt' => '2024-01-24T10:35:25.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'pai-dlc.cn-wulanchabu.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2024-01-12T05:44:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetJobSanityCheckResult'], + ], + 'createdAt' => '2024-01-08T08:10:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2024-01-05T02:50:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2024-01-03T08:01:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2023-12-14T10:35:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ['description' => '响应参数发生变更、响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2023-12-08T09:51:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetWebTerminal'], + ], + 'createdAt' => '2023-11-08T00:26:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2023-09-11T11:52:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetTensorboard'], + ], + 'createdAt' => '2023-08-11T05:55:33.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListTensorboards'], + ], + 'createdAt' => '2023-08-03T11:01:38.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetWebTerminal'], + ], + 'createdAt' => '2023-07-21T08:19:30.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'pai-dlc.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJobEvents'], + ], + 'createdAt' => '2023-03-24T08:20:24.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'pai-dlc.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'DeleteJob'], + ], + 'createdAt' => '2023-01-06T07:38:55.000Z', + 'description' => 'DeleteJob API的文档更新:JobId修改为必选参数', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'pai-dlc.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2022-12-27T06:55:39.000Z', + 'description' => '增加对私有镜像仓库的Username/Password的配置', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'pai-dlc.cn-guangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2022-11-29T12:21:37.000Z', + 'description' => 'ListJobs API添加参数JobId,以支持用户通过JobId进行任务搜索的功能', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'pai-dlc.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ], + 'createdAt' => '2022-07-22T03:24:55.000Z', + 'description' => '更新一些字段说明', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'pai-dlc.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListCodeSources'], + ], + 'createdAt' => '2022-07-21T04:27:30.000Z', + 'description' => '更新部分字段的描述信息', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'pai-dlc.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListImages'], + ], + 'createdAt' => '2022-07-05T06:35:28.000Z', + 'description' => 'Improve CreateJob and ListImages API', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'pai-dlc.ap-southeast-3.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'CreateSmartCache'], + ['description' => 'OpenAPI 下线', 'api' => 'DeleteSmartCache'], + ['description' => 'OpenAPI 下线', 'api' => 'GetSmartCache'], + ['description' => 'OpenAPI 下线', 'api' => 'ListSmartCaches'], + ['description' => 'OpenAPI 下线', 'api' => 'StopSmartCache'], + ], + 'createdAt' => '2022-06-16T03:00:19.000Z', + 'description' => '上线', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'pai-dlc.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJob'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetPodEvents'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetPodLogs'], + ['description' => '请求参数发生变更', 'api' => 'ListEcsSpecs'], + ], + 'createdAt' => '2022-05-13T03:11:19.000Z', + 'description' => 'api 更新', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'pai-dlc.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListDebuggerConfigs'], + ['description' => '响应参数发生变更', 'api' => 'ListDebuggerConfigTemplates'], + ['description' => '响应参数发生变更', 'api' => 'ListDebuggerJobs'], + ], + 'createdAt' => '2022-04-13T05:38:58.000Z', + 'description' => '变更debugger的listdebuggerconfigtemplate、listdebuggerconfig接口中返回值为array类型', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'pai-dlc.us-west-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'DeleteJobs'], + ['description' => 'OpenAPI 下线', 'api' => 'StopJobs'], + ], + 'createdAt' => '2022-03-22T07:11:16.000Z', + 'description' => '批量删除作业、批量停止作业', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'pai-dlc.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'ListDebuggerConfigs'], + ['description' => 'OpenAPI 下线', 'api' => 'ListDebuggerConfigTemplates'], + ['description' => 'OpenAPI 下线', 'api' => 'ListDebuggerJobs'], + ], + 'createdAt' => '2022-03-21T01:35:07.000Z', + 'description' => '上线原因为:debugger相关业务上线。POP接口新增接口:GetJobDebuggerConfigCreateDebuggerConfigCreateDebuggerJobIssueStopDebuggerJobsListDebuggerJobPodsGetDebuggerJobListDebuggerJobsGetDebuggerResultDeleteDebuggerConfigUpdateDebuggerConfigGetDebuggerConfigListDebuggerConfigsListDebuggerConfigTemplates新增结构体:DebuggerJobJobDebuggerConfigDebuggerJobIssueDebuggerResultDebuggerConfig修改接口:GetJob增加EnabledDebugger属性CreateJob增加非必填DebuggerConfigContent字段修改结构体:JobItem结构体增加EnabledDebugger属性', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'pai-dlc.cn-shanghai-finance-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetJobWorkflow'], + ], + 'createdAt' => '2022-02-15T03:27:09.000Z', + 'description' => '离线混部ev_predict任务支持,获取执行flow', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'pai-dlc.ap-southeast-7.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'JobDispatchQuery'], + ['description' => 'OpenAPI 下线', 'api' => 'JobDispatchSubmit'], + ], + 'createdAt' => '2022-01-11T07:47:31.000Z', + 'description' => '1. DLC Quota/Job支持 潮汐资源 配置', ], [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'pai-dlc.us-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetAuthorization'], + ], + 'createdAt' => '2021-04-25T07:57:37.000Z', + 'description' => 'API上线:RAM角色授权校验', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'pai-dlc.me-east-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetJobMetrics'], + ], + 'createdAt' => '2021-04-25T07:56:39.000Z', + 'description' => '已上线:作业资源监控API', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDataSource'], + ['description' => '响应参数发生变更', 'api' => 'GetDataSource'], + ], + 'createdAt' => '2021-04-14T07:07:20.000Z', + 'description' => '在 DataSource 中添加可选参数,支持 OSS 所需的 Path、Endpoint 等信息。', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobSanityCheckResult'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobMetrics'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJob'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodEvents'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTensorboards'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetWebTerminal'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodLogs'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTensorboard'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopTensorboard'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopJob'], + ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobEvents'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEcsSpecs'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboardSharedUrl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobSanityCheckResults'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartTensorboard'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboard'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetToken'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTensorboard'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTensorboard'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobs'], + ], + ], + 'ram' => [ + 'productCode' => 'PAI', + 'productName' => '人工智能平台 PAI', + 'ramCodes' => ['paiplugin', 'eas', 'pai', 'datasetacc', 'featurestore', 'paidlc', 'paiitag', 'paidesigner', 'paitraining', 'paiartlab', 'paicomponentmanagement'], + 'ramLevel' => '操作级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'UpdateJobTemplate', + 'description' => '更新任务模板', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteTensorboard', + 'description' => '删除Tensorboard', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJob', + 'description' => '获取任务详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobSanityCheckResult', + 'description' => '获取任务某次算力健康检测结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobSanityCheckResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListRayHistoryServers', + 'description' => '排列 RayHsitoryServer', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paidlc:ListRayHistoryServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobSanityCheckResults', + 'description' => '获取任务所有算力健康检测结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListJobSanityCheckResults', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopJob', + 'description' => '停止任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:StopJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteJob', + 'description' => '删除任务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetToken', + 'description' => '获取任务分享令牌', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetWebTerminal', + 'description' => '获取容器访问HTTP链接', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetWebTerminal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateJobTemplate', + 'description' => '创建任务模板', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetDashboard', + 'description' => '获取DLC任务的Dashboard', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateTensorboard', + 'description' => '创建Tensorboard', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateTensorboard', + 'description' => '更新Tensorboard', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobMetrics', + 'description' => '获取任务的监控数据', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPodLogs', + 'description' => '获取任务中某个节点的日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetPodLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartTensorboard', + 'description' => '启动Tensorboard', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:StartTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteJobTemplate', + 'description' => '删除任务模板', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidlc:DeleteJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobTemplate', + 'description' => '获取任务模板详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobTemplates', + 'description' => '列出任务模板', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paidlc:ListJobTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateJob', + 'description' => '创建任务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidlc:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetRayHistoryServer', + 'description' => '获取 RayHistoryServer', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetRayHistoryServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPodEvents', + 'description' => '获取任务中某个节点的系统事件', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetPodEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobs', + 'description' => '获取任务列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetMetrics', + 'description' => '获取任务指标', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paidlc:GetMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobEvents', + 'description' => '获取任务的系统事件', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJobEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateJob', + 'description' => '更新任务配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidlc:UpdateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListTensorboards', + 'description' => '查询Tensorboard列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:ListTensorboards', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetTensorboardSharedUrl', + 'description' => '获得Tensorboard任务的分享链接', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetTensorboardSharedUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetRayDashboard', + 'description' => '获取RayDashboard', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetTensorboard', + 'description' => '获取Tensorboard详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidlc:GetTensorboard', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'RayHistoryServer', 'arn' => 'acs:paiplugin:{#regionId}:{#accountId}:rayhistoryserver/*'], + ['validationType' => 'always', 'resourceType' => 'Job', 'arn' => 'acs:paidlc:{#regionId}:{#accountId}:job/{#JobId}'], ], ], ]; |
