'1.0', 'info' => ['style' => 'ROA', 'product' => 'pai-dlc', 'version' => '2020-12-03'], 'directories' => [ [ 'children' => ['CreateJob', 'UpdateJob', 'ListJobs', 'GetJob'], 'type' => 'directory', 'title' => 'Node', ], [ 'children' => ['CreateJobTemplate', 'GetJobTemplate', 'DeleteJobTemplate', 'UpdateJobTemplate', 'ListJobTemplates', 'SetJobTemplateDefaultVersion'], 'type' => 'directory', 'title' => 'Node template', ], [ 'children' => ['UpdateTensorboard', 'ListTensorboards', 'GetTensorboard'], 'type' => 'directory', 'title' => 'Tensorboard', ], [ 'children' => ['CreateRayHistoryServer', 'GetRayHistoryServer', 'ListRayHistoryServers', 'StartRayHistoryServer', 'StopRayHistoryServer', 'DeleteRayHistoryServer'], 'type' => 'directory', 'title' => 'RayHistoryServer', ], [ 'children' => ['GetDashboard', 'GetRayDashboard', 'GetMetrics', 'CreateTensorboard', 'DeleteJob', 'DeleteTensorboard', 'GetJobEvents', 'GetJobMetrics', 'GetJobSanityCheckResult', 'GetPodEvents', 'GetPodLogs', 'GetTensorboardSharedUrl', 'GetToken', 'GetWebTerminal', 'ListEcsSpecs', 'ListJobSanityCheckResults', 'StartTensorboard', 'StopJob', 'StopTensorboard'], 'type' => 'directory', 'title' => 'Others', ], ], 'components' => [ 'schemas' => [ 'AliyunAccounts' => [ 'title' => 'A short description of struct', 'description' => 'aliyunaccounts', 'type' => 'object', 'properties' => [ 'AliyunUid' => ['title' => 'Aliyun账号的UID', 'type' => 'string'], 'EmployeeId' => ['title' => '弹内用户的工号', 'type' => 'string'], 'GmtCreateTime' => ['title' => '这条记录的创建时间', 'type' => 'string'], 'GmtModifyTime' => ['title' => '这条记录的上次修改时间', 'type' => 'string'], ], ], 'AssignNodeSpec' => [ 'title' => '', 'description' => '指定调度节点详情', 'type' => 'object', 'properties' => [ 'EnableAssignNode' => ['title' => '', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'EnableAssignNode', 'description' => ''], 'NodeNames' => ['title' => '', 'type' => 'string', 'example' => 'lingjxxxxxxxx', 'backendName' => 'NodeNames', 'description' => ''], 'AntiAffinityNodeNames' => ['title' => '', 'type' => 'string', 'example' => 'lingjxxxxxxxx', 'backendName' => 'AntiAffinityNodeNames', 'description' => ''], 'HyperNodes' => [ 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/HyperNodeSpec', 'description' => '', 'title' => '', 'example' => ''], 'backendName' => 'HyperNodes', 'description' => '', 'title' => '', 'example' => '', ], 'AntiAffinityHyperNodes' => [ 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/HyperNodeSpec', 'description' => '', 'title' => '', 'example' => ''], 'backendName' => 'AntiAffinityHyperNodes', 'description' => '', 'title' => '', 'example' => '', ], ], 'example' => '', ], 'AssumeUserInfo' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'SecurityToken' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'AccessKeyId' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Type' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'description' => '', 'example' => '', ], 'AutoscalingMetricSpec' => [ 'type' => 'object', 'properties' => [ 'MetricName' => ['description' => 'The name of the metric for autoscaling. This can be a predefined or a custom metric.', 'type' => 'string', 'title' => '', 'example' => ''], 'TargetValue' => ['description' => 'The target value for the specified metric. The autoscaling service tries to maintain the metric at or near this value.', 'type' => 'integer', 'title' => '', 'example' => '', 'format' => 'int32'], 'StabilizationWindowSeconds' => ['description' => 'The cooldown period, in seconds, after a scaling activity. This prevents the service from initiating another scaling action before the effects of the previous one are observable, stabilizing resource fluctuations.', 'type' => 'integer', 'title' => '', 'example' => '', 'format' => 'int32'], 'Tolerance' => ['description' => 'The acceptable deviation from the `TargetValue`, specified as a percentage string. A scaling action is triggered only if the metric value moves outside the range defined by the `TargetValue` and this tolerance. This prevents scaling actions based on minor fluctuations.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => 'Defines the metric used in an autoscaling policy.', 'title' => '', 'example' => '', ], 'AutoScalingSpec' => [ 'type' => 'object', 'properties' => [ 'ScalingStrategy' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'MinReplicas' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''], 'MaxReplicas' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''], 'PodsToDelete' => [ 'title' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'example' => '', ], 'AutoscalingMetricSpec' => ['title' => '', '$ref' => '#/components/schemas/AutoscalingMetricSpec', 'description' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'CodeSourceItem' => [ 'title' => '', 'description' => 'The code source configurations returned when the ListCodeSources API operation is called.'."\n", 'type' => 'object', 'properties' => [ 'CodeRepo' => ['title' => '', 'description' => 'The URL of the code repository.'."\n", 'type' => 'string', 'example' => 'https://code.aliyun.com/pai-dlc/examples.git'], 'Description' => ['title' => '', 'description' => 'The description of the code source.'."\n", 'type' => 'string', 'example' => 'code source of dlc examples'], 'CodeRepoAccessToken' => ['title' => '', 'description' => 'The access token used to access the code repository.'."\n", 'type' => 'string', 'example' => 'xxxx'], 'GmtModifyTime' => ['title' => '', 'description' => 'The time when the code source was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], 'UserId' => ['title' => '', 'description' => 'The UID of the Alibaba Cloud user who creates the code source.'."\n", 'type' => 'string', 'example' => '115729017166****'], 'CodeCommit' => ['title' => '', 'description' => 'The commit ID. If you configure this parameter when you call the CreateJob API operation, the commit is overwritten.'."\n", 'type' => 'string', 'example' => '44da109b59f8596152987eaa8f3b2487bb72ea63'], 'DisplayName' => ['title' => '', 'description' => 'The name of the code source.'."\n", 'type' => 'string', 'example' => 'MyCodeSourceName1'], 'CodeSourceId' => ['title' => '', 'description' => 'The ID of the code source.'."\n", 'type' => 'string', 'example' => 'code-20210111103721-********'], 'CodeBranch' => ['title' => '', 'description' => 'The branch of the code repository. If you configure this parameter when you call the CreateJob API operation, the branch is overwritten.'."\n", 'type' => 'string', 'example' => 'master'], 'CodeRepoUserName' => ['title' => '', 'description' => 'The username used to access the private code repository.'."\n", 'type' => 'string', 'example' => 'user'], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the code source was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], ], 'example' => '', ], 'ContainerSpec' => [ 'title' => '', 'description' => 'The container parameters.'."\n", 'type' => 'object', 'properties' => [ 'Name' => ['title' => '', 'description' => 'The name of the container.'."\n", 'type' => 'string', 'example' => 'data-init'], 'Image' => ['title' => '', 'description' => 'The endpoint of the container image.'."\n", 'type' => 'string', 'example' => 'registry.cn-hangzhou.aliyuncs.com/pai-dlc/curl:v1.0.0'], 'Command' => [ 'title' => '', 'description' => 'The user command.'."\n", 'type' => 'array', 'items' => ['description' => 'The command line.'."\n", 'type' => 'string', 'example' => 'curl www.aliyun.com', 'title' => ''], 'example' => '', ], 'Args' => [ 'title' => '', 'description' => 'The command parameters.'."\n", 'type' => 'array', 'items' => ['description' => 'The parameter.'."\n", 'type' => 'string', 'example' => '-v', 'title' => ''], 'example' => '', ], 'WorkingDir' => ['title' => '', 'description' => 'The working directory in the container.'."\n", 'type' => 'string', 'example' => '/root'], 'Env' => [ 'title' => '', 'description' => 'The environment variables.'."\n", 'type' => 'array', 'items' => ['description' => 'The environment.'."\n", '$ref' => '#/components/schemas/EnvVar', 'title' => '', 'example' => ''], 'example' => '', ], 'Resources' => ['title' => '', 'description' => 'The container resources.'."\n", '$ref' => '#/components/schemas/ResourceRequirements', 'example' => ''], ], 'example' => '', ], 'CredentialConfig' => [ 'title' => '', 'description' => 'A short description of struct.', 'type' => 'object', 'properties' => [ 'EnableCredentialInject' => ['title' => '', 'description' => 'Specifies whether to enable credential injection.', 'type' => 'boolean', 'example' => ''], 'AliyunEnvRoleKey' => ['title' => '', 'description' => 'The role identity key injected into environment variables.', 'type' => 'string', 'example' => ''], 'CredentialConfigItems' => [ 'title' => '', 'description' => 'The list of credential configuration items.', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/CredentialConfigItem', 'description' => '', 'title' => '', 'example' => ''], 'example' => '', ], ], 'example' => '', ], 'CredentialConfigItem' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Key' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Type' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Roles' => [ 'title' => '', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/CredentialRole', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], 'CredentialRole' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'RoleArn' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'RoleType' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'AssumeRoleFor' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Policy' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'AssumeUserInfo' => ['$ref' => '#/components/schemas/AssumeUserInfo', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'example' => '', ], 'DataJuicerConfig' => [ 'description' => 'The configuration for a DataJuicer task.', 'type' => 'object', 'properties' => [ 'ExecutionMode' => [ 'title' => '', 'description' => 'The execution mode.'."\n" ."\n" .'- standalone: Single node.'."\n" ."\n" .'- distributed: Distributed.', 'type' => 'string', 'required' => false, 'example' => 'standalone', 'enum' => ['standalone', 'distributed'], ], 'CommandType' => [ 'title' => '', 'description' => 'The command type.'."\n" ."\n" .'- shell: A shell command.'."\n" ."\n" .'- config: The YAML configuration for DataJuicer.', 'type' => 'string', 'example' => 'config', 'enum' => ['shell', 'config'], ], 'EnableResourceEstimation' => ['title' => '', 'description' => 'Specifies whether to enable resource estimation.', 'type' => 'boolean', 'example' => ''], 'ResourceLimit' => ['description' => '', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/ResourceLimit'], ], 'title' => '', 'example' => '', ], 'DataSourceItem' => [ 'title' => '', 'description' => 'The information about the data source.'."\n", 'type' => 'object', 'properties' => [ 'DataSourceType' => ['title' => '', 'description' => 'The data source type. Only File Storage NAS (NAS) file systems are supported.'."\n", 'type' => 'string', 'example' => 'NAS'], 'DataSourceId' => ['title' => '', 'description' => 'The data source ID.'."\n", 'type' => 'string', 'example' => 'data-20210114104214-xxxxxxx'], 'DisplayName' => ['title' => '', 'description' => 'The data source name.'."\n", 'type' => 'string', 'example' => 'nas-data'], 'Description' => ['title' => '', 'description' => 'The data source description.'."\n", 'type' => 'string', 'example' => 'data source of dlc examples'], 'FileSystemId' => ['title' => '', 'description' => 'The ID of the NAS file system. For more information, see [Alibaba Cloud documentation](~~185212~~).', 'type' => 'string', 'example' => '1ca404****'], 'Path' => ['title' => '', 'description' => 'The path of the Alibaba Cloud Object Storage Service (OSS) file system.'."\n", 'type' => 'string', 'example' => 'oss://mybucket/path/to/dir'], 'Endpoint' => ['title' => '', 'description' => 'The endpoint of the Alibaba Cloud OSS file system.'."\n", 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com'], 'Options' => ['title' => '', 'description' => 'The configuration options of the Alibaba Cloud OSS file system.'."\n", 'type' => 'string', 'example' => '{"key": "value"}'], 'MountPath' => ['title' => '', 'description' => 'The local path of the container that is attached to the runtime of the task.'."\n", 'type' => 'string', 'example' => '/root/data/'], 'UserId' => ['title' => '', 'description' => 'The ID of the Alibaba Cloud account that creates the data source.', 'type' => 'string', 'example' => '123456789'], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the data source was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-12T14:35:00Z'], 'GmtModifyTime' => ['title' => '', 'description' => 'The time when the data source was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-12T14:36:00Z'], ], 'example' => '', ], 'DebuggerConfig' => [ 'title' => 'debugger参数配置项', 'description' => 'debug配置参数项', 'type' => 'object', 'properties' => [ 'DebuggerConfigId' => ['title' => '系统生成的debug config唯一ID', 'type' => 'string', 'example' => 'dc-vf9lowjt3pso'], 'DisplayName' => ['title' => '模板配置项名称', 'type' => 'string', 'example' => 'Pytorch Experiment Config'], 'Description' => ['title' => '配置项描述', 'type' => 'string', 'example' => '这是一个Pytorch的基础配置模板'], 'GmtCreateTime' => ['title' => '创建时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:35:00Z'], 'GmtModifyTime' => ['title' => '修改时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:36:00Z'], 'Content' => ['title' => '配置项细节,json结构', 'type' => 'string', 'example' => '{\\"description\\":\\"这是一个新的pytorchjob模板\\"}'], ], ], 'DownloadJobResult' => [ 'type' => 'object', 'properties' => [ 'DownloadJobId' => ['description' => 'The ID of the download job.', 'type' => 'string', 'title' => '', 'example' => ''], 'UserId' => ['description' => 'The ID of the user who created the job.', 'type' => 'string', 'title' => '', 'example' => ''], 'TenantId' => ['description' => 'The ID of the tenant that the job belongs to.', 'type' => 'string', 'title' => '', 'example' => ''], 'WorkspaceId' => ['description' => 'The ID of the workspace where the job was created.', 'type' => 'string', 'title' => '', 'example' => ''], 'Type' => ['description' => 'The type of the download job.', 'type' => 'string', 'title' => '', 'example' => ''], 'SourceJobId' => ['description' => 'The ID of the source job whose results are downloaded.', 'type' => 'string', 'title' => '', 'example' => ''], 'StartTime' => ['description' => 'The start time of the download job, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], 'EndTime' => ['description' => 'The completion time of the download job, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], 'LogCount' => ['description' => 'The number of log entries included in the download.', 'type' => 'integer', 'title' => '', 'example' => '', 'format' => 'int32'], 'Status' => ['description' => 'The status of the download job. Valid values: `Running`, `Succeeded`, and `Failed`.', 'type' => 'string', 'title' => '', 'example' => ''], 'DownloadUrl' => ['description' => 'A temporary, pre-signed URL for downloading the result file.', 'type' => 'string', 'title' => '', 'example' => ''], 'UrlExpireTime' => ['description' => 'The time when the download URL expires, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], 'GmtCreated' => ['description' => 'The creation time of the download job, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], 'GmtModified' => ['description' => 'The last modification time of the download job, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], 'DisplayName' => ['description' => 'The display name of the download job.', 'type' => 'string', 'title' => '', 'example' => ''], 'PodIds' => [ 'type' => 'array', 'items' => ['description' => 'A pod ID.', 'type' => 'string', 'title' => '', 'example' => ''], 'description' => 'The IDs of the pods for the source job.', 'title' => '', 'example' => '', ], 'PodUids' => [ 'type' => 'array', 'items' => ['description' => 'A pod UID.', 'type' => 'string', 'title' => '', 'example' => ''], 'description' => 'The UIDs of the pods for the source job.', 'title' => '', 'example' => '', ], 'FileType' => ['description' => 'The type of file to download, such as `logs` or `output`.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => 'Details of the download job.', 'title' => '', 'example' => '', ], 'EcsSpec' => [ 'title' => '', 'description' => 'The ECS specifications.'."\n", 'type' => 'object', 'properties' => [ 'InstanceType' => ['title' => '', 'description' => 'The instance type.'."\n", 'type' => 'string', 'example' => 'ecs.gn6e-c12g1.3xlarge'], 'AcceleratorType' => ['title' => '', 'description' => 'The accelerator type. Valid values:'."\n" ."\n" .'* CPU'."\n" .'* GPU'."\n", 'type' => 'string', 'example' => 'GPU'], 'Cpu' => ['title' => '', 'description' => 'The number of CPU cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '12'], 'Gpu' => ['title' => '', 'description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'GpuType' => ['title' => '', 'description' => 'The GPU type.'."\n", 'type' => 'string', 'example' => 'NVIDIA v100'], 'Memory' => ['title' => '', 'description' => 'The memory size. Unit: MiB or GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '92'], 'GpuMemory' => ['title' => '', 'description' => 'The GPU memory size.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], 'IsAvailable' => ['title' => '', 'description' => 'Indicates whether the instance type is available. Valid values:'."\n" ."\n" .'* true'."\n" .'* false'."\n", 'type' => 'boolean', 'example' => 'true'], 'ResourceType' => ['title' => '', 'description' => 'The resource type. Valid values:'."\n" ."\n" .'* ECS'."\n" .'* Lingjun'."\n", 'type' => 'string', 'example' => 'ECS'], 'DefaultGPUDriver' => ['title' => '', 'description' => 'The default GPU driver version.'."\n", 'type' => 'string', 'example' => '470.199.02'], 'SupportedGPUDrivers' => [ 'title' => '', 'description' => 'The GPU driver versions.'."\n", 'type' => 'array', 'items' => ['description' => 'The GPU driver version.'."\n", 'type' => 'string', 'example' => '470.199.02, 535.54.03', 'title' => ''], 'example' => '', ], 'SpotStockStatus' => ['title' => '', 'description' => 'The inventory status of preemptible instance.'."\n", 'type' => 'string', 'example' => 'WithStock'], 'NonProtectSpotDiscount' => ['title' => '', 'description' => 'The discount on the current price of the preemptible instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.1'], 'PaymentTypes' => [ 'title' => '', 'description' => 'The billing methods.'."\n", 'type' => 'array', 'items' => ['description' => 'The billing method. Valid values:'."\n" ."\n" .'* Spot'."\n" .'* PostPaid'."\n", 'type' => 'string', 'example' => 'Spot,PostPaid', 'title' => ''], 'example' => '', ], ], 'example' => '', ], 'ElasticSpotSpec' => [ 'type' => 'object', 'properties' => [ 'InstanceType' => ['title' => '', 'description' => 'The spot instance type.', 'type' => 'string', 'example' => ''], 'SpotPriceLimit' => ['title' => '', 'description' => 'The maximum hourly price you are willing to pay for a spot instance. If omitted, the on-demand price is the default.', 'type' => 'number', 'example' => '', 'format' => 'double'], 'SpotDiscountLimit' => ['title' => '', 'description' => 'The maximum discount percentage for the spot instance. The system does not select an instance if its discount exceeds this limit. For example, if you set this parameter to `90`, the system considers only instances with a discount of 90% or less.', 'type' => 'number', 'example' => '', 'format' => 'double'], 'SpotStrategy' => ['title' => '', 'description' => 'The strategy for allocating spot instances. Valid values:'."\n" ."\n" .'- `LowestPrice`: Launches instances from the spot capacity pool offering the lowest price. This is the default strategy.'."\n" ."\n" .'- `CapacityOptimized`: Launches instances from the spot capacity pool offering optimal capacity.', 'type' => 'string', 'example' => ''], ], 'description' => 'Configuration for creating spot instances.', 'title' => '', 'example' => '', ], 'EnvVar' => [ 'title' => '', 'description' => 'The environment variables.'."\n", 'type' => 'object', 'properties' => [ 'Name' => ['title' => '', 'description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'ENABLE_DEBUG'], 'Value' => ['title' => '', 'description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => 'true'], ], 'example' => '', ], 'EventInfo' => [ 'title' => 'A short description of struct', 'description' => 'DLC任务的事件信息', 'type' => 'object', 'properties' => [ 'PodId' => ['title' => '事件所属的Pod的Id', 'type' => 'string'], 'PodUid' => ['title' => '事件所属的Pod的Uid', 'type' => 'string'], 'Id' => ['title' => '事件的ID信息,用于获取相关上下文', 'type' => 'string'], 'Time' => ['title' => '事件的时间戳信息,该时间为UTC时间', 'type' => 'string'], 'Content' => ['title' => '事件的文本内容', 'type' => 'string'], ], ], 'ExtraPodSpec' => [ 'title' => '', 'description' => 'Additional pod configurations.', 'type' => 'object', 'properties' => [ 'SideCarContainers' => [ 'title' => '', 'description' => 'A list of sidecar containers.', 'type' => 'array', 'items' => ['description' => 'Configuration for a sidecar container.', '$ref' => '#/components/schemas/ContainerSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'InitContainers' => [ 'title' => '', 'description' => 'A list of init containers that run to completion before the main container starts.', 'type' => 'array', 'items' => ['description' => 'Configuration for an init container.', '$ref' => '#/components/schemas/ContainerSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'PodLabels' => [ 'title' => '', 'description' => 'Key-value pairs to apply to the pod as labels. Use labels to organize and select pods.', 'type' => 'object', 'deprecated' => true, 'additionalProperties' => ['description' => 'The value for the label.', 'type' => 'string', 'example' => 'example-lable', 'title' => ''], 'example' => '', ], 'PodAnnotations' => [ 'title' => '', 'description' => 'Key-value pairs to apply to the pod as annotations. Use annotations to attach arbitrary, non-identifying metadata.', 'type' => 'object', 'deprecated' => true, 'additionalProperties' => ['description' => 'The value for the annotation.', 'type' => 'string', 'example' => 'example-annotation', 'title' => ''], 'example' => '', ], 'SharedVolumeMountPaths' => [ 'title' => '', 'description' => 'A list of local directory paths to mount and share among all containers in the pod.', 'type' => 'array', 'items' => ['description' => 'A shared local directory path.', 'type' => 'string', 'example' => '/root/share/', 'title' => ''], 'example' => '', ], 'Lifecycle' => ['description' => 'Defines lifecycle hooks for the main container.', '$ref' => '#/components/schemas/Lifecycle', 'title' => '', 'example' => ''], 'MainContainerSecurityContext' => ['title' => '', 'description' => 'Defines the security context for the main container.', '$ref' => '#/components/schemas/SecurityContext', 'example' => ''], ], 'example' => '', ], 'FreeResourceItem' => [ 'title' => '空闲资源信息', 'type' => 'object', 'properties' => [ 'FreeResourceId' => ['title' => '空闲资源Id', 'type' => 'string', 'example' => 'freeres-whateversth'], 'RegionID' => ['title' => '域Id', 'type' => 'string', 'example' => 'inner'], 'ClusterID' => ['title' => '集群Id', 'type' => 'string'], 'ClusterName' => ['title' => '集群名', 'type' => 'string'], 'ResourceType' => ['title' => '资源类型', 'type' => 'string', 'example' => 'cpu'], 'AvailableNumber' => ['title' => '资源数量', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], 'GmtCreateTime' => ['title' => '创建时间', 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], 'GmtModifyTime' => ['title' => '修改时间', 'type' => 'string', 'example' => '2021-01-18T12:52:15Z'], ], ], 'GPUDetail' => [ 'title' => 'A short description of struct', 'description' => 'GPU详情', 'type' => 'object', 'properties' => [ 'GPU' => ['title' => 'GPU卡数', 'type' => 'string'], 'GPUType' => ['title' => 'GPU卡型', 'type' => 'string', 'example' => 'Tesla-V100-32G'], 'GPUTypeFullName' => ['title' => 'GPU卡型全名', 'type' => 'string', 'example' => 'nvidia.com/gpu-tesla-v100-sxm2-16gb'], ], ], 'HyperNodeSpec' => [ 'type' => 'object', 'properties' => [ 'HyperNodeName' => ['type' => 'string', 'backendName' => 'HyperNodeName', 'description' => '', 'title' => '', 'example' => ''], 'NodeNames' => ['type' => 'string', 'backendName' => 'NodeNames', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'ImageConfig' => [ 'title' => '', 'description' => 'Private image configuration', 'type' => 'object', 'properties' => [ 'DockerRegistry' => ['title' => '', 'description' => 'Image repository address', 'type' => 'string', 'example' => 'docker****registry.com'], 'Username' => ['title' => '', 'description' => 'Image repository username', 'type' => 'string', 'example' => ' username'], 'Password' => ['title' => '', 'description' => 'Image repository password', 'type' => 'string', 'example' => 'password'], 'Auth' => ['title' => '', 'description' => 'Image repository authentication information', 'type' => 'string', 'example' => ''], ], 'example' => '', ], 'ImageItem' => [ 'title' => '', 'description' => 'The details of the docker image.'."\n", 'type' => 'object', 'properties' => [ 'ImageTag' => ['title' => '', 'description' => 'The tag of the docker image.'."\n", 'type' => 'string', 'example' => 'tensorflow-training:2.3-cpu-py36-ubuntu18.04'], 'ImageUrl' => ['title' => '', 'description' => 'The image URL address.'."\n", 'type' => 'string', 'example' => 'registry.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:2.3-cpu-py36-ubuntu18.04'], 'ImageUrlVpc' => ['title' => '', 'description' => 'The VPC endpoint of the image URL. This address provides faster access speed.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:2.3-cpu-py36-ubuntu18.04'], 'ImageProviderType' => ['title' => '', 'description' => 'The image type. Valid values:'."\n" ."\n" .'* Community'."\n" .'* PAI'."\n", 'type' => 'string', 'example' => 'Community'], 'AcceleratorType' => ['title' => '', 'description' => 'The type of the image accelerator. Valid values:'."\n" ."\n" .'* cpu'."\n" .'* gpu'."\n", 'type' => 'string', 'example' => 'gpu'], 'Framework' => ['title' => '', 'description' => 'The computing framework that is encapsulated by the image. Valid values:'."\n" ."\n" .'* TFJob'."\n" .'* PyTorchJob'."\n", 'type' => 'string', 'example' => 'PyTorchJob'], 'AuthorId' => ['title' => '', 'description' => 'The creator of the image.'."\n", 'type' => 'string', 'example' => 'ken'], ], 'example' => '', ], 'JobElasticSpec' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'EnableElasticTraining' => ['title' => '', 'type' => 'boolean', 'example' => 'true', 'description' => ''], 'MinParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'description' => ''], 'MaxParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'description' => ''], 'AIMasterType' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'AIMasterDockerImage' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'EnablePsJobElasticWorker' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''], 'EnableAIMaster' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''], 'EnablePsResourceEstimate' => ['title' => '', 'type' => 'boolean', 'example' => 'true', 'description' => ''], 'EnablePsJobElasticPS' => ['title' => '', 'type' => 'boolean', 'example' => 'true', 'description' => ''], 'PSMinParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'description' => ''], 'PSMaxParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'description' => ''], 'ElasticStrategy' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'EnableEDP' => ['title' => '', 'type' => 'boolean', 'example' => 'true', 'description' => ''], 'EDPMaxParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'description' => ''], 'EDPMinParallelism' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'description' => ''], ], 'description' => '', 'example' => '', ], 'JobItem' => [ 'title' => '', 'description' => 'The job details.', 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.', 'type' => 'string', 'example' => 'dlc-20210126170216-********'], 'CredentialConfig' => ['description' => 'The access credential configuration associated with the job.', '$ref' => '#/components/schemas/CredentialConfig', 'title' => '', 'example' => ''], 'JobType' => ['title' => '', 'description' => 'The job type. Valid values:'."\n" .'- TFJob'."\n" .'- PyTorchJob'."\n" .'- MPIJob'."\n" .'- XGBoostJob'."\n" .'- OneFlowJob'."\n" .'- ElasticBatchJob'."\n" .'- RayJob'."\n" .'- SlurmJob', 'type' => 'string', 'example' => 'TFJob'], 'DisplayName' => ['title' => '', 'description' => 'The job name.', 'type' => 'string', 'example' => 'tf-mnist-test'], 'UserVpc' => [ 'title' => '', 'description' => 'The user VPC.', 'type' => 'object', 'properties' => [ 'VpcId' => ['title' => '', 'description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-2zed***'], 'SwitchId' => ['title' => '', 'description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze6***'], 'SecurityGroupId' => ['title' => '', 'description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-2zeef***'], 'ExtendedCidrs' => [ 'title' => '', 'description' => 'The extended CIDR blocks to connect.', 'type' => 'array', 'items' => ['description' => 'The CIDR block of the network segment, such as 10.2.0.0/16.', 'type' => 'string', 'example' => '10.2.0.0/16', 'title' => ''], 'example' => '', ], 'DefaultRoute' => ['title' => '', 'description' => 'The default routing. Valid values:'."\n" .'- eth0: uses the default network interface controller (NIC) to access external networks through the public gateway.'."\n" .'- eth1: uses the user elastic network interfaces (ENIs) to access external networks through the private gateway.', 'type' => 'string', 'example' => 'eth0'], ], 'example' => 'vpc-1', ], 'UserId' => ['title' => '', 'description' => 'The UID of the user who owns the job.', 'type' => 'string', 'example' => '123456789'], 'Username' => ['title' => '', 'description' => 'The username of the user who submitted the job.', 'type' => 'string', 'example' => 'pai-dlc-role'], 'Status' => ['title' => '', 'description' => 'The job status. Valid values:'."\n" .'- Succeeded'."\n" .'- Failed', 'type' => 'string', 'example' => 'Stopped'], 'WorkspaceId' => ['title' => '', 'description' => 'The ID of the workspace to which the job belongs.', 'type' => 'string', 'example' => '268'], 'WorkspaceName' => ['title' => '', 'description' => 'The name of the workspace to which the job belongs.', 'type' => 'string', 'example' => 'dlc-workspace'], 'ResourceId' => ['title' => '', 'description' => 'The ID of the resource group in which the job runs.', 'type' => 'string', 'example' => 'dlc-quota'], 'ResourceLevel' => ['title' => '', 'description' => 'The resource level of the job at runtime.', 'type' => 'string', 'example' => 'L0'], 'ReasonCode' => ['title' => '', 'description' => 'The reason code for the current job status. Valid values:'."\n" .'- InvalidParameter'."\n" .'- JobSucceeded'."\n" .'- JobStoppedByUser', 'type' => 'string', 'example' => 'JobStoppedByUser'], 'ReasonMessage' => ['title' => '', 'description' => 'The detailed description of the reason for the current job status.', 'type' => 'string', 'example' => 'Job is stopped by user.'], 'JobSpecs' => [ 'title' => '', 'description' => 'The node configurations of the job at runtime.', 'type' => 'array', 'items' => ['description' => 'The node configuration.', '$ref' => '#/components/schemas/JobSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'UserCommand' => ['title' => '', 'description' => 'The startup command that runs on each node of the job.', 'type' => 'string', 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '', 'description' => 'The list of all datasource configs used by this job.', 'type' => 'array', 'items' => [ 'description' => 'The data source list.', 'type' => 'object', 'properties' => [ 'DataSourceId' => ['title' => '', 'description' => 'The datasource config ID.', 'type' => 'string', 'example' => 'data-20210114104214-********'], 'MountPath' => ['title' => '', 'description' => 'The local mount path of the data source.', 'type' => 'string', 'example' => '/mnt/data'], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'CodeSource' => [ 'title' => '', 'description' => 'The code source configuration used by this job.', 'type' => 'object', 'properties' => [ 'CodeSourceId' => ['title' => '', 'description' => 'The code source configuration ID.', 'type' => 'string', 'example' => 'code-20210111103721-********'], 'Branch' => ['title' => '', 'description' => 'The code repository branch.', 'type' => 'string', 'example' => 'master'], 'Commit' => ['title' => '', 'description' => 'The commit ID of the code repository used for this job.', 'type' => 'string', 'example' => '44da109b59f8596152987eaa8f3b2487bb******'], 'MountPath' => ['title' => '', 'description' => 'The local mount path of the code.', 'type' => 'string', 'example' => '/mnt/data'], ], 'example' => '', ], 'ThirdpartyLibs' => [ 'title' => '', 'description' => 'The list of third-party Python libraries installed before the job runs.', 'type' => 'array', 'items' => ['description' => 'A Python third-party library.', 'type' => 'string', 'example' => 'numpy==1.16.1', 'title' => ''], 'example' => '', ], 'NodeNames' => [ 'title' => '', 'description' => 'The node names.', 'type' => 'array', 'items' => ['description' => 'The node name.', 'type' => 'string', 'example' => 'i-a', 'title' => ''], 'example' => '', ], 'ThirdpartyLibDir' => ['title' => '', 'description' => 'The directory where the third-party library file Requirements.txt is located.', 'type' => 'string', 'example' => '/root/code/'], 'Envs' => [ 'title' => '', 'description' => 'The environment variables injected at job runtime.', 'type' => 'object', 'additionalProperties' => ['description' => 'The key and value of the environment variable.', 'type' => 'string', 'example' => 'ENABLE_DEBUG_MODE', 'title' => ''], 'example' => '', ], 'SystemEnvs' => [ 'title' => '', 'description' => 'The system environment variable configurations.', 'type' => 'object', 'additionalProperties' => ['description' => 'The system environment variable configurations.', 'type' => 'string', 'example' => 'ENABLE_DEBUG_MODE', 'title' => ''], 'example' => '', ], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the job was created, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:25:34Z'], 'GmtSubmittedTime' => ['title' => '', 'description' => 'The time when the job was submitted, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:26:14Z'], 'GmtRunningTime' => ['title' => '', 'description' => 'The time when the job started running, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:26:41Z'], 'GmtSuccessedTime' => ['title' => '', 'description' => 'The time when the job completed successfully, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:28:20Z'], 'GmtStoppedTime' => ['title' => '', 'description' => 'The time when the job was stopped, in UTC format.', 'type' => 'string', 'example' => 'null'], 'GmtFailedTime' => ['title' => '', 'description' => 'The time when the job failed, in UTC format.', 'type' => 'string', 'example' => 'null'], 'GmtFinishTime' => ['title' => '', 'description' => 'The time when the job finished, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:28:20Z'], 'GmtModifiedTime' => ['title' => '', 'description' => 'The time when the job was last modified, in UTC format.', 'type' => 'string', 'example' => '2025-04-16T07:28:22Z'], 'Duration' => ['title' => '', 'description' => 'The job running duration, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '243'], 'JobMaxRunningTimeMinutes' => ['title' => '', 'description' => 'The maximum running duration of the job.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], 'Settings' => ['title' => '', 'description' => 'The additional parameters of the job.', '$ref' => '#/components/schemas/JobSettings', 'example' => ''], 'EnabledDebugger' => ['title' => '', 'description' => 'Indicates whether Debugger analysis is enabled.', 'type' => 'boolean', 'example' => 'false'], 'IsDeleted' => ['title' => '', 'description' => 'Indicates whether the job is deleted.', 'type' => 'boolean', 'example' => 'false'], 'EnablePreemptibleJob' => ['title' => '', 'description' => 'Indicates whether PreemptibleJob is enabled.', 'type' => 'boolean', 'example' => 'false'], 'ResourceName' => ['title' => '', 'description' => 'The name of the resource on which the job runs.', 'type' => 'string', 'example' => 'my_resource_group'], 'WorkingDir' => ['title' => '', 'description' => 'The working directory.', 'type' => 'string', 'example' => '/mnt/data'], 'UserScript' => ['title' => '', 'description' => 'The user script.', 'type' => 'string', 'example' => 'ls '], 'RestartTimes' => ['title' => '', 'description' => 'The number of times the job has been restarted.', 'type' => 'string', 'example' => '1'], 'RequestCPU' => ['title' => '', 'description' => 'The requested CPU resources.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'RequestMemory' => ['title' => '', 'description' => 'The requested memory resources.', 'type' => 'string', 'example' => '1Gi'], 'ResourceQuotaName' => ['title' => '', 'description' => 'The resource quota name.', 'type' => 'string', 'example' => 'test'], 'RequestGPU' => ['title' => '', 'description' => 'The requested GPU resources.', 'type' => 'string', 'example' => '1'], 'NodeCount' => ['title' => '', 'description' => 'The number of nodes.', 'type' => 'string', 'example' => '1'], 'Priority' => ['title' => '', 'description' => 'The job priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'SubStatus' => ['title' => '', 'description' => 'The job substatus, such as the preemption retry status.', 'type' => 'string', 'example' => 'Restarting'], 'UseOversoldResource' => ['title' => '', 'description' => 'Indicates whether the job uses idle resources.', 'type' => 'boolean', 'example' => 'false'], 'ResourceType' => ['title' => '', 'description' => 'The resource type. Valid values: ECS, Lingjun, and ACS.', 'type' => 'string', 'example' => 'ECS'], 'Accessibility' => ['title' => '', 'description' => 'The visibility.', 'type' => 'string', 'example' => 'PUBLIC'], 'ClusterId' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => '****1316721349****'], 'TenantId' => ['title' => '', 'description' => 'The tenant ID.', 'type' => 'string', 'example' => '****93955616****'], 'StatusHistory' => [ 'title' => '', 'description' => 'The job status transition history.', 'type' => 'array', 'items' => ['description' => 'The job status transition entry.', '$ref' => '#/components/schemas/StatusTransitionItem', 'title' => '', 'example' => ''], 'example' => '', ], 'ElasticSpec' => ['description' => 'The elastic job parameters.', '$ref' => '#/components/schemas/JobElasticSpec', 'title' => '', 'example' => ''], 'Pods' => [ 'title' => '', 'description' => 'The pods.', 'type' => 'array', 'items' => ['description' => 'The detailed information about the pod.', '$ref' => '#/components/schemas/PodItem', 'title' => '', 'example' => ''], 'example' => '', ], 'TemplateId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'TemplateName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'JobReplicaStatuses' => [ 'type' => 'array', 'items' => ['description' => '', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/JobReplicaStatus'], 'description' => '', 'title' => '', 'example' => '', ], 'SchedulingStrategy' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RetryCount' => ['type' => 'integer', 'description' => '', 'title' => '', 'example' => '', 'format' => 'int32'], ], 'example' => '', ], 'JobReplicaStatus' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the job replica.', 'type' => 'string', 'title' => '', 'example' => ''], 'Active' => ['description' => 'The number of active pods for this replica type.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], 'EstimatedPodCount' => ['description' => 'The estimated number of pods for this replica type, used for auto scaling.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], 'EstimatedAutoScalingSpec' => ['description' => 'The estimated auto scaling specification.', '$ref' => '#/components/schemas/AutoScalingSpec', 'title' => '', 'example' => ''], 'EstimatedResourceConfig' => ['description' => 'The estimated resource configuration.', '$ref' => '#/components/schemas/ResourceConfig', 'title' => '', 'example' => ''], 'Queuing' => ['description' => 'The number of queued pods.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], 'Dequeued' => ['description' => 'The number of dequeued pods.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], 'CurrentSpotInstanceType' => ['description' => 'The type of spot instance in use, if any.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => 'The status of a job replica.', 'title' => '', 'example' => '', ], 'JobSettings' => [ 'title' => '', 'description' => 'The additional parameter settings.', 'type' => 'object', 'properties' => [ 'BusinessUserId' => ['title' => '', 'description' => 'The user ID associated with the job.', 'type' => 'string', 'example' => '16****'], 'Caller' => ['title' => '', 'description' => 'The caller.', 'type' => 'string', 'example' => 'SilkFlow'], 'Tags' => [ 'title' => '', 'description' => 'The custom tags.', 'type' => 'object', 'additionalProperties' => ['description' => '标签。', 'type' => 'string', 'example' => 'key:value', 'title' => ''], 'example' => '', ], 'PipelineId' => ['title' => '', 'description' => 'The workflow ID.', 'type' => 'string', 'example' => 'pid-12****'], 'EnableTideResource' => ['title' => '', 'description' => 'Specifies whether the job is allowed to use tidal resources. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'true'], 'EnableErrorMonitoringInAIMaster' => ['title' => '', 'description' => 'Specifies whether to enable fault tolerance monitoring for the job. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'false'], 'ErrorMonitoringArgs' => ['title' => '', 'description' => 'The configuration parameters for fault tolerance monitoring after it is enabled. For example, you can specify whether to enable log hang-based detection.', 'type' => 'string', 'example' => '--enable-log-hang-detection true'], 'EnableRDMA' => ['title' => '', 'description' => 'Specifies whether the job is allowed to use RDMA. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'true'], 'EnableOssAppend' => ['title' => '', 'description' => 'Specifies whether OSS append writes are allowed. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'true'], 'OversoldType' => ['title' => '', 'description' => 'The oversold resource usage mode for the job (not accepted, acceptable, or only accepted).', 'type' => 'string', 'example' => 'AcceptQuotaOverSold'], 'AdvancedSettings' => ['title' => '', 'description' => 'The additional advanced parameter settings.', 'type' => 'object', 'example' => ''], 'Driver' => ['title' => '', 'description' => 'The NVIDIA driver configuration.', 'type' => 'string', 'example' => '535.54.03'], 'EnableSanityCheck' => ['title' => '', 'description' => 'Specifies whether to enable computing power health check for the job. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'true'], 'SanityCheckArgs' => ['title' => '', 'description' => 'The configuration parameters for computing power health check.', 'type' => 'string', 'example' => '--sanity-check-timing=AfterJobFaultTolerant --sanity-check-timeout-ops=MarkJobFail'], 'JobReservedMinutes' => ['title' => '', 'description' => 'The duration (in minutes) for which the job is retained after it ends.', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], 'JobReservedPolicy' => [ 'title' => '', 'description' => 'The retention policy after the job ends.', 'type' => 'string', 'example' => 'Always', 'enum' => ['Always', 'OnFailure', 'OnSucceed'], ], 'EnableCPUAffinity' => ['title' => '', 'description' => 'The CPU affinity setting. This setting takes effect only when general-purpose prepaid computing resources are used.', 'type' => 'boolean', 'example' => 'true'], 'DisableEcsStockCheck' => ['title' => '', 'description' => 'Specifies whether to skip inventory check. Valid values:'."\n" .'- true'."\n" .'- false.', 'type' => 'boolean', 'example' => 'false'], 'AllocateAllRDMADevices' => ['title' => '', 'description' => 'Specifies whether to mount all RDMA network interfaces.', 'type' => 'boolean', 'example' => ''], 'EnableDSWDev' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'DataJuicerConfig' => ['description' => 'The DataJuicer task configuration.', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/DataJuicerConfig'], 'ModelConfig' => ['title' => '', 'description' => 'The output model configuration. This parameter currently takes effect only in federated training scenarios.', 'example' => '', '$ref' => '#/components/schemas/ModelConfig'], 'AllowUnschedulableNodes' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Shell' => [ 'type' => 'string', 'description' => '', 'title' => '', 'example' => '/bin/bash', 'enum' => ['/bin/sh', '/bin/bash'], ], ], 'example' => '', ], 'JobSpec' => [ 'title' => '', 'description' => 'Describes the detailed configuration for a type of worker. This includes the device specification, runtime image, and number of replicas.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The role type. It is determined by the job type, as different job types support different roles.'."\n" ."\n" .'- **TFJob**: Supports Chief, PS, Worker, Evaluator, and GraphLearn.'."\n" ."\n" .'- **PyTorchJob**: Supports Master and Worker.'."\n" ."\n" .'- **XGBoostJob**: Supports Master and Worker.'."\n" ."\n" .'- **OneFlowJob**: Supports Master and Worker.'."\n" ."\n" .'- **ElasticBatch**: Supports Master and Worker.'."\n" ."\n" .'- **RayJob**: Supports Head, Worker, and Worker\\[-xxx].'."\n" ."\n" .'For PyTorchJob, XGBoostJob, OneFlowJob, and ElasticBatch, the Master role is optional. If you do not specify a Master, the system designates the first Worker pod as the Master.', 'type' => 'string', 'title' => '', 'example' => 'Worker'], 'Image' => ['description' => 'The Registry Address of the runtime image for this worker type. Call [ListImages](~~449118~~) to get the runtime images that PAI provides. You can also specify a public third-party runtime image.', 'type' => 'string', 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/cloud-dsw/tensorflow:1.12PAI-gpu-py36-cu101-ubuntu18.04'], 'ImageConfig' => ['description' => 'The configuration for a private runtime image.', 'title' => '', '$ref' => '#/components/schemas/ImageConfig', 'example' => ''], 'PodCount' => ['description' => 'The number of replicas.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '1'], 'ExtraPodSpec' => ['description' => 'The extra pod configuration.', 'title' => '', '$ref' => '#/components/schemas/ExtraPodSpec', 'example' => ''], 'ResourceConfig' => ['description' => 'The resource configuration.', 'title' => '', '$ref' => '#/components/schemas/ResourceConfig', 'example' => ''], 'UseSpotInstance' => ['description' => 'Specifies whether to use spot instances.', 'type' => 'boolean', 'title' => '', 'deprecated' => true, 'example' => 'false'], 'SpotSpec' => ['description' => 'The spot instance configuration.', 'title' => '', '$ref' => '#/components/schemas/SpotSpec', 'example' => ''], 'AssignNodeSpec' => ['description' => 'The configuration for the specified scheduling node.', 'title' => '', '$ref' => '#/components/schemas/AssignNodeSpec', 'example' => ''], 'LocalMountSpecs' => [ 'title' => '', 'description' => 'A list of local mount configurations.', 'type' => 'array', 'items' => ['description' => 'The local mount configuration.', 'title' => '', '$ref' => '#/components/schemas/LocalMountSpec', 'example' => ''], 'example' => '', ], 'AutoScalingSpec' => ['description' => 'The auto scaling configuration.', 'title' => '', '$ref' => '#/components/schemas/AutoScalingSpec', 'example' => ''], 'ServiceSpec' => ['description' => 'The service configuration.', '$ref' => '#/components/schemas/ServiceSpec', 'title' => '', 'example' => ''], 'IsCheif' => ['description' => 'This parameter is misspelled and deprecated.', 'type' => 'boolean', 'title' => '', 'deprecated' => true, 'example' => ''], 'IsChief' => ['description' => 'Marks whether this role is the Chief role. There can be only one Chief role.', 'type' => 'boolean', 'title' => '', 'example' => ''], 'RestartPolicy' => ['description' => 'The restart policy. Valid values are Always, Never, OnFailure, and ExitCode.', 'type' => 'string', 'title' => '', 'example' => 'ExitCode'], 'SystemDisk' => ['description' => '', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/SystemDisk'], 'EcsSpec' => ['description' => 'The device specification of the worker. For a detailed list of specifications, see [PAI-DLC billing](~~171758~~).>Prices vary based on the specification.>', 'type' => 'string', 'title' => '', 'example' => 'ecs.c6.large'], 'QuotaId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ConsiderInSuccessPolicy' => ['description' => 'Indicates whether this role\'s completion is required for the job to succeed. This setting applies only when the job\'s success policy is `Partial`.', 'type' => 'boolean', 'title' => '', 'example' => ''], 'StartupDependencies' => [ 'title' => '', 'description' => 'The dependencies required before this role can start.', 'type' => 'array', 'items' => ['description' => '', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/StartupDependency'], 'example' => '', ], 'ElasticSpotSpecs' => [ 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/ElasticSpotSpec', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], ], 'example' => '', ], 'JobTemplateVersionDetail' => [ 'type' => 'object', 'properties' => [ 'Version' => ['title' => '版本号', 'description' => 'Template version number', 'type' => 'integer', 'example' => '', 'format' => 'int32'], 'Content' => ['title' => '模板内容', 'description' => 'Configuration content of the job template. It supports all parameter fields of the CreateJob API and is stored as a JSON object.', 'type' => 'string', 'example' => ''], 'CreatedBy' => ['title' => '版本创建者', 'description' => 'User ID that created this version', 'type' => 'string', 'example' => ''], 'GmtCreated' => ['title' => '版本创建时间', 'description' => 'Creation time of this version', 'type' => 'string', 'example' => '', 'format' => 'iso8601_normal'], 'Constraints' => [ 'type' => 'object', 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Lifecycle' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'PreStop' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Exec' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Command' => [ 'title' => '', 'type' => 'array', 'items' => ['type' => 'string', 'title' => '', 'description' => '', 'example' => ''], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], 'PostStart' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Exec' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Command' => [ 'title' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], 'LocalMountSpec' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'MountMode' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'LocalPath' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'MountPath' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'description' => '', 'example' => '', ], 'LogInfo' => [ 'title' => 'A short description of struct', 'type' => 'object', 'properties' => [ 'PodUid' => ['title' => '日志所属的Pod的Uid', 'type' => 'string'], 'Content' => ['title' => '日志的文本内容', 'type' => 'string'], 'Time' => ['title' => '日志的时间戳信息,该时间为UTC时间', 'type' => 'string'], 'IsTruncated' => ['title' => '标志日志是否被截断的属性。若为true,则代表该日志被截断。若为false,则代表日志未被截断。', 'type' => 'boolean'], 'PodId' => ['title' => '日志所属的Pod的Id', 'type' => 'string'], 'Id' => ['title' => '日志的ID信息,用于获取相关上下文', 'type' => 'string'], 'Source' => ['title' => '日志的来源', 'type' => 'string', 'example' => 'stderr, stdout'], ], ], 'Member' => [ 'title' => 'A short description of struct', 'description' => '工作空间成员', 'type' => 'object', 'properties' => [ 'MemberId' => ['title' => '成员id', 'type' => 'string', 'example' => 'ken_12345'], 'MemberType' => ['title' => '成员角色', 'type' => 'string', 'example' => 'WorkspaceAdmin'], ], ], 'Metric' => [ 'title' => '', 'description' => 'The metric.'."\n", 'type' => 'object', 'properties' => [ 'Time' => ['title' => '', 'description' => 'The timestamp. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1616987726587'], 'Value' => ['title' => '', 'description' => 'The value of the monitoring data.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '23.45'], ], 'example' => '', ], 'ModelConfig' => [ 'type' => 'object', 'properties' => [ 'ModelName' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'ModelTemplate' => ['title' => '', 'description' => '', 'example' => '', '$ref' => '#/components/schemas/ModelTemplate'], ], 'description' => '', 'title' => '', 'example' => '', ], 'ModelTemplate' => [ 'type' => 'object', 'properties' => [ 'ModelName' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Provider' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Collections' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'PodItem' => [ 'title' => 'A short description of struct', 'description' => 'Pod的详细信息', 'type' => 'object', 'properties' => [ 'Type' => ['title' => 'Pod类型', 'type' => 'string', 'example' => 'Worker'], 'PodId' => ['title' => 'Pod Id', 'type' => 'string', 'example' => 'dlc-20210126170216-mtl37ge7gkvdz-worker-0'], 'PodUid' => ['title' => 'Pod Uid', 'type' => 'string', 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d'], 'Status' => ['title' => 'Pod状态', 'type' => 'string', 'example' => 'Stopped'], 'Ip' => ['title' => 'Pod Ip', 'type' => 'string', 'example' => '10.0.1.2'], 'GmtCreateTime' => ['title' => 'Pod创建时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtStartTime' => ['title' => 'Pod启动时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T14:36:05Z'], 'GmtFinishTime' => ['title' => 'Pod结束时间(UTC)', 'type' => 'string', 'example' => '2021-01-12T15:36:05Z'], 'HistoryPods' => [ 'title' => '历史Pods', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/PodItem'], ], 'SubStatus' => ['type' => 'string'], 'NodeName' => ['type' => 'string'], 'PodIp' => ['type' => 'string'], 'PodIps' => [ 'title' => '灵骏智算:用户VPC net0;管控VPC net;Pod间通信ethx'."\n" .'通用计算:用户VPC eth1 专有网关默认路由;管控VPC eth0 公有网关默认路由;Pod间通信 net eRDMA', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/PodNetworkInterface'], ], ], ], 'PodMetric' => [ 'title' => '', 'description' => 'The metrics of the job.'."\n", 'type' => 'object', 'properties' => [ 'PodId' => ['title' => '', 'description' => 'The node ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210329110128-******-worker-0'], 'Metrics' => [ 'title' => '', 'description' => 'The metrics list.'."\n", 'type' => 'array', 'items' => ['description' => 'The metric.'."\n", '$ref' => '#/components/schemas/Metric', 'title' => '', 'example' => ''], 'example' => '', ], ], 'example' => '', ], 'PodNetworkInterface' => [ 'type' => 'object', 'properties' => [ 'InterfaceName' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'Ip' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'Quota' => [ 'title' => '资源配额', 'description' => '资源配额详情', 'type' => 'object', 'properties' => [ 'QuotaId' => ['title' => '资源配额id', 'type' => 'string', 'example' => 'quotamtl37ge7gkvdz'], 'QuotaName' => ['title' => '资源配额名称', 'type' => 'string', 'example' => 'dlc-quota'], 'QuotaType' => ['title' => '资源配额类型', 'type' => 'string', 'example' => 'asiquota'], 'UsedQuota' => ['title' => '资源用量', '$ref' => '#/components/schemas/QuotaDetail'], 'TotalQuota' => ['title' => '资源总量', '$ref' => '#/components/schemas/QuotaDetail'], 'ClusterId' => ['title' => '集群id', 'type' => 'string'], 'ClusterName' => ['title' => '集群名称', 'type' => 'string'], 'TotalTideQuota' => ['title' => '潮汐资源总量', '$ref' => '#/components/schemas/QuotaDetail'], 'UsedTideQuota' => ['title' => '潮汐资源用量', '$ref' => '#/components/schemas/QuotaDetail'], 'QuotaConfig' => ['title' => '资源配额设置', '$ref' => '#/components/schemas/QuotaConfig'], ], ], 'QuotaConfig' => [ 'title' => '资源配额度设置', 'description' => '资源组配置', 'type' => 'object', 'properties' => [ 'EnableTideResource' => ['title' => '是否使用潮汐资源', 'type' => 'boolean'], 'ResourceLevel' => ['title' => '资源级别(L0, L1)', 'type' => 'string'], 'AllowedMaxPriority' => ['title' => '允许的最大优先级', 'type' => 'integer', 'format' => 'int32'], 'EnableDLC' => ['title' => '是否开启DLC', 'type' => 'boolean'], 'EnableDSW' => ['title' => '是否开启DSW', 'type' => 'boolean'], ], ], 'QuotaDetail' => [ 'title' => 'A short description of struct', 'description' => '资源配额详情', 'type' => 'object', 'properties' => [ 'CPU' => ['title' => 'CPU核数', 'type' => 'string', 'example' => '2'], 'Memory' => ['title' => '内存容量', 'type' => 'string', 'example' => '10Gi'], 'GPU' => ['title' => 'GPU卡数', 'type' => 'string', 'example' => '5'], 'GPUType' => ['title' => 'GPU卡型', 'type' => 'string', 'example' => 'Tesla-V100'], 'GPUTypeFullName' => ['title' => 'GPU卡型全名', 'type' => 'string', 'example' => 'nvidia.com/gpu'], 'GPUDetails' => [ 'title' => 'GPU详情', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/GPUDetail'], ], ], ], 'ResourceConfig' => [ 'title' => '', 'description' => 'The resource configurations.'."\n", 'type' => 'object', 'properties' => [ 'CPU' => ['title' => '', 'description' => 'The number of vCPUs.'."\n", 'type' => 'string', 'example' => '10'], 'GPU' => ['title' => '', 'description' => 'The number of GPUs.'."\n", 'type' => 'string', 'example' => '3'], 'Memory' => ['title' => '', 'description' => 'The memory size.'."\n", 'type' => 'string', 'example' => '10Gi'], 'SharedMemory' => ['title' => '', 'description' => 'The shared memory capacity.'."\n", 'type' => 'string', 'example' => '5Gi'], 'GPUType' => ['title' => '', 'description' => 'The GPU type.'."\n", 'type' => 'string', 'example' => 'Tesla-V100-16G'], ], 'example' => '', ], 'ResourceLimit' => [ 'description' => 'Limitations of Resource Estimation.', 'type' => 'object', 'properties' => [ 'CPU' => ['title' => '', 'description' => 'The number of GPU cores.'."\n", 'type' => 'string', 'example' => '2'], 'Memory' => ['title' => '', 'description' => 'The memory capacity limit, in Gi.'."\n", 'type' => 'string', 'example' => '10Gi'], 'GPU' => ['title' => '', 'description' => 'The number of GPU cores.'."\n", 'type' => 'string', 'example' => '20'], ], 'title' => '', 'example' => '', ], 'ResourceRequirements' => [ 'title' => '', 'description' => 'Container resources', 'type' => 'object', 'properties' => [ 'Limits' => [ 'title' => '', 'description' => 'Resource limits', 'type' => 'object', 'additionalProperties' => ['type' => 'string', 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', 'description' => '', 'title' => ''], 'example' => '', ], 'Requests' => [ 'title' => '', 'description' => 'Resource requests', 'type' => 'object', 'additionalProperties' => ['type' => 'string', 'example' => '{\'cpu\': \'1\', \'memory\': \'1000Mi\'}', 'description' => '', 'title' => ''], 'example' => '', ], ], 'example' => '', ], 'Resources' => [ 'title' => 'A short description of struct', 'description' => '资源量', 'type' => 'object', 'properties' => [ 'CPU' => ['title' => 'CPU核心数', 'type' => 'string', 'example' => '10'], 'GPU' => ['title' => 'GPU卡数', 'type' => 'string', 'example' => '8'], 'Memory' => ['title' => '内存大小', 'type' => 'string', 'example' => '1024(单位GB)'], ], ], 'SanityCheckResultItem' => [ 'title' => '', 'description' => 'The SanityCheck result.', 'type' => 'object', 'properties' => [ 'Phase' => ['title' => '', 'description' => 'The phase of the check.', 'type' => 'string', 'example' => 'CheckInit'], 'Message' => ['title' => '', 'description' => 'The details of the check result.', 'type' => 'string', 'example' => ''], 'Status' => ['title' => '', 'description' => 'The status of the check.', 'type' => 'string', 'example' => 'Succeeded'], 'StartedAt' => ['title' => '', 'description' => 'The start time of the check.', 'type' => 'string', 'example' => '2023-11-30T16:47:30.343005+08:00'], 'FinishedAt' => ['title' => '', 'description' => 'The end time of the check.', 'type' => 'string', 'example' => '2023-11-30T16:47:30.378817+08:00'], 'CheckNumber' => ['title' => '', 'description' => 'The sequence number of the check.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], 'example' => '', ], 'SeccompProfile' => [ 'title' => '', 'description' => 'The SecurityContext configuration that filters system calls of a process.', 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'description' => 'The Seccomp configuration type. Valid values: Localhost, RuntimeDefault, Unconfined.', 'type' => 'string', 'example' => 'Unconfined'], 'LocalhostProfile' => ['title' => '', 'description' => 'The path of the Seccomp profile on the node. This parameter takes effect only when Type is set to Localhost.', 'type' => 'string', 'example' => 'my-profiles/profile-allow.json'], ], 'example' => '', ], 'SecurityContext' => [ 'title' => '', 'description' => 'The container security context configuration.', 'type' => 'object', 'properties' => [ 'RunAsUser' => ['title' => '', 'description' => 'The UID of the user that runs the container.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], 'RunAsGroup' => ['title' => '', 'description' => 'The GID of the user that runs the container.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], 'SeccompProfile' => ['title' => '', 'description' => 'The Seccomp profile configuration.', '$ref' => '#/components/schemas/SeccompProfile', 'example' => ''], 'Privileged' => ['title' => '', 'description' => 'Specifies whether to enable privileged mode. This option is available only for specific Lingjun AI Computing Service subscription user scenarios.', 'type' => 'boolean', 'example' => ''], 'Capabilities' => ['title' => '', 'description' => 'The Linux capabilities configuration of the container.', '$ref' => '#/components/schemas/SecurityContextCapabilities', 'example' => ''], ], 'example' => '', ], 'SecurityContextCapabilities' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Add' => [ 'title' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'example' => '', ], 'Drop' => [ 'title' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'example' => '', ], ], 'description' => '', 'example' => '', ], 'ServiceExposure' => [ 'type' => 'object', 'properties' => [ 'ServiceId' => ['type' => 'string'], 'DisplayName' => ['type' => 'string'], 'JobId' => ['type' => 'string'], 'PodId' => ['type' => 'string'], 'Type' => ['type' => 'string'], 'Port' => ['type' => 'integer', 'format' => 'int32'], 'Status' => ['type' => 'string'], 'Message' => ['type' => 'string'], ], ], 'ServiceSpec' => [ 'description' => 'Service configuration details.', 'type' => 'object', 'properties' => [ 'DefaultPort' => ['title' => '', 'description' => 'The default port for the service.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], 'ServiceMode' => [ 'title' => '', 'description' => 'The service pattern. Valid values are PerRole and PerPod. The default value is PerPod.', 'enumValueTitles' => ['PerPod' => 'PerPod', 'PerRole' => 'PerRole'], 'type' => 'string', 'example' => 'PerRole', ], 'ExtraPorts' => [ 'title' => '', 'description' => 'The list of extra ports for the service.', 'type' => 'array', 'items' => ['description' => 'An extra port for the service.', 'type' => 'integer', 'format' => 'int32', 'example' => '8081', 'title' => ''], 'example' => '', ], ], 'title' => '', 'example' => '', ], 'SmartCache' => [ 'title' => 'A short description of struct', 'type' => 'object', 'properties' => [ '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' => [ 'title' => '', 'description' => 'The configurations of the preemptible instance'."\n", 'type' => 'object', 'properties' => [ 'SpotStrategy' => [ 'title' => '', 'description' => 'The spot policy. Valid values:'."\n" ."\n" .'* SpotWithPriceLimit'."\n", 'type' => 'string', 'enumValueTitles' => ['SpotWithPriceLimit' => 'SpotWithPriceLimit'], 'example' => 'SpotWithPriceLimit', ], 'SpotDiscountLimit' => ['title' => '', 'description' => 'The maximum discount. Specify only one of SpotDiscountLimit and SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.8'], 'SpotPriceLimit' => ['title' => '', 'description' => 'The maximum price. Unit: CNY/minute. Specify only one of SpotDiscountLimit and SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.4744'], ], 'example' => '', ], 'StartupDependency' => [ 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'type' => 'string', 'required' => false, 'description' => '', 'example' => ''], 'OnPhase' => ['title' => '', 'type' => 'string', 'required' => false, 'description' => '', 'example' => ''], 'MinReplicas' => ['title' => '', 'type' => 'string', 'required' => false, 'description' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'StatusTransitionItem' => [ 'title' => '', 'description' => 'The job status transition entry.', 'type' => 'object', 'properties' => [ 'Status' => ['title' => '', 'description' => 'The job status.', 'type' => 'string', 'example' => ''], 'StartTime' => ['title' => '', 'description' => 'The start time of this status (UTC).', 'type' => 'string', 'example' => ''], 'EndTime' => ['title' => '', 'description' => 'The end time of this status (UTC).', 'type' => 'string', 'example' => ''], 'ReasonCode' => ['title' => '', 'description' => 'The reason code for this status.', 'type' => 'string', 'example' => ''], 'ReasonMessage' => ['title' => '', 'description' => 'The detailed message for this status.', 'type' => 'string', 'example' => ''], ], 'example' => '', ], 'SystemDisk' => [ 'title' => '', 'type' => 'object', 'properties' => [ 'Size' => ['title' => '', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'description' => '', 'example' => ''], 'Category' => ['title' => '', 'type' => 'string', 'required' => false, 'description' => '', 'example' => ''], 'PerformanceLevel' => ['title' => '', 'type' => 'string', 'required' => false, 'description' => '', 'example' => ''], ], 'description' => '', 'example' => '', ], 'Tensorboard' => [ 'title' => '', 'description' => 'Tensorboard description.', 'type' => 'object', 'properties' => [ 'TensorboardId' => ['title' => '', 'description' => 'Tensorboard ID.', 'type' => 'string', 'example' => 'tensorboard-xxx'], 'TensorboardUrl' => ['title' => '', 'description' => 'Tensorboard URL.', 'type' => 'string', 'example' => 'http://xxxxxx'], 'Status' => ['title' => '', 'description' => 'Status.', 'type' => 'string', 'example' => 'running'], 'Duration' => ['title' => '', 'description' => 'Runtime duration (seconds).', 'type' => 'string', 'example' => '60'], 'GmtCreateTime' => ['title' => '', 'description' => 'Creation time (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:35:00Z'], 'GmtModifyTime' => ['title' => '', 'description' => 'Modification time (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:00Z'], 'GmtFinishTime' => ['title' => '', 'description' => 'End time (UTC).', 'type' => 'string', 'example' => 'null'], 'RequestId' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], 'DisplayName' => ['title' => '', 'description' => 'Display name.', 'type' => 'string', 'example' => 'test'], 'DataSourceId' => ['title' => '', 'description' => 'Data source ID.', 'type' => 'string', 'example' => 'datasource-test'], 'SummaryPath' => ['title' => '', 'description' => 'File path.', 'type' => 'string', 'example' => '/root/data'], 'UserId' => ['title' => '', 'description' => 'Creator ID.', 'type' => 'string', 'example' => 'lycxxxxx'], 'Username' => ['title' => '', 'description' => 'Creator username.', 'type' => 'string', 'example' => 'tensorboard.pai'], 'ReasonCode' => ['title' => '', 'description' => 'Status details code.', 'type' => 'string', 'example' => '""'], 'ReasonMessage' => ['title' => '', 'description' => 'Status details.', 'type' => 'string', 'example' => '""'], 'JobId' => ['title' => '', 'description' => 'Job ID.', 'type' => 'string', 'example' => 'dlc-20210114104214-vf9lowjt3pso'], 'TensorboardDataSources' => [ 'title' => '', 'description' => 'Datasets mounted by the Tensorboard Job.', 'type' => 'array', 'items' => ['description' => 'Tensorboard dataset configuration description.', 'required' => false, '$ref' => '#/components/schemas/TensorboardDataSourceSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'TensorboardSpec' => ['title' => '', 'description' => 'Pay-as-you-go configuration for the Tensorboard Job.', '$ref' => '#/components/schemas/TensorboardSpec', 'example' => ''], 'QuotaId' => ['title' => '', 'description' => 'Resource group ID used by Tensorboard.', 'type' => 'string', 'example' => 'quota12***'], 'Priority' => ['title' => '', 'description' => 'Tensorboard Job priority.', 'type' => 'string', 'example' => '1'], 'QuotaName' => ['title' => '', 'description' => 'Name of the resource quota used by Tensorboard.', 'type' => 'string', 'example' => 'dlc-quota'], 'Accessibility' => ['title' => '', 'description' => 'Visibility.', 'type' => 'string', 'example' => 'PRIVATE'], ], 'example' => '', ], 'TensorboardDataSourceSpec' => [ 'title' => '', 'description' => 'The dataset configurations of the TensorBoard task.'."\n", 'type' => 'object', 'properties' => [ 'DirectoryName' => ['title' => '', 'description' => 'The directory prefix of the dataset in the TensorBoard task.'."\n", 'type' => 'string', 'example' => 'dlcJobName'], 'Name' => ['title' => '', 'description' => 'The name of the dataset configurations. In most cases, the name of the dataset configurations is the name of a dataset or task.'."\n", 'type' => 'string', 'example' => 'dlcJobName'], 'Id' => ['title' => '', 'description' => 'The ID of the dataset configurations. In most cases, the ID of the dataset configurations is the ID of a dataset or task.'."\n", 'type' => 'string', 'example' => 'd-vf2fdhxxxxxx'], 'DataSourceType' => ['title' => '', 'description' => 'The file type that corresponds to the URI in the dataset configurations.'."\n", 'type' => 'string', 'example' => 'OSS'], 'Uri' => ['title' => '', 'description' => 'The file system URI in the dataset configurations.'."\n", 'type' => 'string', 'example' => 'oss://examplebucket.oss-cn-shanghai-internal.aliyuncs.com/'], 'SourceType' => ['title' => '', 'description' => 'The dataset type.'."\n" ."\n" .'* datasource: configure a dataset based on the dataset type.'."\n" .'* dlcjob: configure a dataset based on the task type.'."\n", 'type' => 'string', 'example' => 'datasource'], 'SummaryPath' => ['title' => '', 'description' => 'The summary path.'."\n", 'type' => 'string', 'example' => '/tensorboard/run1'], 'FullSummaryPath' => ['title' => '', 'description' => 'The full summary path.'."\n", 'type' => 'string', 'example' => 'oss://xxxxx/tensorboard/run1'], ], 'example' => '', ], 'TensorboardSpec' => [ 'title' => '', 'description' => 'The configurations of the pay-as-you-go Tensorboard task.'."\n", 'type' => 'object', 'properties' => [ 'VpcId' => ['title' => '', 'description' => 'The ID of the virtual private cloud (VPC) configured for the pay-as-you-go Tensorboard task.'."\n", 'type' => 'string', 'example' => 'vpc-xxxx'], 'EcsType' => ['title' => '', 'description' => 'The specifications of the ECS instance configured for the pay-as-you-go Tensorboard task.'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'], 'SecurityGroupId' => ['title' => '', 'description' => 'The ID of the security group configured for the pay-as-you-go Tensorboard task.'."\n", 'type' => 'string', 'example' => 'sg-xxxxx'], 'SwitchId' => ['title' => '', 'description' => 'The ID of the vSwitch configured for the pay-as-you-go Tensorboard task.'."\n", 'type' => 'string', 'example' => 'vsw-xxxx'], ], 'example' => '', ], 'Workspace' => [ 'title' => 'A short description of struct', 'description' => '工作空间', 'type' => 'object', 'properties' => [ 'WorkspaceId' => ['title' => '工作空间id', 'type' => 'string', 'example' => 'ws-20210126170216-mtl37ge7gkvdz'], 'WorkspaceName' => ['title' => '工作空间名称', 'type' => 'string', 'example' => 'dlc-workspace'], 'Creator' => ['title' => '创建者', 'type' => 'string', 'example' => 'ken'], 'GmtCreateTime' => ['title' => '创建时间', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtModifyTime' => ['title' => '最近修改时间', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'Quotas' => [ 'title' => '资源配额列表', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/Quota'], ], 'TotalResources' => ['title' => '资源总量', '$ref' => '#/components/schemas/Resources'], 'Members' => [ 'title' => '成员列表', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/Member'], ], 'WorkspaceAdmins' => [ 'title' => '管理员列表', 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/Member'], ], ], ], ], ], 'apis' => [ 'CreateJob' => [ 'summary' => 'Creates a job and runs it in a cluster. You can specify the datasource config, code source configuration, startup command, and compute resource configuration for each node on which the job runs.', 'path' => '/api/v1/jobs', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '13110', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'description' => 'The request body parameters.', 'type' => 'object', 'properties' => [ 'DisplayName' => ['title' => '', 'description' => 'The name of the job. The name must meet the following requirements:'."\n" .'- The name cannot exceed 256 characters in length.'."\n" .'- The name can contain digits, letters, underscores (_), periods (.), and hyphens (-).', 'type' => 'string', 'required' => true, 'example' => 'tf-mnist-test', 'maxLength' => 1024, 'minLength' => 1], 'JobType' => [ 'title' => '', 'description' => 'The job type. This parameter is case-sensitive. Valid values:'."\n" .'- TFJob'."\n" .'- PyTorchJob'."\n" .'- MPIJob'."\n" .'- XGBoostJob'."\n" .'- OneFlowJob'."\n" .'- ElasticBatchJob'."\n" .'- SlurmJob'."\n" .'- RayJob'."\n" .'- DataJuicerJob.', 'enumValueTitles' => ['OneFlowJob' => 'OneFlow', 'PyTorchJob' => 'PyTorch', 'SlurmJob' => 'Slurm', 'XGBoostJob' => 'XGBoost', 'ElasticBatchJob' => 'ElasticBatch', 'DataJuicerJob' => 'DataJuicer', 'MPIJob' => 'MPIJob', 'TFJob' => 'Tensorflow', 'RayJob' => 'Ray'], 'type' => 'string', 'required' => true, 'example' => 'TFJob', 'maxLength' => 32, 'minLength' => 1, ], 'JobSpecs' => [ 'title' => '', 'description' => 'The various runtime configurations of the job, such as the image address, startup command, node resource declarations, and number of replicas.'."\n" ."\n" .'A DLC job consists of different types of nodes. Nodes of the same type share identical configurations, which is called a JobSpec. **JobSpecs** describes the configurations of all node types and is an array of JobSpec objects.', 'type' => 'array', 'items' => ['description' => 'The runtime configuration of the job.', '$ref' => '#/components/schemas/JobSpec', 'required' => false, 'title' => '', 'example' => ''], 'required' => true, 'minItems' => 1, 'example' => '', ], 'UserCommand' => ['title' => '', 'description' => 'The startup command for all nodes of the job.', 'type' => 'string', 'required' => true, 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '', 'description' => 'The list of data sources used by the job.', 'type' => 'array', 'items' => [ 'description' => 'The list of all data sources used by this job. Each data source is mounted to the local directory of the container on each node based on the configuration in the data source. The local directory is specified by the MountPath parameter in the data source configuration.'."\n" ."\n" .'Processes in the startup command of the job can directly access the distributed file system represented by each data source by using MountPath as the path.', 'type' => 'object', 'properties' => [ 'DataSourceId' => ['title' => '', 'description' => 'The ID of the data source. For information about how to obtain the data source ID, see [ListDatasets](~~457222~~)..', 'type' => 'string', 'example' => 'd-cn9dl*******', 'required' => false], 'MountPath' => ['title' => '', 'description' => 'The mount path for this job. This parameter is optional. By default, the mount path configured in the data source is used.', 'type' => 'string', 'example' => '/root/data', 'required' => false], 'Uri' => ['title' => '', 'description' => 'The data source path.', 'type' => 'string', 'example' => 'oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/', 'required' => false], 'Options' => ['description' => 'The custom dataset mount properties. Only OSS is supported.', '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" .'}', 'title' => ''], 'DataSourceVersion' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'MountAccess' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'EnableCache' => ['type' => 'boolean', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'AccessPointId' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], 'RoleChain' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'example' => '', ], 'CodeSource' => [ 'title' => '', 'description' => 'The code source used by this job. Before the job nodes start, DLC automatically downloads the code configured in the code source and mounts it to a local directory of the container.', 'type' => 'object', 'properties' => [ 'CodeSourceId' => ['title' => '', 'description' => 'The code source ID. For information about how to obtain the code source ID, see [ListCodeSources](~~459922~~)..', 'type' => 'string', 'example' => 'code-20210111103721-xxxxxxx', 'required' => false], 'Branch' => ['title' => '', 'description' => 'The branch of the code repository referenced at runtime. This parameter is optional. By default, the branch configured in the code source is used.', 'type' => 'string', 'example' => 'master', 'required' => false], 'Commit' => ['title' => '', 'description' => 'The commit ID of the code to download for this job. This parameter is optional. By default, the commit ID configured in the code source is used.', 'type' => 'string', 'example' => '44da109b5******', 'required' => false], 'MountPath' => ['title' => '', 'description' => 'The mount path for this job. This parameter is optional. By default, the mount path configured in the code source is used.', 'type' => 'string', 'example' => '/root/data', 'required' => false], ], 'required' => false, 'example' => '', ], 'UserVpc' => [ 'title' => '', 'description' => 'The user VPC configuration.', 'type' => 'object', 'properties' => [ 'VpcId' => ['title' => '', 'description' => 'The ID of the user VPC.', 'type' => 'string', 'example' => 'vpc-abcdef****', 'required' => false], 'SwitchId' => ['title' => '', 'description' => 'The ID of the user vSwitch. This parameter is optional.'."\n" .'- If this parameter is left empty, the system automatically selects an appropriate vSwitch based on inventory.'."\n" .'- You can also specify a vSwitch ID.', 'type' => 'string', 'example' => 'vs-abcdef****', 'required' => false], 'SecurityGroupId' => ['title' => '', 'description' => 'The ID of the user security group.', 'type' => 'string', 'example' => 'sg-abcdef****', 'required' => false], 'ExtendedCIDRs' => [ 'title' => '', 'description' => 'The extended CIDR blocks.'."\n" .'- If the vSwitch ID is empty, this parameter is not required. The system automatically obtains all CIDR blocks under the VPC.'."\n" .'- If the vSwitch ID is specified, this parameter is required. Specify all CIDR blocks under the VPC.', 'type' => 'array', 'items' => ['description' => 'The extended CIDR block.', 'type' => 'string', 'example' => '192.168.0.1/24', 'required' => false, 'title' => ''], 'required' => false, 'example' => '', ], 'DefaultRoute' => ['description' => 'The default routing. Valid values:'."\n" .'- eth0: uses the default network interface controller (NIC) to access external networks through the public gateway.'."\n" .'- eth1: uses the user elastic network interfaces (ENIs) to access external networks through the private gateway. For the specific configuration method, see [Configure a DSW instance to access the Internet through a dedicated public gateway](~~2525343~~).', 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], ], 'required' => false, 'example' => '', ], 'ThirdpartyLibs' => [ 'title' => '', 'description' => 'The list of third-party Python libraries to install.', 'type' => 'array', 'items' => ['description' => 'Specifies a third-party Python library and its version requirement, such as `numpy==1.16.1`.', 'type' => 'string', 'example' => 'numpy==1.16.1', 'required' => false, 'title' => ''], 'required' => false, 'example' => '', ], 'ThirdpartyLibDir' => ['title' => '', 'description' => 'The name of the folder that contains the third-party Python library file (requirements.txt). Before running the specified UserCommand on each node, PAI-DLC retrieves the requirements.txt file from the specified folder and runs `pip install -r` to install the libraries.', 'type' => 'string', 'example' => '/root/code/', 'required' => false], 'Envs' => [ 'title' => '', 'description' => 'The environment variable configuration.', 'type' => 'object', 'required' => false, 'additionalProperties' => ['description' => '一个环境变量,格式:`Key=Value`。'."\n" .'>环境变量需遵循POSIX标准>', 'type' => 'string', 'example' => 'ENABLE_DEBUG_MODE', 'title' => ''], 'example' => '', ], 'JobMaxRunningTimeMinutes' => ['title' => '', 'description' => 'The maximum running duration of the job, in minutes.', 'type' => 'integer', 'format' => 'int64', 'minimum' => '1', 'example' => '1024', 'required' => false], 'WorkspaceId' => ['title' => '', 'description' => 'The workspace ID. For information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~)..', 'type' => 'string', 'example' => 'ws-20210126170216-xxxxxxx', 'required' => false], 'ResourceId' => ['title' => '', 'description' => 'The resource group ID. This parameter is optional.'."\n" .'- If this parameter is left empty, the job is submitted to the public resource group.'."\n" .'- If the current workspace has an attached resource quota, you can specify the corresponding resource quota ID. For details about how to query the resource quota ID, see [Manage resource quotas](~~2651299~~).', 'type' => 'string', 'example' => 'rs-xxx', 'required' => false], 'Priority' => ['title' => '', 'description' => 'The priority of the job. This parameter is optional. Default value: 1. Valid values: 1 to 9.'."\n" ."\n" .'- 1: the lowest priority.'."\n" .'- 9: the highest priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'required' => false], 'Settings' => ['description' => 'The additional parameter settings for the job.', '$ref' => '#/components/schemas/JobSettings', 'required' => false, 'title' => '', 'example' => ''], 'ElasticSpec' => ['description' => 'This parameter is not supported. Ignore this parameter.', '$ref' => '#/components/schemas/JobElasticSpec', 'required' => false, 'title' => '', 'example' => ''], 'DebuggerConfigContent' => ['title' => '', 'description' => 'This parameter is not supported. Ignore this parameter.', 'type' => 'string', 'required' => false, 'example' => '“”'], 'Options' => ['description' => 'The additional configuration for this node. You can use this parameter to adjust the behavior of mounted data sources. For example, if the node has an OSS data source mounted, you can set this parameter to `fs.oss.download.thread.concurrency=4,fs.oss.download.queue.size=16` to overwrite the default JindoFS parameter settings.', 'type' => 'string', 'required' => false, 'example' => 'key1=value1,key2=value2', 'title' => ''], 'SuccessPolicy' => ['title' => '', 'description' => 'The success policy for distributed multi-node jobs. Only TensorFlow multi-node jobs support this parameter. Valid values:'."\n" .'- ChiefWorker: the entire job is considered successful when the Chief pod finishes successfully.'."\n" .'- AllWorkers (default): the entire job is considered successful only when all Worker pods finish successfully.', 'type' => 'string', 'required' => false, 'example' => 'AllWorkers'], 'CredentialConfig' => ['description' => 'The access credential configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'required' => false, 'title' => '', 'example' => ''], 'Accessibility' => ['description' => 'The visibility of the job. Valid values:'."\n" .'- PUBLIC: visible to all members in the workspace.'."\n" .'- PRIVATE: visible only to you and administrators in the workspace.', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => ''], 'TemplateId' => ['title' => '', 'description' => 'The job template ID.', 'type' => 'string', 'example' => 'tplabc1234567', 'required' => false], 'TemplateVersion' => ['title' => '', 'description' => 'The job template version.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'required' => false], 'Description' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SchedulingStrategy' => [ 'title' => '', 'type' => 'string', 'example' => 'Auto', 'default' => 'Auto', 'enum' => ['Auto', 'Binpack', 'Spread'], 'description' => '', ], 'CustomEnvs' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'Visible' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response in JSON format.', 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The ID of the job created by this call.', 'type' => 'string', 'example' => 'dlc7*******'], 'RequestId' => ['title' => '', 'description' => 'The request ID, used for diagnostics and troubleshooting.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'Create a job', 'description' => 'Before you call this operation, make sure that you are familiar with the billing and [pricing](~~171758~~) of PAI-DLC.'."\n" .'>The total length of CreateJob request parameters, including system-generated parameters, cannot exceed 65,536 bytes.>.', 'changeSet' => [ ['createdAt' => '2025-07-30T08:02:39.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-05-20T12:11:56.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-04-02T12:02:35.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-12-18T06:03:20.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-09T08:19:35.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-07-05T02:28:26.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-12-08T08:06:18.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-09-11T11:52:02.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-13T02:00:39.000Z', 'description' => 'Request parameters changed'], ], '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' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"dlc7*******\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'CreateJobTemplate' => [ 'summary' => 'Creates a job template.', 'path' => '/api/v1/jobtemplates', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateName' => ['description' => 'The name of the job template.', 'type' => 'string', 'required' => true, 'maxLength' => 1024, 'minLength' => 1, 'title' => '', 'example' => 'job-template-example-1778047**** '], 'Description' => ['description' => 'The description of the job template.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'Template description '], 'WorkspaceId' => ['description' => 'The ID of the workspace that contains the job template.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'title' => '', 'example' => '15****05'], 'Metadata' => ['description' => 'User-defined key-value metadata.', 'type' => 'object', 'title' => '', 'required' => false, 'example' => '{}'], 'Content' => ['description' => 'The configuration of the job template, which must be a JSON string containing the job configuration parameters.', 'type' => 'string', 'required' => true, 'title' => '', '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' => ['description' => 'The field constraint rules. The key is a JSONPath expression, and the value is a constraint type: `locked` (cannot be overridden), `overridable` (can be overridden), or `required` (must be specified).', 'type' => 'object', 'title' => '', 'required' => false, 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], ], 'description' => 'The request body.', 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The unique ID of the job template.', 'type' => 'string', 'title' => '', 'example' => 'tplmceolmf2****'], 'TemplateName' => ['description' => 'The name of the job template.', 'type' => 'string', 'title' => '', 'example' => 'job-template-example-1778047**** '], 'Description' => ['description' => 'The description of the job template.', 'type' => 'string', 'title' => '', 'example' => 'Template description'."\n"], 'Metadata' => ['description' => 'User-defined key-value metadata.', 'type' => 'object', 'title' => '', 'example' => '{}'], 'WorkspaceId' => ['description' => 'The ID of the workspace that contains the job template.', 'type' => 'string', 'title' => '', 'example' => '15****05'], 'UserId' => ['description' => 'The ID of the user who created the job template.', 'type' => 'string', 'title' => '', 'example' => '20**************02'], 'TenantId' => ['description' => 'The ID of the tenant that contains the job template.', 'type' => 'string', 'title' => '', 'example' => '10**************14'], 'DefaultVersion' => ['description' => 'The default version number of the job template.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'Version' => ['description' => 'The version number of the created job template.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'GmtCreateTime' => ['description' => 'The creation time of the job template.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2025-12-31T02:18:09Z'], 'GmtModifyTime' => ['description' => 'The last modification time of the job template.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-01-12T14:36:00Z'], 'RequestId' => ['description' => 'The ID of the request, used for troubleshooting.', 'type' => 'string', 'title' => '', 'example' => '8762921A-911C-515F-A3A4-*********'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'CreateJobTemplate', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'paidlc:CreateJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'CreateRayHistoryServer' => [ 'summary' => 'Creates a RayHistoryServer.', 'path' => '/api/v1/rayhistoryservers', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'description' => 'The request body parameters.', 'type' => 'object', 'properties' => [ 'DisplayName' => ['description' => 'The display name of the job.', 'type' => 'string', 'required' => true, 'example' => 'my-ray-history-server', 'title' => ''], 'StoragePath' => ['description' => 'The storage path for Ray logs.', 'type' => 'string', 'required' => true, 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp', 'title' => ''], 'WorkspaceId' => ['description' => 'The workspace ID. For information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~)..', 'type' => 'string', 'required' => true, 'example' => '12345', 'title' => ''], 'ResourceId' => ['description' => 'The resource group ID. This parameter is optional.'."\n" .'- If this parameter is left empty, the job is committed to the public resource group.'."\n" .'- If the current workspace is attached to a resource quota, you can specify the corresponding resource quota ID. For details about how to query the resource quota ID, see [Manage resource quotas](~~2651299~~).', 'type' => 'string', 'required' => false, 'example' => 'quotaxxx', 'title' => ''], 'EcsSpec' => ['description' => 'The hardware specifications of the public resource group. To access the detailed list of specifications, see [PAI-DLC billing](~~171758~~).>Prices vary depending on the specifications.>.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.large', 'title' => ''], 'MaxRuntimeMinutes' => ['description' => 'The maximum runtime in minutes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], 'Accessibility' => ['description' => 'The visibility of the job. Valid values:'."\n" .'- PUBLIC: visible to all members in the workspace.'."\n" .'- PRIVATE: visible only to you and administrators in the workspace.', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID of this call, used for diagnostics and troubleshooting.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx', 'title' => ''], 'RayHistoryServerId' => ['description' => 'The ID of the created Ray History Server.', 'type' => 'string', 'example' => 'rhsxxxx', 'title' => ''], ], 'title' => '', 'description' => 'The root node.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a rayHistoryServer', 'description' => 'Before you use this operation, make sure that you are familiar with the billing of PAI-DLC and the [pricing](~~171758~~).'."\n" .'>The total length of CreateJob request parameters, including system-generated parameters, cannot exceed 65,536 bytes.>.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxx\\",\\n \\"RayHistoryServerId\\": \\"rhsxxxx\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'CreateTensorboard' => [ 'summary' => 'Creates a TensorBoard by using a job or specifying a data source configuration.', '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' => 'The request body.'."\n", 'type' => 'object', 'properties' => [ 'WorkspaceId' => ['description' => 'The workspace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '123***', 'title' => ''], 'JobId' => ['title' => '', 'description' => 'The job ID. For more information about how to query the job ID, see [ListJobs](~~459676~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-20210126170216-mtl37ge7gkvdz'], 'DataSourceId' => ['title' => '', 'description' => 'The dataset ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xxxxxxxx'], 'DataSourceType' => [ 'description' => 'The dataset type. Valid values:'."\n" ."\n" .'* OSS'."\n" .'* NAS'."\n", 'type' => 'string', 'required' => false, 'enumValueTitles' => [], 'example' => 'OSS', 'title' => '', ], 'Uri' => ['description' => 'The dataset URI:'."\n" ."\n" .'* Value format when DataSourceType is set to OSS: `oss://[oss-bucket].[endpoint]/[path]`.'."\n" .'* Value format when DataSourceType is set to NAS:`nas://[nas-filesystem-id].[region]/[path]`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'oss://.oss-cn-shanghai-finance-1.aliyuncs.com/', 'title' => ''], 'Options' => ['description' => 'The extended fields of the dataset are in the JSON format. MountPath: the path to mount the dataset.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"mountpath":"/root/data/"}', 'title' => ''], 'SummaryPath' => ['title' => '', 'description' => 'The directory of summary.'."\n", 'type' => 'string', 'required' => false, 'example' => '/root/data/'], 'SummaryRelativePath' => ['description' => 'The relative path of summary.'."\n", 'type' => 'string', 'required' => false, 'example' => '/summary/', 'title' => ''], 'DisplayName' => ['title' => '', 'description' => 'The TensorBoard name'."\n", 'type' => 'string', 'required' => false, 'example' => 'tensorboard'], 'SourceType' => ['description' => 'The source type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'job', 'title' => ''], 'SourceId' => ['description' => 'The source ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-xxxxxx', 'title' => ''], 'MaxRunningTimeMinutes' => ['title' => '', 'description' => 'The maximum running duration. Unit: minutes.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '240'], 'DataSources' => [ 'description' => 'The configurations of the data source.'."\n", 'type' => 'array', 'items' => ['description' => 'The information about the data source.'."\n", 'required' => false, '$ref' => '#/components/schemas/DataSourceItem', 'title' => '', 'example' => ''], 'required' => false, 'title' => '', 'example' => '', ], 'Cpu' => ['description' => 'The number of vCPU cores.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], 'Memory' => ['description' => 'The memory size. Unit: GB.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], 'TensorboardDataSources' => [ 'description' => 'The configurations of datasets mounted with the TensorBoard job.'."\n", 'type' => 'array', 'items' => ['description' => 'The TensorBoard dataset configuration information, which is used to mount multiple datasets. Currently, configuration by dataset (datasource) and configuration by job (dlc) are supported. When this parameter is not empty, the DataSourceId, Uri, and DataSourceType parameters do not take effect.'."\n", 'required' => false, '$ref' => '#/components/schemas/TensorboardDataSourceSpec', 'title' => '', 'example' => ''], 'required' => false, 'title' => '', 'example' => '', ], 'TensorboardSpec' => ['description' => 'The pay-as-you-go configuration of TensorBoard, which is used to create TensorBoard jobs that use pay-as-you-go resources.'."\n", 'required' => false, '$ref' => '#/components/schemas/TensorboardSpec', 'title' => '', 'example' => ''], 'QuotaId' => ['description' => 'The resource quota ID. This parameter is required when you create a TensorBoard job by using a resource quota.'."\n" ."\n" .'This feature is currently limited to whitelisted users. If you need to use this feature, contact us.'."\n", 'type' => 'string', 'required' => false, 'example' => 'quota12345', 'title' => ''], 'Priority' => ['description' => 'The priority of the job. Default value: 1. Valid values: 1 to 9.'."\n" ."\n" .'* 1 is the lowest priority.'."\n" .'* 9 is the highest priority.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], 'Accessibility' => ['description' => 'The job visibility. Valid values:'."\n" ."\n" .'* PUBLIC: Visible to all members in the workspace.'."\n" .'* PRIVATE: Visible only to you and the administrator of the workspace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => ''], ], 'required' => false, 'example' => '380', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-xxxxxxxx'], 'DataSourceId' => ['title' => '', 'description' => 'The dataset ID.'."\n", 'type' => 'string', 'example' => 'ds-20210126170216-xxxxxxxx'], 'TensorboardId' => ['title' => '', 'description' => 'TensorBoard ID'."\n", 'type' => 'string', 'example' => 'tbxxxxxxxx'], 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], '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":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', 'title' => 'CreateTensorboard', 'changeSet' => [ ['createdAt' => '2024-07-11T11:23:57.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-03-28T07:37:36.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'paidlc:CreateTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTensorboard'], ], ], ], 'DeleteJob' => [ 'summary' => 'Deletes a completed or stopped job.', 'path' => '/api/v1/jobs/{JobId}', 'methods' => ['delete'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '34384', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The job ID. For more information about how to query the job ID, see [ListJobs](~~459676~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc*************'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc*************'], 'RequestId' => ['title' => '', 'description' => 'The request ID. You can troubleshoot issues based on the request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'DeleteJob', 'changeSet' => [ ['createdAt' => '2024-08-22T10:38:05.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-06T07:37:50.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], ], ], ], 'DeleteJobTemplate' => [ 'path' => '/api/v1/jobtemplates/{TemplateId}', 'methods' => ['delete'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'path', 'schema' => ['description' => 'The template ID.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'title' => '', 'example' => 'tplwk80096dw**** '], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The template ID.', 'type' => 'string', 'title' => '', 'example' => 'tplwk80096dw****'], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA****'], ], 'description' => 'Template deletion information', 'title' => '', 'example' => '', ], ], ], 'title' => 'DeleteJobTemplate', 'summary' => 'Deletes a job template. You cannot delete a job template that is in use by a job.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": \\"tplwk80096dw****\\",\\n \\"RequestId\\": \\"78F6FCE2-278F-4C4A-A6B7-DD8ECEA****\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'DeleteRayHistoryServer' => [ 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}', 'methods' => ['delete'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'RayHistoryServerId', 'in' => 'path', 'schema' => ['description' => 'The ID of the Ray History Server to delete.', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteRayHistoryServer', 'summary' => 'Deletes a Ray History Server.', 'description' => 'Before calling this API, ensure you understand the billing methods and [Pricing](~~171758~~) of PAI-DLC.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'DeleteTensorboard' => [ 'summary' => 'Deletes a stopped TensorBoard.', 'path' => '/api/v1/tensorboards/{TensorboardId}', 'methods' => ['delete'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '20380', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '46099'], ], [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The TensorBoard ID. For more information about how to obtain the TensorBoard ID, see [ListTensorboards](~~459689~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'tensorboard-20210114104214-xxxxxxxx', 'maxLength' => 256, 'minLength' => 1], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TensorboardId' => ['title' => '', 'description' => 'The TensorBoard ID.'."\n", 'type' => 'string', 'example' => 'tensorboard-20210114104214-vf9lowjt3pso'], 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-vf9lowjt3pso\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tensorboard-20210114104214-vf9lowjt3pso\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', 'title' => 'DeleteTensorboard', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTensorboard'], ], ], ], 'GetDashboard' => [ 'summary' => 'Retrieves the Dashboard URL for a DLC job, if available.', 'path' => '/api/v1/jobs/{jobId}/dashboard', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'jobId', 'in' => 'path', 'schema' => ['description' => 'Job ID', 'type' => 'string', 'example' => 'dlc1k7426goc7bvy', 'title' => '', 'required' => false], ], [ 'name' => 'isShared', 'in' => 'query', 'schema' => [ 'description' => 'Indicates whether this is a shared link. If it is, the \\`token\\` parameter is also required.', 'type' => 'boolean', 'enum' => ['true', 'false'], 'title' => '', 'required' => false, 'example' => 'false', ], ], [ 'name' => 'token', 'in' => 'query', 'schema' => ['description' => 'The token obtained from GetToken.', 'type' => 'string', 'example' => 'some_token_value', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'url' => ['description' => 'The Dashboard URL.', 'type' => 'string', 'example' => 'https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetDashboard', 'description' => 'Before using this API, review the billing methods and [pricing](~~171758~~) for PAI-DLC.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://dlcj1jzm1p01saqw-spark.pre-dsw-gateway-cn-hangzhou.data.aliyun.com\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'GetJob' => [ 'summary' => 'Retrieves the detailed configuration and runtime information of a job.', 'path' => '/api/v1/jobs/{JobId}', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '13115', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The job ID. For information about how to obtain the job ID, see [ListJobs](~~459676~~).', 'type' => 'string', 'required' => true, 'example' => 'dlc*******', 'maxLength' => 256, 'minLength' => 1], ], [ 'name' => 'NeedDetail', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to return job details. Default value: true.', 'type' => 'boolean', 'example' => 'true', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'A JSON-formatted string.', 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.', 'type' => 'string', 'example' => 'dlc*******'], 'JobType' => ['title' => '', 'description' => 'The job type. This value is specified by the JobType parameter in the [CreateJob](~~459672~~) operation.', 'type' => 'string', 'example' => 'TFJob'], 'DisplayName' => ['title' => '', 'description' => 'The job name.', 'type' => 'string', 'example' => 'tf-mnist-test'], 'UserId' => ['title' => '', 'description' => 'The Alibaba Cloud UID of the user who submitted the job.', 'type' => 'string', 'example' => '12*********'], 'Status' => ['title' => '', 'description' => 'The job status. Valid values:'."\n" .'- Creating'."\n" .'- Queuing'."\n" .'- Bidding (currently only for Lingjun spot jobs)'."\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' => '', 'description' => 'The ID of the workspace to which the job belongs.', 'type' => 'string', 'example' => '268'], 'WorkspaceName' => ['title' => '', 'description' => 'The name of the workspace to which the job belongs.', 'type' => 'string', 'example' => 'dlc-workspace'], 'ResourceId' => ['title' => '', 'description' => 'The ID of the resource group in which the job runs.', 'type' => 'string', 'example' => 'r******'], 'ResourceLevel' => ['title' => '', 'description' => 'The resource level used by the job at runtime.', 'type' => 'string', 'example' => 'L0'], 'ReasonCode' => ['title' => '', 'description' => 'The status detail code, which is a subcategory of the current status (Status).', 'type' => 'string', 'example' => 'JobStoppedByUser'], 'ReasonMessage' => ['title' => '', 'description' => 'The detailed description of the status.', 'type' => 'string', 'example' => 'Job is stopped by user.'], 'JobSpecs' => [ 'title' => '', 'description' => 'The node configurations of the job. For more information, see the **JobSpecs** parameter in the CreateJob operation.', 'type' => 'array', 'items' => ['description' => 'The detailed configuration of a node type.', '$ref' => '#/components/schemas/JobSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'UserCommand' => ['title' => '', 'description' => 'The startup command for each node.', 'type' => 'string', 'example' => 'python /root/code/mnist.py'], 'DataSources' => [ 'title' => '', 'description' => 'The list of data sources.', 'type' => 'array', 'items' => [ 'description' => 'The data source.', 'type' => 'object', 'properties' => [ 'DataSourceId' => ['title' => '', 'description' => 'The data source ID.', 'type' => 'string', 'example' => 'd*******'], 'MountPath' => ['title' => '', 'description' => 'The local mount path. This is an optional parameter. If left empty, the mount path specified in the data source is used.', 'type' => 'string', 'example' => '/mnt/data/'], 'Uri' => ['title' => '', 'description' => 'The data source path.', 'type' => 'string', 'example' => 'oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/'], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'CodeSource' => [ 'title' => '', 'description' => 'The code source.', 'type' => 'object', 'properties' => [ 'CodeSourceId' => ['title' => '', 'description' => 'The code source ID.', 'type' => 'string', 'example' => 'code******'], 'Branch' => ['title' => '', 'description' => 'The code branch.', 'type' => 'string', 'example' => 'master'], 'Commit' => ['title' => '', 'description' => 'The code commit ID.', 'type' => 'string', 'example' => '44da109b59f8596152987eaa8f3b2487xxxxxx'], 'MountPath' => ['title' => '', 'description' => 'The local mount path.', 'type' => 'string', 'example' => '/mnt/data'], ], 'example' => '', ], 'ThirdpartyLibs' => [ 'title' => '', 'description' => 'The list of third-party Python libraries to install.', 'type' => 'array', 'items' => ['description' => 'The third-party Python library.', 'type' => 'string', 'example' => 'numpy==1.16.1', 'title' => ''], 'example' => '', ], 'ThirdpartyLibDir' => ['title' => '', 'description' => 'The folder that contains the third-party library (requirements.txt) file.', 'type' => 'string', 'example' => '/root/code/'], 'Envs' => [ 'title' => '', 'description' => 'The environment variable configurations.', 'type' => 'object', 'additionalProperties' => ['description' => '环境变量Key和Value。', 'type' => 'string', 'example' => 'ENABLE_DEBUG_MODE', 'title' => ''], 'example' => '', ], 'UserVpc' => [ 'title' => '', 'description' => 'The user VPC.', 'type' => 'object', 'properties' => [ 'VpcId' => ['title' => '', 'description' => 'The ID of the user VPC.', 'type' => 'string', 'example' => 'vpc-abcdef****'], 'SwitchId' => ['title' => '', 'description' => 'The ID of the user vSwitch.', 'type' => 'string', 'example' => 'vs-abcdef****'], 'SecurityGroupId' => ['title' => '', 'description' => 'The ID of the user security group.', 'type' => 'string', 'example' => 'sg-abcdef****'], 'ExtendedCidrs' => [ 'title' => '', 'description' => 'The extended CIDR blocks. Example: 192.168.0.1/24.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The extended CIDR block.', 'type' => 'string', 'example' => '192.168.0.1/24'], 'example' => '', ], 'DefaultRoute' => ['title' => '', 'description' => 'The default route. This parameter is valid only for general computing resources. Valid values:'."\n" ."\n" .'eth0: uses the default network interface controller (NIC) to access external networks through the public gateway.'."\n" .'eth1: uses the user elastic network interfaces (ENIs) to access external networks through the private gateway.', 'type' => 'string', 'example' => ''], ], 'example' => '', ], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the job was created (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:35:01Z'], 'GmtSubmittedTime' => ['title' => '', 'description' => 'The time when the job was submitted to the cluster (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtRunningTime' => ['title' => '', 'description' => 'The time when the job started running (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:21Z'], 'GmtSuccessedTime' => ['title' => '', 'description' => 'The time when the job completed successfully (UTC).', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z'], 'GmtStoppedTime' => ['title' => '', 'description' => 'The time when the job was stopped (UTC).', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z'], 'GmtFailedTime' => ['title' => '', 'description' => 'The time when the job failed (UTC).', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z'], 'Duration' => ['title' => '', 'description' => 'The job running duration, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3602'], 'Pods' => [ 'title' => '', 'description' => 'All nodes running in the job.', 'type' => 'array', 'items' => [ 'description' => 'The node array.', 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'description' => 'The node type, which corresponds to a JobSpec in the JobSpecs parameter of the CreateJob operation.', 'type' => 'string', 'example' => 'Worker'], 'PodId' => ['title' => '', 'description' => 'The node ID. You can use this ID with the GetPodLogs and GetPodEvents operations to retrieve detailed logs and events for the node.', 'type' => 'string', 'example' => 'Worker'], 'PodUid' => ['title' => '', 'description' => 'Pod UID。', 'type' => 'string', 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d'], 'Status' => ['title' => '', 'description' => 'The node status. Valid values:'."\n" ."\n" .'- Pending'."\n" .'- Running'."\n" .'- Succeeded'."\n" .'- Failed'."\n" .'- Unknown.', 'type' => 'string', 'example' => 'Running'], 'Ip' => ['title' => '', 'description' => 'The network IP address of the node.', 'type' => 'string', 'example' => '10.0.1.2'], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the pod was created (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtStartTime' => ['title' => '', 'description' => 'The time when the node started (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtFinishTime' => ['title' => '', 'description' => 'The time when the node finished (UTC).', 'type' => 'string', 'example' => '2021-01-12T15:36:05Z'], 'HistoryPods' => [ 'title' => '', 'description' => 'The historical pods.', 'type' => 'array', 'items' => [ 'description' => 'The historical pod array.', 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'description' => 'The pod type.', 'type' => 'string', 'example' => 'Worker'], 'PodId' => ['title' => '', 'description' => 'Pod ID。', 'type' => 'string', 'example' => 'Worker'], 'PodUid' => ['title' => '', 'description' => 'Pod UID。', 'type' => 'string', 'example' => 'fe846462-af2c-4521-bd6f-96787a57591d'], 'Status' => ['title' => '', 'description' => 'The pod status.', 'type' => 'string', 'example' => 'Failed'], 'Ip' => ['title' => '', 'description' => 'Pod IP。', 'type' => 'string', 'example' => '10.0.1.3'], 'GmtCreateTime' => ['title' => '', 'description' => 'The time when the pod was created (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtStartTime' => ['title' => '', 'description' => 'The time when the pod started (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'GmtFinishTime' => ['title' => '', 'description' => 'The time when the pod finished (UTC).', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z'], 'SubStatus' => ['title' => '', 'description' => 'The pod substatus, such as preemption status. Valid values:'."\n" .'- Normal'."\n" .'- Evicted.', 'type' => 'string', 'example' => 'Normal'], 'ResourceType' => ['title' => '', 'description' => 'The resource usage type of the pod.', 'type' => 'string', 'example' => 'Normal'], 'Duration' => ['title' => '', 'description' => 'The running duration of the pod.', 'type' => 'number', 'format' => 'double', 'example' => ''], 'NodeName' => ['title' => '', 'description' => 'The node name.', 'type' => 'string', 'example' => ''], 'PodIps' => [ 'title' => '', 'description' => 'The IP addresses of the pod.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The IP address corresponding to each NIC.', '$ref' => '#/components/schemas/PodNetworkInterface', 'example' => ''], 'example' => '', ], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'SubStatus' => ['title' => '', 'description' => 'The pod substatus, such as preemption status. Valid values:'."\n" .'- Normal'."\n" .'- Evicted.', 'type' => 'string', 'example' => 'Normal'], 'ResourceType' => ['title' => '', 'description' => 'The resource usage type of the pod.', 'type' => 'string', 'example' => 'Normal'], 'Duration' => ['title' => '', 'description' => 'The running duration of the pod.', 'type' => 'number', 'format' => 'double', 'example' => ''], 'NodeName' => ['title' => '', 'description' => 'The node name.', 'type' => 'string', 'example' => ''], 'PodIps' => [ 'title' => '', 'description' => 'The IP addresses of the pod.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The IP address corresponding to each NIC.', '$ref' => '#/components/schemas/PodNetworkInterface', 'example' => ''], 'example' => '', ], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'RequestId' => ['title' => '', 'description' => 'The request ID, used for diagnostics and troubleshooting.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxxx'], 'Settings' => ['title' => '', 'description' => 'The additional parameter settings of the job.', '$ref' => '#/components/schemas/JobSettings', 'example' => ''], 'ClusterId' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'a*****'], 'ElasticSpec' => ['title' => '', 'description' => 'The elastic job parameters.', '$ref' => '#/components/schemas/JobElasticSpec', 'example' => ''], 'EnabledDebugger' => ['title' => '', 'description' => 'Indicates whether the debugger mode is enabled for the job.', 'type' => 'boolean', 'example' => 'false'], 'Priority' => ['title' => '', 'description' => 'The priority of the job. Valid values: 1 to 9.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'SubStatus' => ['title' => '', 'description' => 'The job substatus, such as preemption retry status.', 'type' => 'string', 'example' => 'Restarting'], 'RestartTimes' => ['title' => '', 'description' => 'The number of retries used and the maximum number of retries for the job.', 'type' => 'string', 'example' => '0/10'], 'StatusHistory' => [ 'title' => '', 'description' => 'The historical statuses.', 'type' => 'array', 'items' => ['description' => 'The historical statuses.', '$ref' => '#/components/schemas/StatusTransitionItem', 'title' => '', 'example' => ''], 'example' => '', ], 'TenantId' => ['title' => '', 'description' => 'The tenant ID.', 'type' => 'string', 'example' => 'GAR***W134'], 'ResourceType' => ['title' => '', 'description' => 'The resource type. Valid values: ECS, Lingjun, and ACS.', 'type' => 'string', 'example' => 'ECS'], 'CredentialConfig' => ['title' => '', 'description' => 'The access credential configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'example' => ''], 'Accessibility' => ['title' => '', 'description' => 'The visibility of the job. Valid values:'."\n" .'- PUBLIC: Visible to all users in the workspace.'."\n" .'- PRIVATE (default): Visible only to you and administrators in the workspace.', 'type' => 'string', 'example' => 'PRIVATE'], 'RestartRecord' => [ 'title' => '', 'description' => 'The job restart records.', 'type' => 'array', 'items' => [ 'title' => '', 'description' => 'The job restart records.', 'type' => 'object', 'properties' => [ 'DetailErrorInfoList' => [ 'title' => '', 'description' => 'The list of fault error messages.', 'type' => 'array', 'items' => [ 'title' => '', 'description' => 'The fault error message.', 'type' => 'object', 'properties' => [ 'AddJobLevelBlacklist' => ['title' => '', 'description' => 'The job-level blacklist.', 'type' => 'boolean', 'example' => ''], 'AddNodeToBlacklist' => ['title' => '', 'description' => 'The node blacklist.', 'type' => 'boolean', 'example' => ''], 'DetailErrorMsg' => ['title' => '', 'description' => 'The detailed error message.', 'type' => 'string', 'example' => ''], 'ErrorCode' => ['title' => '', 'description' => 'The error code.', 'type' => 'string', 'example' => ''], 'ErrorMsg' => ['title' => '', 'description' => 'The fault error message.', 'type' => 'string', 'example' => ''], 'ErrorSource' => ['title' => '', 'description' => 'The error source.', 'type' => 'string', 'example' => ''], 'Node' => ['title' => '', 'description' => 'The node.', 'type' => 'string', 'example' => ''], 'Pod' => ['title' => '', 'description' => 'The pod.', 'type' => 'string', 'example' => ''], 'TriggerRestart' => ['title' => '', 'description' => 'Indicates whether a restart was triggered.', 'type' => 'boolean', 'example' => ''], ], 'example' => '', ], 'example' => '', ], 'JobRestartCount' => ['title' => '', 'description' => 'The number of job restarts.', 'type' => 'integer', 'format' => 'int64', 'example' => ''], 'OccurPhase' => ['title' => '', 'description' => 'The phase in which the event occurred.', 'type' => 'string', 'example' => ''], 'OccurTime' => ['title' => '', 'description' => 'The time when the event occurred.', 'type' => 'string', 'example' => ''], 'Reason' => ['title' => '', 'description' => 'The reason.', 'type' => 'string', 'example' => ''], 'RestartDurationInSec' => ['title' => '', 'description' => 'The restart duration, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => ''], 'RestartFailReason' => ['title' => '', 'description' => 'The reason for the restart failure.', 'type' => 'string', 'example' => ''], 'RestartStatus' => ['title' => '', 'description' => 'The restart status.', 'type' => 'string', 'example' => ''], 'TriggerID' => ['title' => '', 'description' => 'TriggerID', 'type' => 'string', 'example' => ''], 'RestartLevelType' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''], ], 'example' => '', ], 'example' => '', ], 'JobReplicaStatuses' => [ 'title' => '', 'description' => 'The job replica statuses.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The job replica statuses.', '$ref' => '#/components/schemas/JobReplicaStatus', 'example' => ''], 'example' => '', ], 'GmtFinishTime' => ['title' => '', 'description' => 'The time when the job finished (UTC).', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z'], 'CustomEnvs' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Visible' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], 'RoleSystemEnvs' => [ 'type' => 'object', 'additionalProperties' => [ 'type' => 'object', 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], 'Description' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SchedulingStrategy' => [ 'title' => '', 'type' => 'string', 'example' => 'Auto', 'enum' => ['Auto', 'Binpack', 'Spread'], 'description' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'Get job details', 'changeSet' => [ ['createdAt' => '2025-11-18T03:50:35.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-10-23T08:44:29.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-09-15T09:29:03.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-10-23T02:31:33.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-07-09T04:17:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-24T10:35:10.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-05T02:50:41.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-03T08:01:46.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-12-08T08:06:18.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-07-21T11:12:45.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-01-11T07:54:01.000Z', 'description' => 'Response parameters changed'], ], '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' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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\\": false,\\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\\": false,\\n \\"IsChief\\": false,\\n \\"RestartPolicy\\": \\"ExitCode\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"QuotaId\\": \\"\\",\\n \\"ConsiderInSuccessPolicy\\": false,\\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\\": false,\\n \\"EnableDSWDev\\": false,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"standalone\\",\\n \\"CommandType\\": \\"config\\",\\n \\"EnableResourceEstimation\\": false,\\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\\": false,\\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\\": false,\\n \\"EnableAIMaster\\": false,\\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\\": false,\\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\\": false,\\n \\"AddNodeToBlacklist\\": false,\\n \\"DetailErrorMsg\\": \\"\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\",\\n \\"ErrorSource\\": \\"\\",\\n \\"Node\\": \\"\\",\\n \\"Pod\\": \\"\\",\\n \\"TriggerRestart\\": false\\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}","type":"json"}]', 'translator' => 'machine', ], 'GetJobEvents' => [ 'summary' => 'Obtains the system events of a job.', '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' => '', 'description' => 'The job ID. Call [ListJobs](~~459676~~) to get the job ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dlc-20210126170216-*******'], ], [ 'name' => 'MaxEventsNum', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The maximum number of events that can be returned. Default value: 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '100', 'default' => '1'], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The start time (UTC) of the time range for querying events. The default value is 7 days ago.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time (UTC) of the time range for querying events. The default value is the current time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T18:00:00Z'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The details of the returned system events.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-******'], 'Events' => [ 'title' => '', 'description' => 'The events.'."\n", 'type' => 'array', 'items' => ['description' => 'The content of the event.'."\n", 'type' => 'string', 'example' => '2021-01-28 14:07:24 Created pod: dlc-20210128140506-oms3s46wcfl6g-worker-0', 'title' => ''], 'example' => '', ], 'RequestId' => ['title' => '', 'description' => 'The request ID, which can be used for troubleshooting.'."\n", 'type' => 'string', 'example' => '78F6FCE2-278F-4C4A-A6B7-DD8ECEA9C456'], ], 'title' => '', 'example' => '', ], ], ], '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":"dlc-20210126170216-******\\n2021-01-28 14:07:24 Created pod: dlc-20210128140506-oms3s46wcfl6g-worker-0","errorExample":""}]', 'title' => 'GetJobEvents', 'changeSet' => [ ['createdAt' => '2023-03-22T06:25:27.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobEvents', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobEvents'], ], ], ], 'GetJobMetrics' => [ 'summary' => 'Obtains the monitoring data of a job, including the CPU, GPU, and memory utilization, network, and disk read/write rate. ⚠️ Note: Except for pay-as-you-go tasks based on general-purpose computing resources, all task types are connected to CloudMonitor. Use the CloudMonitor API to call related monitoring. The overwritten features in the original API are no longer maintained. For more information, see \\\\[Training monitoring and alerting]\\\\(https://www.alibabacloud.com/help/zh/pai/user-guide/training-monitoring-and-alerting).', 'path' => '/api/v1/jobs/{JobId}/metrics', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '21204', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The job ID. You can call [ListJobs](~~459676~~) to query all job IDs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*******'], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The beginning of the time range to query monitoring data. The time is displayed in UTC. The default value is the time 1 hour before the current time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time of the time range to query monitoring data. The time is displayed in UTC. The default value is the current time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], ], [ 'name' => 'TimeStep', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The interval at which monitoring data is returned. Default value: 5. Unit: minutes.'."\n", 'type' => 'string', 'required' => false, 'example' => '5m'], ], [ 'name' => 'MetricType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The type of the monitoring metrics. Valid values:'."\n" ."\n" .'* GpuCoreUsage: GPU utilization'."\n" .'* GpuMemoryUsage: GPU memory utilization'."\n" .'* CpuCoreUsage: CPU utilization'."\n" .'* MemoryUsage: memory utilization'."\n" .'* NetworkInputRate: the network write in rate.'."\n" .'* NetworkOutputRate: the network write out rate'."\n" .'* DiskReadRate: the disk read rate'."\n" .'* DiskWriteRate: the disk write rate'."\n", 'type' => 'string', 'required' => true, 'example' => 'GpuMemoryUsage'], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The temporary token used for authentication.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eyXXXX-XXXX.XXXXX'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The monitoring data of the job.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-*******'], 'PodMetrics' => [ 'title' => '', 'description' => 'The monitoring metrics of the job.'."\n", 'type' => 'array', 'items' => ['description' => 'The monitoring metric of the job.'."\n", '$ref' => '#/components/schemas/PodMetric', 'title' => '', 'example' => ''], 'example' => '', ], 'RequestId' => ['title' => '', 'description' => 'The request ID. You can troubleshoot issues based on the request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'example' => '', ], ], ], '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":"\\n dlc-20210126170216-*******\\n \\n dlc-20210329110128-******-worker-0\\n \\n \\n 23.45\\n \\n \\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', 'title' => 'GetJobMetrics', 'changeSet' => [ ['createdAt' => '2021-04-23T06:37:52.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobMetrics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobMetrics'], ], ], ], 'GetJobSanityCheckResult' => [ 'summary' => 'Obtains specified job sanity check result in a Deep Learning Containers (DLC) job.', 'path' => '/api/v1/jobs/{JobId}/sanitycheckresult', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '203880', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['description' => 'The job ID. For more information about how to obtain a job ID, see [ListJobs](~~459676~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlcl5qxoxxxxx5iq', 'title' => ''], ], [ 'name' => 'SanityCheckNumber', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The nth time for which the job sanity check is performed.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'SanityCheckPhase', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The phase in which the job sanity check is performed.'."\n" ."\n" .'* CheckInit'."\n" .'* DeviceCheck'."\n" .'* SingleNodeCommCheck'."\n" .'* TwoNodeCommCheck'."\n" .'* AllNodeCommCheck'."\n", 'type' => 'string', 'required' => false, 'example' => 'DeviceCheck', 'title' => ''], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['description' => 'The token information for job sharing. For more information about how to obtain the token information, see [GetToken](~~2557812~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'eyJhbG******zI1NiIsInR5cCI6IkpXVCJ9.eyJle****jE3MDk1Mzk0NDIsImlhdCI6MTcwODkzNDY0MiwidXNlcl9pZCI6IjE3NTgwNTQxNjI0Mzg2NTUiLCJ0YXJnZXRfaWQiOiJkbGM1OGh1a2xyYzZwdGMyIiwidGFyZ2V0X3R5cGUiOiJqb2IifQ.GNL7jo6****mgKKv0QeGIYgvBufSU-PH_EQttX****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The specified job sanity check result.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-xxxxxx', 'title' => ''], 'SanityCheckResult' => [ 'description' => 'The job sanity check result.'."\n", 'type' => 'array', 'items' => ['description' => 'The phase in which the job sanity check is performed. Valid values:'."\n" ."\n" .'* Phase'."\n" .'* Message'."\n" .'* StartedAt'."\n" .'* FinishedAt'."\n" .'* Status'."\n" .'* CheckNumber'."\n", '$ref' => '#/components/schemas/SanityCheckResultItem', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], 'RequestID' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B3789344-F1xxxBE-5xx2-A04D-xxxxx', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxx\\",\\n \\"SanityCheckResult\\": [\\n {\\n \\"Phase\\": \\"CheckInit\\",\\n \\"Message\\": \\"\\",\\n \\"Status\\": \\"Succeeded\\",\\n \\"StartedAt\\": \\"2023-11-30T16:47:30.343005+08:00\\",\\n \\"FinishedAt\\": \\"2023-11-30T16:47:30.378817+08:00\\",\\n \\"CheckNumber\\": 1\\n }\\n ],\\n \\"RequestID\\": \\"B3789344-F1xxxBE-5xx2-A04D-xxxxx\\"\\n}","type":"json"}]', 'title' => 'GetJobSanityCheckResult', 'changeSet' => [ ['createdAt' => '2024-02-26T03:31:14.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-01-08T08:09:54.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobSanityCheckResult', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobSanityCheckResult'], ], ], ], 'GetJobTemplate' => [ 'path' => '/api/v1/jobtemplates/{TemplateId}', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'path', 'schema' => ['description' => 'The ID of the job template.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'title' => '', 'example' => 'tplmceolmf2****'], ], [ 'name' => 'Version', 'in' => 'query', 'schema' => ['description' => 'The version to retrieve. If omitted, the default version is returned. Specify `all` to retrieve all versions.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'all'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The ID of the job template.', 'type' => 'string', 'title' => '', 'example' => 'tplmceolmf2****'], 'TemplateName' => ['description' => 'The name of the job template.', 'type' => 'string', 'title' => '', 'example' => 'job-template-example-1778047****'], 'Description' => ['description' => 'A description of the job template.', 'type' => 'string', 'title' => '', 'example' => 'job template description'], 'Metadata' => ['description' => 'A collection of user-defined key-value pairs.', 'type' => 'object', 'title' => '', 'example' => '{}'], 'UserId' => ['description' => 'The ID of the user who created the job template.', 'type' => 'string', 'title' => '', 'example' => '20**************26'], 'WorkspaceId' => ['description' => 'The ID of the workspace that contains the job template.', 'type' => 'string', 'title' => '', 'example' => '4***9'], 'TenantId' => ['description' => 'The ID of the tenant that owns the job template.', 'type' => 'string', 'title' => '', 'example' => '142388383837****'], 'DefaultVersion' => ['description' => 'The default version of the job template.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'GmtCreateTime' => ['description' => 'The time the job template was created.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-01-08T14:17:55Z'], 'GmtModifyTime' => ['description' => 'The time the job template was last modified.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-03-03T05:48:02Z'], 'ModifiedBy' => ['description' => 'The ID of the user who last modified the job template.', 'type' => 'string', 'title' => '', 'example' => '20**************26'], 'Versions' => [ 'description' => 'An array of template versions. This array contains only one version if a specific version is requested, or all versions if `all` is specified.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Version' => ['description' => 'The version number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'Content' => ['description' => 'The configuration of the version, in JSON format.', 'type' => 'any', 'title' => '', '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' => ['description' => 'The field constraint rules. The key is a JSONPath expression and the value is a constraint type.', 'type' => 'object', 'title' => '', 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], 'CreatedBy' => ['description' => 'The ID of the user who created the version.', 'type' => 'string', 'title' => '', 'example' => '20**************26'], 'GmtCreateTime' => ['description' => 'The time the version was created.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-01-08T14:17:55Z'], ], 'description' => 'Details of a template version.', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of versions returned. This value is 1 if a specific version is queried, or the total count if all versions are queried.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '100'], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => 'Details of the job template.', 'title' => '', 'example' => '', ], ], ], 'title' => 'GetJobTemplate', 'summary' => 'Retrieves the details of a job template.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'GetMetrics' => [ 'summary' => 'Retrieve metrics data.', 'path' => '/api/v1/cms/metrics', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '203098', 'abilityTreeNodes' => ['FEATURElearn8Y18OQ'], ], 'parameters' => [ [ 'name' => 'Namespace', 'in' => 'query', 'schema' => ['description' => 'The namespace for cloud service monitoring data. For more information about namespaces, see cloud service monitoring metrics.', 'type' => 'string', 'required' => false, 'example' => 'acs_pai_dlc', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID.', 'type' => 'string', 'required' => false, 'example' => 'dlckjd5hm84tmjec', 'title' => ''], ], [ 'name' => 'Dimensions', 'in' => 'query', 'schema' => ['description' => '(Required) Request parameter.', 'type' => 'string', 'required' => false, 'example' => '[{\\"jobId\\":\\"dlcdpfpc96mh63mg\\",\\"pod\\":\\"dlcdpfpc96mh63mg-worker-748\\",\\"regionId\\":\\"cn-wulanchabu\\",\\"userId\\":\\"1458867964644701\\"}]', 'title' => ''], ], [ 'name' => 'Length', 'in' => 'query', 'schema' => ['description' => 'The number of records per query for paged queries. Default value: 1000.', 'type' => 'string', 'required' => false, 'example' => '5000', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the query. Default value: current time.', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The statistical period for monitoring data. Unit: seconds. Valid values: 15, 60, 900, and 3600.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination cursor token. If you do not set this parameter, the first page of data is returned. When a NextToken value is returned, more data is available. Use the returned NextToken as a parameter in your next request to retrieve the next page. Repeat until NextToken returns null, which means all data has been retrieved.', 'type' => 'string', 'required' => false, 'example' => '2c6b65b6f9d625d4716568ca19b2064be0b5e8707e68181f', 'title' => ''], ], [ 'name' => 'MetricName', 'in' => 'query', 'schema' => ['description' => 'Metric name. Not filled. Not in use.', 'type' => 'string', 'required' => false, 'example' => 'JOB_MEMORY_FREE', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the monitoring data query interval (UTC). Default value: one hour ago.', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z', 'title' => ''], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['description' => 'A temporary token used for authentication.', 'type' => 'string', 'required' => false, 'example' => 'eyXXXX-XXXX.XXXXX', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'Id of the request', 'type' => 'string', 'title' => '', 'example' => 'AAAAAV3MpHK1AP0pfERHZN5pu6lESTRpd5hnHNnmKOP/+w9F'], 'Success' => ['description' => 'Indicates whether the operation succeeded. Valid values: true (success) and false (failure).', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'DataPoints' => ['description' => 'The monitoring metric data.', 'type' => 'string', 'example' => '[{\'Content\': \'\', \'OperationName\': \'purchase\', \'Success\': 1, \'Id\': \'217\', \'LogDatetime\': 1687679582923}]', 'title' => ''], 'Code' => ['description' => 'The status code. A value of 200 indicates success.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'Detailed result message.', 'type' => 'string', 'example' => 'Success.', 'title' => ''], 'Period' => ['description' => 'The statistical period for monitoring data. Valid values: 15, 60, 900, and 3600. Unit: seconds. If you do not specify a statistical period, the system uses the reporting period registered for the metric. Each cloud service metric (MetricName) may have a different statistical period. For more information, see cloud service monitoring metrics.', 'type' => 'string', 'example' => '5', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'title' => '', 'description' => 'Schema of Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetMetrics', 'description' => '## Request description'."\n" ."\n" .'- This API retrieves monitoring metrics for a specific job (JobId) or dimensions under a given namespace.'."\n" ."\n" .'- It supports custom time ranges. By default, it returns data from the last hour.'."\n" ."\n" .'- Select different time intervals (Period) to obtain data points with finer or coarser granularity.'."\n" ."\n" .'- To paginate through large datasets, use the `NextToken` parameter.'."\n" ."\n" .'- The `MetricName` parameter is required and specifies the monitoring metric to query.'."\n" ."\n" .'- For advanced features or specific metric types, see the related documentation.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'paidlc:GetMetrics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'GetPodEvents' => [ 'summary' => 'Obtains the system events of a specific node in a job to locate and troubleshoot issues.', 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/events', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '13117', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'allowEmptyValue' => true, 'schema' => ['title' => '', 'description' => 'The job ID. Call [ListJobs](~~459676~~) to get the job ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*****'], ], [ 'name' => 'PodId', 'in' => 'path', 'allowEmptyValue' => true, 'schema' => ['title' => '', 'description' => 'The node ID. Call [GetJob](~~459677~~) to get the node ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-mtl37ge7g****-chief-0'], ], [ 'name' => 'PodUid', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The node UID. Call [GetJob](~~459677~~) to get the node UID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-20210126170216-*****-chief-0'], ], [ 'name' => 'MaxEventsNum', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['title' => '', 'description' => 'The maximum number of events that can be returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The start time (UTC).'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time (UTC).'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The details of the job event.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-*****'], 'PodId' => ['title' => '', 'description' => 'The node ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*****-chief-0'], 'PodUid' => ['description' => 'The node UID.'."\n", 'type' => 'string', 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268', 'title' => ''], 'Events' => [ 'title' => '', 'description' => 'The events returned.'."\n", 'type' => 'array', 'items' => ['description' => 'The event.'."\n", 'type' => 'string', 'example' => '2021-01-28 14:07:45 Successfully pulled image.', 'title' => ''], 'example' => '', ], 'RequestId' => ['title' => '', 'description' => 'The request ID, which can be used for troubleshooting.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'example' => '', ], ], ], '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":"dlc-20210126170216-*****\\ndlc-20210126170216-*****-chief-0\\n2021-01-28 14:07:45 Successfully pulled image.\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E","errorExample":""}]', 'title' => 'GetPodEvents', 'changeSet' => [ ['createdAt' => '2021-02-01T09:20:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetPodEvents', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodEvents'], ], ], ], 'GetPodLogs' => [ 'summary' => 'Obtains or downloads the logs of a node for a task. The logs are from the stdout and stderr of the system and user scripts.', 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/logs', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '13118', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The job ID. For more information about how to obtain a job ID, see [ListJobs](~~459676~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*****'], ], [ 'name' => 'PodId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The node ID. For more information about how to obtain a node ID, see [GetJob](~~459677~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210126170216-*****-chief-0'], ], [ 'name' => 'PodUid', 'in' => 'query', 'schema' => [ 'description' => 'The node UID. For more information about how to obtain a node UID, see [GetJob](~~459677~~).'."\n", 'type' => 'string', 'required' => false, 'enumValueTitles' => [], 'example' => 'fe846462-af2c-4521-bd6f-96787a57****', 'title' => '', ], ], [ 'name' => 'MaxLines', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The maximum number of log entries. Default value: 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The start time of the query. Default value: 7 days ago.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time of the query. Default value: current time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2020-11-08T17:00:00Z'], ], [ 'name' => 'DownloadToFile', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to download the log file. Default value: false. Valid values:'."\n" ."\n" .'* false'."\n" .'* true'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-******'], 'PodId' => ['title' => '', 'description' => 'The node ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-****-chief-0'], 'PodUid' => ['title' => '', 'description' => 'The instance UID.'."\n", 'type' => 'string', 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268'], 'Logs' => [ 'title' => '', 'description' => 'The logs.'."\n", 'type' => 'array', 'items' => ['description' => 'The log.'."\n", 'type' => 'string', 'example' => '2021-01-28 14:07:45 My Job started.', 'title' => ''], 'example' => '', ], 'RequestId' => ['title' => '', 'description' => 'The request ID which is used for diagnostics and Q\\&A.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'example' => '', ], ], ], '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":"dlc-20210126170216-******\\ndlc-20210126170216-****-chief-0\\n2021-01-28 14:07:45 My Job started.\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E","errorExample":""}]', 'title' => 'GetPodLogs', 'changeSet' => [ ['createdAt' => '2021-02-01T09:20:04.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetPodLogs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPodLogs'], ], ], ], 'GetRayDashboard' => [ 'path' => '/api/v1/jobs/{jobId}/rayDashboard', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'jobId', 'in' => 'path', 'schema' => ['description' => 'Job ID', 'type' => 'string', 'example' => 'dlc1k7426goc7bvy', 'title' => '', 'required' => false], ], [ 'name' => 'isShared', 'in' => 'query', 'schema' => [ 'description' => 'Set to true to generate a shareable link. If you set this parameter to true, you must also specify the token parameter.', 'type' => 'boolean', 'enum' => ['true', 'false'], 'title' => '', 'required' => false, 'example' => 'false', ], ], [ 'name' => 'token', 'in' => 'query', 'schema' => ['description' => 'The token returned by GetToken', 'type' => 'string', 'example' => 'some_token_value', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Response schema', 'type' => 'object', 'properties' => [ 'url' => ['description' => 'The Ray Dashboard URL', 'type' => 'string', 'example' => 'https://pre-pai-dlc-proxy-cn-hangzhou.aliyun.com/ray/dashboard/dlc1k7426goc7bvy', 'title' => ''], 'metricsEnabled' => [ 'description' => 'Indicates whether Cloud Monitor is enabled for this dashboard to display Ray metrics', 'type' => 'string', 'enum' => ['true', 'false'], 'title' => '', 'example' => 'true', ], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetRayDashboard', 'summary' => 'Retrieve the Ray Dashboard URL.', 'description' => 'Before you use this operation, review the PAI-DLC billing model and [pricing](~~171758~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"url\\": \\"https://pre-pai-dlc-proxy-cn-hangzhou.aliyun.com/ray/dashboard/dlc1k7426goc7bvy\\",\\n \\"metricsEnabled\\": \\"true\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'GetRayHistoryServer' => [ 'summary' => 'Retrieves the details of a specific RayHistoryServer.', 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'RayHistoryServerId', 'in' => 'path', 'schema' => ['description' => 'The ID of the Ray history server.', 'type' => 'string', 'required' => true, 'example' => 'rhsxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'WorkspaceId' => ['description' => 'The ID of the workspace to which the job belongs.', 'type' => 'string', 'example' => '46099', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the job.', 'type' => 'string', 'example' => 'my-ray-history-server', 'title' => ''], 'UserId' => ['description' => 'The ID of the user who creates the job.', 'type' => 'string', 'example' => '123456789', 'title' => ''], 'Username' => ['description' => 'The username of the user who creates the job.', 'type' => 'string', 'example' => 'myusername', 'title' => ''], 'TenantId' => ['description' => 'The tenant ID.', 'type' => 'string', 'example' => '10**************14', 'title' => ''], 'RayHistoryServerId' => ['description' => 'The ID of the Ray history server.', 'type' => 'string', 'example' => 'rhsxxx', 'title' => ''], 'RayHistoryServerUrl' => ['description' => 'The URL of the Ray dashboard.', 'type' => 'string', 'example' => 'https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/', 'title' => ''], 'StoragePath' => ['description' => 'The storage path of Ray logs.', 'type' => 'string', 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp', 'title' => ''], 'ResourceId' => ['description' => 'The ID of the resource group to which the job belongs.', 'type' => 'string', 'example' => 'quotaxxx', 'title' => ''], 'ResourceName' => ['description' => 'The name of the resource on which the job runs.', 'type' => 'string', 'example' => 'my-resource-name', 'title' => ''], 'Status' => ['description' => 'The status of the job.', 'type' => 'string', 'example' => 'running', 'title' => ''], 'ReasonCode' => ['description' => 'The code of the job status.', 'type' => 'string', 'example' => 'NotFound', 'title' => ''], 'ReasonMessage' => ['description' => 'The message that describes the job status.', 'type' => 'string', 'example' => '""', 'title' => ''], 'GmtCreateTime' => ['description' => 'The time when the job was created. The time is in UTC.', 'type' => 'string', 'example' => '2021-01-12T14:35:01Z', 'title' => ''], 'GmtModifyTime' => ['description' => 'The time when the job was last modified. The time is in UTC.', 'type' => 'string', 'example' => '2021-01-12T14:36:00Z', 'title' => ''], 'GmtFinishTime' => ['description' => 'The time when the job is complete. The time is in UTC.', 'type' => 'string', 'example' => '2021-01-12T15:36:08Z', 'title' => ''], 'MaxRuntimeMinutes' => ['description' => 'The maximum running time. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], 'EcsSpec' => ['description' => 'The specifications of the public resource group. For a list of supported instance types, see [PAI-DLC billing](~~171758~~).>Pricing varies based on the specifications.>', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], 'Accessibility' => ['description' => 'The visibility of the job.', 'type' => 'string', 'example' => 'PRIVATE', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRayHistoryServer.NotFound', 'errorMessage' => 'The specified RayHistoryServer does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetRayHistoryServer', 'description' => 'Before you call this API operation, make sure that you understand the billing methods and [pricing](~~171758~~) of PAI-DLC.>The total length of the parameters for the CreateJob API, including system-generated parameters, cannot exceed 65,536 bytes.>', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetRayHistoryServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'GetTensorboard' => [ 'summary' => 'Retrieves the details of a Tensorboard instance.', 'path' => '/api/v1/tensorboards/{TensorboardId}', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '20371', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID. Refer to [ListWorkspaces](~~449124~~) to obtain the workspace ID..', 'type' => 'string', 'example' => '46099', 'required' => false], ], [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The Tensorboard ID. Refer to [ListTensorboards](~~459689~~) to obtain the Tensorboard ID.', 'type' => 'string', 'required' => true, 'example' => 'tb-20210114104214-xxxxx', 'maxLength' => 256, 'minLength' => 1], ], [ 'name' => 'JodId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The job ID. Refer to [ListJobs](~~459676~~) to obtain the job ID.', 'type' => 'string', 'example' => 'dlc-xxxxxxxx', 'required' => false], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['description' => 'The sharing token. Specify this parameter to use the sharing token to obtain the permission to view a specific Tensorboard job. You can extract the token from the URL returned by calling [GetTensorboardSharedUrl](~~2557813~~).', 'type' => 'string', 'required' => false, 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e'."\n" .'yJleHAiOjE2OTUyODA0NTMsImlhdCI6MTY5NTE5NDA1MywidXNlcl9pZCI6IjExN'."\n" .'Tc3MDMyNzA5OTQ5MDEiLCJ0YXJnZXRfaWQiOiJ0YjRrOGxjNXhmdTM2b3B0Iiw'."\n" .'idGFyZ2V0X3R5cGUiOiJ0ZW5zb3Jib2FyZCJ9.6eT68J-KMBwwfN2d7fj7u6vyPcf0erfqYeizd2N****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => ['description' => 'The Tensorboard details.', '$ref' => '#/components/schemas/Tensorboard', 'title' => '', 'example' => ''], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'Get tensorboard details', 'changeSet' => [ ['createdAt' => '2023-08-11T05:54:35.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboard'], ], ], ], 'GetTensorboardSharedUrl' => [ 'summary' => 'Obtains the shareable link of a TensorBoard task. The link contains digital tokens. You can use a shareable link to access a TensorBoard task.', 'path' => '/api/v1/tensorboards/{TensorboardId}/sharedurl', 'methods' => ['get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '189994', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['description' => 'The ID of the TensorBoard task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tbxxxxxx', 'title' => ''], ], [ 'name' => 'ExpireTimeSeconds', 'in' => 'query', 'schema' => ['description' => 'The validity period of the shareable link. Unit: seconds. Maximum value: 604800.'."\n", 'type' => 'string', 'required' => false, 'example' => '86400', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID which is used for troubleshooting.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], 'TensorboardSharedUrl' => ['description' => 'The shareable link of the TensorBoard task.'."\n", 'type' => 'string', 'example' => 'http://pai-dlc-proxy-xxx.alicyuncs.com/xxx/xxx/token/', 'title' => ''], ], 'example' => '', ], ], ], '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' => 'GetTensorboardSharedUrl', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetTensorboardSharedUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTensorboardSharedUrl'], ], ], ], 'GetToken' => [ 'summary' => 'Obtains the sharing token of a DLC job. This token is used to view the information about the shared job.', 'path' => '/api/v1/tokens', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '44246', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The type of the job that you want to share. Valid values: job and tensorboard.'."\n", 'type' => 'string', 'required' => false, 'example' => 'job'], ], [ 'name' => 'TargetId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the job to be shared.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc*******'], ], [ 'name' => 'ExpireTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The time when the share link expires. Default value: 604800. Minimum value: 0. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The results returned.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID, which is used to troubleshoot issues.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxxx'], 'Token' => ['title' => '', 'description' => 'The sharing token, used to view the information about the shared job.'."\n", 'type' => 'string', 'example' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9*****'], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxxxx\\",\\n \\"Token\\": \\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9*****\\"\\n}","type":"json"}]', 'title' => 'GetToken', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetToken', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetToken'], ], ], ], 'GetWebTerminal' => [ 'summary' => 'Provides methods and steps to obtain a HTTP link for accessing a container.', 'path' => '/api/v1/jobs/{JobId}/pods/{PodId}/webterminal', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-20210126170216-******', 'title' => ''], ], [ 'name' => 'PodId', 'in' => 'path', 'schema' => ['description' => 'The ID of the pod in the task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-20210126170216-****-chief-0', 'title' => ''], ], [ 'name' => 'PodUid', 'in' => 'query', 'schema' => ['description' => 'The pod UID.'."\n", 'type' => 'string', 'required' => false, 'example' => '94a7cc7c-0033-48b5-85bd-71c63592c268', 'title' => ''], ], [ 'name' => 'IsShared', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to create a shareable link to access the container. Valid values:'."\n" ."\n" .'* true: returns a shareable link to access the container. The link will expire after 30 seconds and can only be used once. After you access the container by using the link, other requests that use this link to access the container become invalid.'."\n" .'* false: returns a common shareable link to access the container. If you use a common shareable link to access a container, Alibaba Cloud identity authentication is required. The link will expire after 30 seconds.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID which is used for diagnostics and Q\\&A.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], 'WebTerminalUrl' => ['description' => 'The WebSocket URI for accessing the container. You must build a WebSocket client. For more information about the communication format, see the following code:'."\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" .' // Return the following information in the backend.'."\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" .' // Enter the following code in the console.'."\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://*****', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"WebTerminalUrl\\": \\"wss://*****\\"\\n}","type":"json"}]', 'title' => 'GetWebTerminal', 'changeSet' => [ ['createdAt' => '2023-11-07T07:13:57.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-21T08:19:02.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetWebTerminal', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetWebTerminal'], ], ], ], 'ListEcsSpecs' => [ 'summary' => 'Queries the list of supported instance types.', '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' => 'Filter by accelerator type. Valid values:'."\n" ."\n" .'* CPU'."\n" .'* GPU'."\n", 'type' => 'string', 'required' => false, 'example' => 'GPU'], ], [ 'name' => 'SortBy', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The field based on which the results are sorted. Valid values:'."\n" ."\n" .'* CPU'."\n" .'* GPU'."\n" .'* Memory'."\n" .'* GmtCreateTime'."\n", 'type' => 'string', 'required' => false, 'example' => 'GPU'], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The sorting order. Valid values:'."\n" ."\n" .'* desc: descending order.'."\n" .'* asc: ascending order.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desc'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The number of the page to query. The start value is 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'InstanceTypes', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The instance types to query. Separate the types with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large,ecs.g6.xlarge'], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The type of the resource. Valid values:'."\n" ."\n" .'* ECS'."\n" .'* Lingjun'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], 'EcsSpecs' => [ 'title' => '', 'description' => 'The list of ECS specifications.'."\n", 'type' => 'array', 'items' => ['description' => 'The specification parameters.'."\n", '$ref' => '#/components/schemas/EcsSpec', 'title' => '', 'example' => ''], 'example' => '', ], 'TotalCount' => ['title' => '', 'description' => 'The number of types that meet the filter conditions.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'], ], 'example' => '', ], ], ], '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' => 'ListEcsSpecs', 'changeSet' => [ ['createdAt' => '2024-01-24T10:35:10.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-08-25T03:51:33.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEcsSpecs'], ], ], ], 'ListJobSanityCheckResults' => [ 'summary' => 'Obtains the results of all sanity checks for a DLC job.', 'path' => '/api/v1/jobs/{JobId}/sanitycheckresults', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '204035', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['description' => 'The job ID. Call [ListJobs](~~459676~~) to get the job ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dlc-20210114104214-xxxx', 'title' => ''], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => ['description' => 'The sorting order:'."\n" ."\n" .'* desc: descending order'."\n" .'* asc: ascending order'."\n", 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The results of all sanity checks for a DLC job.'."\n", 'type' => 'object', 'properties' => [ 'SanityCheckResults' => [ 'description' => 'The sanity check results.'."\n", 'type' => 'array', 'items' => [ 'description' => 'A complete sanity check result.'."\n", 'type' => 'array', 'items' => ['description' => 'The sanity check result of a check phase. Valid values:'."\n" ."\n" .'* Phase: the check phase'."\n" .'* Message: the check result message'."\n" .'* StartedAt: the start time of the check'."\n" .'* FinishedAt: the end time of the check'."\n" .'* Status: the check status'."\n" .'* CheckNumber: the sequence number of the check'."\n", '$ref' => '#/components/schemas/SanityCheckResultItem', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of results that meet the filter conditions.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestID' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1AC9xxx-3xxx-5xxx2-xxxx-FA5', 'title' => ''], ], 'example' => '', ], ], ], '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' => 'ListJobSanityCheckResults', 'changeSet' => [ ['createdAt' => '2024-02-26T03:31:14.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:ListJobSanityCheckResults', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobSanityCheckResults'], ], ], ], 'ListJobTemplates' => [ 'path' => '/api/v1/jobtemplates', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the workspace.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '4***9'], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['description' => 'The ID of the creator. Use this parameter to filter results by a specific creator.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '20**************02'], ], [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The job template ID. Use this parameter to filter for an exact match.', 'type' => 'string', 'maxLength' => 128, 'title' => '', 'required' => false, 'example' => 'tpl1****6jcq2q'], ], [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The job template name. Use this parameter to filter for a partial match.', 'type' => 'string', 'maxLength' => 256, 'title' => '', 'required' => false, 'example' => 'job-template-example-1778047****'], ], [ 'name' => 'SortBy', 'in' => 'query', 'schema' => [ 'description' => 'The field to sort the results by. Default value: `GmtCreateTime`.', 'type' => 'string', 'default' => 'GmtCreateTime', 'enum' => ['GmtCreateTime', 'GmtModifyTime', 'TemplateName'], 'title' => '', 'required' => false, 'example' => 'GmtCreateTime', ], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => [ 'description' => 'The sort order. Valid values: `asc` for ascending and `desc` for descending. Default value: `desc`.', 'type' => 'string', 'default' => 'desc', 'enum' => ['asc', 'desc'], 'title' => '', 'required' => false, 'example' => 'desc', ], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number to retrieve.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'default' => '1', 'title' => '', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of results to return per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '20', 'title' => '', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'JobTemplates' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The ID of the job template.', 'type' => 'string', 'title' => '', 'example' => 'tpl1r5g9ait7****'], 'TemplateName' => ['description' => 'The name of the job template.', 'type' => 'string', 'title' => '', 'example' => 'job-template-1772516653885'], 'Description' => ['description' => 'The description of the job template.', 'type' => 'string', 'title' => '', 'example' => 'job description'], 'Metadata' => ['description' => 'Custom metadata, represented as a collection of key-value pairs.', 'type' => 'object', 'title' => '', 'example' => '{}'], 'UserId' => ['description' => 'The ID of the creator.', 'type' => 'string', 'title' => '', 'example' => '20**************26'], 'WorkspaceId' => ['description' => 'The ID of the workspace.', 'type' => 'string', 'title' => '', 'example' => '88****'], 'TenantId' => ['description' => 'The ID of the tenant.', 'type' => 'string', 'title' => '', 'example' => '142388383837****'], 'DefaultVersion' => ['description' => 'The default version number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'GmtCreateTime' => ['description' => 'The creation time of the template, in UTC and ISO 8601 format.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-01-23T07:29:06Z'], 'GmtModifyTime' => ['description' => 'The modification time of the template, in UTC and ISO 8601 format.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2026-03-03T05:48:02Z'], 'ModifiedBy' => ['description' => 'The ID of the modifier.', 'type' => 'string', 'title' => '', 'example' => '20**************26'], ], 'description' => 'The details of a job template.', 'title' => '', 'example' => '', ], 'title' => '', 'description' => 'The list of job templates.', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of job templates that match the filter conditions.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '100'], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'PageSize' => ['description' => 'The number of results on the current page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '50'], 'RequestId' => ['description' => 'The unique ID of the request. Use this ID to troubleshoot issues.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D*****'], ], 'description' => 'The response body.', 'title' => '', 'example' => '', ], ], ], 'title' => 'ListJobTemplates', 'summary' => 'Lists job templates in a specified workspace. You can paginate, sort, and filter the results by creator, `TemplateId`, or `TemplateName`.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'paidlc:ListJobTemplates', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'ListJobs' => [ 'path' => '/api/v1/jobs', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '13122', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'DisplayName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The job name. Supports fuzzy match and is case-insensitive. Wildcards are not supported.'."\n" .'For example, entering test matches test-job1, job-test, job-test2, or job-Test, but does not match job-t1.'."\n" .'Default value: empty, which indicates all job names.', 'type' => 'string', 'required' => false, 'example' => 'tf-mnist-test', 'maxLength' => 1024], ], [ 'name' => 'JobType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The job type. Default value: empty, which indicates all types. Valid values:'."\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' => 'The job status. Valid values:'."\n" .'- Creating'."\n" .'- Queuing'."\n" .'- Bidding (currently only for Lingjun Spot jobs)'."\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' => 'The start time of the query range. Jobs are filtered by creation time. Default value: the current time minus 7 days. If neither StartTime nor EndTime is specified, jobs created in the last 7 days are returned.', 'type' => 'string', 'required' => false, 'example' => '2025-04-16T07:25:34Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time of the query range. Jobs are filtered by creation time. Default value: the current time.', 'type' => 'string', 'required' => false, 'example' => '2025-04-16T07:26:41Z'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The page number for paging. Minimum value: 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The number of jobs to return per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '50', 'default' => '10'], ], [ 'name' => 'SortBy', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The field by which to sort results. Valid values:'."\n" ."\n" .'- DisplayName'."\n" .'- JobType'."\n" .'- Status'."\n" .'- GmtCreateTime'."\n" .'- GmtFinishTime', 'type' => 'string', 'required' => false, 'example' => 'GmtCreateTime'], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The sort order. Valid values:'."\n" ."\n" .'- desc: Descending order. This is the default value.'."\n" .'- asc: Ascending order.', 'enumValueTitles' => ['asc' => 'asc', 'desc' => 'desc'], 'type' => 'string', 'example' => 'desc', 'default' => 'desc', 'required' => false, ], ], [ 'name' => 'ShowOwn', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to return only jobs submitted by the current user.', 'type' => 'boolean', 'example' => 'true', 'default' => 'true', 'required' => false], ], [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID. For information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~).', 'type' => 'string', 'example' => '1****', 'required' => false], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The resource group ID. For details about how to obtain the dedicated resource group ID, see [Manage resource quotas](~~2651299~~).', 'type' => 'string', 'example' => 'r*****', 'required' => false], ], [ 'name' => 'BusinessUserId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The user ID associated with the job.', 'type' => 'string', 'example' => '16****', 'required' => false], ], [ 'name' => 'Caller', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The caller.', 'type' => 'string', 'example' => 'local', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The tags used for filtering.', 'type' => 'object', 'required' => false, 'additionalProperties' => ['description' => 'A single tag.', 'type' => 'string', 'example' => 'recommandation', 'title' => ''], 'example' => '', ], ], [ 'name' => 'PipelineId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Filters jobs created by the specified workflow ID.', 'type' => 'string', 'example' => 'flow-*******', 'required' => false], ], [ 'name' => 'FromAllWorkspaces', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to retrieve jobs across all workspaces. This parameter must be used together with `ShowOwn=true` to query jobs recently submitted by the current user.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. Fuzzy match is not supported. Case-insensitive. Wildcards are not supported.'."\n" .'Default value: empty, which indicates all job IDs.', 'type' => 'string', 'required' => false, 'example' => 'dlc********', 'title' => ''], ], [ 'name' => 'UserIdForFilter', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The user ID of the job submitter, used to filter the job list.', 'type' => 'string', 'required' => false, 'example' => '20**************'], ], [ 'name' => 'Username', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The username of the job submitter, used to filter the job list. Supports fuzzy match. Wildcards are not supported. Default value: empty, which indicates no filtering by username.', 'type' => 'string', 'required' => false, 'example' => 'test***'], ], [ 'name' => 'ResourceQuotaName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the resource quota, used to filter the job list. Supports fuzzy match. Wildcards are not supported. Default value: empty, which indicates no filtering by resource quota.', 'type' => 'string', 'required' => false, 'example' => 'quota***'], ], [ 'name' => 'Accessibility', 'in' => 'query', 'schema' => [ 'description' => 'The visibility of the job. Valid values:'."\n" .'- PUBLIC: Visible to all users in the workspace.'."\n" .'- PRIVATE (default): Visible only to you and administrators in the workspace.', 'enumValueTitles' => ['PUBLIC' => 'PUBLIC', 'PRIVATE' => 'PRIVATE'], 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => '', ], ], [ 'name' => 'OversoldInfo', 'in' => 'query', 'schema' => ['description' => 'The off-peak resource information. Valid values:'."\n" .'- ForbiddenQuotaOverSold'."\n" .'- ForceQuotaOverSold'."\n" .'- AcceptQuotaOverSold-true (true indicates the job actually used off-peak resources)'."\n" .'- AcceptQuotaOverSold-false (false indicates the job actually used guaranteed resources)', 'type' => 'string', 'required' => false, 'example' => 'ForbiddenQuotaOverSold', 'title' => ''], ], [ 'name' => 'PaymentType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Valid values:'."\n" .'- PrePaid: resource quota'."\n" .'- Spot: preemptible resources'."\n" .'- PostPaid: public resources', 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'JobIds', 'in' => 'query', 'schema' => ['description' => 'A list of job IDs separated by commas. If both JobIds and JobId are specified, JobId takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'dlc123abc', 'title' => ''], ], [ 'name' => 'DisplayNameSearchMode', 'in' => 'query', 'schema' => [ 'description' => 'The search mode for DisplayName. Default value: wildcard match.', 'enumValueTitles' => ['prefix' => 'prefix', 'fulltext' => 'fulltext', 'term' => 'term', 'wildcard' => 'wildcard'], 'type' => 'string', 'required' => false, 'example' => 'wildcard', 'title' => '', ], ], [ 'name' => 'ReasonSearch', 'in' => 'query', 'schema' => ['description' => 'Performs a full-text index retrieve in the node failed reason (reason) field. Supports Chinese and English tokenization.', 'type' => 'string', 'required' => false, 'example' => 'OOM', 'title' => ''], ], [ 'name' => 'UserCommandSearch', 'in' => 'query', 'schema' => ['description' => 'Performs a full-text index retrieve in the user command (user_command) field. Supports Chinese and English tokenization.', 'type' => 'string', 'required' => false, 'example' => 'python train.py', 'title' => ''], ], [ 'name' => 'ImageSearch', 'in' => 'query', 'schema' => ['description' => 'Performs a full-text index retrieve in the image (images) field. Supports Chinese and English tokenization.', 'type' => 'string', 'required' => false, 'example' => 'pytorch', 'title' => ''], ], [ 'name' => 'TimeRangeField', 'in' => 'query', 'schema' => ['description' => 'The time field used for StartTime/EndTime filtering. Default value: creation time.', 'type' => 'string', 'required' => false, 'example' => 'GmtFinishTime', 'title' => ''], ], [ 'name' => 'NumericRangeField', 'in' => 'query', 'schema' => ['description' => 'The field name for numeric range filtering. Must be used together with NumericRangeMin or NumericRangeMax.', 'type' => 'string', 'required' => false, 'example' => 'RequestGPU', 'title' => ''], ], [ 'name' => 'NumericRangeMin', 'in' => 'query', 'schema' => ['description' => 'The minimum value (inclusive) for numeric range filtering. Must be used together with NumericRangeField.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4 ', 'title' => ''], ], [ 'name' => 'NumericRangeMax', 'in' => 'query', 'schema' => ['description' => 'The maximum value (inclusive) for numeric range filtering. Must be used together with NumericRangeField.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '8', 'title' => ''], ], [ 'name' => 'EnableAssignNode', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to filter jobs that have designated node assignment enabled.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => '', ], ], [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The template ID, used to filter jobs created from the specified template.', 'type' => 'string', 'required' => false, 'example' => 'tmlabc123 ', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The job list.', 'type' => 'object', 'properties' => [ 'Jobs' => [ 'title' => '', 'description' => 'The job list.', 'type' => 'array', 'items' => ['description' => 'A single job.', '$ref' => '#/components/schemas/JobItem', 'title' => '', 'example' => ''], 'example' => '', ], 'TotalCount' => ['title' => '', 'description' => 'The total number of jobs that match the filter criteria.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'RequestId' => ['title' => '', 'description' => 'The request ID, used for diagnostics and troubleshooting.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'Retrieve job list', 'summary' => 'Retrieves a list of jobs with support for pagination, sorting, and conditional filtering.', 'changeSet' => [ ['createdAt' => '2025-10-17T07:03:51.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-09-09T06:27:28.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-05-07T12:37:04.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-01-09T12:43:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-11-21T12:36:46.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-04-09T02:18:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-01-12T05:43:52.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-12-14T10:35:38.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-11-29T12:19:51.000Z', 'description' => 'Request parameters changed'], ], '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' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"dlc-20210126170216-********\\",\\n \\"CredentialConfig\\": {\\n \\"EnableCredentialInject\\": false,\\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\\": false,\\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\\": false,\\n \\"IsChief\\": false,\\n \\"RestartPolicy\\": \\"ExitCode\\",\\n \\"SystemDisk\\": {\\n \\"Size\\": 0,\\n \\"Category\\": \\"\\",\\n \\"PerformanceLevel\\": \\"\\"\\n },\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"QuotaId\\": \\"\\",\\n \\"ConsiderInSuccessPolicy\\": false,\\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\\": false,\\n \\"EnableDSWDev\\": false,\\n \\"DataJuicerConfig\\": {\\n \\"ExecutionMode\\": \\"standalone\\",\\n \\"CommandType\\": \\"config\\",\\n \\"EnableResourceEstimation\\": false,\\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\\": false,\\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\\": false,\\n \\"EnableAIMaster\\": false,\\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}","type":"json"}]', ], 'ListRayHistoryServers' => [ 'summary' => 'Lists RayHistoryServer resources.', 'path' => '/api/v1/rayhistoryservers', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['description' => 'The workspace ID. For information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~)..', 'type' => 'string', 'required' => false, 'example' => '268', 'title' => ''], ], [ 'name' => 'DisplayName', 'in' => 'query', 'schema' => ['description' => 'The display name of the job.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The RayHistoryServer status. Valid values:'."\n" .'- Creating: being created.'."\n" .'- Queuing: waiting in queue.'."\n" .'- Running: running.'."\n" .'- Stopped: stopped.'."\n" .'- Failed: failed.', 'type' => 'string', 'required' => false, 'example' => 'running', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the page to return in a paged query. Paging starts from page 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of RayHistoryServer entries to return on each page in a paged query. Paging is used to return results in batches.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'SortBy', 'in' => 'query', 'schema' => ['description' => 'The field by which to sort the returned results. Valid values:'."\n" .'- DisplayName'."\n" .'- GmtCreateTime'."\n" .'- UserId'."\n" .'- ResourceId'."\n" .'- Status'."\n" .'- GmtModifyTime.', 'type' => 'string', 'required' => false, 'example' => 'GmtCreateTime', 'title' => ''], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => ['description' => 'The sort order. Valid values:'."\n" .'- desc: descending order.'."\n" .'- asc: ascending order.', 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], [ 'name' => 'ShowOwn', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return only the RayHistoryServer entries created by the current user.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time.', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the query range. The job creation time is used for filtering.', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z', 'title' => ''], ], [ 'name' => 'ModifiedAfter', 'in' => 'query', 'schema' => ['description' => 'Filters results by the time after which they were modified.', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T16:00:00Z', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID. For information about how to query the ID of a dedicated resource group, see [Manage resource quotas](~~2651299~~).', 'type' => 'string', 'required' => false, 'example' => 'quotaxxx', 'title' => ''], ], [ 'name' => 'PaymentType', 'in' => 'query', 'schema' => ['description' => 'The billing method. Valid values:'."\n" .'- PrePaid'."\n" .'- PostPaid.', 'type' => 'string', 'required' => false, 'example' => 'Postpaid', 'title' => ''], ], [ 'name' => 'IdPrefix', 'in' => 'query', 'schema' => ['description' => 'The ID prefix.', 'type' => 'string', 'required' => false, 'example' => '按ID前缀过滤', 'title' => ''], ], [ 'name' => 'UserIdForFilter', 'in' => 'query', 'schema' => ['description' => 'Filters results by user ID.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'Username', 'in' => 'query', 'schema' => ['description' => 'Filters results by username.', 'type' => 'string', 'required' => false, 'example' => 'myusername', 'title' => ''], ], [ 'name' => 'StoragePath', 'in' => 'query', 'schema' => ['description' => 'The storage path of Ray logs.', 'type' => 'string', 'required' => false, 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID, which is used for diagnostics and troubleshooting.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries that match the filter conditions.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RayHistoryServers' => [ 'description' => 'The list of RayHistoryServer entries.', 'type' => 'array', 'items' => [ 'description' => 'The list of RayHistoryServer entries.', 'type' => 'object', 'properties' => [ 'WorkspaceId' => ['description' => 'The workspace ID. For information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~)..', 'type' => 'string', 'example' => '153466', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the job.', 'type' => 'string', 'example' => 'AEB-RECHARGE-TASK-14478-1778466397-main-4-', 'title' => ''], 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '123456789', 'title' => ''], 'Username' => ['description' => 'The username.', 'type' => 'string', 'example' => 'myusername', 'title' => ''], 'TenantId' => ['description' => 'The tenant ID.', 'type' => 'string', 'example' => '1335237941080704', 'title' => ''], 'RayHistoryServerId' => ['description' => 'The ID of the created RayHistoryServer.', 'type' => 'string', 'example' => 'rhsxxx', 'title' => ''], 'RayHistoryServerUrl' => ['description' => 'Ray Dashboard URL。', 'type' => 'string', 'example' => 'https://rhsxxx-dashboard.dsw-gateway-cn-wulanchabu.data.aliyun.com/', 'title' => ''], 'StoragePath' => ['description' => 'The storage path of Ray logs.', 'type' => 'string', 'example' => 'oss://bucket-test-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/tmp', 'title' => ''], 'ResourceId' => ['description' => 'The resource group ID. For information about how to query the ID of a dedicated resource group, see [Manage resource quotas](~~2651299~~).', 'type' => 'string', 'example' => 'quotazoqd53w0q75', 'title' => ''], 'ResourceName' => ['description' => 'The name of the resource on which the job runs.', 'type' => 'string', 'example' => 'OWNER_REPO', 'title' => ''], 'EcsSpec' => ['description' => 'The hardware specifications of the public resource group. Visit [PAI-DLC billing](~~171758~~) for a detailed list of specifications.>Prices vary depending on the specifications.>.', 'type' => 'string', 'example' => 'ecs.g6.xlarge', 'title' => ''], 'Accessibility' => ['description' => 'The visibility of the job. Valid values:'."\n" .'- PUBLIC: visible to all users in the workspace.'."\n" .'- PRIVATE (default): visible only to you and administrators in the workspace.', 'type' => 'string', 'example' => 'PUBLIC', 'title' => ''], 'Status' => ['description' => 'The RayHistoryServer status. Valid values:'."\n" .'- Creating: being created.'."\n" .'- Running: running.'."\n" .'- Stopped: stopped.'."\n" .'- Succeeded: succeeded.'."\n" .'- Failed: failed.', 'type' => 'string', 'example' => 'Created', 'title' => ''], 'ReasonCode' => ['description' => 'The status detail code.', 'type' => 'string', 'example' => 'InvalidParameter', 'title' => ''], 'ReasonMessage' => ['description' => 'The status details.', 'type' => 'string', 'example' => 'PyTorchJob dlc1tx4b9lw3ntb9 is running.', 'title' => ''], 'GmtCreateTime' => ['description' => 'The time when the job was created, in UTC.', 'type' => 'string', 'example' => '2025-12-30T02:43:52Z', 'title' => ''], 'GmtModifyTime' => ['description' => 'The time when the job was last modified, in UTC.', 'type' => 'string', 'example' => '2026-05-19T04:05:46Z', 'title' => ''], 'GmtFinishTime' => ['description' => 'The time when the job ended, in UTC.', 'type' => 'string', 'example' => '2026-01-27T09:17:11Z', 'title' => ''], 'MaxRuntimeMinutes' => ['description' => 'The maximum runtime in minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'List rayHistoryServer resources', 'description' => 'Before you use this operation, make sure that you are familiar with the billing and [pricing](~~171758~~) of Platform for AI - Deep Learning Containers (PAI-DLC).'."\n" .'>The total length of the CreateJob operation parameters, including system-generated parameters, cannot exceed 65,536 bytes.>.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'paidlc:ListRayHistoryServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'ListTensorboards' => [ 'summary' => 'Queries a list of created Tensorboard instances.', 'path' => '/api/v1/tensorboards', 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], [ 'APP' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '20382', 'abilityTreeNodes' => ['FEATURElearnVD2RKE'], ], 'parameters' => [ [ 'name' => 'Verbose', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to display details.'."\n" .'- true: Display details.'."\n" .'- false: Do not display details.', 'type' => 'boolean', 'example' => 'true', 'required' => false], ], [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID. Tensorboard instances are filtered by workspace ID. Call [ListWorkspaces](~~449124~~) to obtain the workspace ID..', 'type' => 'string', 'example' => '380', 'required' => false], ], [ 'name' => 'SourceType', 'in' => 'query', 'schema' => ['description' => 'The data source type. Currently, only DLC training jobs are supported, which means the value is job.', 'type' => 'string', 'required' => false, 'example' => 'job', 'title' => ''], ], [ 'name' => 'SourceId', 'in' => 'query', 'schema' => ['description' => 'The data source ID. Call [ListJobs](~~459676~~) to obtain the job ID.', 'type' => 'string', 'required' => false, 'example' => 'dlc-xxxxxx', 'title' => ''], ], [ 'name' => 'DisplayName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The display name of the Tensorboard instance.', 'type' => 'string', 'example' => 'TestTensorboard', 'required' => false], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The Tensorboard status. Valid values:'."\n" .'- Creating: being created.'."\n" .'- Running: running.'."\n" .'- Stopped: stopped.'."\n" .'- Succeeded: succeeded.'."\n" .'- Failed: failed.', 'type' => 'string', 'example' => 'Running', 'required' => false], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The start time of the query range. Tensorboard instances are filtered by their creation time in UTC. If this parameter is left empty, the default value is 7 days before the current time.', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T16:00:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The end time of the query range. Tensorboard instances are filtered by their creation time in UTC. If this parameter is left empty, the default value is the current time.', 'type' => 'string', 'required' => false, 'example' => '2020-11-09T14:45:00Z'], ], [ 'name' => 'SortBy', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The field by which the results are sorted. Valid values:'."\n" .'- DisplayName: the job name.'."\n" .'- GmtCreateTime: the job creation time.', 'type' => 'string', 'example' => 'GmtCreateTime', 'required' => false], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The page number for paging. The value starts from 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The number of Tensorboard instances to return on each page for paging.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '50', 'default' => '10'], ], [ 'name' => 'Order', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The sort order. Valid values:'."\n" .'- desc: descending order.'."\n" .'- asc: ascending order.', 'type' => 'string', 'example' => 'desc', 'required' => false], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The DLC job ID used to filter Tensorboard instances. Call [ListJobs](~~459676~~) to obtain the job ID.', 'type' => 'string', 'example' => 'dlc-xxx', 'required' => false], ], [ 'name' => 'TensorboardId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The Tensorboard ID used to filter the Tensorboard list.', 'type' => 'string', 'example' => 'tensorboard-xxx', 'required' => false], ], [ 'name' => 'ShowOwn', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to return only Tensorboard instances created by the current user.', 'type' => 'boolean', 'required' => false, 'default' => 'true', 'example' => 'false'], ], [ 'name' => 'PaymentType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the Tensorboard instance. Valid values:'."\n" .'- Free: a Tensorboard instance that uses free resources.'."\n" .'- Postpaid: a Tensorboard instance that uses pay-as-you-go resources.', 'type' => 'string', 'required' => false, 'example' => 'Postpaid', 'title' => ''], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['description' => 'The user ID.', 'type' => 'string', 'required' => false, 'example' => '161****3000', 'title' => ''], ], [ 'name' => 'Username', 'in' => 'query', 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => false, 'example' => 'she****mo', 'title' => ''], ], [ 'name' => 'QuotaId', 'in' => 'query', 'schema' => ['description' => 'The resource quota ID.'."\n" .'> - Currently, only whitelisted users can use resource quota resources to create Tensorboard instances. To use this feature, contact us.'."\n" .'> - This parameter takes effect only when the Tensorboard instance uses resource quota resources.', 'type' => 'string', 'required' => false, 'example' => 'quota12***'."\n", 'title' => ''], ], [ 'name' => 'Accessibility', 'in' => 'query', 'schema' => ['description' => 'The visibility of the Tensorboard instance. Valid values:'."\n" .'- PUBLIC: visible to all members in the workspace.'."\n" .'- PRIVATE: visible only to you and administrators in the workspace.', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'Tensorboards' => [ 'title' => '', 'description' => 'The list and details of Tensorboard instances.', 'type' => 'array', 'items' => ['description' => 'The Tensorboard details.', '$ref' => '#/components/schemas/Tensorboard', 'title' => '', 'example' => ''], 'example' => '', ], 'TotalCount' => ['title' => '', 'description' => 'The total number of Tensorboard instances that match the specified conditions.', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'Query tensorboard list', 'changeSet' => [ ['createdAt' => '2024-07-11T11:23:57.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-06-06T07:48:17.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-03-28T07:37:35.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-03T11:01:35.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:ListTensorboards', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTensorboards'], ], ], ], 'SetJobTemplateDefaultVersion' => [ 'summary' => 'Sets the default version of a job template.', 'path' => '/api/v1/jobtemplates/{TemplateId}/defaultversion', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'path', 'schema' => ['description' => 'The template ID.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'title' => '', 'example' => 'tplmceolmf2****'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'type' => 'object', 'properties' => [ 'Version' => ['description' => 'The version number to set as the default.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'title' => '', 'example' => '2'], ], 'description' => 'The request body.', 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'DefaultVersion' => ['description' => 'The current default version number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'GmtModifyTime' => ['description' => 'The time the template was last modified.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2021-01-12T14:36:00Z'], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'SetJobTemplateDefaultVersion', '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"}]', 'translator' => 'machine', ], 'StartRayHistoryServer' => [ 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}/start', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'RayHistoryServerId', 'in' => 'path', 'schema' => ['description' => 'The ID of the Ray History Server.', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'title' => '', 'description' => 'The response schema.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'StartRayHistoryServer', 'summary' => 'Starts a Ray History Server.', 'description' => 'Before calling this operation, familiarize yourself with the billing methods and [pricing](~~171758~~) of PAI-DLC.>The total length of the API parameters for the CreateJob operation, including system-generated parameters, cannot exceed 65,536 bytes.>', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'StartTensorboard' => [ 'summary' => 'Starts a TensorBoard instance.', 'path' => '/api/v1/tensorboards/{TensorboardId}/start', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '40265', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '380'], ], [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The TensorBoard instance ID. For more information about how to obtain the TensorBoard instance ID, see [ListTensorboards](~~459689~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'tensorboard-20210114104214-vf9lowjt3pso', 'maxLength' => 256, 'minLength' => 1], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TensorboardId' => ['title' => '', 'description' => 'The TensorBoard instance ID.'."\n", 'type' => 'string', 'example' => 'tensorboard-20210114104214-vf9lowjt3pso'], 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-vf9lowjt3pso\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tensorboard-20210114104214-vf9lowjt3pso\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', 'title' => 'StartTensorboard', 'changeSet' => [], 'ramActions' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartTensorboard'], ], ], ], 'StopJob' => [ 'summary' => 'Stops a running job.', 'path' => '/api/v1/jobs/{JobId}/stop', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '13123', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The job ID. For more information about how to query the job ID, see [ListJobs](~~459676~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'dlc-20210126170216-xxxxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'dlc-20210126170216-xxxxxxx'], 'RequestId' => ['title' => '', 'description' => 'The request ID. You can troubleshoot issues based on the request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxx'], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"dlc-20210126170216-xxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-xxxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'StopJob', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:StopJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopJob'], ], ], ], 'StopRayHistoryServer' => [ 'path' => '/api/v1/rayhistoryservers/{RayHistoryServerId}/stop', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'RayHistoryServerId', 'in' => 'path', 'schema' => ['description' => 'The ID of the Ray History Server.', 'type' => 'string', 'required' => false, 'example' => 'rhsxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'title' => '', 'description' => 'The response schema.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'StopRayHistoryServer', 'summary' => 'Stops a Ray History Server.', 'description' => 'Before calling this operation, ensure you understand the billing methods and [pricing](~~171758~~) for PAI-DLC.>The total length of the parameters for the CreateJob interface, including system-generated parameters, cannot exceed 65,536 bytes.>', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'StopTensorboard' => [ 'summary' => 'Stops a TensorBoard instance.', 'path' => '/api/v1/tensorboards/{TensorboardId}/stop', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '40266', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The workspace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '380'], ], [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'The ID of the TensorBoard instance. For more information about how to query the Tensorboard instance ID, see [ListTensorboards](~~459689~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'tensorboard-20210114104214-vf9lowjt3pso', 'maxLength' => 256, 'minLength' => 1], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TensorboardId' => ['title' => '', 'description' => 'The ID of the TensorBoard instance.'."\n", 'type' => 'string', 'example' => 'tensorboard-20210114104214-xxxxxxxx'], 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-xxxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tensorboard-20210114104214-xxxxxxxx\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', 'title' => 'StopTensorboard', 'changeSet' => [], 'ramActions' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopTensorboard'], ], ], ], 'UpdateJob' => [ 'summary' => 'Updates a job\'s configuration, such as its priority.', 'path' => '/api/v1/jobs/{JobId}', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '119379', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'path', 'schema' => ['description' => 'The ID of the job to update. To obtain this ID, see [ListJobs](~~459676~~).', 'type' => 'string', 'example' => 'dlc*************', 'title' => '', 'required' => false], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'description' => 'The job configuration.', 'type' => 'object', 'properties' => [ 'Priority' => ['description' => 'The priority of the job. Valid values range from 1 to 9:'."\n" ."\n" .'- 1 indicates the lowest priority.'."\n" ."\n" .'- 9 indicates the highest priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => '', 'required' => false], 'Accessibility' => ['description' => 'The job\'s visibility. You can only increase, not decrease, the visibility. Valid value:'."\n" ."\n" .'- `PUBLIC`: The job is visible to all users in the workspace.', 'type' => 'string', 'required' => false, 'example' => 'PUBLIC', 'title' => ''], 'JobSpecs' => [ 'type' => 'array', 'items' => ['$ref' => '#/components/schemas/JobSpec', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'title' => '', 'description' => 'The job specifications.', 'example' => '', 'required' => false, ], 'Description' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'JobId' => ['description' => 'The ID of the job.', 'type' => 'string', 'example' => 'dlc*************', 'title' => ''], 'RequestId' => ['description' => 'The request ID, used for diagnostics and support.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'example' => '', ], ], ], 'title' => 'UpdateJob', 'changeSet' => [ ['createdAt' => '2025-11-10T06:08:17.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"dlc*************\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'UpdateJobTemplate' => [ 'summary' => 'Updates a job template.', 'path' => '/api/v1/jobtemplates/{TemplateId}', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATURElearnQJXF95'], ], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'path', 'schema' => ['description' => 'The unique identifier of the job template.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'title' => '', 'example' => 'tplmceolmf2****'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateName' => ['description' => 'The name of the job template.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'job-template-example-1778047**** '], 'Description' => ['description' => 'The description of the job template.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => ' '."\n" .'Template description'."\n"], 'Metadata' => ['description' => 'User-defined key-value pairs.', 'type' => 'object', 'title' => '', 'required' => false, 'example' => '{}'], 'Content' => ['description' => 'The configuration content of the job template. This parameter supports all fields from the `CreateJob` operation and must be in JSON format. Specifying this parameter creates a new version.', 'type' => 'string', 'title' => '', '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' => ['description' => 'The field constraints. The key is a JSONPath expression and the value is the constraint type. Valid values are `locked`, `overridable`, and `required`. This parameter must be specified with `Content` and cannot be updated on its own.', 'type' => 'object', 'title' => '', 'required' => false, 'example' => '{\\"JobSpecs[0].Image\\":\\"locked\\",\\"UserCommand\\":\\"locked\\",\\"JobType\\":\\"locked\\"}'], 'SetAsDefault' => ['description' => 'If `true`, the new version becomes the default version.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => 'true'], 'version' => ['description' => 'This field is not supported.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '无效字段', 'title' => ''], ], 'description' => 'The request body.', 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Version' => ['description' => 'The version number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'VersionCreated' => ['description' => 'Indicates whether a new version was created.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'DefaultVersion' => ['description' => 'The default version number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'GmtModifyTime' => ['description' => 'The time the template was last modified.', 'type' => 'string', 'format' => 'iso8601', 'title' => '', 'example' => '2021-01-12T14:36:00Z'], 'RequestId' => ['description' => 'The request ID, used for diagnostics and troubleshooting.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-xxxxxxx'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'UpdateJobTemplate', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', '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"}]', 'translator' => 'machine', ], 'UpdateTensorboard' => [ 'summary' => 'Update a Tensorboard.', 'path' => '/api/v1/tensorboards/{TensorboardId}', 'methods' => ['put'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'consumes' => ['application/json'], 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '40264', 'abilityTreeNodes' => ['FEATURElearnWA9VRC'], ], 'parameters' => [ [ 'name' => 'WorkspaceId', 'in' => 'query', 'schema' => ['description' => 'Workspace ID. For more information about how to get a workspace ID, see [ListWorkspaces]().', 'type' => 'string', 'example' => '380', 'title' => '', 'required' => false], ], [ 'name' => 'TensorboardId', 'in' => 'path', 'schema' => ['title' => '', 'description' => 'Tensorboard ID. For more information about how to get a Tensorboard ID, see [ListTensorboards]().', 'type' => 'string', 'required' => true, 'example' => 'tensorboard-20210114104214-vf9lowjt3pso', 'maxLength' => 256, 'minLength' => 1], ], [ 'name' => 'MaxRunningTimeMinutes', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Maximum runtime. Unit: minutes.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'required' => false], ], [ 'name' => 'Accessibility', 'in' => 'query', 'schema' => ['description' => 'Visibility of the task. Valid values:'."\n" ."\n" .'- PUBLIC: Visible to all users in this workspace.'."\n" ."\n" .'- PRIVATE: Visible only to you and administrators in this workspace.', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TensorboardId' => ['title' => '', 'description' => 'Tensorboard ID.', 'type' => 'string', 'example' => 'tensorboard-20210114104214-xxxxxxxx'], 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TensorboardId\\": \\"tensorboard-20210114104214-xxxxxxxx\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', 'title' => 'UpdateTensorboard', 'changeSet' => [ ['createdAt' => '2024-11-18T09:25:05.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-22T09:59:42.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTensorboard'], ], ], ], ], 'endpoints' => [ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Malaysia (Johor)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => [ [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2025-11-18T03:50:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'UpdateJob'], ], 'createdAt' => '2025-11-10T06:08:35.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2025-10-23T08:44:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2025-10-17T07:04:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2025-01-09T12:43:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ], 'createdAt' => '2024-12-18T06:03:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2024-11-21T12:37:00.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'UpdateTensorboard'], ], 'createdAt' => '2024-11-18T09:25:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2024-10-23T02:31:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DeleteJob'], ], 'createdAt' => '2024-08-22T10:40:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'UpdateTensorboard'], ], 'createdAt' => '2024-08-22T10:01:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ], 'createdAt' => '2024-08-09T08:19:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateTensorboard'], ['description' => 'Request parameters changed', 'api' => 'ListTensorboards'], ], 'createdAt' => '2024-07-11T11:25:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2024-07-09T04:18:10.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ], 'createdAt' => '2024-07-05T02:28:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListTensorboards'], ], 'createdAt' => '2024-06-06T07:48:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2024-04-09T02:18:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateTensorboard'], ['description' => 'Request parameters changed', 'api' => 'ListTensorboards'], ], 'createdAt' => '2024-03-28T07:38:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'GetJobSanityCheckResult'], ['description' => 'Request parameters changed', 'api' => 'ListJobSanityCheckResults'], ], 'createdAt' => '2024-02-26T03:31:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ['description' => 'Request parameters changed', 'api' => 'ListEcsSpecs'], ], 'createdAt' => '2024-01-24T10:35:25.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2024-01-12T05:44:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'GetJobSanityCheckResult'], ], 'createdAt' => '2024-01-08T08:10:08.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2024-01-05T02:50:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2024-01-03T08:01:59.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2023-12-14T10:35:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2023-12-08T09:51:35.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'GetWebTerminal'], ], 'createdAt' => '2023-11-08T00:26:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ], 'createdAt' => '2023-09-11T11:52:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'GetTensorboard'], ], 'createdAt' => '2023-08-11T05:55:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListTensorboards'], ], 'createdAt' => '2023-08-03T11:01:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetWebTerminal'], ], 'createdAt' => '2023-07-21T08:19:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJobEvents'], ], 'createdAt' => '2023-03-24T08:20:24.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteJob'], ], 'createdAt' => '2023-01-06T07:38:55.000Z', 'description' => 'DeleteJob API的文档更新:JobId修改为必选参数', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateJob'], ], 'createdAt' => '2022-12-27T06:55:39.000Z', 'description' => '增加对私有镜像仓库的Username/Password的配置', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListJobs'], ], 'createdAt' => '2022-11-29T12:21:37.000Z', 'description' => 'ListJobs API添加参数JobId,以支持用户通过JobId进行任务搜索的功能', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ], 'createdAt' => '2022-07-22T03:24:55.000Z', 'description' => '更新一些字段说明', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListCodeSources'], ], 'createdAt' => '2022-07-21T04:27:30.000Z', 'description' => '更新部分字段的描述信息', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListImages'], ], 'createdAt' => '2022-07-05T06:35:28.000Z', 'description' => 'Improve CreateJob and ListImages API', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmartCache'], ['description' => 'OpenAPI offline', 'api' => 'DeleteSmartCache'], ['description' => 'OpenAPI offline', 'api' => 'GetSmartCache'], ['description' => 'OpenAPI offline', 'api' => 'ListSmartCaches'], ['description' => 'OpenAPI offline', 'api' => 'StopSmartCache'], ], 'createdAt' => '2022-06-16T03:00:19.000Z', 'description' => '上线', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetJob'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'GetPodEvents'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'GetPodLogs'], ['description' => 'Request parameters changed', 'api' => 'ListEcsSpecs'], ], 'createdAt' => '2022-05-13T03:11:19.000Z', 'description' => 'api 更新', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListDebuggerConfigs'], ['description' => 'Response parameters changed', 'api' => 'ListDebuggerConfigTemplates'], ['description' => 'Response parameters changed', 'api' => 'ListDebuggerJobs'], ], 'createdAt' => '2022-04-13T05:38:58.000Z', 'description' => '变更debugger的listdebuggerconfigtemplate、listdebuggerconfig接口中返回值为array类型', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'DeleteJobs'], ['description' => 'OpenAPI offline', 'api' => 'StopJobs'], ], 'createdAt' => '2022-03-22T07:11:16.000Z', 'description' => '批量删除作业、批量停止作业', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ListDebuggerConfigs'], ['description' => 'OpenAPI offline', 'api' => 'ListDebuggerConfigTemplates'], ['description' => 'OpenAPI offline', 'api' => 'ListDebuggerJobs'], ], 'createdAt' => '2022-03-21T01:35:07.000Z', 'description' => '上线原因为:debugger相关业务上线。POP接口新增接口:GetJobDebuggerConfigCreateDebuggerConfigCreateDebuggerJobIssueStopDebuggerJobsListDebuggerJobPodsGetDebuggerJobListDebuggerJobsGetDebuggerResultDeleteDebuggerConfigUpdateDebuggerConfigGetDebuggerConfigListDebuggerConfigsListDebuggerConfigTemplates新增结构体:DebuggerJobJobDebuggerConfigDebuggerJobIssueDebuggerResultDebuggerConfig修改接口:GetJob增加EnabledDebugger属性CreateJob增加非必填DebuggerConfigContent字段修改结构体:JobItem结构体增加EnabledDebugger属性', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetJobWorkflow'], ], 'createdAt' => '2022-02-15T03:27:09.000Z', 'description' => '离线混部ev_predict任务支持,获取执行flow', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'JobDispatchQuery'], ['description' => 'OpenAPI offline', 'api' => 'JobDispatchSubmit'], ], 'createdAt' => '2022-01-11T07:47:31.000Z', 'description' => '1. DLC Quota/Job支持 潮汐资源 配置', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetAuthorization'], ], 'createdAt' => '2021-04-25T07:57:37.000Z', 'description' => 'API上线:RAM角色授权校验', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetJobMetrics'], ], 'createdAt' => '2021-04-25T07:56:39.000Z', 'description' => '已上线:作业资源监控API', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateDataSource'], ['description' => 'Response parameters changed', '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' => 'Platform for AI', 'ramCodes' => ['paiplugin', 'eas', 'pai', 'datasetacc', 'featurestore', 'paidlc', 'paiitag', 'paidesigner', 'paitraining', 'paiartlab', 'paicomponentmanagement'], 'ramLevel' => 'OPERATION', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'UpdateJobTemplate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteTensorboard', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetJobSanityCheckResult', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobSanityCheckResult', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListRayHistoryServers', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'paidlc:ListRayHistoryServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListJobSanityCheckResults', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:ListJobSanityCheckResults', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StopJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:StopJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteJob', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetToken', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetToken', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetWebTerminal', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetWebTerminal', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateJobTemplate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'paidlc:CreateJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDashboard', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateTensorboard', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'paidlc:CreateTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateTensorboard', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetJobMetrics', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobMetrics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetPodLogs', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetPodLogs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StartTensorboard', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:StartTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteJobTemplate', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'paidlc:DeleteJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetJobTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListJobTemplates', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'paidlc:ListJobTemplates', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'paidlc:CreateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetRayHistoryServer', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetRayHistoryServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetPodEvents', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetPodEvents', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListJobs', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:ListJobs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetMetrics', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'paidlc:GetMetrics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetJobEvents', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJobEvents', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'paidlc:UpdateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListTensorboards', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:ListTensorboards', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetTensorboardSharedUrl', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetTensorboardSharedUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetRayDashboard', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetTensorboard', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'paidlc:GetTensorboard', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'PAI', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'RayHistoryServer', 'arn' => 'acs:paiplugin:{#regionId}:{#accountId}:rayhistoryserver/*'], ['validationType' => 'always', 'resourceType' => 'Job', 'arn' => 'acs:paidlc:{#regionId}:{#accountId}:job/{#JobId}'], ], ], ];