diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/schedulerx2 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/zh_cn/schedulerx2')
| -rw-r--r-- | data/zh_cn/schedulerx2/2019-04-30/api-docs.php | 16357 |
1 files changed, 6405 insertions, 9952 deletions
diff --git a/data/zh_cn/schedulerx2/2019-04-30/api-docs.php b/data/zh_cn/schedulerx2/2019-04-30/api-docs.php index 75cb308..f1b57d4 100644 --- a/data/zh_cn/schedulerx2/2019-04-30/api-docs.php +++ b/data/zh_cn/schedulerx2/2019-04-30/api-docs.php @@ -1,189 +1,126 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'schedulerx2', - 'version' => '2019-04-30', - ], + 'info' => ['style' => 'RPC', 'product' => 'schedulerx2', 'version' => '2019-04-30'], 'directories' => [ [ - 'id' => 130044, - 'title' => '服务地域', + 'children' => ['DescribeRegions'], 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], + 'title' => '服务地域', + 'id' => 440321, ], [ - 'id' => 167610, - 'title' => '命名空间', + 'children' => ['CreateNamespace', 'ListNamespaces', 'DeleteNamespace', 'UpdateNamespace'], 'type' => 'directory', - 'children' => [ - 'CreateNamespace', - 'ListNamespaces', - 'DeleteNamespace', - 'UpdateNamespace', - ], + 'title' => '命名空间', + 'id' => 321178, ], [ - 'id' => 130046, - 'title' => '应用分组', + 'children' => ['CreateAppGroup', 'GetAppGroup', 'DeleteAppGroup', 'UpdateAppGroup', 'ListGroups', 'GetWorkerList'], 'type' => 'directory', - 'children' => [ - 'CreateAppGroup', - 'GetAppGroup', - 'DeleteAppGroup', - 'UpdateAppGroup', - 'ListGroups', - 'GetWorkerList', - ], + 'title' => '应用分组', + 'id' => 321133, ], [ - 'id' => 130049, - 'title' => '工作流', + 'children' => ['CreateWorkflow', 'UpdateWorkflow', 'UpdateWorkflowDag', 'ListWorkFlows', 'ExecuteWorkflow', 'DeleteWorkflow', 'DisableWorkflow', 'EnableWorkflow', 'GetWorkFlow', 'GetWorkflowInstance', 'ListWorkflowInstance', 'SetWfInstanceSuccess'], 'type' => 'directory', - 'children' => [ - 'CreateWorkflow', - 'UpdateWorkflow', - 'UpdateWorkflowDag', - 'ListWorkFlows', - 'ExecuteWorkflow', - 'DeleteWorkflow', - 'DisableWorkflow', - 'EnableWorkflow', - 'GetWorkFlow', - 'GetWorkflowInstance', - 'ListWorkflowInstance', - 'SetWfInstanceSuccess', - ], + 'title' => '工作流', + 'id' => 321140, ], [ - 'id' => 130055, - 'title' => '任务', + 'children' => ['CreateJob', 'DeleteJob', 'BatchDeleteJobs', 'UpdateJob', 'DisableJob', 'BatchEnableJobs', 'BatchDisableJobs', 'EnableJob', 'GetJobInfo', 'ListJobs', 'ExecuteJob', 'DesignateWorkers', 'RerunJob', 'UpdateJobScript', 'ListJobScriptHistory', 'ReadSchedulerxDesignateInfo', 'ReadSchedulerxDesignateDetail', 'ManageSchedulerxJobSync'], 'type' => 'directory', - 'children' => [ - 'CreateJob', - 'DeleteJob', - 'BatchDeleteJobs', - 'UpdateJob', - 'DisableJob', - 'BatchEnableJobs', - 'BatchDisableJobs', - 'EnableJob', - 'GetJobInfo', - 'ListJobs', - 'ExecuteJob', - 'DesignateWorkers', - 'RerunJob', - 'UpdateJobScript', - 'ListJobScriptHistory', - 'ReadSchedulerxDesignateInfo', - 'ReadSchedulerxDesignateDetail', - 'ManageSchedulerxJobSync', - ], + 'title' => '任务', + 'id' => 321153, ], [ - 'id' => 130066, - 'title' => '任务实例', + 'children' => ['StopInstance', 'GetJobInstance', 'GetJobInstanceList', 'RetryJobInstance', 'SetJobInstanceSuccess'], 'type' => 'directory', - 'children' => [ - 'StopInstance', - 'GetJobInstance', - 'GetJobInstanceList', - 'RetryJobInstance', - 'SetJobInstanceSuccess', - ], + 'title' => '任务实例', + 'id' => 321172, ], [ - 'id' => 167612, - 'title' => '权限设置', + 'children' => ['GrantPermission', 'RevokePermission'], 'type' => 'directory', - 'children' => [ - 'GrantPermission', - 'RevokePermission', - ], + 'title' => '权限设置', + 'id' => 321183, ], [ - 'id' => 179264, - 'title' => '日志', + 'children' => ['GetLog'], 'type' => 'directory', - 'children' => [ - 'GetLog', - ], + 'title' => '日志', + 'id' => 321186, ], [ - 'id' => 181204, - 'title' => '路由策略', + 'children' => ['DeleteRouteStrategy', 'BatchDeleteRouteStrategy', 'CreateRouteStrategy'], 'type' => 'directory', - 'children' => [ - 'DeleteRouteStrategy', - 'BatchDeleteRouteStrategy', - 'CreateRouteStrategy', - ], + 'title' => '路由策略', + 'id' => 321188, ], [ - 'id' => 313005, - 'title' => '通知策略', + 'children' => ['CreateSchedulerxNotificationPolicy', 'DeleteSchedulerxNotificationPolicy', 'ManageSchedulerxNotificationPolicy', 'ReadSchedulerxNotificationPolicy'], 'type' => 'directory', - 'children' => [ - 'CreateSchedulerxNotificationPolicy', - 'DeleteSchedulerxNotificationPolicy', - 'ManageSchedulerxNotificationPolicy', - 'ReadSchedulerxNotificationPolicy', - ], + 'title' => '通知策略', + 'id' => 321195, ], [ - 'id' => 313010, - 'title' => '日历', + 'children' => ['CreateSchedulerxCalendar', 'DeleteSchedulerxCalendar', 'ManageSchedulerxCalendar', 'ReadSchedulerxCalendar'], 'type' => 'directory', - 'children' => [ - 'CreateSchedulerxCalendar', - 'DeleteSchedulerxCalendar', - 'ManageSchedulerxCalendar', - 'ReadSchedulerxCalendar', - ], + 'title' => '日历', + 'id' => 321200, ], [ - 'id' => 190137, - 'title' => '其他', + 'children' => ['GetOverview'], 'type' => 'directory', - 'children' => [ - 'GetOverview', - ], + 'title' => '其他', + 'id' => 321193, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeRegions' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BatchDeleteJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + [ + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'Schedulerx'], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], + ], + [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '任务所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'JobIdList', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', + 'type' => 'array', + 'items' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '99341'], + 'required' => true, + 'example' => '99341', + 'maxItems' => 3000, ], ], ], @@ -192,119 +129,134 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'disable failed jobs=[99341]', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Regions' => [ - 'description' => '可用地域的集合', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionEndpoint' => [ - 'description' => '地域对应的接入地址(Endpoint)', - 'type' => 'string', - 'example' => 'schedulerx.cn-hangzhou.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => '地域的展示名,根据当前语言环境转换', - 'type' => 'string', - 'example' => '杭州', - ], - 'RegionId' => [ - 'description' => '地域ID', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7'], + 'Success' => ['description' => '批量删除任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"disable failed jobs=[99341]\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Regions\\": [\\n {\\n \\"RegionEndpoint\\": \\"schedulerx.cn-hangzhou.aliyuncs.com\\",\\n \\"LocalName\\": \\"杭州\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查看可选的地域', - 'summary' => '返回可用region列表。', - ], - 'CreateNamespace' => [ - 'summary' => '创建命名空间。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '批量删除任务', + 'summary' => '批量删除任务。', + 'description' => '调用该接口前,需要在POM文件添加以下依赖:'."\n" + ."\n" + .'```xml'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" + .' <version>1.0.4</version>'."\n" + .'</dependency>'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Demo'."\n" + ."\n" + .'```java'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import com.google.common.collect.Lists;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDeleteJobsRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDeleteJobsResponse;'."\n" + ."\n" + .'public class TestBatchDeleteJobs {'."\n" + ."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写.'."\n" + .' String regionId = "cn-hangzhou";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "xxxxxx";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "xxxxxxxx";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + .' '."\n" + .' BatchDeleteJobsRequest request = new BatchDeleteJobsRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" + .' BatchDeleteJobsResponse response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' System.out.println("BatchDeleteJob: "+response.getRequestId());'."\n" + .' } else {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' }'."\n" + .' }'."\n" + .' '."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxJobDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchDeleteJobsResponse>\\n<Message>delete failed jobs=[675946,676129]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchDeleteJobsResponse>","errorExample":""}]', + ], + 'BatchDeleteRouteStrategy' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Uid', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间UID,全局唯一,推荐用UUID生成。', - 'type' => 'string', - 'required' => false, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'Name', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test-env', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Description', - 'in' => 'query', + 'name' => 'JobIdList', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '命名空间描述。', - 'type' => 'string', + 'description' => '任务ID列表', + 'type' => 'array', + 'items' => ['description' => '任务ID,在控制台的**任务管理**页面中获取', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '99341'], 'required' => false, - 'example' => 'Test', + 'maxItems' => 3000, ], ], ], @@ -312,100 +264,86 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'namespace=test3 is existed, noting update', - ], - 'Success' => [ - 'description' => '创建应用是否成功。取值如下:'."\n" - ."\n" - .'- **true**:创建应用成功。'."\n" - .'- **false**:创建应用失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '命名空间信息。', - 'type' => 'object', - 'properties' => [ - 'NamespaceUid' => [ - 'description' => '命名空间唯一标识。', - 'type' => 'string', - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '704A2A61-3681-5568-92F7-2DFCC53F33D1'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'job is not existed, jobId=162837'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"namespace=test3 is existed, noting update\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NamespaceUid\\": \\"adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => '创建命名空间', - ], - 'ListNamespaces' => [ - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '批量删除路由策略', + 'summary' => '批量删除路由策略。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T05:52:09.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:59.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxRouteStrategyBatch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"704A2A61-3681-5568-92F7-2DFCC53F33D1\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=162837\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'BatchDisableJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'NamespaceName', + 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx-dev', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'Namespace', + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], + ], + [ + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '任务所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'JobIdList', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '命名空间UID', - 'type' => 'string', - 'required' => false, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', + 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', + 'type' => 'array', + 'items' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '99341'], + 'required' => true, + 'example' => '99341', + 'maxItems' => 3000, ], ], ], @@ -414,222 +352,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58C', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功。'."\n" - ."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '命名空间列表信息。', - 'type' => 'object', - 'properties' => [ - 'Namespaces' => [ - 'description' => '命名空间列表与详情。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'example' => 'doc', - ], - 'Description' => [ - 'description' => '命名空间描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'UId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'disable failed jobs=[99341]'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7'], + 'Success' => ['description' => '批量禁用任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58C\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Namespaces\\": [\\n {\\n \\"Name\\": \\"doc\\",\\n \\"Description\\": \\"test\\",\\n \\"UId\\": \\"1a72ecb1-b4cc-400a-a71b-20cdec9b****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNamespacesResponse>\\n<Message>You have an error in your SQL syntax</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58C</RequestId>\\n<Data>\\n <Namespaces>\\n <UId>1a72ecb1-b4cc-400a-a71b-20cdec9b****</UId>\\n <Description>test</Description>\\n <Name>doc</Name>\\n </Namespaces>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</ListNamespacesResponse>","errorExample":""}]', - 'title' => '获取命名空间列表', - 'summary' => '获取命名空间列表。', + 'title' => '批量禁用任务', + 'summary' => '批量禁用任务。', 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" ."\n" - .'```'."\n" + .'```xml'."\n" .'<dependency>'."\n" .' <groupId>com.aliyun</groupId>'."\n" .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" - .' <version>1.0.5</version>'."\n" + .' <version>1.0.4</version>'."\n" .'</dependency>'."\n" .'```', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" + 'extraInfo' => '## Demo'."\n" .'```'."\n" .'package com.alibaba.schedulerx.pop;'."\n" ."\n" - .'import java.util.List;'."\n" + .'import com.google.common.collect.Lists;'."\n" ."\n" .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.exceptions.ClientException;'."\n" - .'import com.aliyuncs.exceptions.ServerException;'."\n" .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesResponse;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesResponse.Data.Namespace;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDisableJobsRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDisableJobsResponse;'."\n" ."\n" - .'public class TestListNamespaces {'."\n" + .'public class TestBatchDisableJobs {'."\n" ."\n" - .' public static void main(String[] args) {'."\n" - .' //OpenAPI的接入点,具体查看支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-test";'."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI 的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-hangzhou";'."\n" .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "XXXXXXXX";'."\n" + .' String accessKeyId = "xxxxxx";'."\n" .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "XXXXXXXX";'."\n" + .' String accessKeySecret = "xxxxxxxx";'."\n" .' //产品名称。'."\n" .' String productName ="schedulerx2";'."\n" .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.aliyuncs.com";'."\n" + .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" .' //构建OpenAPI客户端。'."\n" .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" .' '."\n" - .' ListNamespacesRequest request = new ListNamespacesRequest();'."\n" - .' ListNamespacesResponse response;'."\n" - .' try {'."\n" - .' response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' } else {'."\n" - .' List<Namespace> namespaces = response.getData().getNamespaces();'."\n" - .' for (Namespace namespace : namespaces) {'."\n" - .' System.out.println("namespace uid=" + namespace.getUId());'."\n" - .' }'."\n" - .' }'."\n" - .' } catch (ServerException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" - .' } catch (ClientException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" + .' BatchDisableJobsRequest request = new BatchDisableJobsRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" + .' BatchDisableJobsResponse response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' System.out.println("BatchDisableJob: "+response.getRequestId());'."\n" + .' } else {'."\n" + .' System.out.println(response.getMessage());'."\n" .' }'."\n" .' }'."\n" .' '."\n" .'}'."\n" - ."\n" - .'``` ', - ], - 'DeleteNamespace' => [ - 'summary' => '删除命名空间。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n", - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401107', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'The system namespace cannot be deleted', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401107\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"The system namespace cannot be deleted\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '删除命名空间', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"disable failed jobs=[99341]\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchDisableJobsResponse>\\n<Message>disable failed jobs=[99341]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchDisableJobsResponse>","errorExample":""}]', ], - 'UpdateNamespace' => [ - 'summary' => '更新命名空间。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'BatchEnableJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -637,97 +452,142 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'Namespace', + 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n", - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'NamespaceName', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间名称', - 'type' => 'string', - 'required' => false, - 'example' => '测试专用空间', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Description', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '任务所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'JobIdList', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '命名空间描述', - 'type' => 'string', - 'required' => false, - 'example' => '测试专用空间', + 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', + 'type' => 'array', + 'items' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '99341'], + 'required' => true, + 'example' => '99341', + 'maxItems' => 3000, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'The system namespace cannot be modified', - ], - 'Success' => [ - 'description' => '调用接口是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7'], + 'Success' => ['description' => '批量启用任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"The system namespace cannot be modified\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '更新命名空间', + 'title' => '批量启用任务', + 'summary' => '批量启用任务。', + 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" + ."\n" + .'```xml'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" + .' <version>1.0.4</version>'."\n" + .'</dependency>'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Demo'."\n" + ."\n" + .'```'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import com.google.common.collect.Lists;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchEnableJobsRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.BatchEnableJobsResponse;'."\n" + ."\n" + .'public class TestBatchEnableJobs {'."\n" + ."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-hangzhou";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "xxxxxx";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "xxxxxxxx";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + .' '."\n" + .' BatchEnableJobsRequest request = new BatchEnableJobsRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" + .' BatchEnableJobsResponse response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' System.out.println("BatchEnableJob: "+response.getRequestId());'."\n" + .' } else {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' }'."\n" + .' }'."\n" + .' '."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchEnableJobsResponse>\\n<Message>enable failed jobs=[99342]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchEnableJobsResponse>","errorExample":""}]', ], 'CreateAppGroup' => [ 'summary' => '创建应用分组,返回appKey。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -735,175 +595,93 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DocTest', - ], + 'schema' => ['description' => '应用名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DocTest'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '暂不支持,无须填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '暂不支持,无须填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'TestSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TestSchedulerx.defaultGroup'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '应用描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => '应用描述。', 'type' => 'string', 'required' => false, 'example' => 'Test'], ], [ 'name' => 'MaxJobs', 'in' => 'query', - 'schema' => [ - 'description' => '最大任务数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => '最大任务数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], ], [ 'name' => 'NamespaceName', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Test', - ], + 'schema' => ['description' => '命名空间名称。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Test'], ], [ 'name' => 'AppKey', 'in' => 'query', - 'schema' => [ - 'description' => '应用Appkey。', - 'type' => 'string', - 'required' => false, - 'example' => 'adcExHZviLcl****', - ], + 'schema' => ['description' => '应用Appkey。', 'type' => 'string', 'required' => false, 'example' => 'adcExHZviLcl****'], ], [ 'name' => 'MonitorConfigJson', 'in' => 'query', - 'schema' => [ - 'description' => '报警通知的配置,支持以下属性:sendChannel、alarmType 和 webhookIsAtAll。'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "sendChannel": "ding,sms,mail,phone",'."\n" - .' "alarmType": "Contacts",'."\n" - .' "webhookIsAtAll": false'."\n" - .'}', - ], + 'schema' => ['description' => '报警通知的配置,支持以下属性:sendChannel、alarmType 和 webhookIsAtAll。'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "sendChannel": "ding,sms,mail,phone",'."\n" + .' "alarmType": "Contacts",'."\n" + .' "webhookIsAtAll": false'."\n" + .'}'], ], [ 'name' => 'MonitorContactsJson', 'in' => 'query', - 'schema' => [ - 'description' => '报警联系人配置。支持配置报警联系人以及报警联系人组'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {"name": "张三"},'."\n" - .' {"name": "李四"}'."\n" - .']', - ], + 'schema' => ['description' => '报警联系人配置。支持配置报警联系人以及报警联系人组'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {"name": "Alice Johnson"},'."\n" + .' {"name": "Lee Smith"}'."\n" + .']'], ], [ 'name' => 'ScheduleBusyWorkers', 'in' => 'query', - 'schema' => [ - 'description' => '是否调度繁忙机器。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'true', - ], + 'schema' => ['description' => '是否调度繁忙机器。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'true'], ], [ 'name' => 'EnableLog', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启日志。'."\n" - ."\n" - .'- true:开启'."\n" - ."\n" - .'- false:关闭', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否开启日志。'."\n" + ."\n" + .'- true:开启'."\n" + ."\n" + .'- false:关闭', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'AppType', 'in' => 'query', - 'schema' => [ - 'description' => '应用类型。'."\n" - ."\n" - .'- 1、普通应用。'."\n" - .'- 2、k8s应用。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '应用类型。'."\n" + ."\n" + .'- 1、普通应用。'."\n" + .'- 2、k8s应用。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'AppVersion', @@ -916,22 +694,13 @@ 'required' => false, 'example' => '2', 'default' => '2', - 'enum' => [ - '1', - '2', - ], + 'enum' => ['1', '2'], ], ], [ 'name' => 'NotificationPolicyName', 'in' => 'query', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-workday-notification', - ], + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'required' => false, 'example' => 'test-workday-notification'], ], ], 'responses' => [ @@ -939,48 +708,23 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C', - ], - 'Success' => [ - 'description' => '创建应用是否成功。取值如下:'."\n" - ."\n" - .'- **true**:创建应用成功。'."\n" - .'- **false**:创建应用失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C'], + 'Success' => ['description' => '创建应用是否成功。取值如下:'."\n" + ."\n" + .'- **true**:创建应用成功。'."\n" + .'- **false**:创建应用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '任务分组信息。', 'type' => 'object', 'properties' => [ - 'AppGroupId' => [ - 'description' => '任务分组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6607', - ], - 'AppKey' => [ - 'description' => '应用AppKey。', - 'type' => 'string', - 'example' => 'adcExHZviL******', - ], + 'AppGroupId' => ['description' => '任务分组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '6607'], + 'AppKey' => ['description' => '应用AppKey。', 'type' => 'string', 'example' => 'adcExHZviL******'], ], ], ], + 'description' => '', ], ], ], @@ -1101,876 +845,555 @@ .' '."\n" .'}'."\n" .'```', - ], - 'GetAppGroup' => [ - 'summary' => '获取应用分组。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-10-27T08:05:06.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-06-05T07:37:28.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-30T08:41:58.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-01-13T02:41:32.000Z', 'description' => '请求参数发生变更、响应参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxAppGroupCreate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateJob' => [ + 'summary' => '创建任务并返回任务ID。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'GroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'formData', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一 ID。', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功。'."\n" - ."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '应用分组信息。', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'DocTest', - ], - 'Description' => [ - 'description' => '应用描述。', - 'type' => 'string', - 'example' => 'Test', - ], - 'MaxJobs' => [ - 'description' => '应用分组可配置最大任务数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'GroupId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'testSchedulerx.defaultGroup', - ], - 'MonitorConfigJson' => [ - 'description' => '报警通知的配置。'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**', - 'type' => 'string', - 'example' => '{'."\n" - .' "sendChannel": "ding,sms,mail,phone",'."\n" - .' "alarmType": "Contacts",'."\n" - .' "webhookIsAtAll": false'."\n" - .'}', - ], - 'CurJobs' => [ - 'description' => '应用分组当前配置任务数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppKey' => [ - 'description' => '应用AppKey。', - 'type' => 'string', - 'example' => 'QI4lWMZ+xk1rNB67jFUhaw==', - ], - 'AppVersion' => [ - 'title' => '应用版本,1:基础版,2:专业版', - 'description' => '应用版本,1:基础版,2:专业版。', - 'type' => 'string', - 'example' => '2', - ], - 'Namespace' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - 'MonitorContactsJson' => [ - 'description' => '报警联系人配置。'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', - 'example' => '['."\n" - .' {"name": "张三"},'."\n" - .' {"name": "李四"}'."\n" - .']', - ], - 'NotificationPolicyName' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', - 'type' => 'string', - 'example' => 'test-workday-notification', - ], - 'EnableLog' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], + 'name' => 'NamespaceSource', + 'in' => 'formData', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx', 'default' => 'schedulerx'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AppName\\": \\"DocTest\\",\\n \\"Description\\": \\"Test\\",\\n \\"MaxJobs\\": 1000,\\n \\"GroupId\\": \\"testSchedulerx.defaultGroup\\",\\n \\"MonitorConfigJson\\": \\"{\\\\n \\\\\\"sendChannel\\\\\\": \\\\\\"ding,sms,mail,phone\\\\\\",\\\\n \\\\\\"alarmType\\\\\\": \\\\\\"Contacts\\\\\\",\\\\n \\\\\\"webhookIsAtAll\\\\\\": false\\\\n}\\",\\n \\"CurJobs\\": 1,\\n \\"AppKey\\": \\"QI4lWMZ+xk1rNB67jFUhaw==\\",\\n \\"AppVersion\\": \\"2\\",\\n \\"Namespace\\": \\"adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\",\\n \\"MonitorContactsJson\\": \\"[\\\\n {\\\\\\"name\\\\\\": \\\\\\"张三\\\\\\"},\\\\n {\\\\\\"name\\\\\\": \\\\\\"李四\\\\\\"}\\\\n]\\",\\n \\"NotificationPolicyName\\": \\"test-workday-notification\\",\\n \\"EnableLog\\": true\\n }\\n}","type":"json"}]', - 'title' => '获取应用分组详情', - 'responseParamsDescription' => '## MonitorConfigJson 补充说明'."\n" - .'报警通知的配置,支持以下属性:`sendChannel`、`alarmType` 和 `webhookIsAtAll`。'."\n" - ."\n" - .'## **配置格式**'."\n" - .'该字段的配置应为 JSON 格式,支持以下属性:'."\n" - ."\n" - .'## **属性说明**'."\n" - .'- **发送渠道**(`sendChannel`):'."\n" - .' - 支持多个渠道,使用逗号分隔,选项包括:'."\n" - .' - **webhook**: `ding`。'."\n" - .' - **短信**: `sms`。'."\n" - .' - **邮件**: `mail`。'."\n" - .' - **电话**: `phone`。'."\n" - ."\n" - .'- **报警类型**(`alarmType`):'."\n" - .' - **Contacts**: 表示报警联系人。'."\n" - .' - **ContactGroup**: 表示报警联系人组。'."\n" - ."\n" - .'- **是否 @ 所有成员**(`webhookIsAtAll`):'."\n" - .' - 值为 `"true"` 或 `"false"`,指示在发送通知时是否 @ 所有群成员。'."\n" - ."\n" - .'## **示例**:'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "ding,sms,mail,phone",'."\n" - .' "alarmType": "Contacts",'."\n" - .' "webhookIsAtAll": true'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'---'."\n" - ."\n" - .'## MonitorContactsJson 补充说明'."\n" - .'报警联系人配置,根据 `alarmType` 的不同提供两种格式。'."\n" - ."\n" - .'## **配置格式**'."\n" - .'该字段应为 JSON 格式,支持两种配置:联系人数组和联系人组对象。'."\n" - ."\n" - .'## **属性说明**'."\n" - .'- **当 `alarmType` 为 `Contacts`**:'."\n" - .' - 配置为包含多个联系人对象的数组,每个对象需包含:'."\n" - .' - **name**: 联系人的名称。'."\n" - ."\n" - .'- **当 `alarmType` 为 `ContactGroup`**:'."\n" - .' - 配置为单个对象,包含:'."\n" - .' - **name**: 联系人组的名称。'."\n" - ."\n" - .'## **示例**:'."\n" - .'- **示例 1** (当 `alarmType` 为 `Contacts`):'."\n" - .' ```json'."\n" - .' ['."\n" - .' {"name": "张三"},'."\n" - .' {"name": "李四"}'."\n" - .' ]'."\n" - .' ```'."\n" - ."\n" - .'- **示例 2** (当 `alarmType` 为 `ContactGroup`):'."\n" - .' ```json'."\n" - .' {'."\n" - .' "name": "报警联系人组-1"'."\n" - .' }'."\n" - .' ```', - ], - 'DeleteAppGroup' => [ - 'summary' => '删除应用分组。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'GroupId', + 'in' => 'formData', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', + 'name' => 'JobType', + 'in' => 'formData', 'schema' => [ - 'description' => '地域ID', + 'description' => '任务类型,目前支持以下几种任务类型:'."\n" + ."\n" + .'- java'."\n" + .'- python'."\n" + .'- shell'."\n" + .'- go'."\n" + .'- http'."\n" + .'- xxljob'."\n" + .'- dataworks'."\n" + .'- k8s'."\n" + .'- springschedule', 'type' => 'string', 'required' => true, - 'example' => 'cn-hangzhou', + 'docRequired' => true, + 'enumValueTitles' => ['python' => 'python', 'xxljob' => 'xxljob', 'java' => 'java', 'shell' => 'shell', 'golang' => 'golang', 'go' => 'go', 'http' => 'http', 'dataworks' => 'dataworks'], + 'example' => 'java', ], ], [ - 'name' => 'Namespace', - 'in' => 'query', + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '任务名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'helloworld'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '任务描述。', 'type' => 'string', 'required' => false, 'example' => 'Test'], + ], + [ + 'name' => 'ExecuteMode', + 'in' => 'formData', 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', + 'description' => '任务执行模式,目前支持以下几种任务执行模式:'."\n" + ."\n" + .'- **单机运行**:standalone'."\n" + .'- **广播运行**:broadcast'."\n" + .'- **可视化MapReduce**:parallel'."\n" + .'- **MapReduce**:batch'."\n" + .'- **分片运行**:sharding', 'type' => 'string', 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', + 'docRequired' => true, + 'enumValueTitles' => ['broadcast' => '广播运行', 'parallel' => '并行计算', 'grid' => '内存网格', 'batch' => '网格计算', 'standalone' => '单机运行', 'sharding' => '分片运行'], + 'example' => 'standalone', ], ], [ - 'name' => 'GroupId', - 'in' => 'query', + 'name' => 'ClassName', + 'in' => 'formData', + 'schema' => ['description' => '任务接口类完整路径。'."\n" + ."\n" + .'当您选择Java任务类型时,才有该字段且必须填写完整路径。', 'type' => 'string', 'required' => false, 'example' => 'com.alibaba.schedulerx.test.helloworld'], + ], + [ + 'name' => 'Content', + 'in' => 'formData', + 'schema' => ['description' => '- 任务类型选择为python/shell/k8s时,填写对应的脚本内容。'."\n" + .'- 任务类型为golang时,content格式示例为 {"jobName":"HelloWorld"}', 'type' => 'string', 'required' => false, 'example' => 'echo \'hello\''], + ], + [ + 'name' => 'Parameters', + 'in' => 'formData', + 'schema' => ['description' => '用户自定义参数,运行时可以获取。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'MaxConcurrency', + 'in' => 'formData', + 'schema' => ['description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'minimum' => '1', 'example' => '1', 'default' => '1'], + ], + [ + 'name' => 'MaxAttempt', + 'in' => 'formData', + 'schema' => ['description' => '错误最大重试次数,根据业务需求填写,默认值为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'], + ], + [ + 'name' => 'AttemptInterval', + 'in' => 'formData', + 'schema' => ['description' => '错误重试间隔,单位s,默认值为30。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'default' => '30'], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,单次拉取子任务数,默认值为100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'default' => '100'], + ], + [ + 'name' => 'ConsumerSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,单机单次触发执行线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'], + ], + [ + 'name' => 'QueueSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务队列缓存上限,默认值为10000。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000', 'default' => '10000'], + ], + [ + 'name' => 'DispatcherSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务分发线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'], + ], + [ + 'name' => 'TimeType', + 'in' => 'formData', 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', + 'description' => '时间类型,目前支持以下几种时间类型:'."\n" + ."\n" + .'- **cron**:1'."\n" + .'- **fixed_rate**:3'."\n" + .'- **second_delay**:4'."\n" + .'- **one_time** :5 '."\n" + .'- **api**:100'."\n" + .'- **none**:-1', + 'type' => 'integer', + 'format' => 'int32', 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', + 'docRequired' => true, + 'enumValueTitles' => [1 => '1', 3 => '3', '4', '5', 100 => '100'], + 'example' => '1', ], ], [ - 'name' => 'DeleteJobs', - 'in' => 'query', + 'name' => 'TimeExpression', + 'in' => 'formData', + 'schema' => ['description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" + ."\n" + .'- **cron**:填写标准的cron表达式,支持在线验证。'."\n" + .'- **api**:无时间表达式。'."\n" + .'- **fixed_rate**:填写具体固定频率值,单位s。如30表示每隔30s触发一次。'."\n" + .'- **second_delay**:填写固定延迟多少秒执行一次(1s~60s可选)。'."\n" + .'- **one_time**: 填写指定时间(yyyy-MM-dd HH:mm:ss)或者时间戳(毫秒),比如"2022-10-10 10:10:00"', 'type' => 'string', 'required' => false, 'example' => '0 0/10 * * * ?'], + ], + [ + 'name' => 'Calendar', + 'in' => 'formData', + 'schema' => ['description' => 'cron类型可以选择填写自定义日历。', 'type' => 'string', 'required' => false], + ], + [ + 'name' => 'DataOffset', + 'in' => 'formData', + 'schema' => ['description' => 'cron类型可以选择时间偏移,单位s。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2400'], + ], + [ + 'name' => 'Timezone', + 'in' => 'formData', + 'schema' => ['description' => '时区', 'type' => 'string', 'required' => false, 'example' => 'GMT+8'], + ], + [ + 'name' => 'TimeoutEnable', + 'in' => 'formData', 'schema' => [ - 'description' => '是否删除应用分组中的任务。取值如下:'."\n" + 'description' => '超时报警开关。取值如下:'."\n" ."\n" - .'- **true**:删除。'."\n" - .'- **false**:不删除。', + .'- **true**:开启超时报警开关。'."\n" + .'- **false**:关闭超时报警开关。', 'type' => 'boolean', 'required' => false, - 'example' => 'true', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx', - ], - 'Success' => [ - 'description' => 'API调用是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], + 'example' => 'false', + 'default' => 'true', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '删除应用分组', - ], - 'UpdateAppGroup' => [ - 'summary' => '更新应用分组。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Timeout', + 'in' => 'formData', + 'schema' => ['description' => '超时阈值,单位s,默认值7200。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '7200', 'default' => '7200'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'Description', - 'in' => 'query', + 'name' => 'TimeoutKillEnable', + 'in' => 'formData', 'schema' => [ - 'description' => '应用描述。', - 'type' => 'string', + 'description' => '超时终止开关。取值如下:'."\n" + ."\n" + .'- **true**:开启超时终止开关。'."\n" + .'- **false**:关闭超时终止开关。', + 'type' => 'boolean', 'required' => false, - 'example' => 'Test', + 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], + 'example' => 'false', + 'default' => 'true', ], ], [ - 'name' => 'GroupId', - 'in' => 'query', + 'name' => 'FailEnable', + 'in' => 'formData', 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', + 'description' => '失败报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启失败报警开关。'."\n" + .'- **false**:关闭失败报警开关。', + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], + 'example' => 'false', + 'default' => 'true', ], ], [ - 'name' => 'MaxConcurrency', - 'in' => 'query', - 'schema' => [ - 'description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'name' => 'FailTimes', + 'in' => 'formData', + 'schema' => ['description' => '连续失败报警次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '1'], ], [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'name' => 'MissWorkerEnable', + 'in' => 'formData', + 'schema' => ['description' => '是否开启无可用机器报警。'."\n" + .'- **true**:开启无可用机器报警开关。'."\n" + .'- **false**:关闭无可用机器报警开关。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'SuccessNoticeEnable', + 'in' => 'formData', + 'schema' => ['description' => '成功通知开关。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'AppVersion', - 'in' => 'query', + 'name' => 'SendChannel', + 'in' => 'formData', 'schema' => [ - 'title' => '应用版本,1:基础版,2:专业版', - 'description' => '应用版本,1:基础版,2:专业版。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '告警通知渠道。'."\n" + ."\n" + .'- 按应用分组默认渠道:default。'."\n" + .'- 指定任务发送渠道:sms,mail,phone,webhook。', + 'type' => 'string', 'required' => false, - 'example' => '2', - 'default' => '2', - 'enum' => [ - '1', - '2', - ], + 'enumValueTitles' => ['default' => 'default', 'webhook' => 'webhook', 'mail' => 'mail', 'phone' => 'phone', 'sms' => 'sms'], + 'example' => 'sms', + 'default' => 'default', ], ], [ - 'name' => 'MonitorConfigJson', - 'in' => 'query', + 'name' => 'TaskMaxAttempt', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务失败重试次数 ,默认值为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '0', 'example' => '0', 'default' => '0'], + ], + [ + 'name' => 'TaskAttemptInterval', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务失败重试间隔,默认值为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '0', 'default' => '0'], + ], + [ + 'name' => 'ContactInfo', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '报警通知的配置,支持以下属性:sendChannel、alarmType 和 webhookIsAtAll。'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', + 'description' => '任务联系人信息。'."\n" + ."\n" + .'><notice>该字段已废弃></notice>', + 'type' => 'array', + 'items' => [ + 'description' => '任务联系人信息。', + 'type' => 'object', + 'properties' => [ + 'UserPhone' => ['description' => '报警接收手机号。', 'type' => 'string', 'required' => false, 'example' => '1381111****'], + 'UserName' => ['description' => '报警联系人姓名。', 'type' => 'string', 'required' => false, 'example' => 'John Smith'], + 'UserMail' => ['description' => '报警联系人邮箱。', 'type' => 'string', 'required' => false, 'example' => 'test***@***.com'], + 'Ding' => ['description' => '报警联系人钉钉群机器人webhook地址,参考文档:[钉钉开发文档](https://open.dingtalk.com/document/org/application-types)。', 'type' => 'string', 'required' => false, 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '{'."\n" - .' "sendChannel": "ding,sms,mail,phone",'."\n" - .' "alarmType": "Contacts",'."\n" - .' "webhookIsAtAll": false'."\n" - .'}', + 'maxItems' => 10, ], ], [ - 'name' => 'MonitorContactsJson', - 'in' => 'query', + 'name' => 'Status', + 'in' => 'formData', 'schema' => [ - 'description' => '报警联系人配置。支持配置报警联系人以及报警联系人组'."\n" - .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', + 'description' => '0:禁用,1:启用,默认启用。', + 'type' => 'integer', + 'format' => 'int32', 'required' => false, - 'example' => '['."\n" - .' {"name": "张三"},'."\n" - .' {"name": "李四"}'."\n" - .']', + 'example' => '1', + 'default' => '1', + 'enum' => ['0', '1'], ], ], [ - 'name' => 'NotificationPolicyName', - 'in' => 'query', + 'name' => 'XAttrs', + 'in' => 'formData', 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', + 'title' => '如果是k8s任务类型,需要配置该参数'."\n" + .'Job任务:{"resource":"job"}'."\n" + .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", + 'description' => '如果是k8s任务类型,需要配置该参数'."\n" + .'Job任务:{"resource":"job"}'."\n" + .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", 'type' => 'string', 'required' => false, - 'example' => 'test-workday-notification', + 'example' => '{"resource":"job"}', + 'enum' => [], ], ], [ - 'name' => 'EnableLog', + 'name' => 'Priority', 'in' => 'query', - 'schema' => [ - 'title' => '开启日志', - 'description' => '开启日志', - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => '任务优先级。取值如下:'."\n" + .'- **1**:低'."\n" + .'- **5**:中'."\n" + .'- **10**:高'."\n" + .'- **15**:非常高', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Success' => ['description' => '创建任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:创建任务成功。'."\n" + .'- **false**:创建任务失败。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '任务详细信息。', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '92583'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '更新应用分组', - 'responseParamsDescription' => '## **MonitorConfigJson 补充说明**'."\n" - .'报警通知的配置,支持以下属性:`sendChannel`、`alarmType` 和 `webhookIsAtAll`。'."\n" - ."\n" - .'## **配置格式**'."\n" - .'该字段的配置应为 JSON 格式,支持以下属性:'."\n" - ."\n" - .'## **属性说明**'."\n" - .'- **发送渠道**(`sendChannel`):'."\n" - .' - 支持多个渠道,使用逗号分隔,选项包括:'."\n" - .' - **webhook**: `ding`'."\n" - .' - **短信**: `sms`'."\n" - .' - **邮件**: `mail`'."\n" - .' - **电话**: `phone`'."\n" - ."\n" - .'- **报警类型**(`alarmType`):'."\n" - .' - **Contacts**: 表示报警联系人'."\n" - .' - **ContactGroup**: 表示报警联系人组'."\n" - ."\n" - .'- **是否 @ 所有成员**(`webhookIsAtAll`):'."\n" - .' - 值为 `"true"` 或 `"false"`,指示在发送通知时是否 @ 所有群成员。'."\n" - ."\n" - .'## **示例**:'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "ding,sms,mail,phone",'."\n" - .' "alarmType": "Contacts",'."\n" - .' "webhookIsAtAll": true'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'---'."\n" - ."\n" - .'## **MonitorContactsJson 补充说明**'."\n" - .'报警联系人配置,根据 `alarmType` 的不同提供两种格式。'."\n" - ."\n" - .'## **配置格式**'."\n" - .'该字段应为 JSON 格式,支持两种配置:联系人数组和联系人组对象。'."\n" - ."\n" - .'## **属性说明**'."\n" - .'- **当 `alarmType` 为 `Contacts`**:'."\n" - .' - 配置为包含多个联系人对象的数组,每个对象需包含:'."\n" - .' - **name**: 联系人的名称'."\n" - ."\n" - .'- **当 `alarmType` 为 `ContactGroup`**:'."\n" - .' - 配置为单个对象,包含:'."\n" - .' - **name**: 联系人组的名称'."\n" - ."\n" - .'## **注意事项**'."\n" - .'建议提前创建联系人与联系人组。如果未创建,系统会自动生成相应的联系人和联系人组。用户需在“通知联系人”页面配置联系人手机号、邮箱等信息并激活,以确保报警能够正常发送。'."\n" - ."\n" - .'## **示例**:'."\n" - .'- **示例 1** (当 `alarmType` 为 `Contacts`):'."\n" - .' ```json'."\n" - .' ['."\n" - .' {"name": "张三"},'."\n" - .' {"name": "李四"}'."\n" - .' ]'."\n" - .' ```'."\n" - ."\n" - .'- **示例 2** (当 `alarmType` 为 `ContactGroup`):'."\n" - .' ```json'."\n" - .' {'."\n" - .' "name": "报警联系人组-1"'."\n" - .' }'."\n" - .' ```', - ], - 'ListGroups' => [ - 'summary' => '获取应用列表。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": 92583\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateJobResponse>\\n <Code>200</Code>\\n <Message>message</Message>\\n <RequestId>39090022-1F3B-4797-8518-6B61095F1AF0</RequestId>\\n <Success>true</Success>\\n <Data>\\n <JobId>92583</JobId>\\n </Data>\\n</CreateJobResponse>","errorExample":""}]', + 'title' => '创建任务并返回任务ID', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-10T07:10:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:58.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-29T02:51:09.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-27T12:19:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-06-13T03:57:15.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxJobCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateNamespace' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'Namespace', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'NamespaceSource', + 'name' => 'Uid', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '命名空间UID,全局唯一,推荐用UUID生成。', 'type' => 'string', 'required' => false, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'RegionId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '命名空间名称。', 'type' => 'string', 'required' => true, 'example' => 'test-env'], ], [ - 'name' => 'AppGroupName', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'k8s-test', - ], + 'schema' => ['description' => '命名空间描述。', 'type' => 'string', 'required' => false, 'example' => 'Test'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58A', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'namespace=test3 is existed, noting update'], + 'Success' => ['description' => '创建应用是否成功。取值如下:'."\n" + ."\n" + .'- **true**:创建应用成功。'."\n" + .'- **false**:创建应用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '应用列表信息。', + 'description' => '命名空间信息。', 'type' => 'object', 'properties' => [ - 'AppGroups' => [ - 'description' => '应用列表和应用详情。', - 'type' => 'array', - 'items' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'AppGroupId' => [ - 'description' => '应用分组ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'DocTest', - ], - 'AppKey' => [ - 'description' => '应用Key。', - 'type' => 'string', - 'example' => 'a3G77O6NZxq/lyo1NC****==', - ], - 'Description' => [ - 'description' => '应用描述。', - 'type' => 'string', - 'example' => 'Test', - ], - 'GroupId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'DocTest.Group', - ], - 'AppVersion' => [ - 'title' => '应用版本,1:基础版,2:专业版', - 'description' => '应用版本,1:基础版,2:专业版', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Namespace' => [ - 'description' => '命名空间ID', - 'type' => 'string', - 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****', - ], - 'EnableLog' => [ - 'type' => 'boolean', - ], - ], - ], - ], + 'NamespaceUid' => ['description' => '命名空间唯一标识。', 'type' => 'string', 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], ], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AppGroups\\": [\\n {\\n \\"AppGroupId\\": 1,\\n \\"AppName\\": \\"DocTest\\",\\n \\"AppKey\\": \\"a3G77O6NZxq/lyo1NC****==\\",\\n \\"Description\\": \\"Test\\",\\n \\"GroupId\\": \\"DocTest.Group\\",\\n \\"AppVersion\\": 2,\\n \\"Namespace\\": \\"1a72ecb1-b4cc-400a-a71b-20cdec9b****\\",\\n \\"EnableLog\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListGroupsResponse>\\n<Message>namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58A</RequestId>\\n<Data>\\n <AppGroups>\\n <Description>Test</Description>\\n <AppKey>a3G77O6NZxq/lyo1NC****==</AppKey>\\n <GroupId>DocTest.Group</GroupId>\\n <AppName>DocTest</AppName>\\n </AppGroups>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ListGroupsResponse>","errorExample":""}]', - 'title' => '获取应用分组列表', - 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" - ."\n" - .'```xml'."\n" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" - .' <version>1.0.5</version>'."\n" - .'</dependency>'."\n" - .'```', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - .'```'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import java.util.List;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.exceptions.ClientException;'."\n" - .'import com.aliyuncs.exceptions.ServerException;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsResponse;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsResponse.Data.AppGroup;'."\n" - ."\n" - .'public class TestListGroups {'."\n" - ."\n" - .' public static void main(String[] args) {'."\n" - .' //OpenAPI的接入点,具体查看支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-hangzhou";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "XXXXXXXX";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "XXXXXXXX";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写 '."\n" - .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' ListGroupsRequest request = new ListGroupsRequest();'."\n" - .' //命名空间ID。'."\n" - .' request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b9****");'."\n" - .' ListGroupsResponse response;'."\n" - .' try {'."\n" - .' response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' } else {'."\n" - .' List<AppGroup> appGroups = response.getData().getAppGroups();'."\n" - .' for (AppGroup appGroup : appGroups) {'."\n" - .' System.out.println("groupId=" + appGroup.getGroupId() + ", appKey=" + appGroup.getAppKey());'."\n" - .' }'."\n" - .' }'."\n" - .' } catch (ServerException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" - .' } catch (ClientException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - ."\n" - .'``` ', - ], - 'GetWorkerList' => [ - 'summary' => '获取接入某个应用的worker列表。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '创建命名空间', + 'summary' => '创建命名空间。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-03-17T08:39:25.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-03-17T08:39:25.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-03-17T08:39:25.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxNamespaceCreate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"namespace=test3 is existed, noting update\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NamespaceUid\\": \\"adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + ], + 'CreateRouteStrategy' => [ + 'summary' => '创建路由策略。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => '路由策略名称', 'type' => 'string', 'required' => true, 'example' => 'test-strategy'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '权限组ID', - 'type' => 'string', - 'required' => true, - 'example' => 'usercenter', - ], + 'schema' => ['description' => '应用分组ID,在控制台的**应用管理**页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Namespace', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '任务ID,在控制台的**任务管理**页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '54978', 'default' => '-1'], ], [ - 'name' => 'NamespaceSource', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '路由策略类型。取值如下:'."\n" + .'- **3**:按照比例进行路由。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '1'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => '路由策略状态,取值如下'."\n" + ."\n" + .'- **0**:表示禁用'."\n" + ."\n" + .'- **1**:表示启用', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], + ], + [ + 'name' => 'StrategyContent', + 'in' => 'query', + 'schema' => ['description' => '路由策略详情JSON字段。关于此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'required' => false, 'example' => '[{"percentage":20,"target":"[\\"version1\\"]","targetType":"label"}]'], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], ], 'responses' => [ @@ -1980,380 +1403,398 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108****', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'Cannot find product according to your domain.', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,包含报错与提示', 'type' => 'string', 'example' => 'strategy name is null or empty.'], + 'Success' => ['description' => '接口调用是否成功。取值如下:'."\n" + ."\n" + .'- **true**:调用成功。'."\n" + ."\n" + .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '指定任务信息。', + 'description' => '返回数据', 'type' => 'object', - 'properties' => [ - 'WorkerInfos' => [ - 'description' => 'worker信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'worker的ip', - 'type' => 'string', - 'example' => '30.225.16.49', - ], - 'Port' => [ - 'description' => 'worker的端口', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60831', - ], - 'WorkerAddress' => [ - 'description' => 'worker的地址信息,格式为${worker_id}@${worker_ip}:${worker_port}', - 'type' => 'string', - 'example' => '030225016049_11734_25917@30.225.16.49:60831', - ], - 'Label' => [ - 'description' => 'worker的标签', - 'type' => 'string', - 'example' => 'gray', - ], - 'Version' => [ - 'description' => 'worker的版本', - 'type' => 'string', - 'example' => '1.3.4', - ], - 'Starter' => [ - 'description' => 'worker的启动方式', - 'type' => 'string', - 'example' => 'springboot', - ], - ], - ], - ], - ], + 'properties' => [], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"Cannot find product according to your domain.\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WorkerInfos\\": [\\n {\\n \\"Ip\\": \\"30.225.16.49\\",\\n \\"Port\\": 60831,\\n \\"WorkerAddress\\": \\"030225016049_11734_25917@30.225.16.49:60831\\",\\n \\"Label\\": \\"gray\\",\\n \\"Version\\": \\"1.3.4\\",\\n \\"Starter\\": \\"springboot\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取接入某个应用的worker列表', - ], - 'CreateWorkflow' => [ - 'summary' => '创建工作流,默认禁用状态,更新完DAG后,需要手动或者通过API启动用工作流,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建路由策略', + 'requestParamsDescription' => '当路由策略类型为**3**时,路由策略详情字段配置如下:'."\n" + ."\n" + .'- **percentage**:调度路由百分比,取值范围为**0-100**,单位为%'."\n" + ."\n" + .'- **target**:调度的目标,此处是一个列表,可以配置多个目标,若**targetType**为"**label**",则列表中配置**label**名称,若**targetType**为"**worker**",则列表中配置**worker**的IP地址'."\n" + ."\n" + .'- **targetType**:调度目标类型,可配置为"**label**"或"**worker**",表示调度到指定label的机器上或者调度到指定IP的机器上', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:58.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxRouteStrategyCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"strategy name is null or empty.\\",\\n \\"Success\\": true,\\n \\"Data\\": {}\\n}","type":"json"}]', + ], + 'CreateSchedulerxCalendar' => [ + 'summary' => '创建日历。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Namespace', + 'name' => 'CalendarName', 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['title' => '', 'description' => '日历名称', 'type' => 'string', 'required' => true, 'example' => '2025workday'], ], [ - 'name' => 'NamespaceSource', + 'name' => 'Year', 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '年份', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2025'], ], [ - 'name' => 'GroupId', + 'name' => 'MonthDaysContent', 'in' => 'formData', + 'schema' => ['title' => '', 'description' => '月份和天', 'type' => 'string', 'required' => true, 'example' => '['."\n" + .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" + .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" + .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" + .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" + .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" + .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" + .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" + .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" + .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" + .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" + .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" + .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" + .']'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息', 'type' => 'string', 'example' => 'calendar \'2025workday\' already exists in year 2025'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '调用是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas: CreateSchedulerxCalendar'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], + ], + ], + 'description' => '', ], ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '工作流名称', - 'type' => 'string', - 'required' => true, - 'example' => 'helloworld', + ], + 'title' => '创建日历', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' already exists in year 2025\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas: CreateSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'CreateSchedulerxNotificationPolicy' => [ + 'summary' => '创建通知策略。', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'description' => '工作流描述', - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'TimeType', + 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '时间类型,目前支持以下几种时间类型:'."\n" - .'- cron:1'."\n" - .'- api:100', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TimeExpression', + 'name' => 'PolicyName', 'in' => 'formData', - 'schema' => [ - 'description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" - ."\n" - .'- cron:填写标准的cron表达式,支持在线验证。'."\n" - .'- api:无时间表达式。', - 'type' => 'string', - 'required' => false, - 'example' => '0 0/10 * * * ?', - ], + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'required' => true, 'example' => 'test-weekdays'], ], [ - 'name' => 'Timezone', + 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => '时区', - 'type' => 'string', - 'required' => false, - 'example' => 'GMT+8', - ], + 'schema' => ['title' => '策略描述', 'description' => '通知策略描述', 'type' => 'string', 'required' => false, 'example' => 'Monday-Friday only'], ], [ - 'name' => 'MaxConcurrency', + 'name' => 'ChannelTimeRange', 'in' => 'formData', - 'schema' => [ - 'description' => '最大同时运行工作流实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '通知渠道生效时间段配置'."\n", 'description' => '通知渠道生效时间段配置'."\n" + ."\n" + .'> 请参考请求参数中 ChannelTimeRange 的补充说明', 'type' => 'string', 'required' => true, 'example' => '{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "UTC+08:00",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "all": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '创建工作流是否成功。取值如下:'."\n" - ."\n" - .'- true:创建工作流成功。'."\n" - .'- false:创建工作流失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'timetype is invalid', - ], - 'Data' => [ - 'description' => '创建工作流的返回值', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息', 'type' => 'string', 'example' => 'Invalid parameter: Notification policy already exists: test-weekdays'."\n"], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', 'type' => 'object', 'properties' => [ - 'WorkflowId' => [ - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '92583', - ], + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:CreateSchedulerxNotificationPolicy'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], ], ], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '创建通知策略', + 'requestParamsDescription' => '# ChannelTimeRange 配置说明'."\n" + .'通知渠道的生效时间配置,支持统一配置和独立配置两种模式。'."\n" + ."\n" + .'## 配置格式'."\n" + .'该字段应为 JSON 格式,支持以下核心属性:'."\n" + ."\n" + .'### 属性说明'."\n" + ."\n" + .'**sendChannel:通知渠道配置(必填)**'."\n" + .'- 必填字段,指定需要配置的通知渠道'."\n" + .'- 格式:多个渠道用逗号分隔,如 "sms,webhook,mail,phone"'."\n" + .'- 支持的渠道:sms(短信)、webhook(如钉钉、企业微信)、mail(邮件)、phone(电话)'."\n" + ."\n" + .'**timezone:时区设置**'."\n" + .'- 支持 GMT 或 UTC 格式'."\n" + .'- 示例:GMT+8 或 UTC+08:00'."\n" + .'- 说明:时区决定了报警生效时间的参考标准,与实际所在地区无关。例如在北京地区配置"美国纽约时区(UTC-4),周一 00:00-03:00",系统将以纽约当地时间为准。'."\n" + ."\n" + .'**webhookIsAtAll:Webhook 通知配置**'."\n" + .'- 值为 "true" 或 "false"'."\n" + .'- 指示 webhook 通知时是否@所有成员'."\n" + ."\n" + .'**timeRanges:时间范围配置(必填)**'."\n" + .'- 支持两种配置模式:'."\n" + .' 1. 统一配置:使用 "all" 作为 key,为所有选择的渠道统一设置时间段'."\n" + .' 2. 独立配置:为每个渠道单独配置时间段,key 为具体的渠道标识'."\n" + ."\n" + .'### 时间段配置项'."\n" + .'每个时间段包含以下属性:'."\n" + .'- startTime:开始时间,格式为 HH:mm (必填)'."\n" + .'- endTime:结束时间,格式为 HH:mm (必填)'."\n" + .'- daysOfWeek:生效的工作日,数组格式,1-7 代表周一到周日(非必填,为空时代表该时间段不生效)'."\n" + ."\n" + .'### 示例配置'."\n" + ."\n" + .'**示例 1:统一配置模式**'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "UTC+08:00",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "all": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'**示例 2:独立配置模式**'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "GMT+8",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "webhook": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "sms": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "mail": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "phone": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'### 注意事项'."\n" + .'1. sendChannel 字段必填,且只能包含支持的通知渠道'."\n" + .'2. 当 timeRanges 中包含 "all" 时,表示统一配置模式,此时不能包含其他渠道的配置'."\n" + .'3. 当 timeRanges 不包含 "all" 时,需要为 sendChannel 中指定的每个渠道进行独立配置'."\n" + .'4. 时间必须使用 24 小时制,格式为 HH:mm'."\n" + .'5. 工作日使用 1-7 的数字表示,分别对应周一到周日'."\n" + .'6. 时区支持 GMT 和 UTC 两种格式的配置', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"timetype is invalid\\",\\n \\"Data\\": {\\n \\"WorkflowId\\": 92583\\n }\\n}","type":"json"}]', - 'title' => '创建工作流', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: Notification policy already exists: test-weekdays\\\\n\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:CreateSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', ], - 'UpdateWorkflow' => [ - 'summary' => '更新工作流的基本信息,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateWorkflow' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'in' => 'formData', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'WorkflowId', - 'in' => 'formData', - 'schema' => [ - 'description' => '工作流ID', - 'type' => 'string', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '工作流名称', - 'type' => 'string', - 'required' => false, - 'example' => 'helloworld', - ], + 'schema' => ['description' => '工作流名称', 'type' => 'string', 'required' => true, 'example' => 'helloworld'], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => '工作流描述', - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => '工作流描述', 'type' => 'string', 'required' => false, 'example' => 'Test'], ], [ 'name' => 'TimeType', 'in' => 'formData', - 'schema' => [ - 'description' => '时间类型,目前支持以下几种时间类型:'."\n" - ."\n" - .'- cron:1'."\n" - .'- api:100', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '时间类型,目前支持以下几种时间类型:'."\n" + .'- cron:1'."\n" + .'- api:100', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'], ], [ 'name' => 'TimeExpression', 'in' => 'formData', - 'schema' => [ - 'description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" - ."\n" - .'- cron:填写标准的cron表达式,支持在线验证。'."\n" - .'- api:无时间表达式。', - 'type' => 'string', - 'required' => false, - 'example' => '0 0/10 * * * ?', - ], + 'schema' => ['description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" + ."\n" + .'- cron:填写标准的cron表达式,支持在线验证。'."\n" + .'- api:无时间表达式。', 'type' => 'string', 'required' => false, 'example' => '0 0/10 * * * ?'], + ], + [ + 'name' => 'Timezone', + 'in' => 'formData', + 'schema' => ['description' => '时区', 'type' => 'string', 'required' => false, 'example' => 'GMT+8'], + ], + [ + 'name' => 'MaxConcurrency', + 'in' => 'formData', + 'schema' => ['description' => '最大同时运行工作流实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -2363,119 +1804,83 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'api执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'timetype is invalid', + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID。', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'string', 'example' => '200'], + 'Success' => ['description' => '创建工作流是否成功。取值如下:'."\n" + ."\n" + .'- true:创建工作流成功。'."\n" + .'- false:创建工作流失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'timetype is invalid'], + 'Data' => [ + 'description' => '创建工作流的返回值', + 'type' => 'object', + 'properties' => [ + 'WorkflowId' => ['description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'example' => '92583'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建工作流', + 'summary' => '创建工作流,默认禁用状态,更新完DAG后,需要手动或者通过API启动用工作流,只有专业版才支持。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-05-30T07:43:23.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-03-25T02:55:32.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxWorkflowCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"timetype is invalid\\"\\n}","type":"json"}]', - 'title' => '更新工作流的基本信息', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"timetype is invalid\\",\\n \\"Data\\": {\\n \\"WorkflowId\\": 92583\\n }\\n}","type":"json"}]', ], - 'UpdateWorkflowDag' => [ - 'summary' => '更新工作流的节点及依赖关系,专业版应用才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteAppGroup' => [ + 'summary' => '删除应用分组。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'GroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'WorkflowId', - 'in' => 'formData', - 'schema' => [ - 'description' => '工作流ID', - 'type' => 'string', - 'required' => true, - 'example' => '123', - ], + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'DagJson', - 'in' => 'formData', - 'schema' => [ - 'description' => '工作流DAG信息,包括了Node和Edge的信息,json格式', - 'type' => 'string', - 'required' => true, - 'example' => '{"nodes":[{"id":2300691},{"id":10518089},{"id":1758851}],"edges":[{"source":10518089,"target":1758851},{"source":10518089,"target":2300691}]}', - ], + 'name' => 'DeleteJobs', + 'in' => 'query', + 'schema' => ['description' => '是否删除应用分组中的任务。取值如下:'."\n" + ."\n" + .'- **true**:删除。'."\n" + .'- **false**:不删除。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -2485,151 +1890,184 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx'], + 'Success' => ['description' => 'API调用是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '删除应用分组', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:58.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxAppGroupRemove', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"\\"\\n}","type":"json"}]', - 'title' => '更新工作流的DAG', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'ListWorkFlows' => [ - 'summary' => '获取工作流信息列表。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务ID,在控制台的**任务管理**页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间uid', - 'description' => '命名空间uid', - 'type' => 'string', - 'required' => true, - 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d', - ], + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间来源', - 'description' => '命名空间来源,特殊来源才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '应用分组ID', - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => true, - 'example' => 'hxm.test', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'WorkflowName', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '工作流名称', - 'type' => 'string', - 'required' => false, - 'example' => '测试工作流3', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功。'."\n" + ."\n" + .'- **true**:删除任务成功。'."\n" + ."\n" + .'- **false**:删除任务失败。', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', ], ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'description' => '页码', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + ], + 'title' => '删除指定任务', + 'summary' => '删除指定任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## 示例Demo'."\n" + ."\n" + .'```json'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.exceptions.ClientException;'."\n" + .'import com.aliyuncs.exceptions.ServerException;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DeleteJobRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DeleteJobResponse;'."\n" + ."\n" + .'public class DeleteJob {'."\n" + ."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-shanghai";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "<yourAccessKeyId>";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + ."\n" + .' DeleteJobRequest request = new DeleteJobRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobId((long) 2030221);'."\n" + ."\n" + .' DeleteJobResponse response = client.getAcsResponse(request);'."\n" + .' if (response.getSuccess()) {'."\n" + .' System.out.println("Success: "+response.getSuccess());'."\n" + .' } else {'."\n" + .' System.out.println("Message: "+response.getMessage());'."\n" + .' }'."\n" + ."\n" + .' }'."\n" + ."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxJobDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteJobResponse>","errorExample":""}]', + ], + 'DeleteNamespace' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '分查询时设置的每页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Status', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '任务状态。'."\n" - ."\n" - .'- **0**:表示禁用'."\n" - ."\n" - .'- **1**:表示启用', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n"], ], ], 'responses' => [ @@ -2639,334 +2077,132 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C', - ], - 'Code' => [ - 'title' => '错误码', - 'description' => '错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '错误信息', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'workflow is not existed', - ], - 'Success' => [ - 'title' => '会否成功', - 'description' => '会否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'title' => '工作流的数据', - 'description' => '工作流的数据', - 'type' => 'object', - 'properties' => [ - 'Records' => [ - 'description' => '单行数据。', - 'type' => 'array', - 'items' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'Namespace' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d'."\n", - ], - 'GroupId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'hxm.test', - ], - 'Name' => [ - 'description' => '工作流名称', - 'type' => 'string', - 'example' => '测试工作流3', - ], - 'WorkflowId' => [ - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1339', - ], - 'Description' => [ - 'description' => '任务描述', - 'type' => 'string', - 'example' => 'No description', - ], - 'TimeType' => [ - 'description' => '工作流时间类型', - 'type' => 'string', - 'example' => 'cron', - ], - 'TimeExpression' => [ - 'description' => '时间表达式', - 'type' => 'string', - 'example' => '0 0 5 */1 * ?', - ], - 'MaxConcurrency' => [ - 'description' => '最大并发数', - 'type' => 'string', - 'example' => '1', - ], - 'Calendar' => [ - 'description' => '日历', - 'type' => 'string', - 'example' => 'workday', - ], - 'Creator' => [ - 'description' => '创建人', - 'type' => 'string', - 'example' => '1144881807903942', - ], - 'Updater' => [ - 'description' => '更新人', - 'type' => 'string', - 'example' => '1144881807903942', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => '页码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '页大小', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401107'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'The system namespace cannot be deleted'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '删除命名空间', + 'summary' => '删除命名空间。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxNamespaceDelete', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"883AFE93-FB03-4FA9-A958-E750C6DE120C\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"workflow is not existed\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"Namespace\\": \\"4a06d5ea-f576-4326-842c-fb14ea043d8d\\\\n\\",\\n \\"GroupId\\": \\"hxm.test\\",\\n \\"Name\\": \\"测试工作流3\\",\\n \\"WorkflowId\\": 1339,\\n \\"Description\\": \\"No description\\",\\n \\"TimeType\\": \\"cron\\",\\n \\"TimeExpression\\": \\"0 0 5 */1 * ?\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Calendar\\": \\"workday\\",\\n \\"Creator\\": \\"1144881807903942\\",\\n \\"Updater\\": \\"1144881807903942\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1\\n }\\n}","type":"json"}]', - 'title' => '获取工作流信息列表', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401107\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"The system namespace cannot be deleted\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'ExecuteWorkflow' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DeleteRouteStrategy' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'WorkflowId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '111', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'InstanceParameters', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '工作流实例动态参数,不超过1000字节。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '任务ID,在控制台的**任务管理**页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '92583', 'default' => '-1'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Cannot find product according to your domain.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '如果调用成功,会返回流程实例ID。', - 'type' => 'object', - 'properties' => [ - 'WfInstanceId' => [ - 'description' => '工作流实例ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '111111', - ], - ], - ], + 'Code' => ['description' => '接口状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'strategy is already deleted.'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Cannot find product according to your domain.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WfInstanceId\\": 111111\\n }\\n}","errorExample":""},{"type":"xml","example":"<ExecuteWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Cannot find product according to your domain.</Message>\\n<Data>\\n <WfInstanceId>111111</WfInstanceId>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ExecuteWorkflowResponse>","errorExample":""}]', - 'title' => '触发一次工作流', - 'summary' => '触发一次工作流立即运行。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteWorkflow' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除路由策略', + 'summary' => '删除路由策略。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:58.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxRouteStrategyDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"strategy is already deleted.\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'DeleteSchedulerxCalendar' => [ + 'summary' => '删除日历。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'WorkflowId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '111', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'name' => 'CalendarName', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => '日历名称', 'type' => 'string', 'required' => true, 'example' => '2025workday'], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'Year', + 'in' => 'formData', + 'schema' => ['description' => '年份', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2025'], ], ], 'responses' => [ @@ -2974,108 +2210,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '删除工作流是否成功。取值如下:'."\n" - ."\n" - .'- **true**:删除工作流成功。'."\n" - .'- **false**:删除工作流失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'calendar \'2025workday\' does not exist in year 2025'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Success' => ['description' => '调用是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:DeleteSchedulerxCalendar'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '删除指定工作流', - 'summary' => '删除指定工作流。', - ], - 'DisableWorkflow' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '删除日历', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' does not exist in year 2025\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:DeleteSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'DeleteSchedulerxNotificationPolicy' => [ + 'summary' => '删除通知策略。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'WorkflowId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '111', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'PolicyName', + 'in' => 'formData', + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'required' => true, 'example' => 'test-weekdays'], ], ], 'responses' => [ @@ -3083,111 +2277,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '禁用工作流是否成功。取值如下:'."\n" - ."\n" - .'- **true**:禁用工作流成功。'."\n" - .'- **false**:禁用工作流失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息', 'type' => 'string', 'example' => 'Invalid parameter: policyName cannot be null'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:DeleteSchedulerxNotificationPolicy'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFoiYKaaImCmkI3QjgzNzM1LTIzQTUtNURENy1COUQ3LTBFOTIxRkRFOEM3NQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DisableWorkflowResponse>","errorExample":""}]', - 'title' => '禁用指定工作流', - 'summary' => '禁用指定工作流。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'EnableWorkflow' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '删除通知策略', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: policyName cannot be null\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:DeleteSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFoiYKaaImCmkI3QjgzNzM1LTIzQTUtNURENy1COUQ3LTBFOTIxRkRFOEM3NQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'DeleteWorkflow' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '111', - ], + 'schema' => ['description' => '工作流ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '111'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -3195,50 +2358,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '启用工作流是否成功。取值如下:'."\n" - ."\n" - .'- **true**:启用工作流成功。'."\n" - .'- **false**:启用工作流失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '删除工作流是否成功。取值如下:'."\n" + ."\n" + .'- **true**:删除工作流成功。'."\n" + .'- **false**:删除工作流失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</EnableWorkflowResponse>","errorExample":""}]', - 'title' => '启用指定工作流', - 'summary' => '启用指定工作流。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetWorkFlow' => [ - 'summary' => '获取工作流信息。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '删除指定工作流', + 'summary' => '删除指定工作流。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxWorkflowDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3246,67 +2402,119 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '地域', - 'type' => 'string', - 'required' => true, - 'example' => 'public', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'disable failed jobs=[99341]'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], + 'Regions' => [ + 'description' => '可用地域的集合', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionEndpoint' => ['description' => '地域对应的接入地址(Endpoint)', 'type' => 'string', 'example' => 'schedulerx.cn-hangzhou.aliyuncs.com'], + 'LocalName' => ['description' => '地域的展示名,根据当前语言环境转换', 'type' => 'string', 'example' => 'Hangzhou'], + 'RegionId' => ['description' => '地域ID', 'type' => 'string', 'example' => 'cn-hangzhou'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"disable failed jobs=[99341]\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Regions\\": [\\n {\\n \\"RegionEndpoint\\": \\"schedulerx.cn-hangzhou.aliyuncs.com\\",\\n \\"LocalName\\": \\"Hangzhou\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查看可选的地域', + 'summary' => '返回可用region列表', + 'changeSet' => [ + ['createdAt' => '2024-05-30T07:43:23.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '错误码发生变更'], + ], + 'ramActions' => [], + ], + 'DesignateWorkers' => [ + 'summary' => '指定机器。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间uid', - 'description' => '命名空间ID', - 'type' => 'string', - 'required' => true, - 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d', - ], + 'schema' => ['title' => '命名空间UID', 'description' => '命名空间UID', 'type' => 'string', 'required' => true, 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间来源', - 'description' => '命名空间来源', - 'type' => 'string', - 'required' => false, - 'example' => 'source', - ], + 'schema' => ['title' => '命名空间来源', 'description' => '命名空间来源', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '应用分组ID', - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => true, - 'example' => 'hxm.test', - ], + 'schema' => ['title' => '应用分组ID', 'description' => '应用分组ID', 'type' => 'string', 'required' => true, 'example' => 'hxm.test'], ], [ - 'name' => 'WorkflowId', + 'name' => 'JobId', + 'in' => 'query', + 'schema' => ['title' => '任务ID', 'description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '144153'], + ], + [ + 'name' => 'Transferable', + 'in' => 'query', + 'schema' => ['title' => '是否故障转移', 'description' => '是否故障转移', 'type' => 'boolean', 'required' => true, 'example' => 'true'], + ], + [ + 'name' => 'DesignateType', 'in' => 'query', 'schema' => [ - 'title' => '工作流ID', - 'description' => '工作流ID', + 'title' => '指定机器的类型', + 'description' => '指定机器的类型:1.worker, 2.label', 'type' => 'integer', - 'format' => 'int64', + 'format' => 'int32', 'required' => true, - 'example' => '1234', + 'enumValueTitles' => [1 => 'worker', 'label'], + 'example' => '1', ], ], + [ + 'name' => 'Workers', + 'in' => 'query', + 'schema' => ['title' => '指定机器列表json格式', 'description' => '指定机器列表JSON格式列表', 'type' => 'string', 'required' => false, 'example' => '["127.0.0.1","127.0.0.2"]'], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['title' => '指定label列表json格式', 'description' => '指定`label`列表`json`格式列表', 'type' => 'string', 'required' => false, 'example' => '["gray"]'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域', 'type' => 'string', 'required' => true, 'example' => 'public'], + ], ], 'responses' => [ 200 => [ @@ -3315,178 +2523,39 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '45678xxx', - ], - 'Code' => [ - 'title' => '错误码', - 'description' => '错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '错误信息', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'workflow is not existed', - ], - 'Success' => [ - 'title' => '会否成功', - 'description' => '结果', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'title' => '工作流的数据', - 'description' => '工作流的数据', - 'type' => 'object', - 'properties' => [ - 'WorkFlowInfo' => [ - 'title' => '工作流基本信息', - 'description' => '工作流基本信息', - 'type' => 'object', - 'properties' => [ - 'WorkflowId' => [ - 'title' => '工作流ID', - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234xxx', - ], - 'Name' => [ - 'title' => '工作流名称', - 'description' => '工作流名称', - 'type' => 'string', - 'example' => 'workflow_111', - ], - 'Description' => [ - 'title' => '工作流描述', - 'description' => '工作流描述', - 'type' => 'string', - 'example' => 'my first workflow', - ], - 'Status' => [ - 'title' => '工作流状态', - 'description' => '工作流状态', - 'type' => 'string', - 'example' => '成功', - ], - 'TimeType' => [ - 'title' => '工作流时间类型', - 'description' => '工作流时间类型', - 'type' => 'string', - 'example' => 'cron', - ], - 'TimeExpression' => [ - 'title' => '工作流时间表达式', - 'description' => '工作流时间表达式', - 'type' => 'string', - 'example' => '0 0 2 * * ?', - ], - 'GroupId' => [ - 'type' => 'string', - ], - 'Namespace' => [ - 'type' => 'string', - ], - 'MaxConcurrency' => [ - 'type' => 'string', - ], - ], - ], - 'WorkFlowNodeInfo' => [ - 'title' => '工作流节点信息', - 'description' => '工作流节点信息', - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'title' => '工作流节点列表', - 'description' => '工作流节点列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'title' => '任务ID', - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123456xxx', - ], - 'Label' => [ - 'title' => '任务名称', - 'description' => '任务名称', - 'type' => 'string', - 'example' => 'job_111', - ], - 'Status' => [ - 'title' => '任务状态', - 'description' => '任务状态', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - 'Edges' => [ - 'title' => '工作流边列表', - 'description' => '工作流边列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Source' => [ - 'title' => '起始任务ID', - 'description' => '起始任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Target' => [ - 'title' => '目的任务ID', - 'description' => '目的任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '765xxx'], + 'Message' => ['title' => '错误信息', 'description' => '错误信息', 'type' => 'string', 'example' => 'job is not existed'], + 'Code' => ['title' => '错误码', 'description' => '错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['title' => '是否成功', 'description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45678xxx\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"workflow is not existed\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WorkFlowInfo\\": {\\n \\"WorkflowId\\": 0,\\n \\"Name\\": \\"workflow_111\\",\\n \\"Description\\": \\"my first workflow\\",\\n \\"Status\\": \\"成功\\",\\n \\"TimeType\\": \\"cron\\",\\n \\"TimeExpression\\": \\"0 0 2 * * ?\\",\\n \\"GroupId\\": \\"\\",\\n \\"Namespace\\": \\"\\",\\n \\"MaxConcurrency\\": \\"\\"\\n },\\n \\"WorkFlowNodeInfo\\": {\\n \\"Nodes\\": [\\n {\\n \\"Id\\": 0,\\n \\"Label\\": \\"job_111\\",\\n \\"Status\\": 1\\n }\\n ],\\n \\"Edges\\": [\\n {\\n \\"Source\\": 100,\\n \\"Target\\": 200\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetWorkFlowResponse>\\n <RequestId>45678xxx</RequestId>\\n <Code>200</Code>\\n <Message>workflow is not existed</Message>\\n <Success>true</Success>\\n <Data>\\n <WorkFlowInfo>\\n <Name>workflow_111</Name>\\n <Description>my first workflow</Description>\\n <Status>成功</Status>\\n <TimeType>cron</TimeType>\\n <TimeExpression>0 0 2 * * ?</TimeExpression>\\n </WorkFlowInfo>\\n <WorkFlowNodeInfo>\\n <Nodes>\\n <Label>job_111</Label>\\n <Status>1</Status>\\n </Nodes>\\n <Edges>\\n <Source>100</Source>\\n <Target>200</Target>\\n </Edges>\\n </WorkFlowNodeInfo>\\n </Data>\\n</GetWorkFlowResponse>","errorExample":""}]', - 'title' => '获取工作流详情和依赖关系', + 'title' => '指定机器', 'extraInfo' => '## 示例Demo'."\n" + ."\n" .'```'."\n" .'package com.alibaba.schedulerx.pop;'."\n" ."\n" + .'import java.util.List;'."\n" + ."\n" .'import com.alibaba.schedulerx.common.util.JsonUtil;'."\n" ."\n" .'import com.aliyuncs.DefaultAcsClient;'."\n" .'import com.aliyuncs.exceptions.ClientException;'."\n" .'import com.aliyuncs.exceptions.ServerException;'."\n" .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.GetWorkFlowRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.GetWorkFlowResponse;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DesignateWorkersRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DesignateWorkersResponse;'."\n" + .'import com.google.common.collect.Lists;'."\n" ."\n" - .'public class TestGetWorkFlow {'."\n" + .'public class TestDesignateWorkers {'."\n" ."\n" .' public static void main(String[] args) {'."\n" - .' // OpenAPI的接入点,具体请查看支持地域列表或根据购买地域填写'."\n" + .' // OpenAPI的接入点,具体查看支持地域列表或根据购买地域填写'."\n" .' String regionId = "public";'."\n" .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取'."\n" - .' String accessKeyId = "xxxxxxx";'."\n" + .' String accessKeyId = "xxxxxxxx";'."\n" .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取'."\n" .' String accessKeySecret = "xxxxxxxxx";'."\n" .' //产品名称'."\n" @@ -3498,19 +2567,22 @@ .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" .' '."\n" - .' GetWorkFlowRequest request = new GetWorkFlowRequest();'."\n" + .' DesignateWorkersRequest request = new DesignateWorkersRequest();'."\n" .' request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b9a4af");'."\n" .' request.setGroupId("xuren_test");'."\n" - .' request.setWorkflowId(29L);'."\n" - .' GetWorkFlowResponse response;'."\n" + .' request.setJobId(3048L);'."\n" + .' //是否故障转移'."\n" + .' request.setTransferable(true);'."\n" + .' //1表示指定worker,2表示指定label'."\n" + .' request.setDesignateType(1);'."\n" + .' List<String> workers = Lists.newArrayList();'."\n" + .' workers.add("30.225.16.104");'."\n" + .' //workers需要json格式'."\n" + .' request.setWorkers(JsonUtil.toJson(workers));'."\n" + .' DesignateWorkersResponse response;'."\n" .' try {'."\n" .' response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(JsonUtil.toJson(response));'."\n" - .' } else {'."\n" - .' System.out.println("工作流基本信息:" + response.getData().getWorkFlowInfo());'."\n" - .' System.out.println("工作流节点信息:" + response.getData().getWorkFlowNodeInfo());'."\n" - .' }'."\n" + .' System.out.println(JsonUtil.toJson(response));'."\n" .' } catch (ServerException e) {'."\n" .' // TODO Auto-generated catch block'."\n" .' e.printStackTrace();'."\n" @@ -3523,1466 +2595,835 @@ .'}'."\n" .' '."\n" .' ```', - ], - 'GetWorkflowInstance' => [ - 'summary' => '获取指定工作流实例的详情,包含实例状态,依赖关系,每个任务实例的状态等。专业版应用才支持。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-21T03:32:07.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2021-12-20T12:18:16.000Z', 'description' => 'OpenAPI 下线'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxDesignateWorkers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"765xxx\\",\\n \\"Message\\": \\"job is not existed\\",\\n \\"Code\\": 200,\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DesignateWorkersResponse>\\n <RequestId>765xxx</RequestId>\\n <Message>job is not existed</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DesignateWorkersResponse>","errorExample":""}]', + ], + 'DisableJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'WorkflowId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'WfInstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '工作流实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123456', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'workflowId=xxx is not existed', - ], - 'Data' => [ - 'description' => '工作流实例详情封装在data中', - 'type' => 'object', - 'properties' => [ - 'WfInstanceInfo' => [ - 'description' => '工作流实例详情,包含了工作流的状态,开始结束时间,各个任务实例的状态及依赖关系', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '工作流实例状态,取值如下:'."\n" - ."\n" - .'- 1: 等待中'."\n" - .'- 2: 准备中'."\n" - .'- 3:运行中'."\n" - .'- 4:成功'."\n" - .'- 5:失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StartTime' => [ - 'description' => '开始时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:01', - ], - 'EndTime' => [ - 'description' => '结束时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:21', - ], - 'ScheduleTime' => [ - 'description' => '计划调度时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:00', - ], - 'DataTime' => [ - 'description' => '数据时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:00', - ], - ], - ], - 'WfInstanceDag' => [ - 'description' => '工作流实例的DAG信息,包含了节点和边', - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => '任务实例节点的数组', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobInstanceId' => [ - 'description' => '任务实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24058796', - ], - 'JobId' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1472', - ], - 'StartTime' => [ - 'description' => '任务开始时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:03', - ], - 'EndTime' => [ - 'description' => '任务结束时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:21', - ], - 'ScheduleTime' => [ - 'description' => '任务调度时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:03', - ], - 'DataTime' => [ - 'description' => '任务数据时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:00', - ], - 'WorkAddr' => [ - 'description' => '任务实例的运行机器', - 'type' => 'string', - 'example' => '10.163.0.101:34027', - ], - 'Result' => [ - 'description' => '任务运行结果', - 'type' => 'string', - 'example' => 'code=200', - ], - 'Attempt' => [ - 'description' => '任务失败重试次数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Status' => [ - 'description' => '实例状态。包含以下几种状态:'."\n" - .'1:等待'."\n" - .'3:运行中'."\n" - .'4:成功'."\n" - .'5:失败'."\n" - .'9:拒绝'."\n" - .'对应枚举类: com.alibaba.schedulerx.common.domain.InstanceStatus', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'JobName' => [ - 'description' => '任务名称', - 'type' => 'string', - 'example' => 'TestJob', - ], - ], - ], - ], - 'Edges' => [ - 'description' => '任务实例依赖关系的数组', - 'type' => 'array', - 'items' => [ - 'description' => '通过source->target描述依赖关系,source=0表示根节点', - 'type' => 'object', - 'properties' => [ - 'Source' => [ - 'description' => '依赖关系的上游,0表示根节点', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24058798', - ], - 'Target' => [ - 'description' => '依赖关系的下游', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24058796', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9'], + 'Success' => ['description' => '禁用任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:禁用任务成功。'."\n" + .'- **false**:禁用任务失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '停用指定任务', + 'summary' => '停用指定任务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Demo'."\n" + ."\n" + .'```'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DisableJobRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.DisableJobResponse;'."\n" + ."\n" + .'public class DisableJob {'."\n" + ."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-shanghai";'."\n" + .' //鉴权使用的AccessKeyId,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "<yourAccessKeyId>";'."\n" + .' //鉴权使用的AccessKeySecret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + .' '."\n" + .' DisableJobRequest request = new DisableJobRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobId(123L);'."\n" + .' DisableJobResponse response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' System.out.println("DisableJob: "+response.getRequestId());'."\n" + .' } else {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' }'."\n" + .' }'."\n" + .' '."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"workflowId=xxx is not existed\\",\\n \\"Data\\": {\\n \\"WfInstanceInfo\\": {\\n \\"Status\\": 5,\\n \\"StartTime\\": \\"2023-01-03 18:00:01\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:00\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\"\\n },\\n \\"WfInstanceDag\\": {\\n \\"Nodes\\": [\\n {\\n \\"JobInstanceId\\": 24058796,\\n \\"JobId\\": 1472,\\n \\"StartTime\\": \\"2023-01-03 18:00:03\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:03\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\",\\n \\"WorkAddr\\": \\"10.163.0.101:34027\\",\\n \\"Result\\": \\"code=200\\",\\n \\"Attempt\\": 0,\\n \\"Status\\": 4,\\n \\"JobName\\": \\"TestJob\\"\\n }\\n ],\\n \\"Edges\\": [\\n {\\n \\"Source\\": 24058798,\\n \\"Target\\": 24058796\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => '获取工作流实例详情及DAG', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableJobResponse>\\n<RequestId>C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DisableJobResponse>","errorExample":""}]', ], - 'ListWorkflowInstance' => [ - 'summary' => '获取工作流的历史执行记录,只有专业版才支持。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DisableWorkflow' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '工作流ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '111'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'WorkflowId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID', - 'type' => 'string', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'workflowId=xxx is not existed', - ], - 'Data' => [ - 'description' => '工作流实例列表封装在data里', - 'type' => 'object', - 'properties' => [ - 'WfInstanceInfos' => [ - 'description' => '工作流实例的列表', - 'type' => 'array', - 'items' => [ - 'description' => '工作流实例数据结构', - 'type' => 'object', - 'properties' => [ - 'WfInstanceId' => [ - 'description' => '工作流实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123456', - ], - 'WorkflowId' => [ - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'Status' => [ - 'description' => '工作流实例状态,取值如下:'."\n" - ."\n" - .'- 1: 等待中'."\n" - .'- 2: 准备中'."\n" - .'- 3:运行中'."\n" - .'- 4:成功'."\n" - .'- 5:失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StartTime' => [ - 'description' => '开始时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:01', - ], - 'EndTime' => [ - 'description' => '结束时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:21', - ], - 'ScheduleTime' => [ - 'description' => '计划调度时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:00', - ], - 'DataTime' => [ - 'description' => '数据时间', - 'type' => 'string', - 'example' => '2023-01-03 18:00:00', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '禁用工作流是否成功。取值如下:'."\n" + ."\n" + .'- **true**:禁用工作流成功。'."\n" + .'- **false**:禁用工作流失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '禁用指定工作流', + 'summary' => '禁用指定工作流。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"workflowId=xxx is not existed\\",\\n \\"Data\\": {\\n \\"WfInstanceInfos\\": [\\n {\\n \\"WfInstanceId\\": 123456,\\n \\"WorkflowId\\": 123,\\n \\"Status\\": 5,\\n \\"StartTime\\": \\"2023-01-03 18:00:01\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:00\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取工作流实例列表', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DisableWorkflowResponse>","errorExample":""}]', ], - 'SetWfInstanceSuccess' => [ - 'summary' => '强制设置工作流实例状态为成功状态,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'EnableJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92555'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'WorkflowId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作流ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'WfInstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '工作流实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123456789', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => '请求是否成功,取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'wofkflowId is not existed', - ], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBC***'], + 'Success' => ['description' => '调用任务是否成功。取值如下:'."\n" + ."\n" + .'- **true**:调用任务成功。'."\n" + .'- **false**:调用任务失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '启用指定任务', + 'summary' => '启用指定任务。', + 'description' => '任务创建完成以后默认启用,所以该功能是在停用任务后使用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Demo'."\n" + ."\n" + .'```'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.EnableJobRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.EnableJobResponse;'."\n" + ."\n" + .'public class EnableJob {'."\n" + ."\n" + .' public static void main(String[] args) throws Exception {'."\n" + .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-shanghai";'."\n" + .' //鉴权使用的 AccessKeyId,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "<yourAccessKeyId>";'."\n" + .' //鉴权使用的 AccessKeySecret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + .' '."\n" + .' EnableJobRequest request = new EnableJobRequest();'."\n" + .' request.setNamespace("xxxxxx");'."\n" + .' request.setGroupId("xxxxxx");'."\n" + .' request.setJobId(123L);'."\n" + .' EnableJobResponse response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' System.out.println("EnableJob: "+response.getRequestId());'."\n" + .' } else {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' }'."\n" + .' }'."\n" + .' '."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"wofkflowId is not existed\\"\\n}","type":"json"}]', - 'title' => '标记工作流实例成功', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBC***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableJobResponse>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBC***</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</EnableJobResponse>","errorExample":""}]', ], - 'CreateJob' => [ - 'summary' => '创建任务并返回任务ID。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'EnableWorkflow' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '工作流ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '111'], ], [ 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', - 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - 'default' => 'schedulerx', - ], + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'JobType', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务类型,目前支持以下几种任务类型:'."\n" - ."\n" - .'- java'."\n" - .'- python'."\n" - .'- shell'."\n" - .'- go'."\n" - .'- http'."\n" - .'- xxljob'."\n" - .'- dataworks'."\n" - .'- k8s'."\n" - .'- springschedule', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 'python' => 'python', - 'xxljob' => 'xxljob', - 'java' => 'java', - 'shell' => 'shell', - 'golang' => 'golang', - 'go' => 'go', - 'http' => 'http', - 'dataworks' => 'dataworks', - ], - 'example' => 'java', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'helloworld', - ], + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], - [ - 'name' => 'ExecuteMode', - 'in' => 'formData', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '任务执行模式,目前支持以下几种任务执行模式:'."\n" - ."\n" - .'- **单机运行**:standalone'."\n" - .'- **广播运行**:broadcast'."\n" - .'- **可视化MapReduce**:parallel'."\n" - .'- **MapReduce**:batch'."\n" - .'- **分片运行**:sharding', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 'broadcast' => '广播运行', - 'parallel' => '并行计算', - 'grid' => '内存网格', - 'batch' => '网格计算', - 'standalone' => '单机运行', - 'sharding' => '分片运行', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '启用工作流是否成功。取值如下:'."\n" + ."\n" + .'- **true**:启用工作流成功。'."\n" + .'- **false**:启用工作流失败。', 'type' => 'boolean', 'example' => 'true'], ], - 'example' => 'standalone', - ], - ], - [ - 'name' => 'ClassName', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务接口类完整路径。'."\n" - ."\n" - .'当您选择Java任务类型时,才有该字段且必须填写完整路径。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibaba.schedulerx.test.helloworld', - ], - ], - [ - 'name' => 'Content', - 'in' => 'formData', - 'schema' => [ - 'description' => '- 任务类型选择为python/shell/k8s时,填写对应的脚本内容。'."\n" - .'- 任务类型为golang时,content格式示例为 {"jobName":"HelloWorld"}', - 'type' => 'string', - 'required' => false, - 'example' => 'echo \'hello\'', - ], - ], - [ - 'name' => 'Parameters', - 'in' => 'formData', - 'schema' => [ - 'description' => '用户自定义参数,运行时可以获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', + 'description' => '', ], ], - [ - 'name' => 'MaxConcurrency', - 'in' => 'formData', - 'schema' => [ - 'description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + ], + 'title' => '启用指定工作流', + 'summary' => '启用指定工作流。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:01.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</EnableWorkflowResponse>","errorExample":""}]', + ], + 'ExecuteJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MaxAttempt', - 'in' => 'formData', - 'schema' => [ - 'description' => '错误最大重试次数,根据业务需求填写,默认值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - 'default' => '0', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ - 'name' => 'AttemptInterval', - 'in' => 'formData', - 'schema' => [ - 'description' => '错误重试间隔,单位s,默认值为30。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - 'default' => '30', - ], + 'name' => 'JobId', + 'in' => 'query', + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], ], [ - 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,单次拉取子任务数,默认值为100。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - 'default' => '100', - ], + 'name' => 'InstanceParameters', + 'in' => 'query', + 'schema' => ['description' => '本次触发携带参数,可以是任意字符串,`processor`代码通过`context.getInstanceParameters()`获取,区别于创建任务自定义参数。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test'], ], [ - 'name' => 'ConsumerSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,单机单次触发执行线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'default' => '5', - ], + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'QueueSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务队列缓存上限,默认值为10000。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10000', - 'default' => '10000', - ], + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'DispatcherSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务分发线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'default' => '5', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'TimeType', - 'in' => 'formData', - 'schema' => [ - 'description' => '时间类型,目前支持以下几种时间类型:'."\n" - ."\n" - .'- **cron**:1'."\n" - .'- **fixed_rate**:3'."\n" - .'- **second_delay**:4'."\n" - .'- **one_time** :5 '."\n" - .'- **api**:100'."\n" - .'- **none**:-1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 1 => '1', - 3 => '3', - '4', - '5', - 100 => '100', - ], - 'example' => '1', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TimeExpression', - 'in' => 'formData', - 'schema' => [ - 'description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" - ."\n" - .'- **cron**:填写标准的cron表达式,支持在线验证。'."\n" - .'- **api**:无时间表达式。'."\n" - .'- **fixed_rate**:填写具体固定频率值,单位s。如30表示每隔30s触发一次。'."\n" - .'- **second_delay**:填写固定延迟多少秒执行一次(1s~60s可选)。'."\n" - .'- **one_time**: 填写指定时间(yyyy-MM-dd HH:mm:ss)或者时间戳(毫秒),比如"2022-10-10 10:10:00"', - 'type' => 'string', - 'required' => false, - 'example' => '0 0/10 * * * ?', - ], + 'name' => 'CheckJobStatus', + 'in' => 'query', + 'schema' => ['description' => '是否检查任务状态,取值如下:**true**:任务启用才能执行任务。**false**:任务不启用也可以执行任务。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'Calendar', - 'in' => 'formData', - 'schema' => [ - 'description' => 'cron类型可以选择填写自定义日历。', - 'type' => 'string', - 'required' => false, - 'example' => '暂不支持,不用填写', - ], + 'name' => 'DesignateType', + 'in' => 'query', + 'schema' => ['title' => '指定机器类型:1.workerAddr; 2. label', 'description' => '指定机器的类型,取值如下:**1**:指定worker。**2**:指定label', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'DataOffset', - 'in' => 'formData', - 'schema' => [ - 'description' => 'cron类型可以选择时间偏移,单位s。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2400', - ], + 'name' => 'Worker', + 'in' => 'query', + 'schema' => ['title' => '指定机器的workerAddr', 'description' => '应用的worker地址,需要先通过GetWokerList接口返回workerAddress', 'type' => 'string', 'required' => false, 'example' => 'xxxxxxx@127.0.0.1:222'], ], [ - 'name' => 'Timezone', - 'in' => 'formData', - 'schema' => [ - 'description' => '时区', - 'type' => 'string', - 'required' => false, - 'example' => 'GMT+8', - ], + 'name' => 'Label', + 'in' => 'query', + 'schema' => ['title' => '指定机器的标签', 'description' => 'worker的标签', 'type' => 'string', 'required' => false, 'example' => 'gray'], ], - [ - 'name' => 'TimeoutEnable', - 'in' => 'formData', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '超时报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启超时报警开关。'."\n" - .'- **false**:关闭超时报警开关。', - 'type' => 'boolean', - 'required' => false, - 'enumValueTitles' => [ - 'false' => 'false', - 'true' => 'true', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108****'], + 'Success' => ['description' => '触发任务是否成功。取值如下:'."\n" + ."\n" + .'- `true`:触发任务成功。'."\n" + .'- `false`:触发任务失败。'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '如果成功,会返回任务实例ID。', + 'type' => 'object', + 'properties' => [ + 'JobInstanceId' => ['description' => '任务实例ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '11111111'], + ], + ], ], - 'example' => 'false', - 'default' => 'true', + 'description' => '', ], ], - [ - 'name' => 'Timeout', - 'in' => 'formData', - 'schema' => [ - 'description' => '超时阈值,单位s,默认值7200。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '7200', - 'default' => '7200', - ], - ], - [ - 'name' => 'TimeoutKillEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '超时终止开关。取值如下:'."\n" - ."\n" - .'- **true**:开启超时终止开关。'."\n" - .'- **false**:关闭超时终止开关。', - 'type' => 'boolean', - 'required' => false, - 'enumValueTitles' => [ - 'false' => 'false', - 'true' => 'true', + ], + 'title' => '触发一次任务', + 'summary' => '触发一次任务立即运行。', + 'description' => '> 因为`JobID`联合`ScheduleTime`是唯一索引,所以同一个任务连续调用ExecuteJob接口的时,每次要sleep一秒,否则任务有可能会失败。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-06-06T17:05:13.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-30T07:47:16.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-20T12:18:16.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'example' => 'false', - 'default' => 'true', ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceId\\": 11111111\\n }\\n}","errorExample":""},{"type":"xml","example":"<ExecuteJobResponse>\\n <Code>200</Code>\\n <Message>groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****</Message>\\n <RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108****</RequestId>\\n <Success>true</Success>\\n <Data>\\n <JobInstanceId>11111111</JobInstanceId>\\n </Data>\\n</ExecuteJobResponse>","errorExample":""}]', + ], + 'ExecuteWorkflow' => [ + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'FailEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '失败报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启失败报警开关。'."\n" - .'- **false**:关闭失败报警开关。', - 'type' => 'boolean', - 'required' => false, - 'enumValueTitles' => [ - 'false' => 'false', - 'true' => 'true', - ], - 'example' => 'false', - 'default' => 'true', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ - 'name' => 'FailTimes', - 'in' => 'formData', - 'schema' => [ - 'description' => '连续失败报警次数', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - 'default' => '1', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MissWorkerEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否开启无可用机器报警。'."\n" - .'- **true**:开启无可用机器报警开关。'."\n" - .'- **false**:关闭无可用机器报警开关。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'SuccessNoticeEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '成功通知开关', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'SendChannel', - 'in' => 'formData', - 'schema' => [ - 'description' => '告警通知渠道。'."\n" - ."\n" - .'- 按应用分组默认渠道:default。'."\n" - .'- 指定任务发送渠道:sms,mail,phone,webhook。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'default' => 'default', - 'webhook' => 'webhook', - 'mail' => 'mail', - 'phone' => 'phone', - 'sms' => 'sms', - ], - 'example' => 'sms', - 'default' => 'default', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'TaskMaxAttempt', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务失败重试次数 ,默认值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'name' => 'WorkflowId', + 'in' => 'query', + 'schema' => ['description' => '工作流ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '111'], ], [ - 'name' => 'TaskAttemptInterval', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务失败重试间隔,默认值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'name' => 'InstanceParameters', + 'in' => 'query', + 'schema' => ['description' => '工作流实例动态参数,不超过1000字节。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test'], ], - [ - 'name' => 'ContactInfo', - 'in' => 'formData', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '任务联系人信息。'."\n" - ."\n" - .'><notice>该字段已废弃></notice>', - 'type' => 'array', - 'items' => [ - 'description' => '任务联系人信息。', - 'type' => 'object', - 'properties' => [ - 'UserPhone' => [ - 'description' => '报警接收手机号。', - 'type' => 'string', - 'required' => false, - 'example' => '1381111****', - ], - 'UserName' => [ - 'description' => '报警联系人姓名。', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], - 'UserMail' => [ - 'description' => '报警联系人邮箱。', - 'type' => 'string', - 'required' => false, - 'example' => 'test***@***.com', - ], - 'Ding' => [ - 'description' => '报警联系人钉钉群机器人webhook地址,参考文档:[钉钉开发文档](https://open.dingtalk.com/document/org/application-types)。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Cannot find product according to your domain.'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '如果调用成功,会返回流程实例ID。', + 'type' => 'object', + 'properties' => [ + 'WfInstanceId' => ['description' => '工作流实例ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '111111'], ], ], - 'required' => false, ], - 'required' => false, - 'example' => '1', - 'maxItems' => 10, + 'description' => '', ], ], - [ - 'name' => 'Status', - 'in' => 'formData', - 'schema' => [ - 'description' => '0:禁用,1:启用,默认启用。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - 'enum' => [ - '0', - '1', + ], + 'title' => '触发一次工作流', + 'summary' => '触发一次工作流立即运行。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-06-06T17:05:13.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowRun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Cannot find product according to your domain.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WfInstanceId\\": 111111\\n }\\n}","errorExample":""},{"type":"xml","example":"<ExecuteWorkflowResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Cannot find product according to your domain.</Message>\\n<Data>\\n <WfInstanceId>111111</WfInstanceId>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ExecuteWorkflowResponse>","errorExample":""}]', + ], + 'GetAppGroup' => [ + 'summary' => '获取应用分组。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'XAttrs', - 'in' => 'formData', - 'schema' => [ - 'title' => '如果是k8s任务类型,需要配置该参数'."\n" - .'Job任务:{"resource":"job"}'."\n" - .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", - 'description' => '如果是k8s任务类型,需要配置该参数'."\n" - .'Job任务:{"resource":"job"}'."\n" - .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"resource":"job"}', - 'enum' => [], - ], + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Priority', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '任务优先级。取值如下:'."\n" - .'- **1**:低'."\n" - .'- **5**:中'."\n" - .'- **10**:高'."\n" - .'- **15**:非常高', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Success' => [ - 'description' => '创建任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:创建任务成功。'."\n" - .'- **false**:创建任务失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一 ID。', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '任务详细信息。', + 'description' => '应用分组信息。', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '92583', - ], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'DocTest'], + 'Description' => ['description' => '应用描述。', 'type' => 'string', 'example' => 'Test'], + 'MaxJobs' => ['description' => '应用分组可配置最大任务数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'GroupId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'testSchedulerx.defaultGroup'], + 'MonitorConfigJson' => ['description' => '报警通知的配置。'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**', 'type' => 'string', 'example' => '{'."\n" + .' "sendChannel": "ding,sms,mail,phone",'."\n" + .' "alarmType": "Contacts",'."\n" + .' "webhookIsAtAll": false'."\n" + .'}'], + 'CurJobs' => ['description' => '应用分组当前配置任务数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AppKey' => ['description' => '应用AppKey。', 'type' => 'string', 'example' => 'QI4lWMZ+xk1rNB67jFUhaw=='], + 'AppVersion' => ['title' => '应用版本,1:基础版,2:专业版', 'description' => '应用版本,1:基础版,2:专业版。', 'type' => 'string', 'example' => '2'], + 'Namespace' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + 'MonitorContactsJson' => ['description' => '报警联系人配置。'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'example' => '['."\n" + .' {"name": "Alice Johnson"},'."\n" + .' {"name": "Lee Smith"}'."\n" + .']'], + 'NotificationPolicyName' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'example' => 'test-workday-notification'], + 'EnableLog' => ['type' => 'boolean', 'description' => ''], ], ], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": 92583\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateJobResponse>\\n <Code>200</Code>\\n <Message>message</Message>\\n <RequestId>39090022-1F3B-4797-8518-6B61095F1AF0</RequestId>\\n <Success>true</Success>\\n <Data>\\n <JobId>92583</JobId>\\n </Data>\\n</CreateJobResponse>","errorExample":""}]', - 'title' => '创建任务并返回任务ID', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## 创建Java任务'."\n" - ."\n" - .'```json'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AppName\\": \\"DocTest\\",\\n \\"Description\\": \\"Test\\",\\n \\"MaxJobs\\": 1000,\\n \\"GroupId\\": \\"testSchedulerx.defaultGroup\\",\\n \\"MonitorConfigJson\\": \\"{\\\\n \\\\\\"sendChannel\\\\\\": \\\\\\"ding,sms,mail,phone\\\\\\",\\\\n \\\\\\"alarmType\\\\\\": \\\\\\"Contacts\\\\\\",\\\\n \\\\\\"webhookIsAtAll\\\\\\": false\\\\n}\\",\\n \\"CurJobs\\": 1,\\n \\"AppKey\\": \\"QI4lWMZ+xk1rNB67jFUhaw==\\",\\n \\"AppVersion\\": \\"2\\",\\n \\"Namespace\\": \\"adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\",\\n \\"MonitorContactsJson\\": \\"[\\\\n {\\\\\\"name\\\\\\": \\\\\\"Alice Johnson\\\\\\"},\\\\n {\\\\\\"name\\\\\\": \\\\\\"Lee Smith\\\\\\"}\\\\n]\\",\\n \\"NotificationPolicyName\\": \\"test-workday-notification\\",\\n \\"EnableLog\\": true\\n }\\n}","type":"json"}]', + 'title' => '获取应用分组详情', + 'responseParamsDescription' => '## MonitorConfigJson 补充说明'."\n" + .'报警通知的配置,支持以下属性:`sendChannel`、`alarmType` 和 `webhookIsAtAll`。'."\n" ."\n" - .'import java.util.ArrayList;'."\n" - .'import java.util.List;'."\n" + .'## **配置格式**'."\n" + .'该字段的配置应为 JSON 格式,支持以下属性:'."\n" ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobRequest.ContactInfo;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobResponse;'."\n" + .'## **属性说明**'."\n" + .'- **发送渠道**(`sendChannel`):'."\n" + .' - 支持多个渠道,使用逗号分隔,选项包括:'."\n" + .' - **webhook**: `ding`。'."\n" + .' - **短信**: `sms`。'."\n" + .' - **邮件**: `mail`。'."\n" + .' - **电话**: `phone`。'."\n" ."\n" - .'public class CreateJavaJob {'."\n" + .'- **报警类型**(`alarmType`):'."\n" + .' - **Contacts**: 表示报警联系人。'."\n" + .' - **ContactGroup**: 表示报警联系人组。'."\n" ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,可查看产品支持的地域列表或根据购买产品的地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "<yourAccessKeyId>";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取'."\n" - .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' CreateJobRequest request = new CreateJobRequest();'."\n" - .' request.setJobType("java");'."\n" - .' request.setExecuteMode("standalone");'."\n" - .' request.setDescription("test");'."\n" - .' request.setName("helloworld");'."\n" - .' request.setClassName("com.alibaba.schedulerx.test.helloworld");'."\n" - .' request.setTimeType(1);'."\n" - .' request.setTimeExpression("0 0/10 * * * ?");'."\n" - .' request.setNamespace("xxxxx");'."\n" - .' request.setGroupId("xxxxxxx");'."\n" - .' // monitor'."\n" - .' request.setTimeoutEnable(true);'."\n" - .' request.setTimeoutKillEnable(true);'."\n" - .' request.setFailEnable(true);'."\n" - .' request.setTimeout(12300L);'."\n" - .' List<ContactInfo> contactInfosList = new ArrayList<>();'."\n" - .' ContactInfo contactInfo1 = new ContactInfo();'."\n" - .' contactInfo1.setUserName("userA");'."\n" - .' contactInfo1.setUserPhone("1381111****");'."\n" - .' ContactInfo contactInfo2 = new ContactInfo();'."\n" - .' contactInfo2.setUserName("userB");'."\n" - .' contactInfo2.setUserPhone("1382222****");'."\n" - .' contactInfosList.add(contactInfo1);'."\n" - .' contactInfosList.add(contactInfo2);'."\n" - .' request.setContactInfos(contactInfosList);'."\n" - .' // attrs'."\n" - .' //request.setQueueSize(123);'."\n" - .' request.setTaskMaxAttempt(1);'."\n" - .' request.setTaskAttemptInterval(100);'."\n" - .' CreateJobResponse response = client.getAcsResponse(request);'."\n" - .' if (response.getSuccess()) {'."\n" - .' System.out.println("jobId=" + response.getData().getJobId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' }'."\n" - .' }'."\n" + .'- **是否 @ 所有成员**(`webhookIsAtAll`):'."\n" + .' - 值为 `"true"` 或 `"false"`,指示在发送通知时是否 @ 所有群成员。'."\n" ."\n" + .'## **示例**:'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "ding,sms,mail,phone",'."\n" + .' "alarmType": "Contacts",'."\n" + .' "webhookIsAtAll": true'."\n" .'}'."\n" .'```'."\n" ."\n" - .'## 创建HTTP任务'."\n" - ."\n" - .'```json'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import com.alibaba.schedulerx.common.domain.HttpAttribute;'."\n" - .'import com.alibaba.schedulerx.common.util.JsonUtil;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobResponse;'."\n" - ."\n" - .'public class CreateHttpJob {'."\n" + .'---'."\n" ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看支持地域列表或根据购买地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "<yourAccessKeyId>";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' CreateJobRequest request = new CreateJobRequest();'."\n" - .' request.setNamespace("xxxxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobType("http");'."\n" - .' request.setName("testHttpJob");'."\n" - .' request.setDescription("testHttpJob");'."\n" - .' request.setTimeType(1);'."\n" - .' request.setTimeExpression("20 0/5 * * * ?");'."\n" - .' request.setExecuteMode("standalone");'."\n" - .' HttpAttribute httpAttribute = new HttpAttribute();'."\n" - .' httpAttribute.setUrl("http://192.168.0.0:8080/test");'."\n" - .' httpAttribute.setMethod("GET");'."\n" - .' httpAttribute.setTimeout(10); //单位秒'."\n" - .' httpAttribute.setRespKey("code");'."\n" - .' httpAttribute.setRespValue("200");'."\n" - .' request.setContent(JsonUtil.toJson(httpAttribute));'."\n" - .' //POST参数,格式key1=value1&key2=value2。'."\n" - .' request.setParameters("key1=value1&key2=value2"); '."\n" - .' '."\n" - .' //发送请求。'."\n" - .' CreateJobResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("createApp: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(JsonUtil.toJson(response));'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - .'```'."\n" - .'## 创建一次性任务'."\n" + .'## MonitorContactsJson 补充说明'."\n" + .'报警联系人配置,根据 `alarmType` 的不同提供两种格式。'."\n" ."\n" - .'```json'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" + .'## **配置格式**'."\n" + .'该字段应为 JSON 格式,支持两种配置:联系人数组和联系人组对象。'."\n" ."\n" - .'import java.util.ArrayList;'."\n" - .'import java.util.List;'."\n" + .'## **属性说明**'."\n" + .'- **当 `alarmType` 为 `Contacts`**:'."\n" + .' - 配置为包含多个联系人对象的数组,每个对象需包含:'."\n" + .' - **name**: 联系人的名称。'."\n" ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobRequest.ContactInfo;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.CreateJobResponse;'."\n" + .'- **当 `alarmType` 为 `ContactGroup`**:'."\n" + .' - 配置为单个对象,包含:'."\n" + .' - **name**: 联系人组的名称。'."\n" ."\n" - .'public class CreateJavaJob {'."\n" + .'## **示例**:'."\n" + .'- **示例 1** (当 `alarmType` 为 `Contacts`):'."\n" + .' ```json'."\n" + .' ['."\n" + .' {"name": "张三"},'."\n" + .' {"name": "李四"}'."\n" + .' ]'."\n" + .' ```'."\n" ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,可查看产品支持的地域列表或根据购买产品的地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取'."\n" - .' String accessKeyId = "xxxxxx";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取'."\n" - .' String accessKeySecret = "xxxxxxxx";'."\n" - .' //产品名称'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' CreateJobRequest request = new CreateJobRequest();'."\n" - .' request.setJobType("java");'."\n" - .' request.setExecuteMode("standalone");'."\n" - .' request.setDescription("test");'."\n" - .' request.setName("helloworld");'."\n" - .' request.setClassName("com.alibaba.schedulerx.test.helloworld");'."\n" - .' request.setTimeType(5);'."\n" - .' request.setTimeExpression("2021-12-30 12:12:12");'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxxx");'."\n" - .' // 报警监控'."\n" - .' request.setTimeoutEnable(true);'."\n" - .' request.setTimeoutKillEnable(true);'."\n" - .' request.setFailEnable(true);'."\n" - .' request.setTimeout(12300L);'."\n" - .' // 高级配置'."\n" - .' request.setMaxAttempt(3);'."\n" - .' request.setAttemptInterval(30);'."\n" - .' CreateJobResponse response = client.getAcsResponse(request);'."\n" - .' if (response.getSuccess()) {'."\n" - .' System.out.println("jobId=" + response.getData().getJobId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' }'."\n" + .'- **示例 2** (当 `alarmType` 为 `ContactGroup`):'."\n" + .' ```json'."\n" + .' {'."\n" + .' "name": "报警联系人组-1"'."\n" .' }'."\n" - .' '."\n" - .'}'."\n" - .'```', - ], - 'DeleteJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .' ```', + 'changeSet' => [ + ['createdAt' => '2025-12-16T07:30:33.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-10-27T08:05:07.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-01-15T06:51:02.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-17T09:45:54.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-06-05T07:37:27.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:57.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetJobInfo' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的**任务管理**页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'GroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'JobName', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'simpleJob'], ], ], 'responses' => [ @@ -4990,167 +3431,194 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功。'."\n" - ."\n" - .'- **true**:删除任务成功。'."\n" - ."\n" - .'- **false**:删除任务失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '获取任务详情是否成功。取值如下:'."\n" + ."\n" + .'- **true**:获取任务详情成功。'."\n" + .'- **false**:获取任务详情失败。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '指定任务信息。', + 'type' => 'object', + 'properties' => [ + 'JobConfigInfo' => [ + 'description' => '任务配置信息。', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '538039'], + 'Status' => ['description' => '任务状态。取值如下:'."\n" + ."\n" + .'- **1**:启用,可以被正常触发。'."\n" + .'- **0**:禁用,不会被触发。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Parameters' => ['description' => '用户自定义参数,运行时可以获取。', 'type' => 'string', 'example' => 'test'], + 'Description' => ['description' => '任务描述。', 'type' => 'string', 'example' => 'test'], + 'ExecuteMode' => ['description' => '任务执行模式,目前包含以下几种任务执行模式:'."\n" + ."\n" + .'- **单机运行**:standalone'."\n" + .'- **广播运行**:broadcatst'."\n" + .'- **并行计算**:parallel'."\n" + .'- **内存网格**:grid'."\n" + .'- **网格计算**:batch'."\n" + .'- **分片运行**:shard', 'type' => 'string', 'example' => 'standalone'], + 'MaxConcurrency' => ['description' => '最大同时运行实例数量,默认值为1, 即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', 'type' => 'string', 'example' => '1'], + 'Name' => ['description' => '任务名称。', 'type' => 'string', 'example' => 'helloworld'], + 'MaxAttempt' => ['description' => '错误最大重试次数,根据业务需求填写,默认值为0。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Content' => ['description' => '脚本类型任务的脚本。', 'type' => 'string', 'example' => 'echo "clear" > /home/admin/edas-container/logs/catalina.out '], + 'JarUrl' => ['description' => '上传到OSS的完整路径。'."\n" + ."\n" + .'如果选择JAR包运行,可以将相应JAR包上传到OSS的该路径下。', 'type' => 'string', 'example' => 'https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar'], + 'ClassName' => ['description' => '任务接口类完整路径,仅是Java类型任务时有该字段。', 'type' => 'string', 'example' => 'com.alibaba.test.helloword'], + 'JobType' => ['description' => '任务类型', 'type' => 'string', 'example' => 'java'], + 'AttemptInterval' => ['description' => '错误重试间隔时间,单位s,默认值为30。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'MapTaskXAttrs' => [ + 'description' => '高级配置,仅限于并行计算、内存网格和网格计算使用。', + 'type' => 'object', + 'properties' => [ + 'TaskMaxAttempt' => ['description' => '子任务失败重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TaskAttemptInterval' => ['description' => '子任务失败重试间隔。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ConsumerSize' => ['description' => '单机单次触发执行线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'QueueSize' => ['description' => '子任务队列缓存上限,默认值为10000。', 'type' => 'integer', 'format' => 'int32', 'example' => '10000'], + 'DispatcherSize' => ['description' => '子任务分发线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'PageSize' => ['description' => '并行任务单次拉取子任务数,默认值为100。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + ], + ], + 'TimeConfig' => [ + 'description' => '时间配置信息。', + 'type' => 'object', + 'properties' => [ + 'Calendar' => ['description' => '**cron**类型可以选择填写自定义日历。', 'type' => 'string', 'example' => 'workday'], + 'TimeType' => ['description' => '时间配置类型,目前支持以下几种时间类型:'."\n" + ."\n" + .'- **cron**:1'."\n" + .'- **fix_rate**:3'."\n" + .'- **second_delay**:4'."\n" + .'- **one_time** :5'."\n" + .'- **api**:100', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DataOffset' => ['description' => '**cron**类型可以选择时间偏移,单位为秒(s)。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TimeExpression' => ['description' => '时间表达式,目前支持以下几种时间表达类型:'."\n" + ."\n" + .'- **api**:无时间表达式。'."\n" + .'- **fix_rate**:具体固定频率值,如30表示每隔30s触发一次。'."\n" + .'- **cron**:标准的cron表达式。'."\n" + .'- **second_delay**:固定延迟多少秒执行一次(1s~60s可选)。', 'type' => 'string', 'example' => '0 0/10 * * * ?'], + ], + ], + 'JobMonitorInfo' => [ + 'description' => '任务监控信息。', + 'type' => 'object', + 'properties' => [ + 'ContactInfo' => [ + 'description' => '联系人信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UserPhone' => ['description' => '用户手机号。', 'type' => 'string', 'example' => '1381111****'], + 'UserName' => ['description' => '用户名。', 'type' => 'string', 'example' => 'userA'], + 'UserMail' => ['description' => '用户邮件地址。', 'type' => 'string', 'example' => 'user@demo.com'], + 'Ding' => ['description' => '钉钉Webhook地址。', 'type' => 'string', 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXX'], + ], + 'description' => '', + ], + ], + 'MonitorConfig' => [ + 'description' => '报警开关以及阈值配置。', + 'type' => 'object', + 'properties' => [ + 'Timeout' => ['description' => '超时阈值,单位为秒(s),默认值为7200。', 'type' => 'integer', 'format' => 'int64', 'example' => '12300'], + 'SendChannel' => ['description' => '报警发送形式,目前只支持sms。', 'type' => 'string', 'example' => 'sms'], + 'TimeoutKillEnable' => ['description' => '超时终止本次触发开关,默认关闭。', 'type' => 'boolean', 'example' => 'true'], + 'TimeoutEnable' => ['description' => '超时报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启超时报警开关。'."\n" + .'- **false**:关闭超时报警开关。', 'type' => 'boolean', 'example' => 'true'], + 'FailEnable' => ['description' => '失败报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启失败报警开关。'."\n" + .'- **false**:关闭失败报警开关。', 'type' => 'boolean', 'example' => 'true'], + 'MissWorkerEnable' => ['description' => '是否开启无可用机器报警。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + ], + ], + 'XAttrs' => ['description' => '任务扩展字段', 'type' => 'string', 'example' => '{"pageSize":5,"queueSize":10,"consumerSize":5,"dispatcherSize":5,"taskMaxAttempt":0,"taskAttemptInterval":0,"globalConsumerSize":1000,"taskDispatchMode":"push"}'], + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteJobResponse>","errorExample":""}]', - 'title' => '删除指定任务', - 'summary' => '删除指定任务。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobConfigInfo\\": {\\n \\"JobId\\": 538039,\\n \\"Status\\": 1,\\n \\"Parameters\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"ExecuteMode\\": \\"standalone\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Name\\": \\"helloworld\\",\\n \\"MaxAttempt\\": 0,\\n \\"Content\\": \\"echo \\\\\\"clear\\\\\\" > /home/admin/edas-container/logs/catalina.out \\",\\n \\"JarUrl\\": \\"https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar\\",\\n \\"ClassName\\": \\"com.alibaba.test.helloword\\",\\n \\"JobType\\": \\"java\\",\\n \\"AttemptInterval\\": 30,\\n \\"MapTaskXAttrs\\": {\\n \\"TaskMaxAttempt\\": 0,\\n \\"TaskAttemptInterval\\": 0,\\n \\"ConsumerSize\\": 5,\\n \\"QueueSize\\": 10000,\\n \\"DispatcherSize\\": 5,\\n \\"PageSize\\": 100\\n },\\n \\"TimeConfig\\": {\\n \\"Calendar\\": \\"workday\\",\\n \\"TimeType\\": 1,\\n \\"DataOffset\\": 0,\\n \\"TimeExpression\\": \\"0 0/10 * * * ?\\"\\n },\\n \\"JobMonitorInfo\\": {\\n \\"ContactInfo\\": [\\n {\\n \\"UserPhone\\": \\"1381111****\\",\\n \\"UserName\\": \\"userA\\",\\n \\"UserMail\\": \\"user@demo.com\\",\\n \\"Ding\\": \\"https://oapi.dingtalk.com/robot/send?access_token=XXXXXX\\"\\n }\\n ],\\n \\"MonitorConfig\\": {\\n \\"Timeout\\": 12300,\\n \\"SendChannel\\": \\"sms\\",\\n \\"TimeoutKillEnable\\": true,\\n \\"TimeoutEnable\\": true,\\n \\"FailEnable\\": true,\\n \\"MissWorkerEnable\\": true\\n }\\n },\\n \\"XAttrs\\": \\"{\\\\\\"pageSize\\\\\\":5,\\\\\\"queueSize\\\\\\":10,\\\\\\"consumerSize\\\\\\":5,\\\\\\"dispatcherSize\\\\\\":5,\\\\\\"taskMaxAttempt\\\\\\":0,\\\\\\"taskAttemptInterval\\\\\\":0,\\\\\\"globalConsumerSize\\\\\\":1000,\\\\\\"taskDispatchMode\\\\\\":\\\\\\"push\\\\\\"}\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetJobInfoResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Data>\\n <JobConfigInfo>\\n <Status>1</Status>\\n <MaxAttempt>0</MaxAttempt>\\n <Description>test</Description>\\n <Parameters>test</Parameters>\\n <JarUrl>https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar</JarUrl>\\n <MaxConcurrency>1</MaxConcurrency>\\n <TimeConfig>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </TimeConfig>\\n <Name>helloworld</Name>\\n <MapTaskXAttrs>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </MapTaskXAttrs>\\n <JobMonitorInfo>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </JobMonitorInfo>\\n <Content>echo \\"clear\\" &gt; /home/admin/edas-container/logs/catalina.out</Content>\\n <ClassName>com.alibaba.test.helloword</ClassName>\\n <AttemptInterval>30</AttemptInterval>\\n <ExecuteMode>standalone</ExecuteMode>\\n </JobConfigInfo>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetJobInfoResponse>","errorExample":""}]', + 'title' => '获取指定Jobid任务详情', + 'summary' => '获取指定Jobid任务详情,通常用来更新任务。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## 示例Demo'."\n" - ."\n" - .'```json'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.exceptions.ClientException;'."\n" - .'import com.aliyuncs.exceptions.ServerException;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DeleteJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DeleteJobResponse;'."\n" - ."\n" - .'public class DeleteJob {'."\n" - ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "<yourAccessKeyId>";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - ."\n" - .' DeleteJobRequest request = new DeleteJobRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobId((long) 2030221);'."\n" - ."\n" - .' DeleteJobResponse response = client.getAcsResponse(request);'."\n" - .' if (response.getSuccess()) {'."\n" - .' System.out.println("Success: "+response.getSuccess());'."\n" - .' } else {'."\n" - .' System.out.println("Message: "+response.getMessage());'."\n" - .' }'."\n" - ."\n" - .' }'."\n" - ."\n" - .'}'."\n" - .'```', - ], - 'BatchDeleteJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-02T03:30:41.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-01-13T02:41:30.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetJobInstance' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Namespace', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '区域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'NamespaceSource', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'Schedulerx', - ], + 'schema' => ['description' => '命名空间id,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用id,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], ], [ - 'name' => 'JobIdList', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', - 'type' => 'array', - 'items' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '99341', - ], - 'required' => true, - 'example' => '99341', - 'maxItems' => 3000, - ], + 'name' => 'JobInstanceId', + 'in' => 'query', + 'schema' => ['description' => '任务实例ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1685883418'], + ], + [ + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], ], 'responses' => [ @@ -5158,1085 +3626,1082 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7', - ], - 'Success' => [ - 'description' => '批量删除任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], + 'RequestId' => ['description' => '请求唯一id', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '获取任务实例详情是否成功。取值如下:'."\n" + ."\n" + .'- **true**:获取任务实例详情成功。'."\n" + .'- **false**:获取任务实例详情失败。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => 'instance信息', + 'type' => 'object', + 'properties' => [ + 'JobInstanceDetail' => [ + 'description' => '任务实例详细信息', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '实例状态。包含以下几种状态:'."\n" + ."\n" + .'- **1**:等待 '."\n" + .'- **3**:运行中 '."\n" + .'- **4**:成功'."\n" + .'- **5**:失败 '."\n" + .'- **9**:拒绝'."\n" + ."\n" + .'对应枚举类:'."\n" + .'com.alibaba.schedulerx.common.domain.InstanceStatus', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'Progress' => ['description' => '实例进度详情', 'type' => 'string', 'example' => '{"taskProgress":[{"name":"MAP_TASK_ROOT","total":1,"pulled":1,"running":0,"success":0,"failed":0}],"workerProgress":[{"workerAddr":"11.122.241.245:34865","total":1,"pulled":1,"running":0,"success":0,"failed":0}]}'], + 'Result' => ['description' => '实例执行结果', 'type' => 'string', 'example' => '{\'TotalSize\': 31, \'CurrentPage\': 5, \'PageSize\': 10}'], + 'InstanceId' => ['description' => '实例id', 'type' => 'integer', 'format' => 'int64', 'example' => '1189853849'], + 'TimeType' => ['description' => '实例调度时间类型,包含以下几种时间类型:'."\n" + ."\n" + .'- **cron**:1'."\n" + .'- **fix_rate**:3'."\n" + .'- **second_delay**:4'."\n" + .'- **api**:100'."\n" + ."\n" + .'对应枚举类:com.alibaba.schedulerx.common.domain.TimeType', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TriggerType' => ['description' => '触发类型,包含以下几种触发类型:'."\n" + ."\n" + .'- **1**:定时调度正常触发'."\n" + .'- **2**:数据重刷'."\n" + .'- **3**:API触发'."\n" + .'- **4**:用户手动点击重跑'."\n" + .'- **5**:系统重试(系统异常,如DB异常)'."\n" + ."\n" + .'对应枚举类:com.alibaba.schedulerx.common.domain.TriggerType', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'EndTime' => ['description' => '任务执行结束时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'StartTime' => ['description' => '任务执行开始时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'Executor' => ['description' => '执行人', 'type' => 'string', 'example' => 'John Smith'], + 'JobId' => ['description' => '任务id', 'type' => 'integer', 'format' => 'int64', 'example' => '92583'], + 'ScheduleTime' => ['description' => '计划调度时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'DataTime' => ['description' => '任务数据时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'WorkAddr' => ['description' => '被触发客户端ip:port', 'type' => 'string', 'example' => '192.168.0.0:16'], + 'Parameters' => ['description' => '任务运行实例参数信息。', 'type' => 'string', 'example' => '{\\"alertId\\":11111}'], + 'JobName' => ['description' => '任务名称', 'type' => 'string', 'example' => 'ManualJob'], + 'TraceId' => ['description' => '调用链ID,可用于精确查询调用信息。', 'type' => 'string', 'example' => '210e845016596663430048015d0a2c'], + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchDeleteJobsResponse>\\n<Message>delete failed jobs=[675946,676129]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchDeleteJobsResponse>","errorExample":""}]', - 'title' => '批量删除任务', - 'summary' => '批量删除任务。', - 'description' => '调用该接口前,需要在POM文件添加以下依赖:'."\n" - ."\n" - .'```xml'."\n" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" - .' <version>1.0.4</version>'."\n" - .'</dependency>'."\n" - .'```', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - ."\n" - .'```java'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import com.google.common.collect.Lists;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDeleteJobsRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDeleteJobsResponse;'."\n" - ."\n" - .'public class TestBatchDeleteJobs {'."\n" - ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写.'."\n" - .' String regionId = "cn-hangzhou";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "xxxxxx";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "xxxxxxxx";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' BatchDeleteJobsRequest request = new BatchDeleteJobsRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" - .' BatchDeleteJobsResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("BatchDeleteJob: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - .'```', - ], - 'UpdateJob' => [ - 'summary' => '更新任务配置信息。默认先调用获取任务找到对应字段进行修改。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceDetail\\": {\\n \\"Status\\": 4,\\n \\"Progress\\": \\"{\\\\\\"taskProgress\\\\\\":[{\\\\\\"name\\\\\\":\\\\\\"MAP_TASK_ROOT\\\\\\",\\\\\\"total\\\\\\":1,\\\\\\"pulled\\\\\\":1,\\\\\\"running\\\\\\":0,\\\\\\"success\\\\\\":0,\\\\\\"failed\\\\\\":0}],\\\\\\"workerProgress\\\\\\":[{\\\\\\"workerAddr\\\\\\":\\\\\\"11.122.241.245:34865\\\\\\",\\\\\\"total\\\\\\":1,\\\\\\"pulled\\\\\\":1,\\\\\\"running\\\\\\":0,\\\\\\"success\\\\\\":0,\\\\\\"failed\\\\\\":0}]}\\",\\n \\"Result\\": \\"{\'TotalSize\': 31, \'CurrentPage\': 5, \'PageSize\': 10}\\",\\n \\"InstanceId\\": 1189853849,\\n \\"TimeType\\": 1,\\n \\"TriggerType\\": 1,\\n \\"EndTime\\": \\"2020-07-27 11:52:10\\",\\n \\"StartTime\\": \\"2020-07-27 11:52:10\\",\\n \\"Executor\\": \\"John Smith\\",\\n \\"JobId\\": 92583,\\n \\"ScheduleTime\\": \\"2020-07-27 11:52:10\\",\\n \\"DataTime\\": \\"2020-07-27 11:52:10\\",\\n \\"WorkAddr\\": \\"192.168.0.0:16\\",\\n \\"Parameters\\": \\"{\\\\\\\\\\\\\\"alertId\\\\\\\\\\\\\\":11111}\\",\\n \\"JobName\\": \\"ManualJob\\",\\n \\"TraceId\\": \\"210e845016596663430048015d0a2c\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => '获取指定任务实例详情', + 'summary' => '返回任务实例的信息,可以查看任务实例的状态和进度。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-17T03:39:01.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-02-22T06:00:57.000Z', 'description' => '错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobInstanceQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetJobInstanceList' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', - 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - 'default' => 'schedulerx', - ], + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'in' => 'query', + 'schema' => ['description' => '应用分组ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'JobId', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务名。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'helloword', - ], - ], - [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'ExecuteMode', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务执行模式,目前支持以下几种任务执行模式:'."\n" - ."\n" - .'- **单机运行**:standalone'."\n" - .'- **广播运行**:broadcatst'."\n" - .'- **可视化MapReduce**:parallel'."\n" - .'- **MapReduce**:batch'."\n" - .'- **分片运行**:shard', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'standalone', - ], + 'in' => 'query', + 'schema' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '92583'], ], [ - 'name' => 'ClassName', - 'in' => 'formData', + 'name' => 'Status', + 'in' => 'query', + 'allowEmptyValue' => true, 'schema' => [ - 'description' => '任务接口类完整路径。'."\n" + 'title' => '查询指定状态的任务实例列表', + 'description' => '实例状态。包含以下几种状态:'."\n" ."\n" - .'是Java任务类型时,才有该字段且必须填写完整路径。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibaba.test.helloworld', - ], - ], - [ - 'name' => 'Content', - 'in' => 'formData', - 'schema' => [ - 'description' => '- 任务类型选择为python/shell/k8s时,填写对应的脚本内容。'."\n" - .'- 任务类型为golang时,content格式示例为 {"jobName":"HelloWorld"}', - 'type' => 'string', - 'required' => false, - 'example' => 'echo \'hello\'', - ], - ], - [ - 'name' => 'Parameters', - 'in' => 'formData', - 'schema' => [ - 'description' => '用户自定义参数,运行时可以获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'MaxConcurrency', - 'in' => 'formData', - 'schema' => [ - 'description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,不会进行下次触发即使到了运行时刻。', + .'1:等待'."\n" + .'3:运行中'."\n" + .'4:成功'."\n" + .'5:失败'."\n" + .'9:拒绝'."\n" + .'对应枚举类: com.alibaba.schedulerx.common.domain.InstanceStatus', 'type' => 'integer', 'format' => 'int32', 'required' => false, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'example' => '5', + 'enum' => [], ], ], [ - 'name' => 'MaxAttempt', - 'in' => 'formData', - 'schema' => [ - 'description' => '错误最大重试次数,根据业务需求填写。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - 'default' => '0', - ], + 'name' => 'StartTimestamp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['title' => '开始时间戳(毫秒)', 'description' => '开始时间(时间戳)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1684116000000'], ], [ - 'name' => 'AttemptInterval', - 'in' => 'formData', - 'schema' => [ - 'description' => '错误重试间隔时间,单位s,默认值为30。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - 'default' => '30', - ], + 'name' => 'EndTimestamp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['title' => '结束时间戳(毫秒)', 'description' => '结束时间(时间戳)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1684202400000'], ], [ - 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,单次拉取子任务数,默认值为100。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - 'default' => '100', - ], + 'name' => 'PageNum', + 'in' => 'query', + 'schema' => ['title' => '分页获取数据,分页号,默认是1', 'description' => '分页获取数据,分页号,默认是1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'TaskDispatchMode', - 'in' => 'formData', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['title' => '分页获取数据,分页大小,默认是10', 'description' => '分页获取数据,分页大小,默认是10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '并行网格任务高级配置,推模型或者拉模型', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'pull' => 'pull', - 'push' => 'push', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '704A2A61-3681-5568-92F7-2DFCC53F33D1'], + 'Success' => ['description' => '获取任务的执行实例列表是否成功。取值如下:'."\n" + ."\n" + .'- **true**:获取任务的执行实例列表成功。'."\n" + .'- **false**:获取任务的执行实例列表失败。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => 'instance列表', + 'type' => 'object', + 'properties' => [ + 'JobInstanceDetails' => [ + 'description' => '任务实例详细信息', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '实例状态。包含以下几种状态:'."\n" + ."\n" + .'- **1**:等待 '."\n" + .'- **3**:运行中 '."\n" + .'- **4**:成功'."\n" + .'- **5**:失败 '."\n" + .'- **9**:拒绝'."\n" + ."\n" + .'对应枚举类:'."\n" + .'com.alibaba.schedulerx.common.domain.InstanceStatus', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'Progress' => ['description' => '实例进度详情', 'type' => 'string'], + 'Result' => ['description' => '实例执行结果', 'type' => 'string'], + 'InstanceId' => ['description' => '实例ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1042499986'], + 'TimeType' => ['description' => '实例调度时间类型,包含以下几种类型:'."\n" + ."\n" + .'- **cron**:1'."\n" + .'- **fix_rate**:3'."\n" + .'- **second_delay**: 4'."\n" + .'- **api**:100'."\n" + ."\n" + .'对应枚举类:com.alibaba.schedulerx.common.domain.TimeType', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TriggerType' => ['description' => '触发类型,包含以下几种触发类型:'."\n" + ."\n" + .'- **1**: 定时调度正常触发'."\n" + .'- **2**:数据重刷'."\n" + .'- **3**:API触发'."\n" + .'- **4**:用户手动点击重跑'."\n" + .'- **5**:系统重试(系统异常,如DB异常)'."\n" + ."\n" + .'对应枚举类:com.alibaba.schedulerx.common.domain.TriggerType', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'EndTime' => ['description' => '任务执行结束时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'StartTime' => ['description' => '任务执行开始时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'Executor' => ['description' => '执行人', 'type' => 'string', 'example' => 'A'], + 'JobId' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'example' => '92583'], + 'ScheduleTime' => ['description' => '任务调度时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'DataTime' => ['description' => '数据时间', 'type' => 'string', 'example' => '2020-07-27 11:52:10'], + 'WorkAddr' => ['description' => '被触发客户端ip:port', 'type' => 'string', 'example' => '192.168.0.0:16'], + ], + 'description' => '', + ], + ], + ], + ], ], - 'example' => 'push', + 'description' => '', ], ], - [ - 'name' => 'ConsumerSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,单机单次触发执行线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'default' => '5', + ], + 'title' => '获取指定任务ID的执行实例列表', + 'summary' => '根据关键字过滤,返回任务执行的历史记录。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-05-17T01:26:46.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-07-18T04:25:46.000Z', 'description' => '错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobInstanceQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"704A2A61-3681-5568-92F7-2DFCC53F33D1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceDetails\\": [\\n {\\n \\"Status\\": 4,\\n \\"Progress\\": \\"\\",\\n \\"Result\\": \\"\\",\\n \\"InstanceId\\": 1042499986,\\n \\"TimeType\\": 1,\\n \\"TriggerType\\": 3,\\n \\"EndTime\\": \\"2020-07-27 11:52:10\\",\\n \\"StartTime\\": \\"2020-07-27 11:52:10\\",\\n \\"Executor\\": \\"A\\",\\n \\"JobId\\": 92583,\\n \\"ScheduleTime\\": \\"2020-07-27 11:52:10\\",\\n \\"DataTime\\": \\"2020-07-27 11:52:10\\",\\n \\"WorkAddr\\": \\"192.168.0.0:16\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetLog' => [ + 'summary' => '通过该API可以查询任务的运行日志,需要开通专业版才支持。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'QueueSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务队列缓存上限,默认值为10000。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10000', - 'default' => '10000', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'DispatcherSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务分发线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'default' => '5', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TaskMaxAttempt', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务失败重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'TaskAttemptInterval', - 'in' => 'formData', - 'schema' => [ - 'description' => '并行网格任务高级配置,子任务失败重试间隔。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'TimeType', - 'in' => 'formData', - 'schema' => [ - 'description' => '时间配置类型,目前支持以下几种配置类型:'."\n" - ."\n" - .'- **cron**:1'."\n" - .'- **fix_rate**:3'."\n" - .'- **second_delay**:4'."\n" - .'- **one_time** :5'."\n" - .'- **api**:100', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'TimeExpression', - 'in' => 'formData', - 'schema' => [ - 'description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" - ."\n" - .'- **cron**:填写标准的cron表达式,支持在线验证。'."\n" - .'- **api**:无时间表达式。'."\n" - .'- **fixed_rate**:填写具体固定频率值,单位s。如30表示每隔30s触发一次。'."\n" - .'- **second_delay**:填写固定延迟多少秒执行一次(1s~60s可选)。', - 'type' => 'string', - 'required' => false, - 'example' => '30', - ], + 'name' => 'JobId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '任务ID', 'type' => 'string', 'required' => false, 'example' => '123'], ], [ - 'name' => 'Calendar', - 'in' => 'formData', - 'schema' => [ - 'description' => 'cron类型可以选择填写自定义日历。', - 'type' => 'string', - 'required' => false, - 'example' => '工作日', - ], + 'name' => 'JobInstanceId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '任务实例ID', 'type' => 'string', 'required' => false, 'example' => '123456'], ], [ - 'name' => 'DataOffset', - 'in' => 'formData', - 'schema' => [ - 'description' => 'cron类型可以选择时间偏移,单位s。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2400', - ], + 'name' => 'StartTimestamp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '开始时间戳,精确到毫秒'."\n" + ."\n" + .'><notice>开始时间戳不设置,默认取当前时间的30分钟之前></notice>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1675739364000'], ], [ - 'name' => 'Timezone', - 'in' => 'formData', - 'schema' => [ - 'description' => '时区', - 'type' => 'string', - 'required' => false, - 'example' => 'GMT+8', - ], + 'name' => 'EndTimestamp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '结束时间戳,精确到毫秒><notice>结束时间戳不设置,默认取当前时间></notice>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1675739484000'], ], [ - 'name' => 'TimeoutEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '超时报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启超时报警开关。'."\n" - .'- **false**:关闭超时报警开关。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'name' => 'Keyword', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '关键字', 'type' => 'string', 'required' => false, 'example' => 'ERROR'], ], [ - 'name' => 'Timeout', - 'in' => 'formData', - 'schema' => [ - 'description' => '超时阈值,单位s。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '7200', - 'default' => '7200', - ], + 'name' => 'Line', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '行数,最大不超过200行', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'minimum' => '0', 'example' => '50', 'default' => '50'], ], [ - 'name' => 'TimeoutKillEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '超时终止本次触发开关。取值如下:'."\n" - ."\n" - .'- **true**:开启超时终止开关。'."\n" - .'- **false**:关闭超时终止开关。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'name' => 'Offset', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '偏移多少行,可以作为分页查询', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'], ], [ - 'name' => 'FailEnable', - 'in' => 'formData', + 'name' => 'Reverse', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '是否逆序,默认逆序', 'type' => 'boolean', 'deprecated' => false, 'required' => false, 'example' => 'true', 'default' => 'true'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '失败报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启失败报警开关。'."\n" - .'- **false**:关闭失败报警开关。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID。', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'jobid=xxx is not existed'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'Logs' => [ + 'description' => 'logs是一个string的数组。', + 'type' => 'array', + 'items' => ['description' => '包含了每一行的日志。', 'type' => 'string', 'example' => 'hello world'], + ], + ], + 'description' => '', + ], + ], ], ], - [ - 'name' => 'FailTimes', - 'in' => 'formData', - 'schema' => [ - 'description' => '连续失败报警次数', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询日志', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxLogQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobid=xxx is not existed\\",\\n \\"Data\\": {\\n \\"Logs\\": [\\n \\"hello world\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetOverview' => [ + 'summary' => '获取专业版应用任务调度概览数据信息。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MissWorkerEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否开启无可用机器告警。'."\n" - .'- **true**:开启无可用机器告警开关。'."\n" - .'- **false**:关闭无可用机器告警开关。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'SuccessNoticeEnable', - 'in' => 'formData', - 'schema' => [ - 'description' => '成功通知开关', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '区域Region ID', 'description' => '区域Region ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'SendChannel', - 'in' => 'formData', - 'schema' => [ - 'description' => '报警发送形式,目前只支持sms。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'sms', - ], + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['title' => '命名空间UID', 'description' => '命名空间UID', 'type' => 'string', 'required' => false, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'ContactInfo', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '任务联系人信息。'."\n" - .'><notice>该字段已废弃></notice>', - 'type' => 'array', - 'items' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'UserPhone' => [ - 'description' => '用户手机号。', - 'type' => 'string', - 'required' => false, - 'example' => '1381111****', - ], - 'UserName' => [ - 'description' => '用户名。', - 'type' => 'string', - 'required' => false, - 'example' => 'userA', - ], - 'UserMail' => [ - 'description' => '用户邮箱。', - 'type' => 'string', - 'required' => false, - 'example' => 'test***@***.com', - ], - 'Ding' => [ - 'description' => '报警联系人钉钉群机器人webhook地址,参考文档:[钉钉开发文档](https://open.dingtalk.com/document/org/application-types)。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********', - ], - ], - 'required' => false, - ], - 'required' => false, - 'example' => ' {"resource":"shell","fileFormat":"unix","templateType":"customTemplate"}', - 'maxItems' => 10, - ], + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => '命名空间来源,特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'XAttrs', - 'in' => 'formData', - 'schema' => [ - 'description' => '如果是k8s任务类型,需要配置该参数'."\n" - .'Job任务:{"resource":"job"}'."\n" - .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' {"resource":"shell","fileFormat":"unix","templateType":"customTemplate"}', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['title' => '应用分组ID', 'description' => '应用分组ID', 'type' => 'string', 'required' => false, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'Template', - 'in' => 'formData', + 'name' => 'Operate', + 'in' => 'query', 'schema' => [ - 'description' => 'k8s任务类型自定义任务模版', + 'title' => '可选项'."\n" + .'query:查询区间数据'."\n" + .'query_range:查询区间时许数据', + 'description' => '可选项'."\n" + ."\n" + .'- query:查询区间数据'."\n" + .'- query_range:查询区间时许数据', 'type' => 'string', - 'required' => false, - 'example' => 'apiVersion: v1'."\n" - .'kind: Pod'."\n" - .'metadata:'."\n" - .' name: schedulerx-node-{JOB_ID}'."\n" - .' namespace: {NAMESPACE}'."\n" - .'spec:'."\n" - .' containers:'."\n" - .' - name: node-job'."\n" - .' image: node:16'."\n" - .' imagePullPolicy: IfNotPresent'."\n" - .' volumeMounts:'."\n" - .' - name: script-node'."\n" - .' mountPath: script/node'."\n" - .' command: ["node", "script/node/node-{JOB_ID}.js"]'."\n" - .' volumes:'."\n" - .' - name: script-node'."\n" - .' configMap:'."\n" - .' name: schedulerx-configmap'."\n" - .' items:'."\n" - .' - key: schedulerx-node-{JOB_ID}'."\n" - .' path: node-{JOB_ID}.js'."\n" - .' restartPolicy: Never', + 'required' => true, + 'example' => 'query', + 'enum' => ['query', 'query_range'], ], ], [ - 'name' => 'Priority', + 'name' => 'MetricType', 'in' => 'query', 'schema' => [ - 'description' => '任务优先级。取值如下:'."\n" - .'- **1**:低'."\n" - .'- **5**:中'."\n" - .'- **10**:高'."\n" - .'- **15**:非常高', + 'title' => '可选项'."\n" + .'0:任务类基础信息'."\n" + .'1:任务运行信息', + 'description' => '可选项'."\n" + ."\n" + .'- 0:任务类基础信息'."\n" + .'- 1:任务运行信息', 'type' => 'integer', 'format' => 'int32', - 'required' => false, - 'example' => '5', + 'required' => true, + 'example' => '0', + 'enum' => ['0', '1'], ], ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '数据起始时间戳(单位:秒),如:1684166400', 'description' => '数据起始时间戳(单位:秒),如:1684166400', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1684166400'], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['title' => '数据结束时间戳(单位:秒),如:1684166400 '."\n" + .'不填默认为当前时间', 'description' => '数据结束时间戳(单位:秒),如:1684166400 '."\n" + .'不填默认为当前时间', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1684166400'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'job type is java className can not be blank', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID。', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API调用是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'No access permission for the namespace [***]'], + 'Data' => ['description' => 'JSON的概览数据信息,对应控制台概览数据内容,如下三种格式类型结果:'."\n" + .'- 基础信息。'."\n" + .'- 时间区间任务运行信息。'."\n" + .'- 时间区间任务运行时序信息:返回对应区间任务触发、运行成功、运行失败三个数据项对应时点的统计信息。', 'type' => 'string', 'example' => 'Basic info: {"schedulerx_job_counter_disable": "4","schedulerx_job_trigger_counter_running": "0","schedulerx_job_counter_enable": "70","schedulerx_job_counter_all": "74","schedulerx_worker_counter": "2"}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job type is java className can not be blank\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateJobResponse>\\n <Code>200</Code>\\n <Message>job type is java className can not be blank</Message>\\n <RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n <Success>true</Success>\\n</UpdateJobResponse>","errorExample":""}]', - 'title' => '更新任务配置信息', - 'requestParamsDescription' => '> 在调用UpdateJob更新调度任务时,会删除之前对应参数的配置,而非保留。所以,请先调用[GetJobInfo](~~176507~~),获取目标任务此前的配置,再根据实际情况进行配置。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DisableJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"No access permission for the namespace [***]\\",\\n \\"Data\\": \\"Basic info: {\\\\\\"schedulerx_job_counter_disable\\\\\\": \\\\\\"4\\\\\\",\\\\\\"schedulerx_job_trigger_counter_running\\\\\\": \\\\\\"0\\\\\\",\\\\\\"schedulerx_job_counter_enable\\\\\\": \\\\\\"70\\\\\\",\\\\\\"schedulerx_job_counter_all\\\\\\": \\\\\\"74\\\\\\",\\\\\\"schedulerx_worker_counter\\\\\\": \\\\\\"2\\\\\\"}\\"\\n}","type":"json"}]', + 'title' => '获取概览数据信息', + 'requestParamsDescription' => '当前接口查询数据信息对应控制台概览的三块信息内容,相应请求参数配置要求如下'."\n" + ."\n" + .'- 任务基础信息:请求参数配置说明如下,Operate设置“query”,MetricType设置为“0”,StartTime设置为当前时间戳'."\n" + ."\n" + .'- 时间区间任务运行信息:请求参数配置说明如下,Operate设置“query”,MetricType设置为“1”,StartTime设置为业务需要的查询起始时间(不得早于15天,当前时序数据存储有效期为15天)'."\n" + ."\n" + .'- 时间区间任务运行时序信息:请求参数配置说明如下,Operate设置“query_range”,MetricType设置为“1”,StartTime设置为业务需要的查询起始时间(默认推荐当前1小时前,因返回每个时点信息量大不建议设置过早)', + 'responseParamsDescription' => 'Data信息会根据三种数据读取,返回不同格式的JSON内容,参考如下:'."\n" + .'- 基础信息:'."\n" + .'```'."\n" + .'{'."\n" + .' "schedulerx_job_counter_disable": "4", // 禁用任务数'."\n" + .' "schedulerx_job_counter_enable": "70", // 启用任务数'."\n" + .' "schedulerx_job_counter_all": "74", // 总任务数'."\n" + .' "schedulerx_worker_counter": "2", // 在线机器数'."\n" + .' "schedulerx_job_trigger_counter_running": "0" // 任务运行中实例数'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'- 时间区间任务运行信息:'."\n" + .'```'."\n" + .'{'."\n" + .' "schedulerx_job_trigger_counter_success": "227", // '."\n" + .' "schedulerx_job_trigger_counter_all": "225",'."\n" + .' "schedulerx_job_trigger_counter_failed": "0"'."\n" + .'}'."\n" + .'```'."\n" + .'- 时间区间任务运行时序信息:返回对应区间 任务触发、运行成功、运行失败三个数据项对应时点的统计信息'."\n" + ."\n" + .'```'."\n" + .'['."\n" + .' {'."\n" + .' "data": ['."\n" + .' ['."\n" + .' 1686110400000, '."\n" + .' 4'."\n" + .' ],'."\n" + .' ['."\n" + .' 1686110460000,'."\n" + .' 5'."\n" + .' ]'."\n" + .' ],'."\n" + .' "name": "触发次数"'."\n" + .' },'."\n" + .' {'."\n" + .' "data": ['."\n" + .' ['."\n" + .' 1686110400000,'."\n" + .' 0'."\n" + .' ],'."\n" + .' ['."\n" + .' 1686110460000,'."\n" + .' 0'."\n" + .' ]'."\n" + .' ],'."\n" + .' "name": "执行失败"'."\n" + .' },'."\n" + .' {'."\n" + .' "data": ['."\n" + .' ['."\n" + .' 1686110400000,'."\n" + .' 4'."\n" + .' ],'."\n" + .' ['."\n" + .' 1686110460000,'."\n" + .' 5'."\n" + .' ]'."\n" + .' ],'."\n" + .' "name": "执行成功"'."\n" + .' }'."\n" + .' ]'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxOverviewQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetWorkFlow' => [ + 'summary' => '获取工作流信息。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], + 'schema' => ['description' => '地域', 'type' => 'string', 'required' => true, 'example' => 'public'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['title' => '命名空间uid', 'description' => '命名空间ID', 'type' => 'string', 'required' => true, 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['title' => '命名空间来源', 'description' => '命名空间来源', 'type' => 'string', 'required' => false, 'example' => 'source'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['title' => '应用分组ID', 'description' => '应用分组ID', 'type' => 'string', 'required' => true, 'example' => 'hxm.test'], ], [ - 'name' => 'RegionId', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '工作流ID', 'description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1234'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9', - ], - 'Success' => [ - 'description' => '禁用任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:禁用任务成功。'."\n" - .'- **false**:禁用任务失败。', - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '45678xxx'], + 'Code' => ['title' => '错误码', 'description' => '错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '错误信息', 'description' => '错误信息', 'type' => 'string', 'example' => 'workflow is not existed'], + 'Success' => ['title' => '会否成功', 'description' => '结果', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'title' => '工作流的数据', + 'description' => '工作流的数据', + 'type' => 'object', + 'properties' => [ + 'WorkFlowInfo' => [ + 'title' => '工作流基本信息', + 'description' => '工作流基本信息', + 'type' => 'object', + 'properties' => [ + 'WorkflowId' => ['title' => '工作流ID', 'description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1234xxx'], + 'Name' => ['title' => '工作流名称', 'description' => '工作流名称', 'type' => 'string', 'example' => 'workflow_111'], + 'Description' => ['title' => '工作流描述', 'description' => '工作流描述', 'type' => 'string', 'example' => 'my first workflow'], + 'Status' => ['title' => '工作流状态', 'description' => '工作流状态', 'type' => 'string', 'example' => 'enable'], + 'TimeType' => ['title' => '工作流时间类型', 'description' => '工作流时间类型', 'type' => 'string', 'example' => 'cron'], + 'TimeExpression' => ['title' => '工作流时间表达式', 'description' => '工作流时间表达式', 'type' => 'string', 'example' => '0 0 2 * * ?'], + 'GroupId' => ['description' => '应用分组ID', 'type' => 'string', 'example' => 'hxm.test'], + 'Namespace' => ['description' => '命名空间ID', 'type' => 'string', 'example' => '8150f906-2a40-4420-8cc1-68d2fe4dd69c'], + 'MaxConcurrency' => ['description' => '最大并发数', 'type' => 'string', 'example' => '1'], + ], + ], + 'WorkFlowNodeInfo' => [ + 'title' => '工作流节点信息', + 'description' => '工作流节点信息', + 'type' => 'object', + 'properties' => [ + 'Nodes' => [ + 'title' => '工作流节点列表', + 'description' => '工作流节点列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['title' => '任务ID', 'description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'example' => '123456xxx'], + 'Label' => ['title' => '任务名称', 'description' => '任务名称', 'type' => 'string', 'example' => 'job_111'], + 'Status' => ['title' => '任务状态', 'description' => '任务状态', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + 'description' => '', + ], + ], + 'Edges' => [ + 'title' => '工作流边列表', + 'description' => '工作流边列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Source' => ['title' => '起始任务ID', 'description' => '起始任务ID', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'Target' => ['title' => '目的任务ID', 'description' => '目的任务ID', 'type' => 'integer', 'format' => 'int64', 'example' => '200'], + ], + 'description' => '', + ], + ], + ], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableJobResponse>\\n<RequestId>C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DisableJobResponse>","errorExample":""}]', - 'title' => '停用指定任务', - 'summary' => '停用指定任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - ."\n" + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45678xxx\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"workflow is not existed\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WorkFlowInfo\\": {\\n \\"WorkflowId\\": 0,\\n \\"Name\\": \\"workflow_111\\",\\n \\"Description\\": \\"my first workflow\\",\\n \\"Status\\": \\"enable\\",\\n \\"TimeType\\": \\"cron\\",\\n \\"TimeExpression\\": \\"0 0 2 * * ?\\",\\n \\"GroupId\\": \\"hxm.test\\",\\n \\"Namespace\\": \\"8150f906-2a40-4420-8cc1-68d2fe4dd69c\\",\\n \\"MaxConcurrency\\": \\"1\\"\\n },\\n \\"WorkFlowNodeInfo\\": {\\n \\"Nodes\\": [\\n {\\n \\"Id\\": 0,\\n \\"Label\\": \\"job_111\\",\\n \\"Status\\": 1\\n }\\n ],\\n \\"Edges\\": [\\n {\\n \\"Source\\": 100,\\n \\"Target\\": 200\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetWorkFlowResponse>\\n <RequestId>45678xxx</RequestId>\\n <Code>200</Code>\\n <Message>workflow is not existed</Message>\\n <Success>true</Success>\\n <Data>\\n <WorkFlowInfo>\\n <Name>workflow_111</Name>\\n <Description>my first workflow</Description>\\n <Status>成功</Status>\\n <TimeType>cron</TimeType>\\n <TimeExpression>0 0 2 * * ?</TimeExpression>\\n </WorkFlowInfo>\\n <WorkFlowNodeInfo>\\n <Nodes>\\n <Label>job_111</Label>\\n <Status>1</Status>\\n </Nodes>\\n <Edges>\\n <Source>100</Source>\\n <Target>200</Target>\\n </Edges>\\n </WorkFlowNodeInfo>\\n </Data>\\n</GetWorkFlowResponse>","errorExample":""}]', + 'title' => '获取工作流详情和依赖关系', + 'extraInfo' => '## 示例Demo'."\n" .'```'."\n" .'package com.alibaba.schedulerx.pop;'."\n" ."\n" + .'import com.alibaba.schedulerx.common.util.JsonUtil;'."\n" + ."\n" .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.exceptions.ClientException;'."\n" + .'import com.aliyuncs.exceptions.ServerException;'."\n" .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DisableJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DisableJobResponse;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.GetWorkFlowRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.GetWorkFlowResponse;'."\n" ."\n" - .'public class DisableJob {'."\n" + .'public class TestGetWorkFlow {'."\n" ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的AccessKeyId,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "<yourAccessKeyId>";'."\n" - .' //鉴权使用的AccessKeySecret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" - .' //产品名称。'."\n" + .' public static void main(String[] args) {'."\n" + .' // OpenAPI的接入点,具体请查看支持地域列表或根据购买地域填写'."\n" + .' String regionId = "public";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取'."\n" + .' String accessKeyId = "xxxxxxx";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取'."\n" + .' String accessKeySecret = "xxxxxxxxx";'."\n" + .' //产品名称'."\n" .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" + .' //对照支持地域列表选择Domain填写'."\n" + .' String domain ="schedulerx.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端'."\n" .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" .' '."\n" - .' DisableJobRequest request = new DisableJobRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobId(123L);'."\n" - .' DisableJobResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("DisableJob: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" + .' GetWorkFlowRequest request = new GetWorkFlowRequest();'."\n" + .' request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b9a4af");'."\n" + .' request.setGroupId("xuren_test");'."\n" + .' request.setWorkflowId(29L);'."\n" + .' GetWorkFlowResponse response;'."\n" + .' try {'."\n" + .' response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(JsonUtil.toJson(response));'."\n" + .' } else {'."\n" + .' System.out.println("工作流基本信息:" + response.getData().getWorkFlowInfo());'."\n" + .' System.out.println("工作流节点信息:" + response.getData().getWorkFlowNodeInfo());'."\n" + .' }'."\n" + .' } catch (ServerException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" + .' } catch (ClientException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" .' }'."\n" .' }'."\n" .' '."\n" .'}'."\n" - .'```', - ], - 'BatchEnableJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .' '."\n" + .' ```', + 'changeSet' => [ + ['createdAt' => '2025-04-18T03:20:57.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-21T03:32:07.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2021-12-20T12:18:16.000Z', 'description' => 'OpenAPI 下线'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetWorkerList' => [ + 'summary' => '获取接入某个应用的worker列表。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '权限组ID', 'type' => 'string', 'required' => true, 'example' => 'usercenter'], + ], + [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108****'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'Cannot find product according to your domain.'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '指定任务信息。', + 'type' => 'object', + 'properties' => [ + 'WorkerInfos' => [ + 'description' => 'worker信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'worker的ip', 'type' => 'string', 'example' => '30.225.16.49'], + 'Port' => ['description' => 'worker的端口', 'type' => 'integer', 'format' => 'int32', 'example' => '60831'], + 'WorkerAddress' => ['description' => 'worker的地址信息,格式为${worker_id}@${worker_ip}:${worker_port}', 'type' => 'string', 'example' => '030225016049_11734_25917@30.225.16.49:60831'], + 'Label' => ['description' => 'worker的标签', 'type' => 'string', 'example' => 'gray'], + 'Version' => ['description' => 'worker的版本', 'type' => 'string', 'example' => '1.3.4'], + 'Starter' => ['description' => 'worker的启动方式', 'type' => 'string', 'example' => 'springboot'], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'title' => '获取接入某个应用的worker列表', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-30T07:47:16.000Z', 'description' => 'OpenAPI 下线'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"Cannot find product according to your domain.\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"WorkerInfos\\": [\\n {\\n \\"Ip\\": \\"30.225.16.49\\",\\n \\"Port\\": 60831,\\n \\"WorkerAddress\\": \\"030225016049_11734_25917@30.225.16.49:60831\\",\\n \\"Label\\": \\"gray\\",\\n \\"Version\\": \\"1.3.4\\",\\n \\"Starter\\": \\"springboot\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetWorkflowInstance' => [ + 'summary' => '获取指定工作流实例的详情,包含实例状态,依赖关系,每个任务实例的状态等。专业版应用才支持。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + [ + 'name' => 'NamespaceSource', + 'in' => 'query', + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], + ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'RegionId', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123'], ], [ - 'name' => 'JobIdList', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', - 'type' => 'array', - 'items' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '99341', - ], - 'required' => true, - 'example' => '99341', - 'maxItems' => 3000, - ], + 'name' => 'WfInstanceId', + 'in' => 'query', + 'schema' => ['description' => '工作流实例ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7', - ], - 'Success' => [ - 'description' => '批量启用任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'workflowId=xxx is not existed'], + 'Data' => [ + 'description' => '工作流实例详情封装在data中', + 'type' => 'object', + 'properties' => [ + 'WfInstanceInfo' => [ + 'description' => '工作流实例详情,包含了工作流的状态,开始结束时间,各个任务实例的状态及依赖关系', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '工作流实例状态,取值如下:'."\n" + ."\n" + .'- 1: 等待中'."\n" + .'- 2: 准备中'."\n" + .'- 3:运行中'."\n" + .'- 4:成功'."\n" + .'- 5:失败', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'StartTime' => ['description' => '开始时间', 'type' => 'string', 'example' => '2023-01-03 18:00:01'], + 'EndTime' => ['description' => '结束时间', 'type' => 'string', 'example' => '2023-01-03 18:00:21'], + 'ScheduleTime' => ['description' => '计划调度时间', 'type' => 'string', 'example' => '2023-01-03 18:00:00'], + 'DataTime' => ['description' => '数据时间', 'type' => 'string', 'example' => '2023-01-03 18:00:00'], + ], + ], + 'WfInstanceDag' => [ + 'description' => '工作流实例的DAG信息,包含了节点和边', + 'type' => 'object', + 'properties' => [ + 'Nodes' => [ + 'description' => '任务实例节点的数组', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobInstanceId' => ['description' => '任务实例ID', 'type' => 'integer', 'format' => 'int64', 'example' => '24058796'], + 'JobId' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1472'], + 'StartTime' => ['description' => '任务开始时间', 'type' => 'string', 'example' => '2023-01-03 18:00:03'], + 'EndTime' => ['description' => '任务结束时间', 'type' => 'string', 'example' => '2023-01-03 18:00:21'], + 'ScheduleTime' => ['description' => '任务调度时间', 'type' => 'string', 'example' => '2023-01-03 18:00:03'], + 'DataTime' => ['description' => '任务数据时间', 'type' => 'string', 'example' => '2023-01-03 18:00:00'], + 'WorkAddr' => ['description' => '任务实例的运行机器', 'type' => 'string', 'example' => '10.163.0.101:34027'], + 'Result' => ['description' => '任务运行结果', 'type' => 'string', 'example' => 'code=200'], + 'Attempt' => ['description' => '任务失败重试次数', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Status' => ['description' => '实例状态。包含以下几种状态:'."\n" + .'1:等待'."\n" + .'3:运行中'."\n" + .'4:成功'."\n" + .'5:失败'."\n" + .'9:拒绝'."\n" + .'对应枚举类: com.alibaba.schedulerx.common.domain.InstanceStatus', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'JobName' => ['description' => '任务名称', 'type' => 'string', 'example' => 'TestJob'], + ], + 'description' => '', + ], + ], + 'Edges' => [ + 'description' => '任务实例依赖关系的数组', + 'type' => 'array', + 'items' => [ + 'description' => '通过source->target描述依赖关系,source=0表示根节点', + 'type' => 'object', + 'properties' => [ + 'Source' => ['description' => '依赖关系的上游,0表示根节点', 'type' => 'integer', 'format' => 'int64', 'example' => '24058798'], + 'Target' => ['description' => '依赖关系的下游', 'type' => 'integer', 'format' => 'int64', 'example' => '24058796'], + ], + ], + ], + ], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchEnableJobsResponse>\\n<Message>enable failed jobs=[99342]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchEnableJobsResponse>","errorExample":""}]', - 'title' => '批量启用任务', - 'summary' => '批量启用任务。', - 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" - ."\n" - .'```xml'."\n" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" - .' <version>1.0.4</version>'."\n" - .'</dependency>'."\n" - .'```', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - ."\n" - .'```'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import com.google.common.collect.Lists;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchEnableJobsRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchEnableJobsResponse;'."\n" - ."\n" - .'public class TestBatchEnableJobs {'."\n" - ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-hangzhou";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "xxxxxx";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "xxxxxxxx";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' BatchEnableJobsRequest request = new BatchEnableJobsRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" - .' BatchEnableJobsResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("BatchEnableJob: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - .'```', - ], - 'BatchDisableJobs' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取工作流实例详情及DAG', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-17T08:31:58.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-17T03:39:01.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"workflowId=xxx is not existed\\",\\n \\"Data\\": {\\n \\"WfInstanceInfo\\": {\\n \\"Status\\": 5,\\n \\"StartTime\\": \\"2023-01-03 18:00:01\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:00\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\"\\n },\\n \\"WfInstanceDag\\": {\\n \\"Nodes\\": [\\n {\\n \\"JobInstanceId\\": 24058796,\\n \\"JobId\\": 1472,\\n \\"StartTime\\": \\"2023-01-03 18:00:03\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:03\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\",\\n \\"WorkAddr\\": \\"10.163.0.101:34027\\",\\n \\"Result\\": \\"code=200\\",\\n \\"Attempt\\": 0,\\n \\"Status\\": 4,\\n \\"JobName\\": \\"TestJob\\"\\n }\\n ],\\n \\"Edges\\": [\\n {\\n \\"Source\\": 24058798,\\n \\"Target\\": 24058796\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'GrantPermission' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属命名空间ID,在控制台**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间UID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffcdf01'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用分组ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test.defaultGroup'], ], [ - 'name' => 'RegionId', + 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'description' => '任务所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '用户ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '277641081920123456'], ], [ - 'name' => 'JobIdList', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '任务ID列表,多个任务ID以半角逗号(,)分隔。', - 'type' => 'array', - 'items' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '99341', - ], - 'required' => true, - 'example' => '99341', - 'maxItems' => 3000, - ], + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lilei'], + ], + [ + 'name' => 'GrantOption', + 'in' => 'query', + 'schema' => ['description' => '是否允许grantoption。取值如下:-**true**:允许。-**false**:不允许。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -6244,165 +4709,75 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'disable failed jobs=[99341]', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7', - ], - 'Success' => [ - 'description' => '批量禁用任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '400'], + 'Message' => ['description' => '错误信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'false'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"disable failed jobs=[99341]\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchDisableJobsResponse>\\n<Message>disable failed jobs=[99341]</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</BatchDisableJobsResponse>","errorExample":""}]', - 'title' => '批量禁用任务', - 'summary' => '批量禁用任务。', - 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" - ."\n" - .'```xml'."\n" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" - .' <version>1.0.4</version>'."\n" - .'</dependency>'."\n" - .'```', + 'title' => '给指定分组授权', + 'summary' => '给指定分组授权。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - .'```'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import com.google.common.collect.Lists;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDisableJobsRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.BatchDisableJobsResponse;'."\n" - ."\n" - .'public class TestBatchDisableJobs {'."\n" - ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI 的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-hangzhou";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "xxxxxx";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "xxxxxxxx";'."\n" - .' //产品名称。'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端。'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' BatchDisableJobsRequest request = new BatchDisableJobsRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobIdLists(Lists.newArrayList(3982L,3984L));'."\n" - .' BatchDisableJobsResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("BatchDisableJob: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - .'```', - ], - 'EnableJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-15T09:37:58.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:GrantSchedulerxGrantPermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 400,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>400</Code>\\n<Success>false</Success>","errorExample":""}]', + ], + 'ListGroups' => [ + 'summary' => '获取应用列表。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92555', - ], - ], - [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'GroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'AppGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用分组名称。', 'type' => 'string', 'required' => false, 'example' => 'k8s-test'], ], ], 'responses' => [ @@ -6410,166 +4785,178 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBC***', - ], - 'Success' => [ - 'description' => '调用任务是否成功。取值如下:'."\n" - ."\n" - .'- **true**:调用任务成功。'."\n" - .'- **false**:调用任务失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58A'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '应用列表信息。', + 'type' => 'object', + 'properties' => [ + 'AppGroups' => [ + 'description' => '应用列表和应用详情。', + 'type' => 'array', + 'items' => [ + 'description' => '-', + 'type' => 'object', + 'properties' => [ + 'AppGroupId' => ['description' => '应用分组ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'DocTest'], + 'AppKey' => ['description' => '应用Key。', 'type' => 'string', 'example' => 'a3G77O6NZxq/lyo1NC****=='], + 'Description' => ['description' => '应用描述。', 'type' => 'string', 'example' => 'Test'], + 'GroupId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'DocTest.Group'], + 'AppVersion' => ['title' => '应用版本,1:基础版,2:专业版', 'description' => '应用版本,1:基础版,2:专业版', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Namespace' => ['description' => '命名空间ID', 'type' => 'string', 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****'], + 'EnableLog' => ['description' => '是否开启日志。'."\n" + ."\n" + .'- true:开启'."\n" + ."\n" + .'- false:关闭', 'type' => 'boolean', 'example' => 'false'], + ], + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBC***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableJobResponse>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBC***</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</EnableJobResponse>","errorExample":""}]', - 'title' => '启用指定任务', - 'summary' => '启用指定任务。', - 'description' => '任务创建完成以后默认启用,所以该功能是在停用任务后使用。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AppGroups\\": [\\n {\\n \\"AppGroupId\\": 1,\\n \\"AppName\\": \\"DocTest\\",\\n \\"AppKey\\": \\"a3G77O6NZxq/lyo1NC****==\\",\\n \\"Description\\": \\"Test\\",\\n \\"GroupId\\": \\"DocTest.Group\\",\\n \\"AppVersion\\": 2,\\n \\"Namespace\\": \\"1a72ecb1-b4cc-400a-a71b-20cdec9b****\\",\\n \\"EnableLog\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListGroupsResponse>\\n<Message>namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58A</RequestId>\\n<Data>\\n <AppGroups>\\n <Description>Test</Description>\\n <AppKey>a3G77O6NZxq/lyo1NC****==</AppKey>\\n <GroupId>DocTest.Group</GroupId>\\n <AppName>DocTest</AppName>\\n </AppGroups>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ListGroupsResponse>","errorExample":""}]', + 'title' => '获取应用分组列表', + 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" + ."\n" + .'```xml'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" + .' <version>1.0.5</version>'."\n" + .'</dependency>'."\n" + .'```', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## Demo'."\n" - ."\n" + 'extraInfo' => '## Demo'."\n" .'```'."\n" .'package com.alibaba.schedulerx.pop;'."\n" ."\n" + .'import java.util.List;'."\n" + ."\n" .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.exceptions.ClientException;'."\n" + .'import com.aliyuncs.exceptions.ServerException;'."\n" .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.EnableJobRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.EnableJobResponse;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsResponse;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListGroupsResponse.Data.AppGroup;'."\n" ."\n" - .'public class EnableJob {'."\n" + .'public class TestListGroups {'."\n" ."\n" - .' public static void main(String[] args) throws Exception {'."\n" - .' // OpenAPI的接入点,具体查看上表支持地域列表以及购买机器地域填写。'."\n" - .' String regionId = "cn-shanghai";'."\n" - .' //鉴权使用的 AccessKeyId,由阿里云官网控制台获取。'."\n" - .' String accessKeyId = "<yourAccessKeyId>";'."\n" - .' //鉴权使用的 AccessKeySecret,由阿里云官网控制台获取。'."\n" - .' String accessKeySecret = "<yourAccessKeySecret>";'."\n" + .' public static void main(String[] args) {'."\n" + .' //OpenAPI的接入点,具体查看支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-hangzhou";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "XXXXXXXX";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "XXXXXXXX";'."\n" .' //产品名称。'."\n" .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写。'."\n" - .' String domain ="schedulerx.cn-shanghai.aliyuncs.com";'."\n" + .' //对照支持地域列表选择Domain填写 '."\n" + .' String domain ="schedulerx.cn-hangzhou.aliyuncs.com";'."\n" .' //构建OpenAPI客户端。'."\n" .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" .' '."\n" - .' EnableJobRequest request = new EnableJobRequest();'."\n" - .' request.setNamespace("xxxxxx");'."\n" - .' request.setGroupId("xxxxxx");'."\n" - .' request.setJobId(123L);'."\n" - .' EnableJobResponse response = client.getAcsResponse(request);'."\n" - .' if (!response.getSuccess()) {'."\n" - .' System.out.println(response.getMessage());'."\n" - .' System.out.println("EnableJob: "+response.getRequestId());'."\n" - .' } else {'."\n" - .' System.out.println(response.getMessage());'."\n" + .' ListGroupsRequest request = new ListGroupsRequest();'."\n" + .' //命名空间ID。'."\n" + .' request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b9****");'."\n" + .' ListGroupsResponse response;'."\n" + .' try {'."\n" + .' response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' } else {'."\n" + .' List<AppGroup> appGroups = response.getData().getAppGroups();'."\n" + .' for (AppGroup appGroup : appGroups) {'."\n" + .' System.out.println("groupId=" + appGroup.getGroupId() + ", appKey=" + appGroup.getAppKey());'."\n" + .' }'."\n" + .' }'."\n" + .' } catch (ServerException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" + .' } catch (ClientException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" .' }'."\n" .' }'."\n" .' '."\n" .'}'."\n" - .'```', - ], - 'GetJobInfo' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + ."\n" + .'``` ', + 'changeSet' => [ + ['createdAt' => '2025-12-16T07:30:33.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-01-15T06:51:02.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-06-05T07:37:27.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-05-29T09:53:47.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-01T07:28:41.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListJobScriptHistory' => [ + 'summary' => '获取任务脚本历史列表。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'."\n"], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'."\n"], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'."\n"], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'JobName', - 'in' => 'query', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'simpleJob', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'."\n"], ], ], 'responses' => [ @@ -6577,382 +4964,128 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '获取任务详情是否成功。取值如下:'."\n" - ."\n" - .'- **true**:获取任务详情成功。'."\n" - .'- **false**:获取任务详情失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息', 'type' => 'string', 'example' => 'job is not existed, jobId=302'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'true:成功'."\n" + ."\n" + .'false:失败', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '指定任务信息。', + 'description' => '-', 'type' => 'object', 'properties' => [ - 'JobConfigInfo' => [ - 'description' => '任务配置信息。', - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '538039', - ], - 'Status' => [ - 'description' => '任务状态。取值如下:'."\n" + 'JobScriptHistoryInfos' => [ + 'description' => '-', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VersionesDescription' => ['description' => '脚本版本描述', 'type' => 'string', 'example' => 'init version'], + 'Creator' => ['description' => '创建人', 'type' => 'string', 'example' => '1272118248844842'], + 'CreateTime' => ['description' => '创建时间', 'type' => 'string', 'example' => '2025-03-12 14:52:42'."\n"], + 'ScriptContent' => ['description' => '脚本内容', 'type' => 'string', 'example' => '#!/bin/bash'."\n" ."\n" - .'- **1**:启用,可以被正常触发。'."\n" - .'- **0**:禁用,不会被触发。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Parameters' => [ - 'description' => '用户自定义参数,运行时可以获取。', - 'type' => 'string', - 'example' => 'test', - ], - 'Description' => [ - 'description' => '任务描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'ExecuteMode' => [ - 'description' => '任务执行模式,目前包含以下几种任务执行模式:'."\n" + .'# The following are built-in variables provided by the system to retrieve job runtime information'."\n" + .'echo "Job parameters: #{schedulerx.jobParameters}"'."\n" + .'echo "Sharding ID: #{schedulerx.shardingId}"'."\n" + .'echo "Sharding parameters: #{schedulerx.shardingParameters}"'."\n" + .'echo "Total shards: #{schedulerx.shardingNum}"'."\n" + .'echo "Retry attempts: #{schedulerx.attempt}"'."\n" + .'echo "Trigger type: #{schedulerx.triggerType}"'."\n" + .'echo "Schedule timestamp: #{schedulerx.scheduleTime}"'."\n" + .'echo "Data timestamp: #{schedulerx.dataTime}"'."\n" ."\n" - .'- **单机运行**:standalone'."\n" - .'- **广播运行**:broadcatst'."\n" - .'- **并行计算**:parallel'."\n" - .'- **内存网格**:grid'."\n" - .'- **网格计算**:batch'."\n" - .'- **分片运行**:shard', - 'type' => 'string', - 'example' => 'standalone', - ], - 'MaxConcurrency' => [ - 'description' => '最大同时运行实例数量,默认值为1, 即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'example' => 'helloworld', - ], - 'MaxAttempt' => [ - 'description' => '错误最大重试次数,根据业务需求填写,默认值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Content' => [ - 'description' => '脚本类型任务的脚本。', - 'type' => 'string', - 'example' => 'echo "clear" > /home/admin/edas-container/logs/catalina.out ', - ], - 'JarUrl' => [ - 'description' => '上传到OSS的完整路径。'."\n" + .'# The last line of output will be returned as the result'."\n" + .'echo "hello world"'."\n" ."\n" - .'如果选择JAR包运行,可以将相应JAR包上传到OSS的该路径下。', - 'type' => 'string', - 'example' => 'https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar', - ], - 'ClassName' => [ - 'description' => '任务接口类完整路径,仅是Java类型任务时有该字段。', - 'type' => 'string', - 'example' => 'com.alibaba.test.helloword', - ], - 'JobType' => [ - 'description' => '任务类型', - 'type' => 'string', - 'example' => 'java', - ], - 'AttemptInterval' => [ - 'description' => '错误重试间隔时间,单位s,默认值为30。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MapTaskXAttrs' => [ - 'description' => '高级配置,仅限于并行计算、内存网格和网格计算使用。', - 'type' => 'object', - 'properties' => [ - 'TaskMaxAttempt' => [ - 'description' => '子任务失败重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TaskAttemptInterval' => [ - 'description' => '子任务失败重试间隔。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ConsumerSize' => [ - 'description' => '单机单次触发执行线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'QueueSize' => [ - 'description' => '子任务队列缓存上限,默认值为10000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10000', - ], - 'DispatcherSize' => [ - 'description' => '子任务分发线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'PageSize' => [ - 'description' => '并行任务单次拉取子任务数,默认值为100。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], - 'TimeConfig' => [ - 'description' => '时间配置信息。', - 'type' => 'object', - 'properties' => [ - 'Calendar' => [ - 'description' => '**cron**类型可以选择填写自定义日历。', - 'type' => 'string', - 'example' => '工作日', - ], - 'TimeType' => [ - 'description' => '时间配置类型,目前支持以下几种时间类型:'."\n" - ."\n" - .'- **cron**:1'."\n" - .'- **fix_rate**:3'."\n" - .'- **second_delay**:4'."\n" - .'- **one_time** :5'."\n" - .'- **api**:100', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DataOffset' => [ - 'description' => '**cron**类型可以选择时间偏移,单位为秒(s)。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TimeExpression' => [ - 'description' => '时间表达式,目前支持以下几种时间表达类型:'."\n" - ."\n" - .'- **api**:无时间表达式。'."\n" - .'- **fix_rate**:具体固定频率值,如30表示每隔30s触发一次。'."\n" - .'- **cron**:标准的cron表达式。'."\n" - .'- **second_delay**:固定延迟多少秒执行一次(1s~60s可选)。', - 'type' => 'string', - 'example' => '0 0/10 * * * ?', - ], - ], - ], - 'JobMonitorInfo' => [ - 'description' => '任务监控信息。', - 'type' => 'object', - 'properties' => [ - 'ContactInfo' => [ - 'description' => '联系人信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'UserPhone' => [ - 'description' => '用户手机号。', - 'type' => 'string', - 'example' => '1381111****', - ], - 'UserName' => [ - 'description' => '用户名。', - 'type' => 'string', - 'example' => 'userA', - ], - 'UserMail' => [ - 'description' => '用户邮件地址。', - 'type' => 'string', - 'example' => 'user@demo.com', - ], - 'Ding' => [ - 'description' => '钉钉Webhook地址。', - 'type' => 'string', - 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXX', - ], - ], - ], - ], - 'MonitorConfig' => [ - 'description' => '报警开关以及阈值配置。', - 'type' => 'object', - 'properties' => [ - 'Timeout' => [ - 'description' => '超时阈值,单位为秒(s),默认值为7200。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12300', - ], - 'SendChannel' => [ - 'description' => '报警发送形式,目前只支持sms。', - 'type' => 'string', - 'example' => 'sms', - ], - 'TimeoutKillEnable' => [ - 'description' => '超时终止本次触发开关,默认关闭。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'TimeoutEnable' => [ - 'description' => '超时报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启超时报警开关。'."\n" - .'- **false**:关闭超时报警开关。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FailEnable' => [ - 'description' => '失败报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启失败报警开关。'."\n" - .'- **false**:关闭失败报警开关。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MissWorkerEnable' => [ - 'description' => '是否开启无可用机器报警。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'XAttrs' => [ - 'description' => '任务扩展字段', - 'type' => 'string', - 'example' => '{"pageSize":5,"queueSize":10,"consumerSize":5,"dispatcherSize":5,"taskMaxAttempt":0,"taskAttemptInterval":0,"globalConsumerSize":1000,"taskDispatchMode":"push"}', + .'# exit 1 indicates failure'."\n" + .'exit 0'."\n"], ], + 'description' => '', ], ], ], ], ], + 'description' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=302\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobScriptHistoryInfos\\": [\\n {\\n \\"VersionesDescription\\": \\"init version\\",\\n \\"Creator\\": \\"1272118248844842\\",\\n \\"CreateTime\\": \\"2025-03-12 14:52:42\\\\n\\",\\n \\"ScriptContent\\": \\"#!/bin/bash\\\\n\\\\n# The following are built-in variables provided by the system to retrieve job runtime information\\\\necho \\\\\\"Job parameters: #{schedulerx.jobParameters}\\\\\\"\\\\necho \\\\\\"Sharding ID: #{schedulerx.shardingId}\\\\\\"\\\\necho \\\\\\"Sharding parameters: #{schedulerx.shardingParameters}\\\\\\"\\\\necho \\\\\\"Total shards: #{schedulerx.shardingNum}\\\\\\"\\\\necho \\\\\\"Retry attempts: #{schedulerx.attempt}\\\\\\"\\\\necho \\\\\\"Trigger type: #{schedulerx.triggerType}\\\\\\"\\\\necho \\\\\\"Schedule timestamp: #{schedulerx.scheduleTime}\\\\\\"\\\\necho \\\\\\"Data timestamp: #{schedulerx.dataTime}\\\\\\"\\\\n\\\\n# The last line of output will be returned as the result\\\\necho \\\\\\"hello world\\\\\\"\\\\n\\\\n# exit 1 indicates failure\\\\nexit 0\\\\n\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '获取任务脚本历史列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobConfigInfo\\": {\\n \\"JobId\\": 538039,\\n \\"Status\\": 1,\\n \\"Parameters\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"ExecuteMode\\": \\"standalone\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Name\\": \\"helloworld\\",\\n \\"MaxAttempt\\": 0,\\n \\"Content\\": \\"echo \\\\\\"clear\\\\\\" > /home/admin/edas-container/logs/catalina.out \\",\\n \\"JarUrl\\": \\"https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar\\",\\n \\"ClassName\\": \\"com.alibaba.test.helloword\\",\\n \\"JobType\\": \\"java\\",\\n \\"AttemptInterval\\": 30,\\n \\"MapTaskXAttrs\\": {\\n \\"TaskMaxAttempt\\": 0,\\n \\"TaskAttemptInterval\\": 0,\\n \\"ConsumerSize\\": 5,\\n \\"QueueSize\\": 10000,\\n \\"DispatcherSize\\": 5,\\n \\"PageSize\\": 100\\n },\\n \\"TimeConfig\\": {\\n \\"Calendar\\": \\"工作日\\",\\n \\"TimeType\\": 1,\\n \\"DataOffset\\": 0,\\n \\"TimeExpression\\": \\"0 0/10 * * * ?\\"\\n },\\n \\"JobMonitorInfo\\": {\\n \\"ContactInfo\\": [\\n {\\n \\"UserPhone\\": \\"1381111****\\",\\n \\"UserName\\": \\"userA\\",\\n \\"UserMail\\": \\"user@demo.com\\",\\n \\"Ding\\": \\"https://oapi.dingtalk.com/robot/send?access_token=XXXXXX\\"\\n }\\n ],\\n \\"MonitorConfig\\": {\\n \\"Timeout\\": 12300,\\n \\"SendChannel\\": \\"sms\\",\\n \\"TimeoutKillEnable\\": true,\\n \\"TimeoutEnable\\": true,\\n \\"FailEnable\\": true,\\n \\"MissWorkerEnable\\": true\\n }\\n },\\n \\"XAttrs\\": \\"{\\\\\\"pageSize\\\\\\":5,\\\\\\"queueSize\\\\\\":10,\\\\\\"consumerSize\\\\\\":5,\\\\\\"dispatcherSize\\\\\\":5,\\\\\\"taskMaxAttempt\\\\\\":0,\\\\\\"taskAttemptInterval\\\\\\":0,\\\\\\"globalConsumerSize\\\\\\":1000,\\\\\\"taskDispatchMode\\\\\\":\\\\\\"push\\\\\\"}\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetJobInfoResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>jobid: 92583 not match groupId: testSchedulerx.defaultGroup</Message>\\n<Data>\\n <JobConfigInfo>\\n <Status>1</Status>\\n <MaxAttempt>0</MaxAttempt>\\n <Description>test</Description>\\n <Parameters>test</Parameters>\\n <JarUrl>https://test.oss-cn-hangzhou.aliyuncs.com/schedulerX/test.jar</JarUrl>\\n <MaxConcurrency>1</MaxConcurrency>\\n <TimeConfig>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </TimeConfig>\\n <Name>helloworld</Name>\\n <MapTaskXAttrs>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </MapTaskXAttrs>\\n <JobMonitorInfo>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <PageSize>100</PageSize>\\n <DispatcherSize>5</DispatcherSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <ConsumerSize>5</ConsumerSize>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>true</TimeoutKillEnable>\\n </MonitorConfig>\\n </JobMonitorInfo>\\n <Content>echo \\"clear\\" &gt; /home/admin/edas-container/logs/catalina.out</Content>\\n <ClassName>com.alibaba.test.helloword</ClassName>\\n <AttemptInterval>30</AttemptInterval>\\n <ExecuteMode>standalone</ExecuteMode>\\n </JobConfigInfo>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetJobInfoResponse>","errorExample":""}]', - 'title' => '获取指定Jobid任务详情', - 'summary' => '获取指定Jobid任务详情,通常用来更新任务。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], 'ListJobs' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => '获取任务列表。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DocTest.Group', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DocTest.Group'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****', - ], + 'schema' => ['description' => '命名空间,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'JobName', 'in' => 'query', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'helloword', - ], + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'helloword'], ], [ 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => '任务状态。'."\n" - ."\n" - .'- **0**:表示禁用'."\n" - ."\n" - .'- **1**:表示启用', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '任务状态。'."\n" + ."\n" + .'- **0**:表示禁用'."\n" + ."\n" + .'- **1**:表示启用', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageNum', + 'in' => 'query', + 'schema' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '每页显示的记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false], ], ], 'responses' => [ @@ -6960,31 +5093,14 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58B', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58B'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '任务列表信息。', 'type' => 'object', @@ -6995,176 +5111,72 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '任务状态。取值如下:'."\n" - ."\n" - .'- **1**:启用,可以被正常触发。'."\n" - ."\n" - .'- **0**:禁用,不会被触发。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'JarUrl' => [ - 'description' => 'JAR包的OSS完整路径。', - 'type' => 'string', - 'example' => 'https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar', - ], - 'MaxAttempt' => [ - 'description' => '错误最大重试次数,根据业务需求填写,默认值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Parameters' => [ - 'description' => '用户自定义参数,运行时可以获取。', - 'type' => 'string', - 'example' => 'test', - ], - 'Description' => [ - 'description' => '任务描述。', - 'type' => 'string', - 'example' => 'Test', - ], - 'JobId' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '99341', - ], - 'ExecuteMode' => [ - 'description' => '任务执行模式,可能出现的结果如下:'."\n" - ."\n" - .'- **standalone**:单机运行'."\n" - ."\n" - .'- **broadcast**:广播运行'."\n" - ."\n" - .'- **parallel**:并行计算'."\n" - ."\n" - .'- **grid**:内存网格'."\n" - ."\n" - .'- **batch**:网格计算'."\n" - ."\n" - .'- **shard**:分片运行', - 'type' => 'string', - 'example' => 'standalone', - ], - 'MaxConcurrency' => [ - 'description' => '最大同时运行实例数量,默认值为1, 即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => '任务名。', - 'type' => 'string', - 'example' => 'helloworld', - ], - 'ClassName' => [ - 'description' => '任务接口类完整路径。'."\n" - .'当您的任务是Java任务类型时,才有该字段信息。', - 'type' => 'string', - 'example' => 'com.alibaba.schedulerx.test.helloworld', - ], - 'Content' => [ - 'description' => 'python、shell、go任务类型的脚本代码内容。', - 'type' => 'string', - 'example' => 'echo \'hello\'', - ], - 'JobType' => [ - 'description' => '任务类型', - 'type' => 'string', - 'example' => 'java', - ], - 'AttemptInterval' => [ - 'description' => '错误重试间隔,单位s,默认值为30。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], + 'Status' => ['description' => '任务状态。取值如下:'."\n" + ."\n" + .'- **1**:启用,可以被正常触发。'."\n" + ."\n" + .'- **0**:禁用,不会被触发。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'JarUrl' => ['description' => 'JAR包的OSS完整路径。', 'type' => 'string', 'example' => 'https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar'], + 'MaxAttempt' => ['description' => '错误最大重试次数,根据业务需求填写,默认值为0。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Parameters' => ['description' => '用户自定义参数,运行时可以获取。', 'type' => 'string', 'example' => 'test'], + 'Description' => ['description' => '任务描述。', 'type' => 'string', 'example' => 'Test'], + 'JobId' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '99341'], + 'ExecuteMode' => ['description' => '任务执行模式,可能出现的结果如下:'."\n" + ."\n" + .'- **standalone**:单机运行'."\n" + ."\n" + .'- **broadcast**:广播运行'."\n" + ."\n" + .'- **parallel**:并行计算'."\n" + ."\n" + .'- **grid**:内存网格'."\n" + ."\n" + .'- **batch**:网格计算'."\n" + ."\n" + .'- **shard**:分片运行', 'type' => 'string', 'example' => 'standalone'], + 'MaxConcurrency' => ['description' => '最大同时运行实例数量,默认值为1, 即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', 'type' => 'string', 'example' => '1'], + 'Name' => ['description' => '任务名。', 'type' => 'string', 'example' => 'helloworld'], + 'ClassName' => ['description' => '任务接口类完整路径。'."\n" + .'当您的任务是Java任务类型时,才有该字段信息。', 'type' => 'string', 'example' => 'com.alibaba.schedulerx.test.helloworld'], + 'Content' => ['description' => 'python、shell、go任务类型的脚本代码内容。', 'type' => 'string', 'example' => 'echo \'hello\''], + 'JobType' => ['description' => '任务类型', 'type' => 'string', 'example' => 'java'], + 'AttemptInterval' => ['description' => '错误重试间隔,单位s,默认值为30。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], 'MapTaskXAttrs' => [ 'description' => '高级配置,仅限于并行计算、内存网格和网格计算使用。', 'type' => 'object', 'properties' => [ - 'TaskMaxAttempt' => [ - 'description' => '子任务失败重试次数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TaskAttemptInterval' => [ - 'description' => '子任务失败重试间隔。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ConsumerSize' => [ - 'description' => '单机单次触发执行线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'QueueSize' => [ - 'description' => '子任务队列缓存上限,默认值为10000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10000', - ], - 'DispatcherSize' => [ - 'description' => '子任务分发线程数,默认值为5。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'PageSize' => [ - 'description' => '并行任务单次拉取子任务数,默认值为100。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], + 'TaskMaxAttempt' => ['description' => '子任务失败重试次数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TaskAttemptInterval' => ['description' => '子任务失败重试间隔。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ConsumerSize' => ['description' => '单机单次触发执行线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'QueueSize' => ['description' => '子任务队列缓存上限,默认值为10000。', 'type' => 'integer', 'format' => 'int32', 'example' => '10000'], + 'DispatcherSize' => ['description' => '子任务分发线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'PageSize' => ['description' => '并行任务单次拉取子任务数,默认值为100。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], ], ], 'TimeConfig' => [ 'description' => '时间配置信息', 'type' => 'object', 'properties' => [ - 'Calendar' => [ - 'description' => 'cron类型可以选择填写自定义日历。', - 'type' => 'string', - 'example' => '工作日', - ], - 'TimeType' => [ - 'description' => '时间配置类型,目前支持以下几种时间类型:'."\n" - ."\n" - .'- **1**:cron'."\n" - ."\n" - .'- **3**:fix_rate'."\n" - ."\n" - .'- **4**:second_delay'."\n" - ."\n" - .'- **100**:api', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DataOffset' => [ - 'description' => 'cron类型可以选择时间偏移,单位s。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TimeExpression' => [ - 'description' => '时间表达式,目前支持以下几种时间表达类型:'."\n" - ."\n" - .'- **api**:无时间表达式。'."\n" - ."\n" - .'- **fix_rate**:具体固定频率值,如30表示每隔30s触发一次。'."\n" - ."\n" - .'- **cron**:标准的cron表达式。'."\n" - ."\n" - .'- **second_delay**:固定延迟多少秒执行一次(1s~60s可选)。', - 'type' => 'string', - 'example' => '0 0/10 * * * ?', - ], + 'Calendar' => ['description' => 'cron类型可以选择填写自定义日历。', 'type' => 'string', 'example' => 'workday'], + 'TimeType' => ['description' => '时间配置类型,目前支持以下几种时间类型:'."\n" + ."\n" + .'- **1**:cron'."\n" + ."\n" + .'- **3**:fix_rate'."\n" + ."\n" + .'- **4**:second_delay'."\n" + ."\n" + .'- **100**:api', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DataOffset' => ['description' => 'cron类型可以选择时间偏移,单位s。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TimeExpression' => ['description' => '时间表达式,目前支持以下几种时间表达类型:'."\n" + ."\n" + .'- **api**:无时间表达式。'."\n" + ."\n" + .'- **fix_rate**:具体固定频率值,如30表示每隔30s触发一次。'."\n" + ."\n" + .'- **cron**:标准的cron表达式。'."\n" + ."\n" + .'- **second_delay**:固定延迟多少秒执行一次(1s~60s可选)。', 'type' => 'string', 'example' => '0 0/10 * * * ?'], ], ], 'JobMonitorInfo' => [ @@ -7177,97 +5189,57 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'UserPhone' => [ - 'description' => '用户手机号。', - 'type' => 'string', - 'example' => '1381111****', - ], - 'UserName' => [ - 'description' => '用户名称。', - 'type' => 'string', - 'example' => 'userA', - ], - 'Ding' => [ - 'description' => '钉钉群机器人webhook地址', - 'type' => 'string', - 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********', - ], - 'UserMail' => [ - 'description' => '用户邮件地址', - 'type' => 'string', - 'example' => 'user@mail.com', - ], + 'UserPhone' => ['description' => '用户手机号。', 'type' => 'string', 'example' => '1381111****'], + 'UserName' => ['description' => '用户名称。', 'type' => 'string', 'example' => 'userA'], + 'Ding' => ['description' => '钉钉群机器人webhook地址', 'type' => 'string', 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********'], + 'UserMail' => ['description' => '用户邮件地址', 'type' => 'string', 'example' => 'user@mail.com'], ], + 'description' => '', ], ], 'MonitorConfig' => [ 'description' => '报警开关以及阈值配置。', 'type' => 'object', 'properties' => [ - 'Timeout' => [ - 'description' => '超时阈值,单位s,默认7200。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12300', - ], - 'SendChannel' => [ - 'description' => '报警发送形式,目前只支持sms。', - 'type' => 'string', - 'example' => 'sms', - ], - 'TimeoutKillEnable' => [ - 'description' => '超时终止本次触发开关,默认关闭。'."\n" - ."\n" - .'- **true**:开启'."\n" - ."\n" - .'- **false**:关闭', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TimeoutEnable' => [ - 'description' => '超时报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启'."\n" - ."\n" - .'- **false**:关闭', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FailEnable' => [ - 'description' => '失败报警开关。取值如下:'."\n" - ."\n" - .'- **true**:开启'."\n" - ."\n" - .'- **false**:关闭', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MissWorkerEnable' => [ - 'description' => '是否开启无可用机器报警', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Timeout' => ['description' => '超时阈值,单位s,默认7200。', 'type' => 'integer', 'format' => 'int64', 'example' => '12300'], + 'SendChannel' => ['description' => '报警发送形式,目前只支持sms。', 'type' => 'string', 'example' => 'sms'], + 'TimeoutKillEnable' => ['description' => '超时终止本次触发开关,默认关闭。'."\n" + ."\n" + .'- **true**:开启'."\n" + ."\n" + .'- **false**:关闭', 'type' => 'boolean', 'example' => 'false'], + 'TimeoutEnable' => ['description' => '超时报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启'."\n" + ."\n" + .'- **false**:关闭', 'type' => 'boolean', 'example' => 'true'], + 'FailEnable' => ['description' => '失败报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启'."\n" + ."\n" + .'- **false**:关闭', 'type' => 'boolean', 'example' => 'true'], + 'MissWorkerEnable' => ['description' => '是否开启无可用机器报警', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'XAttrs' => [ - 'description' => '任务扩展字段', - 'type' => 'string', - 'example' => '{"pageSize":5,"queueSize":10,"consumerSize":5,"dispatcherSize":5,"taskMaxAttempt":0,"taskAttemptInterval":0,"globalConsumerSize":1000,"taskDispatchMode":"push"}', - ], + 'XAttrs' => ['description' => '任务扩展字段', 'type' => 'string', 'example' => '{"pageSize":5,"queueSize":10,"consumerSize":5,"dispatcherSize":5,"taskMaxAttempt":0,"taskAttemptInterval":0,"globalConsumerSize":1000,"taskDispatchMode":"push"}'], ], + 'description' => '', ], ], + 'PageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32'], + 'PageSize' => ['description' => '每页数据条数。', 'type' => 'integer', 'format' => 'int32'], + 'Total' => ['description' => '总记录数。', 'type' => 'integer', 'format' => 'int32'], ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Jobs\\": [\\n {\\n \\"Status\\": 1,\\n \\"JarUrl\\": \\"https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar\\",\\n \\"MaxAttempt\\": 0,\\n \\"Parameters\\": \\"test\\",\\n \\"Description\\": \\"Test\\",\\n \\"JobId\\": 99341,\\n \\"ExecuteMode\\": \\"standalone\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Name\\": \\"helloworld\\",\\n \\"ClassName\\": \\"com.alibaba.schedulerx.test.helloworld\\",\\n \\"Content\\": \\"echo \'hello\'\\",\\n \\"JobType\\": \\"java\\",\\n \\"AttemptInterval\\": 30,\\n \\"MapTaskXAttrs\\": {\\n \\"TaskMaxAttempt\\": 0,\\n \\"TaskAttemptInterval\\": 0,\\n \\"ConsumerSize\\": 5,\\n \\"QueueSize\\": 10000,\\n \\"DispatcherSize\\": 5,\\n \\"PageSize\\": 100\\n },\\n \\"TimeConfig\\": {\\n \\"Calendar\\": \\"工作日\\",\\n \\"TimeType\\": 1,\\n \\"DataOffset\\": 0,\\n \\"TimeExpression\\": \\"0 0/10 * * * ?\\"\\n },\\n \\"JobMonitorInfo\\": {\\n \\"ContactInfo\\": [\\n {\\n \\"UserPhone\\": \\"1381111****\\",\\n \\"UserName\\": \\"userA\\",\\n \\"Ding\\": \\"https://oapi.dingtalk.com/robot/send?access_token=**********\\",\\n \\"UserMail\\": \\"user@mail.com\\"\\n }\\n ],\\n \\"MonitorConfig\\": {\\n \\"Timeout\\": 12300,\\n \\"SendChannel\\": \\"sms\\",\\n \\"TimeoutKillEnable\\": false,\\n \\"TimeoutEnable\\": true,\\n \\"FailEnable\\": true,\\n \\"MissWorkerEnable\\": true\\n }\\n },\\n \\"XAttrs\\": \\"{\\\\\\"pageSize\\\\\\":5,\\\\\\"queueSize\\\\\\":10,\\\\\\"consumerSize\\\\\\":5,\\\\\\"dispatcherSize\\\\\\":5,\\\\\\"taskMaxAttempt\\\\\\":0,\\\\\\"taskAttemptInterval\\\\\\":0,\\\\\\"globalConsumerSize\\\\\\":1000,\\\\\\"taskDispatchMode\\\\\\":\\\\\\"push\\\\\\"}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobsResponse>\\n<Message>namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58B</RequestId>\\n<Data>\\n <Jobs>\\n <Status>1</Status>\\n <MaxAttempt>0</MaxAttempt>\\n <Parameters>test</Parameters>\\n <Description>Test</Description>\\n <Content>echo \'hello\'</Content>\\n <JarUrl>https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar</JarUrl>\\n <MaxConcurrency>1</MaxConcurrency>\\n <ClassName>com.alibaba.schedulerx.test.helloworld</ClassName>\\n <AttemptInterval>30</AttemptInterval>\\n <ExecuteMode>standalone</ExecuteMode>\\n <JobId>99341</JobId>\\n <Name>helloworld</Name>\\n <MapTaskXAttrs>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <DispatcherSize>5</DispatcherSize>\\n <PageSize>100</PageSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <ConsumerSize>5</ConsumerSize>\\n </MapTaskXAttrs>\\n <TimeConfig>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n </TimeConfig>\\n <JobMonitorInfo>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>false</TimeoutKillEnable>\\n </MonitorConfig>\\n </JobMonitorInfo>\\n </Jobs>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ListJobsResponse>","errorExample":""}]', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Jobs\\": [\\n {\\n \\"Status\\": 1,\\n \\"JarUrl\\": \\"https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar\\",\\n \\"MaxAttempt\\": 0,\\n \\"Parameters\\": \\"test\\",\\n \\"Description\\": \\"Test\\",\\n \\"JobId\\": 99341,\\n \\"ExecuteMode\\": \\"standalone\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Name\\": \\"helloworld\\",\\n \\"ClassName\\": \\"com.alibaba.schedulerx.test.helloworld\\",\\n \\"Content\\": \\"echo \'hello\'\\",\\n \\"JobType\\": \\"java\\",\\n \\"AttemptInterval\\": 30,\\n \\"MapTaskXAttrs\\": {\\n \\"TaskMaxAttempt\\": 0,\\n \\"TaskAttemptInterval\\": 0,\\n \\"ConsumerSize\\": 5,\\n \\"QueueSize\\": 10000,\\n \\"DispatcherSize\\": 5,\\n \\"PageSize\\": 100\\n },\\n \\"TimeConfig\\": {\\n \\"Calendar\\": \\"workday\\",\\n \\"TimeType\\": 1,\\n \\"DataOffset\\": 0,\\n \\"TimeExpression\\": \\"0 0/10 * * * ?\\"\\n },\\n \\"JobMonitorInfo\\": {\\n \\"ContactInfo\\": [\\n {\\n \\"UserPhone\\": \\"1381111****\\",\\n \\"UserName\\": \\"userA\\",\\n \\"Ding\\": \\"https://oapi.dingtalk.com/robot/send?access_token=**********\\",\\n \\"UserMail\\": \\"user@mail.com\\"\\n }\\n ],\\n \\"MonitorConfig\\": {\\n \\"Timeout\\": 12300,\\n \\"SendChannel\\": \\"sms\\",\\n \\"TimeoutKillEnable\\": false,\\n \\"TimeoutEnable\\": true,\\n \\"FailEnable\\": true,\\n \\"MissWorkerEnable\\": true\\n }\\n },\\n \\"XAttrs\\": \\"{\\\\\\"pageSize\\\\\\":5,\\\\\\"queueSize\\\\\\":10,\\\\\\"consumerSize\\\\\\":5,\\\\\\"dispatcherSize\\\\\\":5,\\\\\\"taskMaxAttempt\\\\\\":0,\\\\\\"taskAttemptInterval\\\\\\":0,\\\\\\"globalConsumerSize\\\\\\":1000,\\\\\\"taskDispatchMode\\\\\\":\\\\\\"push\\\\\\"}\\"\\n }\\n ],\\n \\"PageNumber\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobsResponse>\\n<Message>namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58B</RequestId>\\n<Data>\\n <Jobs>\\n <Status>1</Status>\\n <MaxAttempt>0</MaxAttempt>\\n <Parameters>test</Parameters>\\n <Description>Test</Description>\\n <Content>echo \'hello\'</Content>\\n <JarUrl>https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar</JarUrl>\\n <MaxConcurrency>1</MaxConcurrency>\\n <ClassName>com.alibaba.schedulerx.test.helloworld</ClassName>\\n <AttemptInterval>30</AttemptInterval>\\n <ExecuteMode>standalone</ExecuteMode>\\n <JobId>99341</JobId>\\n <Name>helloworld</Name>\\n <MapTaskXAttrs>\\n <TaskAttemptInterval>0</TaskAttemptInterval>\\n <QueueSize>10000</QueueSize>\\n <DispatcherSize>5</DispatcherSize>\\n <PageSize>100</PageSize>\\n <TaskMaxAttempt>0</TaskMaxAttempt>\\n <ConsumerSize>5</ConsumerSize>\\n </MapTaskXAttrs>\\n <TimeConfig>\\n <Calendar>工作日</Calendar>\\n <TimeExpression>0 0/10 * * * ?</TimeExpression>\\n <DataOffset>0</DataOffset>\\n <TimeType>1</TimeType>\\n </TimeConfig>\\n <JobMonitorInfo>\\n <ContactInfo>\\n <UserName>userA</UserName>\\n <UserPhone>1381111****</UserPhone>\\n </ContactInfo>\\n <MonitorConfig>\\n <TimeoutEnable>true</TimeoutEnable>\\n <Timeout>12300</Timeout>\\n <FailEnable>true</FailEnable>\\n <SendChannel>sms</SendChannel>\\n <TimeoutKillEnable>false</TimeoutKillEnable>\\n </MonitorConfig>\\n </JobMonitorInfo>\\n </Jobs>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</ListJobsResponse>","errorExample":""}]', 'title' => '获取任务列表', - 'summary' => '获取任务列表。', 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" ."\n" .'```'."\n" @@ -7343,673 +5315,641 @@ .'}'."\n" ."\n" .'```', - ], - 'ExecuteJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-02T03:30:41.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListNamespaces' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceParameters', + 'name' => 'NamespaceName', 'in' => 'query', - 'schema' => [ - 'description' => '本次触发携带参数,可以是任意字符串,`processor`代码通过`context.getInstanceParameters()`获取,区别于创建任务自定义参数。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '命名空间名称。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx-dev'], ], [ 'name' => 'Namespace', 'in' => 'query', + 'schema' => ['description' => '命名空间UID', 'type' => 'string', 'required' => false, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58C'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '命名空间列表信息。', + 'type' => 'object', + 'properties' => [ + 'Namespaces' => [ + 'description' => '命名空间列表与详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => '命名空间名称。', 'type' => 'string', 'example' => 'doc'], + 'Description' => ['description' => '命名空间描述。', 'type' => 'string', 'example' => 'test'], + 'UId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => '1a72ecb1-b4cc-400a-a71b-20cdec9b****'], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', ], ], + ], + 'title' => '获取命名空间列表', + 'summary' => '获取命名空间列表。', + 'description' => '在调用该接口前,需要在POM文件添加以下依赖:'."\n" + ."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>aliyun-java-sdk-schedulerx2</artifactId>'."\n" + .' <version>1.0.5</version>'."\n" + .'</dependency>'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Demo'."\n" + .'```'."\n" + .'package com.alibaba.schedulerx.pop;'."\n" + ."\n" + .'import java.util.List;'."\n" + ."\n" + .'import com.aliyuncs.DefaultAcsClient;'."\n" + .'import com.aliyuncs.exceptions.ClientException;'."\n" + .'import com.aliyuncs.exceptions.ServerException;'."\n" + .'import com.aliyuncs.profile.DefaultProfile;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesRequest;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesResponse;'."\n" + .'import com.aliyuncs.schedulerx2.model.v20190430.ListNamespacesResponse.Data.Namespace;'."\n" + ."\n" + .'public class TestListNamespaces {'."\n" + ."\n" + .' public static void main(String[] args) {'."\n" + .' //OpenAPI的接入点,具体查看支持地域列表以及购买机器地域填写。'."\n" + .' String regionId = "cn-test";'."\n" + .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取。'."\n" + .' String accessKeyId = "XXXXXXXX";'."\n" + .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取。'."\n" + .' String accessKeySecret = "XXXXXXXX";'."\n" + .' //产品名称。'."\n" + .' String productName ="schedulerx2";'."\n" + .' //对照支持地域列表选择Domain填写。'."\n" + .' String domain ="schedulerx.aliyuncs.com";'."\n" + .' //构建OpenAPI客户端。'."\n" + .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" + .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" + .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" + .' '."\n" + .' ListNamespacesRequest request = new ListNamespacesRequest();'."\n" + .' ListNamespacesResponse response;'."\n" + .' try {'."\n" + .' response = client.getAcsResponse(request);'."\n" + .' if (!response.getSuccess()) {'."\n" + .' System.out.println(response.getMessage());'."\n" + .' } else {'."\n" + .' List<Namespace> namespaces = response.getData().getNamespaces();'."\n" + .' for (Namespace namespace : namespaces) {'."\n" + .' System.out.println("namespace uid=" + namespace.getUId());'."\n" + .' }'."\n" + .' }'."\n" + .' } catch (ServerException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" + .' } catch (ClientException e) {'."\n" + .' // TODO Auto-generated catch block'."\n" + .' e.printStackTrace();'."\n" + .' }'."\n" + .' }'."\n" + .' '."\n" + .'}'."\n" + ."\n" + .'``` ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-17T09:45:54.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-01T07:28:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxNamespaceQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58C\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Namespaces\\": [\\n {\\n \\"Name\\": \\"doc\\",\\n \\"Description\\": \\"test\\",\\n \\"UId\\": \\"1a72ecb1-b4cc-400a-a71b-20cdec9b****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNamespacesResponse>\\n<Message>You have an error in your SQL syntax</Message>\\n<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58C</RequestId>\\n<Data>\\n <Namespaces>\\n <UId>1a72ecb1-b4cc-400a-a71b-20cdec9b****</UId>\\n <Description>test</Description>\\n <Name>doc</Name>\\n </Namespaces>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</ListNamespacesResponse>","errorExample":""}]', + ], + 'ListWorkFlows' => [ + 'summary' => '获取工作流信息列表。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'NamespaceSource', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'GroupId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['title' => '命名空间uid', 'description' => '命名空间uid', 'type' => 'string', 'required' => true, 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d'], ], [ - 'name' => 'RegionId', + 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '命名空间来源', 'description' => '命名空间来源,特殊来源才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'CheckJobStatus', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '是否检查任务状态,取值如下:**true**:任务启用才能执行任务。**false**:任务不启用也可以执行任务。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '应用分组ID', 'description' => '应用分组ID', 'type' => 'string', 'required' => true, 'example' => 'hxm.test'], ], [ - 'name' => 'DesignateType', + 'name' => 'WorkflowName', 'in' => 'query', - 'schema' => [ - 'title' => '指定机器类型:1.workerAddr; 2. label', - 'description' => '指定机器的类型,取值如下:**1**:指定worker。**2**:指定label', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '工作流名称', 'type' => 'string', 'required' => false, 'example' => 'Test3'], ], [ - 'name' => 'Worker', + 'name' => 'PageNum', 'in' => 'query', - 'schema' => [ - 'title' => '指定机器的workerAddr', - 'description' => '应用的worker地址,需要先通过GetWokerList接口返回workerAddress', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxxx@127.0.0.1:222', - ], + 'schema' => ['description' => '页码', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'Label', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '指定机器的标签', - 'description' => 'worker的标签', - 'type' => 'string', - 'required' => false, - 'example' => 'gray', - ], + 'schema' => ['description' => '分查询时设置的每页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => '任务状态。'."\n" + ."\n" + .'- **0**:表示禁用'."\n" + ."\n" + .'- **1**:表示启用', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108****', - ], - 'Success' => [ - 'description' => '触发任务是否成功。取值如下:'."\n" - ."\n" - .'- `true`:触发任务成功。'."\n" - .'- `false`:触发任务失败。'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C'], + 'Code' => ['title' => '错误码', 'description' => '错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '错误信息', 'description' => '错误信息', 'type' => 'string', 'example' => 'workflow is not existed'], + 'Success' => ['title' => '会否成功', 'description' => '会否成功', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '如果成功,会返回任务实例ID。', + 'title' => '工作流的数据', + 'description' => '工作流的数据', 'type' => 'object', 'properties' => [ - 'JobInstanceId' => [ - 'description' => '任务实例ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11111111', + 'Records' => [ + 'description' => '单行数据。', + 'type' => 'array', + 'items' => [ + 'description' => '-', + 'type' => 'object', + 'properties' => [ + 'Namespace' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d'."\n"], + 'GroupId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'hxm.test'], + 'Name' => ['description' => '工作流名称', 'type' => 'string', 'example' => 'Test3'], + 'WorkflowId' => ['description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1339'], + 'Description' => ['description' => '任务描述', 'type' => 'string', 'example' => 'No description'], + 'TimeType' => ['description' => '工作流时间类型', 'type' => 'string', 'example' => 'cron'], + 'TimeExpression' => ['description' => '时间表达式', 'type' => 'string', 'example' => '0 0 5 */1 * ?'], + 'MaxConcurrency' => ['description' => '最大并发数', 'type' => 'string', 'example' => '1'], + 'Calendar' => ['description' => '日历', 'type' => 'string', 'example' => 'workday'], + 'Creator' => ['description' => '创建人', 'type' => 'string', 'example' => '1144881807903942'], + 'Updater' => ['description' => '更新人', 'type' => 'string', 'example' => '1144881807903942'], + ], + ], ], + 'PageNumber' => ['description' => '页码', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '页大小', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'Total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceId\\": 11111111\\n }\\n}","errorExample":""},{"type":"xml","example":"<ExecuteJobResponse>\\n <Code>200</Code>\\n <Message>groupid not exist groupId: testSchedulerx.defaultGroup namespace: adcfc35d-e2fe-4fe9-bbaa-20e90ffc****</Message>\\n <RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108****</RequestId>\\n <Success>true</Success>\\n <Data>\\n <JobInstanceId>11111111</JobInstanceId>\\n </Data>\\n</ExecuteJobResponse>","errorExample":""}]', - 'title' => '触发一次任务', - 'summary' => '触发一次任务立即运行。', - 'description' => '> 因为`JobID`联合`ScheduleTime`是唯一索引,所以同一个任务连续调用ExecuteJob接口的时,每次要sleep一秒,否则任务有可能会失败。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DesignateWorkers' => [ - 'summary' => '指定机器。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"883AFE93-FB03-4FA9-A958-E750C6DE120C\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"workflow is not existed\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"Namespace\\": \\"4a06d5ea-f576-4326-842c-fb14ea043d8d\\\\n\\",\\n \\"GroupId\\": \\"hxm.test\\",\\n \\"Name\\": \\"Test3\\",\\n \\"WorkflowId\\": 1339,\\n \\"Description\\": \\"No description\\",\\n \\"TimeType\\": \\"cron\\",\\n \\"TimeExpression\\": \\"0 0 5 */1 * ?\\",\\n \\"MaxConcurrency\\": \\"1\\",\\n \\"Calendar\\": \\"workday\\",\\n \\"Creator\\": \\"1144881807903942\\",\\n \\"Updater\\": \\"1144881807903942\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1\\n }\\n}","type":"json"}]', + 'title' => '获取工作流信息列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListWorkflowInstance' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间UID', - 'description' => '命名空间UID', - 'type' => 'string', - 'required' => true, - 'example' => '4a06d5ea-f576-4326-842c-fb14ea043d8d', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'title' => '命名空间来源', - 'description' => '命名空间来源', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '应用分组ID', - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => true, - 'example' => 'hxm.test', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'JobId', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'title' => '任务ID', - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '144153', - ], + 'schema' => ['description' => '工作流ID', 'type' => 'string', 'required' => true, 'example' => '123'], ], - [ - 'name' => 'Transferable', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否故障转移', - 'description' => '是否故障转移', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'workflowId=xxx is not existed'], + 'Data' => [ + 'description' => '工作流实例列表封装在data里', + 'type' => 'object', + 'properties' => [ + 'WfInstanceInfos' => [ + 'description' => '工作流实例的列表', + 'type' => 'array', + 'items' => [ + 'description' => '工作流实例数据结构', + 'type' => 'object', + 'properties' => [ + 'WfInstanceId' => ['description' => '工作流实例ID', 'type' => 'integer', 'format' => 'int64', 'example' => '123456'], + 'WorkflowId' => ['description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'example' => '123'], + 'Status' => ['description' => '工作流实例状态,取值如下:'."\n" + ."\n" + .'- 1: 等待中'."\n" + .'- 2: 准备中'."\n" + .'- 3:运行中'."\n" + .'- 4:成功'."\n" + .'- 5:失败', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'StartTime' => ['description' => '开始时间', 'type' => 'string', 'example' => '2023-01-03 18:00:01'], + 'EndTime' => ['description' => '结束时间', 'type' => 'string', 'example' => '2023-01-03 18:00:21'], + 'ScheduleTime' => ['description' => '计划调度时间', 'type' => 'string', 'example' => '2023-01-03 18:00:00'], + 'DataTime' => ['description' => '数据时间', 'type' => 'string', 'example' => '2023-01-03 18:00:00'], + ], + ], + ], + ], + ], + ], ], ], - [ - 'name' => 'DesignateType', - 'in' => 'query', - 'schema' => [ - 'title' => '指定机器的类型', - 'description' => '指定机器的类型:1.worker, 2.label', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'enumValueTitles' => [ - 1 => 'worker', - 'label', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取工作流实例列表', + 'summary' => '获取工作流的历史执行记录,只有专业版才支持。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'example' => '1', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"workflowId=xxx is not existed\\",\\n \\"Data\\": {\\n \\"WfInstanceInfos\\": [\\n {\\n \\"WfInstanceId\\": 123456,\\n \\"WorkflowId\\": 123,\\n \\"Status\\": 5,\\n \\"StartTime\\": \\"2023-01-03 18:00:01\\",\\n \\"EndTime\\": \\"2023-01-03 18:00:21\\",\\n \\"ScheduleTime\\": \\"2023-01-03 18:00:00\\",\\n \\"DataTime\\": \\"2023-01-03 18:00:00\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ManageSchedulerxCalendar' => [ + 'summary' => '更新日历。', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Workers', - 'in' => 'query', - 'schema' => [ - 'title' => '指定机器列表json格式', - 'description' => '指定机器列表JSON格式列表', - 'type' => 'string', - 'required' => false, - 'example' => '["127.0.0.1","127.0.0.2"]', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], + 'parameters' => [ [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'title' => '指定label列表json格式', - 'description' => '指定`label`列表`json`格式列表', - 'type' => 'string', - 'required' => false, - 'example' => '["gray"]', - ], + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域', - 'type' => 'string', - 'required' => true, - 'example' => 'public', - ], + 'name' => 'CalendarName', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => '日历名称', 'type' => 'string', 'required' => true, 'example' => '2025workday'], + ], + [ + 'name' => 'Year', + 'in' => 'formData', + 'schema' => ['description' => '年份', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2025'], + ], + [ + 'name' => 'MonthDaysContent', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => '月份和天', 'type' => 'string', 'required' => true, 'example' => '['."\n" + .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" + .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" + .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" + .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" + .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" + .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" + .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" + .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" + .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" + .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" + .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" + .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" + .']'], + ], + [ + 'name' => 'Incremental', + 'in' => 'formData', + 'schema' => ['description' => '是否是增量更新(默认:false)。'."\n" + .'- false 更新指定月份数据的同时会删除其他月份的配置'."\n" + .'- true 仅更新指定月份的数据,保留其他月份的现有配置', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '765xxx', - ], - 'Message' => [ - 'title' => '错误信息', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'job is not existed', - ], - 'Code' => [ - 'title' => '错误码', - 'description' => '错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'title' => '是否成功', - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息', 'type' => 'string', 'example' => 'calendar \'2025workday\' does not exist in year 2025'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '无权限信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ManageSchedulerxCalendar'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"765xxx\\",\\n \\"Message\\": \\"job is not existed\\",\\n \\"Code\\": 200,\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DesignateWorkersResponse>\\n <RequestId>765xxx</RequestId>\\n <Message>job is not existed</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DesignateWorkersResponse>","errorExample":""}]', - 'title' => '指定机器', - 'extraInfo' => '## 示例Demo'."\n" - ."\n" - .'```'."\n" - .'package com.alibaba.schedulerx.pop;'."\n" - ."\n" - .'import java.util.List;'."\n" - ."\n" - .'import com.alibaba.schedulerx.common.util.JsonUtil;'."\n" - ."\n" - .'import com.aliyuncs.DefaultAcsClient;'."\n" - .'import com.aliyuncs.exceptions.ClientException;'."\n" - .'import com.aliyuncs.exceptions.ServerException;'."\n" - .'import com.aliyuncs.profile.DefaultProfile;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DesignateWorkersRequest;'."\n" - .'import com.aliyuncs.schedulerx2.model.v20190430.DesignateWorkersResponse;'."\n" - .'import com.google.common.collect.Lists;'."\n" - ."\n" - .'public class TestDesignateWorkers {'."\n" - ."\n" - .' public static void main(String[] args) {'."\n" - .' // OpenAPI的接入点,具体查看支持地域列表或根据购买地域填写'."\n" - .' String regionId = "public";'."\n" - .' //鉴权使用的AccessKey ID,由阿里云官网控制台获取'."\n" - .' String accessKeyId = "xxxxxxxx";'."\n" - .' //鉴权使用的AccessKey Secret,由阿里云官网控制台获取'."\n" - .' String accessKeySecret = "xxxxxxxxx";'."\n" - .' //产品名称'."\n" - .' String productName ="schedulerx2";'."\n" - .' //对照支持地域列表选择Domain填写'."\n" - .' String domain ="schedulerx.aliyuncs.com";'."\n" - .' //构建OpenAPI客户端'."\n" - .' DefaultProfile.addEndpoint(regionId, productName, domain);'."\n" - .' DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);'."\n" - .' DefaultAcsClient client = new DefaultAcsClient(defaultProfile);'."\n" - .' '."\n" - .' DesignateWorkersRequest request = new DesignateWorkersRequest();'."\n" - .' request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b9a4af");'."\n" - .' request.setGroupId("xuren_test");'."\n" - .' request.setJobId(3048L);'."\n" - .' //是否故障转移'."\n" - .' request.setTransferable(true);'."\n" - .' //1表示指定worker,2表示指定label'."\n" - .' request.setDesignateType(1);'."\n" - .' List<String> workers = Lists.newArrayList();'."\n" - .' workers.add("30.225.16.104");'."\n" - .' //workers需要json格式'."\n" - .' request.setWorkers(JsonUtil.toJson(workers));'."\n" - .' DesignateWorkersResponse response;'."\n" - .' try {'."\n" - .' response = client.getAcsResponse(request);'."\n" - .' System.out.println(JsonUtil.toJson(response));'."\n" - .' } catch (ServerException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" - .' } catch (ClientException e) {'."\n" - .' // TODO Auto-generated catch block'."\n" - .' e.printStackTrace();'."\n" - .' }'."\n" - .' }'."\n" - .' '."\n" - .'}'."\n" - .' '."\n" - .' ```', - ], - 'RerunJob' => [ - 'summary' => '重跑任务的历史数据,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '更新日历', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' does not exist in year 2025\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ManageSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'ManageSchedulerxJobSync' => [ + 'summary' => '跨命名空间同步任务。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Namespace', + 'name' => 'OriginalNamespace', 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '原始命名空间,任务原本所在的命名空间。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n"], ], [ 'name' => 'NamespaceSource', 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '命名空间来源,特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'GroupId', + 'name' => 'OriginalGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '原始应用ID,任务原本所在的应用分组。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'."\n"], ], [ - 'name' => 'JobId', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123', - ], - ], - [ - 'name' => 'StartDate', + 'name' => 'JobIdList', 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => '开始日期时间戳,精确到毫秒', - 'type' => 'integer', - 'format' => 'int64', + 'description' => '任务ID列表。', + 'type' => 'array', + 'items' => ['description' => '任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '207828442'], 'required' => true, - 'example' => '1645459200000', + 'docRequired' => true, + 'maxItems' => 1000, ], ], [ - 'name' => 'EndDate', + 'name' => 'TargetNamespace', 'in' => 'formData', - 'schema' => [ - 'description' => '结束日期时间戳,精确到毫秒', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1645718400000', - ], + 'schema' => ['description' => '目标命名空间,任务需要同步到的命名空间。', 'type' => 'string', 'required' => true, 'example' => '5f56ef65-b836-493d-b40b-c4db6425****'], ], [ - 'name' => 'DataTime', + 'name' => 'TargetGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '数据时间字符串,格式为HH:mm:ss', - 'type' => 'string', - 'required' => true, - 'example' => '10:00:00', - ], + 'schema' => ['description' => '目标应用ID,任务需要同步到的应用分组。', 'type' => 'string', 'required' => true, 'example' => 'testSyncJobGroup'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58C'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '跨命名空间同步任务', + 'changeSet' => [ + ['createdAt' => '2025-07-29T09:01:00.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobSync', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobId=xxx is not existed\\"\\n}","type":"json"}]', - 'title' => '重刷任务的历史数据', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58C\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'UpdateJobScript' => [ - 'summary' => '更新任务执行脚本。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ManageSchedulerxNotificationPolicy' => [ + 'summary' => '更新通知策略。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'formData', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '301', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => ' '."\n" - .'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n", - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'formData', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], - ], - [ - 'name' => 'GroupId', + 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup'."\n", - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'PolicyName', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou'."\n", - ], + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'required' => true, 'example' => 'test-weekdays'], ], [ - 'name' => 'VersionDescription', + 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => '脚本版本描述', - 'type' => 'string', - 'required' => false, - 'example' => '打印任务运行信息', - ], + 'schema' => ['title' => '策略描述', 'description' => '通知策略描述', 'type' => 'string', 'required' => false, 'example' => 'Monday-Friday only'], ], [ - 'name' => 'ScriptContent', + 'name' => 'ChannelTimeRange', 'in' => 'formData', - 'schema' => [ - 'description' => '脚本内容', - 'type' => 'string', - 'required' => false, - 'example' => '#!/bin/bash'."\n" - ."\n" - .'# 以下是系统提供的预制变量,可以获取任务运行的信息'."\n" - .'echo "任务参数: #{schedulerx.jobParameters}"'."\n" - .'echo "分片序号: #{schedulerx.shardingId}"'."\n" - .'echo "分片参数: #{schedulerx.shardingParameters}"'."\n" - .'echo "分片总数: #{schedulerx.shardingNum}"'."\n" - .'echo "当前重试次数:#{schedulerx.attempt}"'."\n" - .'echo "触发类型:#{schedulerx.triggerType}"'."\n" - .'echo "调度时间戳:#{schedulerx.scheduleTime}"'."\n" - .'echo "数据时间戳:#{schedulerx.dataTime}"'."\n" - ."\n" - .'# 最后一行输出会作为结果返回'."\n" - .'echo "hello world"'."\n" - ."\n" - .'# exit 1 表示失败'."\n" - .'exit 0', - ], + 'schema' => ['title' => '通知渠道生效时间段配置'."\n", 'description' => '通知渠道生效时间段配置'."\n" + ."\n" + .'> 请参考请求参数中 ChannelTimeRange 的补充说明', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "UTC+08:00",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "all": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n"], ], ], 'responses' => [ @@ -8017,110 +5957,195 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'job is not existed, jobId=302', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'."\n", - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息', 'type' => 'string', 'example' => 'Invalid parameter: policyName cannot be null'."\n"], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ManageSchedulerxNotificationPolicy'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=302\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\\\n\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '更新任务执行脚本', - ], - 'ListJobScriptHistory' => [ - 'summary' => '获取任务脚本历史列表。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', + 'title' => '更新通知策略', + 'requestParamsDescription' => '# ChannelTimeRange 配置说明'."\n" + .'通知渠道的生效时间配置,支持统一配置和独立配置两种模式。'."\n" + ."\n" + .'## 配置格式'."\n" + .'该字段应为 JSON 格式,支持以下核心属性:'."\n" + ."\n" + .'### 属性说明'."\n" + ."\n" + .'**sendChannel:通知渠道配置(必填)**'."\n" + .'- 必填字段,指定需要配置的通知渠道'."\n" + .'- 格式:多个渠道用逗号分隔,如 "sms,webhook,mail,phone"'."\n" + .'- 支持的渠道:sms(短信)、webhook(如钉钉、企业微信)、mail(邮件)、phone(电话)'."\n" + ."\n" + .'**timezone:时区设置**'."\n" + .'- 支持 GMT 或 UTC 格式'."\n" + .'- 示例:GMT+8 或 UTC+08:00'."\n" + .'- 说明:时区决定了报警生效时间的参考标准,与实际所在地区无关。例如在北京地区配置"美国纽约时区(UTC-4),周一 00:00-03:00",系统将以纽约当地时间为准。'."\n" + ."\n" + .'**webhookIsAtAll:Webhook 通知配置**'."\n" + .'- 值为 "true" 或 "false"'."\n" + .'- 指示 webhook 通知时是否@所有成员'."\n" + ."\n" + .'**timeRanges:时间范围配置(必填)**'."\n" + .'- 支持两种配置模式:'."\n" + .' 1. 统一配置:使用 "all" 作为 key,为所有选择的渠道统一设置时间段'."\n" + .' 2. 独立配置:为每个渠道单独配置时间段,key 为具体的渠道标识'."\n" + ."\n" + .'### 时间段配置项'."\n" + .'每个时间段包含以下属性:'."\n" + .'- startTime:开始时间,格式为 HH:mm (必填)'."\n" + .'- endTime:结束时间,格式为 HH:mm (必填)'."\n" + .'- daysOfWeek:生效的工作日,数组格式,1-7 代表周一到周日(非必填,为空时代表该时间段不生效)'."\n" + ."\n" + .'### 示例配置'."\n" + ."\n" + .'**示例 1:统一配置模式**'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "UTC+08:00",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "all": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'**示例 2:独立配置模式**'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "sms,webhook,mail,phone",'."\n" + .' "timezone": "GMT+8",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "webhook": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "sms": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "mail": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ],'."\n" + .' "phone": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'### 注意事项'."\n" + .'1. sendChannel 字段必填,且只能包含支持的通知渠道'."\n" + .'2. 当 timeRanges 中包含 "all" 时,表示统一配置模式,此时不能包含其他渠道的配置'."\n" + .'3. 当 timeRanges 不包含 "all" 时,需要为 sendChannel 中指定的每个渠道进行独立配置'."\n" + .'4. 时间必须使用 24 小时制,格式为 HH:mm'."\n" + .'5. 工作日使用 1-7 的数字表示,分别对应周一到周日'."\n" + .'6. 时区支持 GMT 和 UTC 两种格式的配置', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: policyName cannot be null\\\\n\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ManageSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'ReadSchedulerxCalendar' => [ + 'summary' => '查询日历。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583'."\n", - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'GroupId', + 'name' => 'CalendarName', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup'."\n", - ], + 'schema' => ['title' => '通知策略名称', 'description' => '日历名称', 'type' => 'string', 'required' => false, 'example' => '2025workday'], ], [ - 'name' => 'Namespace', + 'name' => 'Year', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'."\n", - ], + 'schema' => ['description' => '年份', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2025'], ], [ - 'name' => 'NamespaceSource', + 'name' => 'FetchSystemCalendar', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '是否拉取系统日历(默认:false)'."\n" + ."\n" + .'- false:仅返回用户自定义日历。'."\n" + .'- true:即返回系统日历也返回用户自定义日历。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'RegionId', + 'name' => 'FetchCalendarDetail', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou'."\n", - ], + 'schema' => ['description' => '是否拉取日历明细(默认:false)'."\n" + .'- false:不返回每月的详细天列表,只返回基础信息。'."\n" + .'- true:返回每月日历详细天列表。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => '本次读取的最大数据量,默认值为20', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'default' => '20'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '用来表示当前调用返回读取到的位置,空代表数据已经读取完毕, 第一次查询不需要提供这个参数', 'type' => 'string', 'required' => false, 'example' => 'AAAAAdYzT97YjSXWT8TQmxIAI5g='], ], ], 'responses' => [ @@ -8128,166 +6153,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息', - 'type' => 'string', - 'example' => 'job is not existed, jobId=302', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'true:成功'."\n" - ."\n" - .'false:失败', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'unknown exception occurred'."\n"], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ReadSchedulerxCalendar'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQEAAAAAaDEssEE4MDg4NTQyLTVGMTYtNTFEQy1CODJCLUFFMDY4NUVDQ0ZBQQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], 'Data' => [ 'description' => '-', 'type' => 'object', 'properties' => [ - 'JobScriptHistoryInfos' => [ + 'Records' => [ 'description' => '-', 'type' => 'array', 'items' => [ + 'description' => '-', 'type' => 'object', 'properties' => [ - 'VersionesDescription' => [ - 'description' => '脚本版本描述', - 'type' => 'string', - 'example' => 'init version', - ], - 'Creator' => [ - 'description' => '创建人', - 'type' => 'string', - 'example' => '1272118248844842', - ], - 'CreateTime' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2025-03-12 14:52:42'."\n", - ], - 'ScriptContent' => [ - 'description' => '脚本内容', - 'type' => 'string', - 'example' => '#!/bin/bash'."\n" - ."\n" - .'# 以下是系统提供的预制变量,可以获取任务运行的信息'."\n" - .'echo "任务参数: #{schedulerx.jobParameters}"'."\n" - .'echo "分片序号: #{schedulerx.shardingId}"'."\n" - .'echo "分片参数: #{schedulerx.shardingParameters}"'."\n" - .'echo "分片总数: #{schedulerx.shardingNum}"'."\n" - .'echo "当前重试次数:#{schedulerx.attempt}"'."\n" - .'echo "触发类型:#{schedulerx.triggerType}"'."\n" - .'echo "调度时间戳:#{schedulerx.scheduleTime}"'."\n" - .'echo "数据时间戳:#{schedulerx.dataTime}"'."\n" - ."\n" - .'# 最后一行输出会作为结果返回'."\n" - .'echo "hello world"'."\n" - ."\n" - .'# exit 1 表示失败'."\n" - .'exit 0'."\n", - ], + 'CalendarName' => ['description' => '日历名称', 'type' => 'string', 'example' => '2025workday'], + 'Year' => ['description' => '年份', 'type' => 'integer', 'format' => 'int32', 'example' => '2025'], + 'MonthDaysContent' => ['description' => '月份和天', 'type' => 'string', 'example' => '['."\n" + .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" + .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" + .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" + .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" + .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" + .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" + .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" + .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" + .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" + .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" + .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" + .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" + .']'], + 'Creator' => ['description' => '创建人', 'type' => 'string', 'example' => '1827811800526xxx'], + 'SystemCalendar' => ['description' => '是否是系统日历', 'type' => 'boolean', 'example' => 'false'], ], ], ], + 'NextToken' => ['description' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。', 'type' => 'string', 'example' => 'O39nXKu5XafATl3/cJjSJw=='."\n"], + 'Total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'MaxResults' => ['description' => '本次读取的最大数据量', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], ], ], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '查询日历', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=302\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobScriptHistoryInfos\\": [\\n {\\n \\"VersionesDescription\\": \\"init version\\",\\n \\"Creator\\": \\"1272118248844842\\",\\n \\"CreateTime\\": \\"2025-03-12 14:52:42\\\\n\\",\\n \\"ScriptContent\\": \\"#!/bin/bash\\\\n\\\\n# 以下是系统提供的预制变量,可以获取任务运行的信息\\\\necho \\\\\\"任务参数: #{schedulerx.jobParameters}\\\\\\"\\\\necho \\\\\\"分片序号: #{schedulerx.shardingId}\\\\\\"\\\\necho \\\\\\"分片参数: #{schedulerx.shardingParameters}\\\\\\"\\\\necho \\\\\\"分片总数: #{schedulerx.shardingNum}\\\\\\"\\\\necho \\\\\\"当前重试次数:#{schedulerx.attempt}\\\\\\"\\\\necho \\\\\\"触发类型:#{schedulerx.triggerType}\\\\\\"\\\\necho \\\\\\"调度时间戳:#{schedulerx.scheduleTime}\\\\\\"\\\\necho \\\\\\"数据时间戳:#{schedulerx.dataTime}\\\\\\"\\\\n\\\\n# 最后一行输出会作为结果返回\\\\necho \\\\\\"hello world\\\\\\"\\\\n\\\\n# exit 1 表示失败\\\\nexit 0\\\\n\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取任务脚本历史列表', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"unknown exception occurred\\\\n\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQEAAAAAaDEssEE4MDg4NTQyLTVGMTYtNTFEQy1CODJCLUFFMDY4NUVDQ0ZBQQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n },\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"CalendarName\\": \\"2025workday\\",\\n \\"Year\\": 2025,\\n \\"MonthDaysContent\\": \\"[\\\\n {\\\\\\"month\\\\\\":1,\\\\\\"days\\\\\\":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":2,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},\\\\n {\\\\\\"month\\\\\\":3,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":4,\\\\\\"days\\\\\\":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},\\\\n {\\\\\\"month\\\\\\":5,\\\\\\"days\\\\\\":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},\\\\n {\\\\\\"month\\\\\\":6,\\\\\\"days\\\\\\":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},\\\\n {\\\\\\"month\\\\\\":7,\\\\\\"days\\\\\\":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},\\\\n {\\\\\\"month\\\\\\":8,\\\\\\"days\\\\\\":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":9,\\\\\\"days\\\\\\":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},\\\\n {\\\\\\"month\\\\\\":10,\\\\\\"days\\\\\\":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},\\\\n {\\\\\\"month\\\\\\":11,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},\\\\n {\\\\\\"month\\\\\\":12,\\\\\\"days\\\\\\":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}\\\\n]\\",\\n \\"Creator\\": \\"1827811800526xxx\\",\\n \\"SystemCalendar\\": false\\n }\\n ],\\n \\"NextToken\\": \\"O39nXKu5XafATl3/cJjSJw==\\\\n\\",\\n \\"Total\\": 20,\\n \\"MaxResults\\": 15\\n }\\n}","type":"json"}]', ], - 'ReadSchedulerxDesignateInfo' => [ - 'summary' => '获取指定的机器基本信息。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ReadSchedulerxDesignateDetail' => [ + 'summary' => '获取任务指定的机器详细信息。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '368', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '368'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间UID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n", - ], + 'schema' => ['description' => '命名空间UID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'test.defalutGroup'."\n", - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取', 'type' => 'string', 'required' => true, 'example' => 'test.defalutGroup'], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'DesignateType', + 'in' => 'query', 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => '指定机器的类型:'."\n" + .'- 1:查询机器地址'."\n" + .'- 2:查询机器标签', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'enum' => ['1', '2'], ], ], ], @@ -8296,27 +6286,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息', 'type' => 'string', 'example' => 'Invalid parameter: jobId=368 invalid '], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '-', 'type' => 'object', @@ -8328,300 +6301,117 @@ 'description' => '-', 'type' => 'object', 'properties' => [ - 'Checked' => [ - 'description' => '机器是否指定:'."\n" - .'- true:已指定'."\n" - .'- false:未指定', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Offline' => ['description' => '是否离线', 'type' => 'boolean', 'example' => 'fasle'], + 'Size' => ['description' => '机器数量', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Starter' => ['description' => 'worker的启动方式', 'type' => 'string', 'example' => 'pod'], + 'Busy' => ['description' => '机器状态:'."\n" + ."\n" + .'- FREE:空闲'."\n" + .'- LOAD5_BUSY:load5过高'."\n" + .'- HEAP5_BUSY:heap5过高'."\n" + .'- DISK_BUSY:磁盘使用率过高', 'type' => 'string', 'example' => 'FREE'], + 'Checked' => ['description' => '机器是否指定:'."\n" + .'- true:已指定'."\n" + .'- false:未指定', 'type' => 'boolean', 'example' => 'true'], + 'Version' => ['description' => 'worker的版本号', 'type' => 'string', 'example' => '1.12.5'], + 'Key' => ['description' => '根据指定机器类型返回不同值:'."\n" + .'- 当 DesignateType=2 时:返回机器的标签'."\n" + .'- 当 DesignateType=1 时:返回机器地址', 'type' => 'string', 'example' => '10.52.169.25'], 'Metrics' => [ 'description' => '指标值', 'type' => 'object', 'properties' => [ - 'SharePoolAvailableSize' => [ - 'description' => '共享池中可用资源的数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '72', - ], - 'Heap1Usage' => [ - 'description' => '最近1次堆内存使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.06072874493927125', - ], - 'DiskUsage' => [ - 'description' => '磁盘使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.19142496008515167', - ], - 'CpuProcessors' => [ - 'description' => 'CPU可用处理器数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Heap1Used' => [ - 'description' => '最近1次测量的堆内存使用量,单位是MB', - 'type' => 'number', - 'format' => 'double', - 'example' => '14', - ], - 'CpuLoad1' => [ - 'description' => '最近1次测量的CPU负载', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], - 'CpuLoad5' => [ - 'description' => '最近5次测量的平均CPU负载', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], - 'ExecCount' => [ - 'description' => '任务执行次数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '56', - ], - 'SharePoolQueueSize' => [ - 'description' => '共享池中队列的大小', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'HeapMax' => [ - 'description' => '堆内存的最大容量,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'DiskUsed' => [ - 'description' => '已经使用的磁盘空间,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '148', - ], - 'DiskMax' => [ - 'description' => '磁盘的总容量,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'Heap5Usage' => [ - 'description' => '最近5次堆内存使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.06477732793522267', - ], + 'CpuLoad1' => ['description' => '最近1次测量的CPU负载', 'type' => 'number', 'format' => 'double', 'example' => '0'], + 'CpuLoad5' => ['description' => '最近5次测量的平均CPU负载', 'type' => 'number', 'format' => 'double', 'example' => '0'], + 'CpuProcessors' => ['description' => 'CPU可用处理器数量', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Heap1Usage' => ['description' => '最近1次堆内存使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.06072874493927125'], + 'Heap5Usage' => ['description' => '最近5次堆内存使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.06477732793522267'], + 'Heap1Used' => ['description' => '最近1次测量的堆内存使用量,单位是MB', 'type' => 'number', 'format' => 'double', 'example' => '14'], + 'HeapMax' => ['description' => '堆内存的最大容量,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'DiskUsage' => ['description' => '磁盘使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.19142496008515167'], + 'DiskUsed' => ['description' => '已经使用的磁盘空间,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '148'], + 'DiskMax' => ['description' => '磁盘的总容量,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'SharePoolQueueSize' => ['description' => '共享池中队列的大小', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SharePoolAvailableSize' => ['description' => '共享池中可用资源的数量', 'type' => 'integer', 'format' => 'int32', 'example' => '72'], + 'ExecCount' => ['description' => '任务执行次数', 'type' => 'integer', 'format' => 'int64', 'example' => '56'], ], ], - 'Version' => [ - 'description' => 'worker的版本号', - 'type' => 'string', - 'example' => '1.12.5', - ], - 'Size' => [ - 'description' => '机器数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Busy' => [ - 'description' => '机器状态:'."\n" - ."\n" - .'- FREE:空闲'."\n" - .'- LOAD5_BUSY:load5过高'."\n" - .'- HEAP5_BUSY:heap5过高'."\n" - .'- DISK_BUSY:磁盘使用率过高', - 'type' => 'string', - 'example' => 'FREE', - ], - 'Offline' => [ - 'description' => '是否离线', - 'type' => 'boolean', - 'example' => 'fasle', - ], - 'Starter' => [ - 'description' => 'worker的启动方式', - 'type' => 'string', - 'example' => 'pod', - ], - 'Key' => [ - 'description' => '根据指定机器类型返回不同值:'."\n" - .'- 当 DesignateType=2 时:返回机器的标签'."\n" - .'- 当 DesignateType=1 时:返回机器地址', - 'type' => 'string', - 'example' => '10.52.169.25', - ], ], ], ], - 'DesignateType' => [ - 'description' => '指定机器的类型:'."\n" - .'- 1:代表当前任务指定机器类型为实例'."\n" - .'- 2:代表当前任务指定机器类型为标签'."\n" - ."\n" - .'> 指定机器的类型默认为实例类型', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Transferable' => [ - 'description' => '是否开启机器转移。当指定机器全部下线时任务可以调度到非指定机器'."\n" - .'- true:开启'."\n" - .'- false:关闭'."\n" - ."\n\n" - ."\n" - .'> 机器转移默认是关闭状态', - 'type' => 'boolean', - 'example' => 'true', - ], ], ], 'AccessDeniedDetail' => [ 'description' => '访问被拒绝详细信息', 'type' => 'object', 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ReadSchedulerxDesignateInfo', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ReadSchedulerxDesignateDetail'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DesignateDetailVos\\": [\\n {\\n \\"Checked\\": true,\\n \\"Metrics\\": {\\n \\"SharePoolAvailableSize\\": 72,\\n \\"Heap1Usage\\": 0.06072874493927125,\\n \\"DiskUsage\\": 0.19142496008515167,\\n \\"CpuProcessors\\": 1,\\n \\"Heap1Used\\": 14,\\n \\"CpuLoad1\\": 0,\\n \\"CpuLoad5\\": 0,\\n \\"ExecCount\\": 56,\\n \\"SharePoolQueueSize\\": 1,\\n \\"HeapMax\\": 500,\\n \\"DiskUsed\\": 148,\\n \\"DiskMax\\": 1024,\\n \\"Heap5Usage\\": 0.06477732793522267\\n },\\n \\"Version\\": \\"1.12.5\\",\\n \\"Size\\": 1,\\n \\"Busy\\": \\"FREE\\",\\n \\"Offline\\": true,\\n \\"Starter\\": \\"pod\\",\\n \\"Key\\": \\"10.52.169.25\\"\\n }\\n ],\\n \\"DesignateType\\": 1,\\n \\"Transferable\\": true\\n },\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxDesignateInfo\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '获取任务指定的机器基本信息', - ], - 'ReadSchedulerxDesignateDetail' => [ - 'summary' => '获取任务指定的机器详细信息。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', + 'title' => '获取任务指定的机器详细信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxDesignateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: jobId=368 invalid \\",\\n \\"RequestId\\": \\"883AFE93-FB03-4FA9-A958-E750C6DE120C\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DesignateDetailVos\\": [\\n {\\n \\"Offline\\": true,\\n \\"Size\\": 1,\\n \\"Starter\\": \\"pod\\",\\n \\"Busy\\": \\"FREE\\",\\n \\"Checked\\": true,\\n \\"Version\\": \\"1.12.5\\",\\n \\"Key\\": \\"10.52.169.25\\",\\n \\"Metrics\\": {\\n \\"CpuLoad1\\": 0,\\n \\"CpuLoad5\\": 0,\\n \\"CpuProcessors\\": 1,\\n \\"Heap1Usage\\": 0.06072874493927125,\\n \\"Heap5Usage\\": 0.06477732793522267,\\n \\"Heap1Used\\": 14,\\n \\"HeapMax\\": 500,\\n \\"DiskUsage\\": 0.19142496008515167,\\n \\"DiskUsed\\": 148,\\n \\"DiskMax\\": 1024,\\n \\"SharePoolQueueSize\\": 1,\\n \\"SharePoolAvailableSize\\": 72,\\n \\"ExecCount\\": 56\\n }\\n }\\n ]\\n },\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxDesignateDetail\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', + ], + 'ReadSchedulerxDesignateInfo' => [ + 'summary' => '获取指定的机器基本信息。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '368', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '368'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间UID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间UID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n"], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'test.defalutGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取', 'type' => 'string', 'required' => true, 'example' => 'test.defalutGroup'."\n"], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DesignateType', - 'in' => 'query', - 'schema' => [ - 'description' => '指定机器的类型:'."\n" - .'- 1:查询机器地址'."\n" - .'- 2:查询机器标签', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'enum' => [ - '1', - '2', - ], - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -8629,27 +6419,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息', - 'type' => 'string', - 'example' => 'Invalid parameter: jobId=368 invalid ', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '883AFE93-FB03-4FA9-A958-E750C6DE120C', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '-', 'type' => 'object', @@ -8661,407 +6434,123 @@ 'description' => '-', 'type' => 'object', 'properties' => [ - 'Offline' => [ - 'description' => '是否离线', - 'type' => 'boolean', - 'example' => 'fasle', - ], - 'Size' => [ - 'description' => '机器数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Starter' => [ - 'description' => 'worker的启动方式', - 'type' => 'string', - 'example' => 'pod', - ], - 'Busy' => [ - 'description' => '机器状态:'."\n" - ."\n" - .'- FREE:空闲'."\n" - .'- LOAD5_BUSY:load5过高'."\n" - .'- HEAP5_BUSY:heap5过高'."\n" - .'- DISK_BUSY:磁盘使用率过高', - 'type' => 'string', - 'example' => 'FREE', - ], - 'Checked' => [ - 'description' => '机器是否指定:'."\n" - .'- true:已指定'."\n" - .'- false:未指定', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Version' => [ - 'description' => 'worker的版本号', - 'type' => 'string', - 'example' => '1.12.5', - ], - 'Key' => [ - 'description' => '根据指定机器类型返回不同值:'."\n" - .'- 当 DesignateType=2 时:返回机器的标签'."\n" - .'- 当 DesignateType=1 时:返回机器地址', - 'type' => 'string', - 'example' => '10.52.169.25', - ], + 'Offline' => ['description' => '是否离线', 'type' => 'boolean', 'example' => 'fasle'], + 'Size' => ['description' => '机器数量', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Starter' => ['description' => 'worker的启动方式', 'type' => 'string', 'example' => 'pod'], + 'Busy' => ['description' => '机器状态:'."\n" + ."\n" + .'- FREE:空闲'."\n" + .'- LOAD5_BUSY:load5过高'."\n" + .'- HEAP5_BUSY:heap5过高'."\n" + .'- DISK_BUSY:磁盘使用率过高', 'type' => 'string', 'example' => 'FREE'], + 'Checked' => ['description' => '机器是否指定:'."\n" + .'- true:已指定'."\n" + .'- false:未指定', 'type' => 'boolean', 'example' => 'true'], + 'Version' => ['description' => 'worker的版本号', 'type' => 'string', 'example' => '1.12.5'], + 'Key' => ['description' => '根据指定机器类型返回不同值:'."\n" + .'- 当 DesignateType=2 时:返回机器的标签'."\n" + .'- 当 DesignateType=1 时:返回机器地址', 'type' => 'string', 'example' => '10.52.169.25'], 'Metrics' => [ 'description' => '指标值', 'type' => 'object', 'properties' => [ - 'CpuLoad1' => [ - 'description' => '最近1次测量的CPU负载', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], - 'CpuLoad5' => [ - 'description' => '最近5次测量的平均CPU负载', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], - 'CpuProcessors' => [ - 'description' => 'CPU可用处理器数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Heap1Usage' => [ - 'description' => '最近1次堆内存使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.06072874493927125', - ], - 'Heap5Usage' => [ - 'description' => '最近5次堆内存使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.06477732793522267', - ], - 'Heap1Used' => [ - 'description' => '最近1次测量的堆内存使用量,单位是MB', - 'type' => 'number', - 'format' => 'double', - 'example' => '14', - ], - 'HeapMax' => [ - 'description' => '堆内存的最大容量,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'DiskUsage' => [ - 'description' => '磁盘使用率', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.19142496008515167', - ], - 'DiskUsed' => [ - 'description' => '已经使用的磁盘空间,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '148', - ], - 'DiskMax' => [ - 'description' => '磁盘的总容量,单位是MB', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'SharePoolQueueSize' => [ - 'description' => '共享池中队列的大小', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SharePoolAvailableSize' => [ - 'description' => '共享池中可用资源的数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '72', - ], - 'ExecCount' => [ - 'description' => '任务执行次数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '56', - ], + 'CpuLoad1' => ['description' => '最近1次测量的CPU负载', 'type' => 'number', 'format' => 'double', 'example' => '0'], + 'CpuLoad5' => ['description' => '最近5次测量的平均CPU负载', 'type' => 'number', 'format' => 'double', 'example' => '0'], + 'CpuProcessors' => ['description' => 'CPU可用处理器数量', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Heap1Usage' => ['description' => '最近1次堆内存使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.06072874493927125'], + 'Heap5Usage' => ['description' => '最近5次堆内存使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.06477732793522267'], + 'Heap1Used' => ['description' => '最近1次测量的堆内存使用量,单位是MB', 'type' => 'number', 'format' => 'double', 'example' => '14'], + 'HeapMax' => ['description' => '堆内存的最大容量,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'DiskUsage' => ['description' => '磁盘使用率', 'type' => 'number', 'format' => 'double', 'example' => '0.19142496008515167'], + 'DiskUsed' => ['description' => '已经使用的磁盘空间,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '148'], + 'DiskMax' => ['description' => '磁盘的总容量,单位是MB', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'SharePoolQueueSize' => ['description' => '共享池中队列的大小', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SharePoolAvailableSize' => ['description' => '共享池中可用资源的数量', 'type' => 'integer', 'format' => 'int32', 'example' => '72'], + 'ExecCount' => ['description' => '任务执行次数', 'type' => 'integer', 'format' => 'int64', 'example' => '56'], ], ], ], ], ], + 'DesignateType' => ['description' => '指定机器的类型:'."\n" + .'- 1:代表当前任务指定机器类型为实例'."\n" + .'- 2:代表当前任务指定机器类型为标签'."\n" + ."\n" + .'> 指定机器的类型默认为实例类型', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Transferable' => ['description' => '是否开启机器转移。当指定机器全部下线时任务可以调度到非指定机器'."\n" + .'- true:开启'."\n" + .'- false:关闭'."\n" + ."\n\n" + ."\n" + .'> 机器转移默认是关闭状态', 'type' => 'boolean', 'example' => 'true'], ], ], 'AccessDeniedDetail' => [ 'description' => '访问被拒绝详细信息', 'type' => 'object', 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ReadSchedulerxDesignateDetail', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ReadSchedulerxDesignateInfo'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: jobId=368 invalid \\",\\n \\"RequestId\\": \\"883AFE93-FB03-4FA9-A958-E750C6DE120C\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DesignateDetailVos\\": [\\n {\\n \\"Offline\\": true,\\n \\"Size\\": 1,\\n \\"Starter\\": \\"pod\\",\\n \\"Busy\\": \\"FREE\\",\\n \\"Checked\\": true,\\n \\"Version\\": \\"1.12.5\\",\\n \\"Key\\": \\"10.52.169.25\\",\\n \\"Metrics\\": {\\n \\"CpuLoad1\\": 0,\\n \\"CpuLoad5\\": 0,\\n \\"CpuProcessors\\": 1,\\n \\"Heap1Usage\\": 0.06072874493927125,\\n \\"Heap5Usage\\": 0.06477732793522267,\\n \\"Heap1Used\\": 14,\\n \\"HeapMax\\": 500,\\n \\"DiskUsage\\": 0.19142496008515167,\\n \\"DiskUsed\\": 148,\\n \\"DiskMax\\": 1024,\\n \\"SharePoolQueueSize\\": 1,\\n \\"SharePoolAvailableSize\\": 72,\\n \\"ExecCount\\": 56\\n }\\n }\\n ]\\n },\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxDesignateDetail\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '获取任务指定的机器详细信息', - ], - 'ManageSchedulerxJobSync' => [ - 'summary' => '跨命名空间同步任务。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'OriginalNamespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '原始命名空间,任务原本所在的命名空间。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n", - ], - ], - [ - 'name' => 'NamespaceSource', - 'in' => 'formData', - 'schema' => [ - 'description' => '命名空间来源,特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], - ], - [ - 'name' => 'OriginalGroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '原始应用ID,任务原本所在的应用分组。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup'."\n", - ], - ], - [ - 'name' => 'JobIdList', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'description' => '任务ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '任务ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '207828442', - ], - 'required' => true, - 'docRequired' => true, - 'maxItems' => 1000, - ], - ], - [ - 'name' => 'TargetNamespace', - 'in' => 'formData', - 'schema' => [ - 'description' => '目标命名空间,任务需要同步到的命名空间。', - 'type' => 'string', - 'required' => true, - 'example' => '5f56ef65-b836-493d-b40b-c4db6425****', - ], - ], - [ - 'name' => 'TargetGroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '目标应用ID,任务需要同步到的应用分组。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSyncJobGroup', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB58C', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'title' => '获取任务指定的机器基本信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxDesignateInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB58C\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '跨命名空间同步任务', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DesignateDetailVos\\": [\\n {\\n \\"Offline\\": true,\\n \\"Size\\": 1,\\n \\"Starter\\": \\"pod\\",\\n \\"Busy\\": \\"FREE\\",\\n \\"Checked\\": true,\\n \\"Version\\": \\"1.12.5\\",\\n \\"Key\\": \\"10.52.169.25\\",\\n \\"Metrics\\": {\\n \\"CpuLoad1\\": 0,\\n \\"CpuLoad5\\": 0,\\n \\"CpuProcessors\\": 1,\\n \\"Heap1Usage\\": 0.06072874493927125,\\n \\"Heap5Usage\\": 0.06477732793522267,\\n \\"Heap1Used\\": 14,\\n \\"HeapMax\\": 500,\\n \\"DiskUsage\\": 0.19142496008515167,\\n \\"DiskUsed\\": 148,\\n \\"DiskMax\\": 1024,\\n \\"SharePoolQueueSize\\": 1,\\n \\"SharePoolAvailableSize\\": 72,\\n \\"ExecCount\\": 56\\n }\\n }\\n ],\\n \\"DesignateType\\": 1,\\n \\"Transferable\\": true\\n },\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxDesignateInfo\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', ], - 'StopInstance' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ReadSchedulerxNotificationPolicy' => [ + 'summary' => '查询通知策略。', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], - ], - [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '运行实例ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '11111111', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Namespace', + 'name' => 'PolicyName', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称(支持模糊匹配)', 'type' => 'string', 'required' => false, 'example' => 'test-weekdays'], ], [ - 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], - ], - [ - 'name' => 'GroupId', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '本次读取的最大数据量,默认值为20', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '20'], ], [ - 'name' => 'RegionId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '用来表示当前调用返回读取到的位置,空代表数据已经读取完毕, 第一次查询不需要提供这个参数', 'type' => 'string', 'required' => false, 'example' => 'O39nXKu5XafATl3/cJjSJw=='], ], ], 'responses' => [ @@ -9069,776 +6558,440 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'unknown exception occurred'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7'], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息', + 'type' => 'object', + 'properties' => [ + 'AuthAction' => ['description' => '鉴权操作', 'type' => 'string', 'example' => 'edas:ReadSchedulerxNotificationPolicy'], + 'AuthPrincipalDisplayName' => ['description' => '身份验证主体名称', 'type' => 'string', 'example' => '209312833131416xxx'], + 'AuthPrincipalOwnerId' => ['description' => '身份验证主体所属账号', 'type' => 'string', 'example' => '1827811800526xxx'], + 'AuthPrincipalType' => ['description' => '身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'EncodedDiagnosticMessage' => ['description' => '编码诊断信息', 'type' => 'string', 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ=='], + 'NoPermissionType' => ['description' => '无权限类型', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'PolicyType' => ['description' => '策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + ], ], - 'Success' => [ - 'description' => '终止任务运行是否成功。取值如下:'."\n" - ."\n" - .'- **true**:终止任务运行成功。'."\n" - .'- **false**:终止任务运行失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Data' => [ + 'description' => '-', + 'type' => 'object', + 'properties' => [ + 'Records' => [ + 'description' => '数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '单行数据', + 'type' => 'object', + 'properties' => [ + 'PolicyName' => ['description' => '通知策略名称', 'type' => 'string', 'example' => 'test-weekdays'], + 'Description' => ['description' => '通知策略描述', 'type' => 'string', 'example' => 'Monday-Friday only'."\n"], + 'Creator' => ['description' => '创建人', 'type' => 'string', 'example' => '201576653956616970'], + 'Updater' => ['description' => '更新人', 'type' => 'string', 'example' => '1144881807903942'], + 'CreateTime' => ['description' => '创建时间', 'type' => 'string', 'example' => '2025-09-17 11:21:01'], + 'UpdateTime' => ['description' => '更新时间', 'type' => 'string', 'example' => '2025-09-17 11:21:01'], + 'ChannelTimeRange' => ['description' => '通知策略配置', 'type' => 'string', 'example' => '{'."\n" + .' "isUnifiedSetting": false,'."\n" + .' "timezone": "GMT+8",'."\n" + .' "webhookIsAtAll": "false",'."\n" + .' "timeRanges": {'."\n" + .' "webhook": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": ['."\n" + .' 1,'."\n" + .' 2,'."\n" + .' 3,'."\n" + .' 4,'."\n" + .' 5'."\n" + .' ]'."\n" + .' }'."\n" + .' ],'."\n" + .' "sms": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": ['."\n" + .' 1,'."\n" + .' 2,'."\n" + .' 3,'."\n" + .' 4,'."\n" + .' 5'."\n" + .' ]'."\n" + .' }'."\n" + .' ],'."\n" + .' "mail": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": ['."\n" + .' 1,'."\n" + .' 2,'."\n" + .' 3,'."\n" + .' 4,'."\n" + .' 5'."\n" + .' ]'."\n" + .' }'."\n" + .' ],'."\n" + .' "phone": ['."\n" + .' {'."\n" + .' "startTime": "08:00",'."\n" + .' "endTime": "18:00",'."\n" + .' "daysOfWeek": ['."\n" + .' 1,'."\n" + .' 2,'."\n" + .' 3,'."\n" + .' 4,'."\n" + .' 5'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], + 'ReferenceApps' => [ + 'description' => '通知策略关联的应用列表', + 'type' => 'array', + 'items' => [ + 'description' => '关联的单个应用信息', + 'type' => 'object', + 'properties' => [ + 'AppGroupId' => ['description' => '任务分组ID', 'type' => 'integer', 'format' => 'int64', 'example' => '123'], + 'GroupId' => ['description' => '应用ID', 'type' => 'string', 'example' => 'test-app'], + 'NamespaceUid' => ['description' => '命名空间唯一标识', 'type' => 'string', 'example' => '18271388-aa16-4eab-9a6f-55f65d7e4391'], + 'NamespaceName' => ['description' => '命名空间名称', 'type' => 'string', 'example' => 'Notification strategy testing namespace'], + ], + ], + ], + ], + ], + ], + 'NextToken' => ['description' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。', 'type' => 'string', 'example' => 'O39nXKu5XafATl3/cJjSJw=='."\n"], + 'Total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '42'], + 'MaxResults' => ['description' => '本次读取的最大数据量', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopInstanceResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</StopInstanceResponse>","errorExample":""}]', - 'title' => '终止正在运行的实例', - 'summary' => '终止某次正在运行的实例。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetJobInstance' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '查询通知策略', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"unknown exception occurred\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n },\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"PolicyName\\": \\"test-weekdays\\",\\n \\"Description\\": \\"Monday-Friday only\\\\n\\",\\n \\"Creator\\": \\"201576653956616970\\",\\n \\"Updater\\": \\"1144881807903942\\",\\n \\"CreateTime\\": \\"2025-09-17 11:21:01\\",\\n \\"UpdateTime\\": \\"2025-09-17 11:21:01\\",\\n \\"ChannelTimeRange\\": \\"{\\\\n \\\\\\"isUnifiedSetting\\\\\\": false,\\\\n \\\\\\"timezone\\\\\\": \\\\\\"GMT+8\\\\\\",\\\\n \\\\\\"webhookIsAtAll\\\\\\": \\\\\\"false\\\\\\",\\\\n \\\\\\"timeRanges\\\\\\": {\\\\n \\\\\\"webhook\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"sms\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"mail\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"phone\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"ReferenceApps\\": [\\n {\\n \\"AppGroupId\\": 123,\\n \\"GroupId\\": \\"test-app\\",\\n \\"NamespaceUid\\": \\"18271388-aa16-4eab-9a6f-55f65d7e4391\\",\\n \\"NamespaceName\\": \\"Notification strategy testing namespace\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"O39nXKu5XafATl3/cJjSJw==\\\\n\\",\\n \\"Total\\": 42,\\n \\"MaxResults\\": 10\\n }\\n}","type":"json"}]', + ], + 'RerunJob' => [ + 'summary' => '重跑任务的历史数据,只有专业版才支持。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '区域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'in' => 'formData', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间id,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'formData', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + [ + 'name' => 'NamespaceSource', + 'in' => 'formData', + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用id,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'in' => 'formData', + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的任务管理页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '92583', - ], + 'in' => 'formData', + 'schema' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123'], ], [ - 'name' => 'JobInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '1685883418', - ], + 'name' => 'StartDate', + 'in' => 'formData', + 'schema' => ['description' => '开始日期时间戳,精确到毫秒', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1645459200000'], ], [ - 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'name' => 'EndDate', + 'in' => 'formData', + 'schema' => ['description' => '结束日期时间戳,精确到毫秒', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1645718400000'], + ], + [ + 'name' => 'DataTime', + 'in' => 'formData', + 'schema' => ['description' => '数据时间字符串,格式为HH:mm:ss', 'type' => 'string', 'required' => true, 'example' => '10:00:00'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], - 'RequestId' => [ - 'description' => '请求唯一id', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '获取任务实例详情是否成功。取值如下:'."\n" - ."\n" - .'- **true**:获取任务实例详情成功。'."\n" - .'- **false**:获取任务实例详情失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'instance信息', - 'type' => 'object', - 'properties' => [ - 'JobInstanceDetail' => [ - 'description' => '任务实例详细信息', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '实例状态。包含以下几种状态:'."\n" - ."\n" - .'- **1**:等待 '."\n" - .'- **3**:运行中 '."\n" - .'- **4**:成功'."\n" - .'- **5**:失败 '."\n" - .'- **9**:拒绝'."\n" - ."\n" - .'对应枚举类:'."\n" - .'com.alibaba.schedulerx.common.domain.InstanceStatus', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Progress' => [ - 'description' => '实例进度详情', - 'type' => 'string', - 'example' => '{"taskProgress":[{"name":"MAP_TASK_ROOT","total":1,"pulled":1,"running":0,"success":0,"failed":0}],"workerProgress":[{"workerAddr":"11.122.241.245:34865","total":1,"pulled":1,"running":0,"success":0,"failed":0}]}', - ], - 'Result' => [ - 'description' => '实例执行结果', - 'type' => 'string', - 'example' => '{\'TotalSize\': 31, \'CurrentPage\': 5, \'PageSize\': 10}', - ], - 'InstanceId' => [ - 'description' => '实例id', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1189853849', - ], - 'TimeType' => [ - 'description' => '实例调度时间类型,包含以下几种时间类型:'."\n" - ."\n" - .'- **cron**:1'."\n" - .'- **fix_rate**:3'."\n" - .'- **second_delay**:4'."\n" - .'- **api**:100'."\n" - ."\n" - .'对应枚举类:com.alibaba.schedulerx.common.domain.TimeType', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TriggerType' => [ - 'description' => '触发类型,包含以下几种触发类型:'."\n" - ."\n" - .'- **1**:定时调度正常触发'."\n" - .'- **2**:数据重刷'."\n" - .'- **3**:API触发'."\n" - .'- **4**:用户手动点击重跑'."\n" - .'- **5**:系统重试(系统异常,如DB异常)'."\n" - ."\n" - .'对应枚举类:com.alibaba.schedulerx.common.domain.TriggerType', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'EndTime' => [ - 'description' => '任务执行结束时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'StartTime' => [ - 'description' => '任务执行开始时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'Executor' => [ - 'description' => '执行人', - 'type' => 'string', - 'example' => '张三'."\n", - ], - 'JobId' => [ - 'description' => '任务id', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '92583', - ], - 'ScheduleTime' => [ - 'description' => '计划调度时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'DataTime' => [ - 'description' => '任务数据时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'WorkAddr' => [ - 'description' => '被触发客户端ip:port', - 'type' => 'string', - 'example' => '192.168.0.0:16', - ], - 'Parameters' => [ - 'description' => '任务运行实例参数信息。', - 'type' => 'string', - 'example' => '{\\"alertId\\":11111}', - ], - 'JobName' => [ - 'description' => '任务名称', - 'type' => 'string', - 'example' => 'ManualJob', - ], - 'TraceId' => [ - 'description' => '调用链ID,可用于精确查询调用信息。', - 'type' => 'string', - 'example' => '210e845016596663430048015d0a2c', - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobId=xxx is not existed\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceDetail\\": {\\n \\"Status\\": 4,\\n \\"Progress\\": \\"{\\\\\\"taskProgress\\\\\\":[{\\\\\\"name\\\\\\":\\\\\\"MAP_TASK_ROOT\\\\\\",\\\\\\"total\\\\\\":1,\\\\\\"pulled\\\\\\":1,\\\\\\"running\\\\\\":0,\\\\\\"success\\\\\\":0,\\\\\\"failed\\\\\\":0}],\\\\\\"workerProgress\\\\\\":[{\\\\\\"workerAddr\\\\\\":\\\\\\"11.122.241.245:34865\\\\\\",\\\\\\"total\\\\\\":1,\\\\\\"pulled\\\\\\":1,\\\\\\"running\\\\\\":0,\\\\\\"success\\\\\\":0,\\\\\\"failed\\\\\\":0}]}\\",\\n \\"Result\\": \\"{\'TotalSize\': 31, \'CurrentPage\': 5, \'PageSize\': 10}\\",\\n \\"InstanceId\\": 1189853849,\\n \\"TimeType\\": 1,\\n \\"TriggerType\\": 1,\\n \\"EndTime\\": \\"2020-07-27 11:52:10\\",\\n \\"StartTime\\": \\"2020-07-27 11:52:10\\",\\n \\"Executor\\": \\"张三\\\\n\\",\\n \\"JobId\\": 92583,\\n \\"ScheduleTime\\": \\"2020-07-27 11:52:10\\",\\n \\"DataTime\\": \\"2020-07-27 11:52:10\\",\\n \\"WorkAddr\\": \\"192.168.0.0:16\\",\\n \\"Parameters\\": \\"{\\\\\\\\\\\\\\"alertId\\\\\\\\\\\\\\":11111}\\",\\n \\"JobName\\": \\"ManualJob\\",\\n \\"TraceId\\": \\"210e845016596663430048015d0a2c\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '获取指定任务实例详情', - 'summary' => '返回任务实例的信息,可以查看任务实例的状态和进度。', - ], - 'GetJobInstanceList' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '重刷任务的历史数据', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T02:51:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-30T08:41:55.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobRerun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobId=xxx is not existed\\"\\n}","type":"json"}]', + ], + 'RetryJobInstance' => [ + 'summary' => '重跑失败或者成功状态的任务实例,只有专业版才支持。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '92583', - ], + 'schema' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123'], ], [ - 'name' => 'Status', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '查询指定状态的任务实例列表', - 'description' => '实例状态。包含以下几种状态:'."\n" - ."\n" - .'1:等待'."\n" - .'3:运行中'."\n" - .'4:成功'."\n" - .'5:失败'."\n" - .'9:拒绝'."\n" - .'对应枚举类: com.alibaba.schedulerx.common.domain.InstanceStatus', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'enum' => [], - ], - ], - [ - 'name' => 'StartTimestamp', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '开始时间戳(毫秒)', - 'description' => '开始时间(时间戳)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1684116000000', - ], - ], - [ - 'name' => 'EndTimestamp', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '结束时间戳(毫秒)', - 'description' => '结束时间(时间戳)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1684202400000', - ], - ], - [ - 'name' => 'PageNum', - 'in' => 'query', - 'schema' => [ - 'title' => '分页获取数据,分页号,默认是1', - 'description' => '分页获取数据,分页号,默认是1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'JobInstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '分页获取数据,分页大小,默认是10', - 'description' => '分页获取数据,分页大小,默认是10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '任务实例ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息。', - 'type' => 'string', - 'example' => 'jobid: 92583 not match groupId: testSchedulerx.defaultGroup', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '704A2A61-3681-5568-92F7-2DFCC53F33D1', - ], - 'Success' => [ - 'description' => '获取任务的执行实例列表是否成功。取值如下:'."\n" - ."\n" - .'- **true**:获取任务的执行实例列表成功。'."\n" - .'- **false**:获取任务的执行实例列表失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'instance列表', - 'type' => 'object', - 'properties' => [ - 'JobInstanceDetails' => [ - 'description' => '任务实例详细信息', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '实例状态。包含以下几种状态:'."\n" - ."\n" - .'- **1**:等待 '."\n" - .'- **3**:运行中 '."\n" - .'- **4**:成功'."\n" - .'- **5**:失败 '."\n" - .'- **9**:拒绝'."\n" - ."\n" - .'对应枚举类:'."\n" - .'com.alibaba.schedulerx.common.domain.InstanceStatus', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Progress' => [ - 'description' => '实例进度详情', - 'type' => 'string', - ], - 'Result' => [ - 'description' => '实例执行结果', - 'type' => 'string', - ], - 'InstanceId' => [ - 'description' => '实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1042499986', - ], - 'TimeType' => [ - 'description' => '实例调度时间类型,包含以下几种类型:'."\n" - ."\n" - .'- **cron**:1'."\n" - .'- **fix_rate**:3'."\n" - .'- **second_delay**: 4'."\n" - .'- **api**:100'."\n" - ."\n" - .'对应枚举类:com.alibaba.schedulerx.common.domain.TimeType', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TriggerType' => [ - 'description' => '触发类型,包含以下几种触发类型:'."\n" - ."\n" - .'- **1**: 定时调度正常触发'."\n" - .'- **2**:数据重刷'."\n" - .'- **3**:API触发'."\n" - .'- **4**:用户手动点击重跑'."\n" - .'- **5**:系统重试(系统异常,如DB异常)'."\n" - ."\n" - .'对应枚举类:com.alibaba.schedulerx.common.domain.TriggerType', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'EndTime' => [ - 'description' => '任务执行结束时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'StartTime' => [ - 'description' => '任务执行开始时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'Executor' => [ - 'description' => '执行人', - 'type' => 'string', - 'example' => 'A', - ], - 'JobId' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '92583', - ], - 'ScheduleTime' => [ - 'description' => '任务调度时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'DataTime' => [ - 'description' => '数据时间', - 'type' => 'string', - 'example' => '2020-07-27 11:52:10', - ], - 'WorkAddr' => [ - 'description' => '被触发客户端ip:port', - 'type' => 'string', - 'example' => '192.168.0.0:16', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"jobid: 92583 not match groupId: testSchedulerx.defaultGroup\\",\\n \\"RequestId\\": \\"704A2A61-3681-5568-92F7-2DFCC53F33D1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobInstanceDetails\\": [\\n {\\n \\"Status\\": 4,\\n \\"Progress\\": \\"\\",\\n \\"Result\\": \\"\\",\\n \\"InstanceId\\": 1042499986,\\n \\"TimeType\\": 1,\\n \\"TriggerType\\": 3,\\n \\"EndTime\\": \\"2020-07-27 11:52:10\\",\\n \\"StartTime\\": \\"2020-07-27 11:52:10\\",\\n \\"Executor\\": \\"A\\",\\n \\"JobId\\": 92583,\\n \\"ScheduleTime\\": \\"2020-07-27 11:52:10\\",\\n \\"DataTime\\": \\"2020-07-27 11:52:10\\",\\n \\"WorkAddr\\": \\"192.168.0.0:16\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取指定任务ID的执行实例列表', - 'summary' => '根据关键字过滤,返回任务执行的历史记录。', - ], - 'RetryJobInstance' => [ - 'summary' => '重跑失败或者成功状态的任务实例,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '重跑任务实例', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstRun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobId=xxx is not existed\\"\\n}","type":"json"}]', + ], + 'RevokePermission' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间UID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffcdf01'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test.defalutGroup'], ], [ - 'name' => 'JobInstanceId', + 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'description' => '任务实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123456', - ], + 'schema' => ['description' => '阿里云账号UID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '277641081920123456'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '400'], + 'Message' => ['description' => '错误消息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '调用接口是否成功。取值如下:'."\n" + ."\n" + .'- **true**:成功'."\n" + ."\n" + .'- **false**:失败', 'type' => 'boolean', 'example' => 'false'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '取消指定阿里云子账号的权限', + 'summary' => '取消指定阿里云子账号的权限。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:59:00.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:GrantSchedulerxRevokePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobId=xxx is not existed\\"\\n}","type":"json"}]', - 'title' => '重跑任务实例', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 400,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>400</Code>\\n<Success>false</Success>","errorExample":""}]', ], 'SetJobInstanceSuccess' => [ 'summary' => '强制设置任务实例状态为成功状态,只有专业版才支持。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '任务ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => '任务ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123'], ], [ 'name' => 'JobInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '任务实例ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '123456', - ], + 'schema' => ['description' => '任务实例ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456'], ], ], 'responses' => [ @@ -9848,251 +7001,160 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'jobId=xxx is not existed', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'jobId=xxx is not existed'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '标记任务实例成功', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstMarkSuccess', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobId=xxx is not existed\\"\\n}","type":"json"}]', - 'title' => '标记任务实例成功', ], - 'GrantPermission' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetWfInstanceSuccess' => [ + 'summary' => '强制设置工作流实例状态为成功状态,只有专业版才支持。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间UID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffcdf01', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test.defaultGroup', - ], - ], - [ - 'name' => 'UserId', - 'in' => 'query', - 'schema' => [ - 'description' => '用户ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '277641081920123456', - ], + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'UserName', + 'name' => 'WorkflowId', 'in' => 'query', - 'schema' => [ - 'description' => '用户名', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lilei', - ], + 'schema' => ['description' => '工作流ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123'], ], [ - 'name' => 'GrantOption', + 'name' => 'WfInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '是否允许grantoption。取值如下:-**true**:允许。-**false**:不允许。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '工作流实例ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456789'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'Message' => [ - 'description' => '错误信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'false', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '请求是否成功,取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误消息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'wofkflowId is not existed'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 400,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>400</Code>\\n<Success>false</Success>","errorExample":""}]', - 'title' => '给指定分组授权', - 'summary' => '给指定分组授权。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RevokePermission' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '标记工作流实例成功', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWfInstanceMarkSuccess', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"wofkflowId is not existed\\"\\n}","type":"json"}]', + ], + 'StopInstance' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '运行实例ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '11111111'], ], [ 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间UID,在控制台的命名空间页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffcdf01', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的应用管理页面中获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test.defalutGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'UserId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云账号UID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '277641081920123456', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -10100,200 +7162,123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'Message' => [ - 'description' => '错误消息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'Your request is denied as lack of ssl protect.', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '错误信息,仅错误时返回错误信息。', 'type' => 'string', 'example' => 'Your request is denied as lack of ssl protect.'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '终止任务运行是否成功。取值如下:'."\n" + ."\n" + .'- **true**:终止任务运行成功。'."\n" + .'- **false**:终止任务运行失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 400,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>400</Code>\\n<Success>false</Success>","errorExample":""}]', - 'title' => '取消指定阿里云子账号的权限', - 'summary' => '取消指定阿里云子账号的权限。', + 'title' => '终止正在运行的实例', + 'summary' => '终止某次正在运行的实例。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetLog' => [ - 'summary' => '通过该API可以查询任务的运行日志,需要开通专业版才支持。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-21T05:52:09.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:58:59.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstStop', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Your request is denied as lack of ssl protect.\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopInstanceResponse>\\n<RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n<Message>Your request is denied as lack of ssl protect.</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</StopInstanceResponse>","errorExample":""}]', + ], + 'UpdateAppGroup' => [ + 'summary' => '更新应用分组。', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的命名空间页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - [ - 'name' => 'NamespaceSource', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'schema' => ['description' => '应用描述。', 'type' => 'string', 'required' => false, 'example' => 'Test'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的应用管理页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'schema' => ['description' => '应用ID,在控制台的**应用管理**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'JobId', + 'name' => 'MaxConcurrency', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '任务ID', - 'type' => 'string', - 'required' => false, - 'example' => '123', - ], + 'schema' => ['description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'JobInstanceId', + 'name' => 'Namespace', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '任务实例ID', - 'type' => 'string', - 'required' => false, - 'example' => '123456', - ], + 'schema' => ['description' => '命名空间ID,在控制台的**命名空间**页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'StartTimestamp', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '开始时间戳,精确到毫秒'."\n" - ."\n" - .'><notice>开始时间戳不设置,默认取当前时间的30分钟之前></notice>', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1675739364000', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'EndTimestamp', + 'name' => 'AppVersion', 'in' => 'query', - 'allowEmptyValue' => true, 'schema' => [ - 'description' => '结束时间戳,精确到毫秒><notice>结束时间戳不设置,默认取当前时间></notice>', + 'title' => '应用版本,1:基础版,2:专业版', + 'description' => '应用版本,1:基础版,2:专业版。', 'type' => 'integer', - 'format' => 'int64', + 'format' => 'int32', 'required' => false, - 'example' => '1675739484000', + 'example' => '2', + 'default' => '2', + 'enum' => ['1', '2'], ], ], [ - 'name' => 'Keyword', + 'name' => 'MonitorConfigJson', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '关键字', - 'type' => 'string', - 'required' => false, - 'example' => 'ERROR', - ], + 'schema' => ['description' => '报警通知的配置,支持以下属性:sendChannel、alarmType 和 webhookIsAtAll。'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "sendChannel": "ding,sms,mail,phone",'."\n" + .' "alarmType": "Contacts",'."\n" + .' "webhookIsAtAll": false'."\n" + .'}'], ], [ - 'name' => 'Line', + 'name' => 'MonitorContactsJson', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '行数,最大不超过200行', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'minimum' => '0', - 'example' => '50', - 'default' => '50', - ], + 'schema' => ['description' => '报警联系人配置。支持配置报警联系人以及报警联系人组'."\n" + .'> 此字段的详细说明参见下文**关于请求参数的补充说明**。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {"name": "Alice Johnson"},'."\n" + .' {"name": "Lee Smith"}'."\n" + .']'], ], [ - 'name' => 'Offset', + 'name' => 'NotificationPolicyName', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '偏移多少行,可以作为分页查询', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - 'default' => '0', - ], + 'schema' => ['title' => '通知策略名称', 'description' => '通知策略名称', 'type' => 'string', 'required' => false, 'example' => 'test-workday-notification'], ], [ - 'name' => 'Reverse', + 'name' => 'EnableLog', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '是否逆序,默认逆序', - 'type' => 'boolean', - 'deprecated' => false, - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['title' => '开启日志', 'description' => '开启日志', 'type' => 'boolean', 'required' => false], ], ], 'responses' => [ @@ -10303,65 +7288,110 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '返回码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API执行是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => 'jobid=xxx is not existed', - ], - 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'Logs' => [ - 'description' => 'logs是一个string的数组。', - 'type' => 'array', - 'items' => [ - 'description' => '包含了每一行的日志。', - 'type' => 'string', - 'example' => 'hello world', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'app is not existed, groupId=xxxx, namesapce=xxxx'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"app is not existed, groupId=xxxx, namesapce=xxxx\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => '更新应用分组', + 'responseParamsDescription' => '## **MonitorConfigJson 补充说明**'."\n" + .'报警通知的配置,支持以下属性:`sendChannel`、`alarmType` 和 `webhookIsAtAll`。'."\n" + ."\n" + .'## **配置格式**'."\n" + .'该字段的配置应为 JSON 格式,支持以下属性:'."\n" + ."\n" + .'## **属性说明**'."\n" + .'- **发送渠道**(`sendChannel`):'."\n" + .' - 支持多个渠道,使用逗号分隔,选项包括:'."\n" + .' - **webhook**: `ding`'."\n" + .' - **短信**: `sms`'."\n" + .' - **邮件**: `mail`'."\n" + .' - **电话**: `phone`'."\n" + ."\n" + .'- **报警类型**(`alarmType`):'."\n" + .' - **Contacts**: 表示报警联系人'."\n" + .' - **ContactGroup**: 表示报警联系人组'."\n" + ."\n" + .'- **是否 @ 所有成员**(`webhookIsAtAll`):'."\n" + .' - 值为 `"true"` 或 `"false"`,指示在发送通知时是否 @ 所有群成员。'."\n" + ."\n" + .'## **示例**:'."\n" + .'```json'."\n" + .'{'."\n" + .' "sendChannel": "ding,sms,mail,phone",'."\n" + .' "alarmType": "Contacts",'."\n" + .' "webhookIsAtAll": true'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'---'."\n" + ."\n" + .'## **MonitorContactsJson 补充说明**'."\n" + .'报警联系人配置,根据 `alarmType` 的不同提供两种格式。'."\n" + ."\n" + .'## **配置格式**'."\n" + .'该字段应为 JSON 格式,支持两种配置:联系人数组和联系人组对象。'."\n" + ."\n" + .'## **属性说明**'."\n" + .'- **当 `alarmType` 为 `Contacts`**:'."\n" + .' - 配置为包含多个联系人对象的数组,每个对象需包含:'."\n" + .' - **name**: 联系人的名称'."\n" + ."\n" + .'- **当 `alarmType` 为 `ContactGroup`**:'."\n" + .' - 配置为单个对象,包含:'."\n" + .' - **name**: 联系人组的名称'."\n" + ."\n" + .'## **注意事项**'."\n" + .'建议提前创建联系人与联系人组。如果未创建,系统会自动生成相应的联系人和联系人组。用户需在“通知联系人”页面配置联系人手机号、邮箱等信息并激活,以确保报警能够正常发送。'."\n" + ."\n" + .'## **示例**:'."\n" + .'- **示例 1** (当 `alarmType` 为 `Contacts`):'."\n" + .' ```json'."\n" + .' ['."\n" + .' {"name": "张三"},'."\n" + .' {"name": "李四"}'."\n" + .' ]'."\n" + .' ```'."\n" + ."\n" + .'- **示例 2** (当 `alarmType` 为 `ContactGroup`):'."\n" + .' ```json'."\n" + .' {'."\n" + .' "name": "报警联系人组-1"'."\n" + .' }'."\n" + .' ```', + 'changeSet' => [ + ['createdAt' => '2025-12-16T07:30:33.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-10-27T08:05:07.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-01-15T06:51:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-06-05T07:37:28.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-30T08:41:55.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxAppGroupModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"jobid=xxx is not existed\\",\\n \\"Data\\": {\\n \\"Logs\\": [\\n \\"hello world\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询日志', ], - 'DeleteRouteStrategy' => [ - 'summary' => '删除路由策略。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateJob' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10369,1066 +7399,285 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'formData', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], + ], + [ + 'name' => 'NamespaceSource', + 'in' => 'formData', + 'schema' => ['description' => '特殊第三方才需要填写。', 'type' => 'string', 'required' => false, 'example' => 'schedulerx', 'default' => 'schedulerx'], ], [ 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'in' => 'formData', + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的**任务管理**页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '92583', - 'default' => '-1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'strategy is already deleted.', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'in' => 'formData', + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '92583'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"strategy is already deleted.\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '删除路由策略', - ], - 'BatchDeleteRouteStrategy' => [ - 'summary' => '批量删除路由策略。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '任务名。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'helloword'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '任务描述。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'name' => 'ExecuteMode', + 'in' => 'formData', + 'schema' => ['description' => '任务执行模式,目前支持以下几种任务执行模式:'."\n" + ."\n" + .'- **单机运行**:standalone'."\n" + .'- **广播运行**:broadcatst'."\n" + .'- **可视化MapReduce**:parallel'."\n" + .'- **MapReduce**:batch'."\n" + .'- **分片运行**:shard', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'standalone'], ], [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,在控制台的**应用管理**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'name' => 'ClassName', + 'in' => 'formData', + 'schema' => ['description' => '任务接口类完整路径。'."\n" + ."\n" + .'是Java任务类型时,才有该字段且必须填写完整路径。', 'type' => 'string', 'required' => false, 'example' => 'com.alibaba.test.helloworld'], ], [ - 'name' => 'JobIdList', + 'name' => 'Content', 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '任务ID列表', - 'type' => 'array', - 'items' => [ - 'description' => '任务ID,在控制台的**任务管理**页面中获取', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '99341', - ], - 'required' => false, - 'maxItems' => 3000, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '704A2A61-3681-5568-92F7-2DFCC53F33D1', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'job is not existed, jobId=162837', - ], - 'Success' => [ - 'description' => '调用接口是否成功。取值如下:'."\n" - ."\n" - .'- **true**:成功'."\n" - ."\n" - .'- **false**:失败', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'schema' => ['description' => '- 任务类型选择为python/shell/k8s时,填写对应的脚本内容。'."\n" + .'- 任务类型为golang时,content格式示例为 {"jobName":"HelloWorld"}', 'type' => 'string', 'required' => false, 'example' => 'echo \'hello\''], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"704A2A61-3681-5568-92F7-2DFCC53F33D1\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=162837\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '批量删除路由策略', - ], - 'CreateRouteStrategy' => [ - 'summary' => '创建路由策略。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Parameters', + 'in' => 'formData', + 'schema' => ['description' => '用户自定义参数,运行时可以获取。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'MaxConcurrency', + 'in' => 'formData', + 'schema' => ['description' => '最大同时运行实例数量,默认值为1,即上次触发没有运行结束,不会进行下次触发即使到了运行时刻。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '路由策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'test-strategy', - ], + 'name' => 'MaxAttempt', + 'in' => 'formData', + 'schema' => ['description' => '错误最大重试次数,根据业务需求填写。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'], ], [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID,在控制台的**应用管理**页面中获取', - 'type' => 'string', - 'required' => true, - 'example' => 'testSchedulerx.defaultGroup', - ], + 'name' => 'AttemptInterval', + 'in' => 'formData', + 'schema' => ['description' => '错误重试间隔时间,单位s,默认值为30。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'default' => '30'], ], [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID,在控制台的**任务管理**页面中获取。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '54978', - 'default' => '-1', - ], + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,单次拉取子任务数,默认值为100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'default' => '100'], ], [ - 'name' => 'Type', - 'in' => 'query', + 'name' => 'TaskDispatchMode', + 'in' => 'formData', 'schema' => [ - 'description' => '路由策略类型。取值如下:'."\n" - .'- **3**:按照比例进行路由。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '并行网格任务高级配置,推模型或者拉模型', + 'type' => 'string', 'required' => false, - 'example' => '3', - 'default' => '1', + 'enumValueTitles' => ['pull' => 'pull', 'push' => 'push'], + 'example' => 'push', ], ], [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => '路由策略状态,取值如下'."\n" - ."\n" - .'- **0**:表示禁用'."\n" - ."\n" - .'- **1**:表示启用', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'name' => 'ConsumerSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,单机单次触发执行线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'], ], [ - 'name' => 'StrategyContent', - 'in' => 'query', - 'schema' => [ - 'description' => '路由策略详情JSON字段。关于此字段的详细说明参见下文**关于请求参数的补充说明**。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"percentage":20,"target":"[\\"version1\\"]","targetType":"label"}]', - ], + 'name' => 'QueueSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务队列缓存上限,默认值为10000。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000', 'default' => '10000'], ], [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,在控制台的**命名空间**页面中获取。', - 'type' => 'string', - 'required' => true, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,包含报错与提示', - 'type' => 'string', - 'example' => 'strategy name is null or empty.', - ], - 'Success' => [ - 'description' => '接口调用是否成功。取值如下:'."\n" - ."\n" - .'- **true**:调用成功。'."\n" - ."\n" - .'- **false**:调用失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [], - ], - ], - ], + 'name' => 'DispatcherSize', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务分发线程数,默认值为5。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"strategy name is null or empty.\\",\\n \\"Success\\": true,\\n \\"Data\\": {}\\n}","type":"json"}]', - 'title' => '创建路由策略', - 'requestParamsDescription' => '当路由策略类型为**3**时,路由策略详情字段配置如下:'."\n" - ."\n" - .'- **percentage**:调度路由百分比,取值范围为**0-100**,单位为%'."\n" - ."\n" - .'- **target**:调度的目标,此处是一个列表,可以配置多个目标,若**targetType**为"**label**",则列表中配置**label**名称,若**targetType**为"**worker**",则列表中配置**worker**的IP地址'."\n" - ."\n" - .'- **targetType**:调度目标类型,可配置为"**label**"或"**worker**",表示调度到指定label的机器上或者调度到指定IP的机器上', - ], - 'CreateSchedulerxNotificationPolicy' => [ - 'summary' => '创建通知策略。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'TaskMaxAttempt', + 'in' => 'formData', + 'schema' => ['description' => '并行网格任务高级配置,子任务失败重试次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '0', 'example' => '0', 'default' => '0'], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'TaskAttemptInterval', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '并行网格任务高级配置,子任务失败重试间隔。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '0', 'default' => '0'], ], [ - 'name' => 'PolicyName', + 'name' => 'TimeType', 'in' => 'formData', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'test-weekdays', - ], + 'schema' => ['description' => '时间配置类型,目前支持以下几种配置类型:'."\n" + ."\n" + .'- **cron**:1'."\n" + .'- **fix_rate**:3'."\n" + .'- **second_delay**:4'."\n" + .'- **one_time** :5'."\n" + .'- **api**:100', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1'], ], [ - 'name' => 'Description', + 'name' => 'TimeExpression', 'in' => 'formData', - 'schema' => [ - 'title' => '策略描述', - 'description' => '通知策略描述', - 'type' => 'string', - 'required' => false, - 'example' => 'Monday-Friday only', - ], + 'schema' => ['description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" + ."\n" + .'- **cron**:填写标准的cron表达式,支持在线验证。'."\n" + .'- **api**:无时间表达式。'."\n" + .'- **fixed_rate**:填写具体固定频率值,单位s。如30表示每隔30s触发一次。'."\n" + .'- **second_delay**:填写固定延迟多少秒执行一次(1s~60s可选)。', 'type' => 'string', 'required' => false, 'example' => '30'], ], [ - 'name' => 'ChannelTimeRange', + 'name' => 'Calendar', 'in' => 'formData', - 'schema' => [ - 'title' => '通知渠道生效时间段配置'."\n", - 'description' => '通知渠道生效时间段配置'."\n" - ."\n" - .'> 请参考请求参数中 ChannelTimeRange 的补充说明', - 'type' => 'string', - 'required' => true, - 'example' => '{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "UTC+08:00",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "all": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n", - ], + 'schema' => ['description' => 'cron类型可以选择填写自定义日历。', 'type' => 'string', 'required' => false, 'example' => 'workday'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息', - 'type' => 'string', - 'example' => 'Invalid parameter: Notification policy already exists: test-weekdays'."\n", - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:CreateSchedulerxNotificationPolicy', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], - ], - ], + [ + 'name' => 'DataOffset', + 'in' => 'formData', + 'schema' => ['description' => 'cron类型可以选择时间偏移,单位s。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2400'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: Notification policy already exists: test-weekdays\\\\n\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:CreateSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '创建通知策略', - 'requestParamsDescription' => '# ChannelTimeRange 配置说明'."\n" - .'通知渠道的生效时间配置,支持统一配置和独立配置两种模式。'."\n" - ."\n" - .'## 配置格式'."\n" - .'该字段应为 JSON 格式,支持以下核心属性:'."\n" - ."\n" - .'### 属性说明'."\n" - ."\n" - .'**sendChannel:通知渠道配置(必填)**'."\n" - .'- 必填字段,指定需要配置的通知渠道'."\n" - .'- 格式:多个渠道用逗号分隔,如 "sms,webhook,mail,phone"'."\n" - .'- 支持的渠道:sms(短信)、webhook(如钉钉、企业微信)、mail(邮件)、phone(电话)'."\n" - ."\n" - .'**timezone:时区设置**'."\n" - .'- 支持 GMT 或 UTC 格式'."\n" - .'- 示例:GMT+8 或 UTC+08:00'."\n" - .'- 说明:时区决定了报警生效时间的参考标准,与实际所在地区无关。例如在北京地区配置"美国纽约时区(UTC-4),周一 00:00-03:00",系统将以纽约当地时间为准。'."\n" - ."\n" - .'**webhookIsAtAll:Webhook 通知配置**'."\n" - .'- 值为 "true" 或 "false"'."\n" - .'- 指示 webhook 通知时是否@所有成员'."\n" - ."\n" - .'**timeRanges:时间范围配置(必填)**'."\n" - .'- 支持两种配置模式:'."\n" - .' 1. 统一配置:使用 "all" 作为 key,为所有选择的渠道统一设置时间段'."\n" - .' 2. 独立配置:为每个渠道单独配置时间段,key 为具体的渠道标识'."\n" - ."\n" - .'### 时间段配置项'."\n" - .'每个时间段包含以下属性:'."\n" - .'- startTime:开始时间,格式为 HH:mm (必填)'."\n" - .'- endTime:结束时间,格式为 HH:mm (必填)'."\n" - .'- daysOfWeek:生效的工作日,数组格式,1-7 代表周一到周日(非必填,为空时代表该时间段不生效)'."\n" - ."\n" - .'### 示例配置'."\n" - ."\n" - .'**示例 1:统一配置模式**'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "UTC+08:00",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "all": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'**示例 2:独立配置模式**'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "GMT+8",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "webhook": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "sms": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "mail": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "phone": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'### 注意事项'."\n" - .'1. sendChannel 字段必填,且只能包含支持的通知渠道'."\n" - .'2. 当 timeRanges 中包含 "all" 时,表示统一配置模式,此时不能包含其他渠道的配置'."\n" - .'3. 当 timeRanges 不包含 "all" 时,需要为 sendChannel 中指定的每个渠道进行独立配置'."\n" - .'4. 时间必须使用 24 小时制,格式为 HH:mm'."\n" - .'5. 工作日使用 1-7 的数字表示,分别对应周一到周日'."\n" - .'6. 时区支持 GMT 和 UTC 两种格式的配置', - ], - 'DeleteSchedulerxNotificationPolicy' => [ - 'summary' => '删除通知策略。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Timezone', + 'in' => 'formData', + 'schema' => ['description' => '时区', 'type' => 'string', 'required' => false, 'example' => 'GMT+8'], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'TimeoutEnable', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '超时报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启超时报警开关。'."\n" + .'- **false**:关闭超时报警开关。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], [ - 'name' => 'PolicyName', + 'name' => 'Timeout', 'in' => 'formData', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'test-weekdays', - ], + 'schema' => ['description' => '超时阈值,单位s。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '7200', 'default' => '7200'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息', - 'type' => 'string', - 'example' => 'Invalid parameter: policyName cannot be null', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:DeleteSchedulerxNotificationPolicy', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFoiYKaaImCmkI3QjgzNzM1LTIzQTUtNURENy1COUQ3LTBFOTIxRkRFOEM3NQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], - ], - ], + [ + 'name' => 'TimeoutKillEnable', + 'in' => 'formData', + 'schema' => ['description' => '超时终止本次触发开关。取值如下:'."\n" + ."\n" + .'- **true**:开启超时终止开关。'."\n" + .'- **false**:关闭超时终止开关。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: policyName cannot be null\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:DeleteSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFoiYKaaImCmkI3QjgzNzM1LTIzQTUtNURENy1COUQ3LTBFOTIxRkRFOEM3NQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '删除通知策略', - ], - 'ManageSchedulerxNotificationPolicy' => [ - 'summary' => '更新通知策略。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'FailEnable', + 'in' => 'formData', + 'schema' => ['description' => '失败报警开关。取值如下:'."\n" + ."\n" + .'- **true**:开启失败报警开关。'."\n" + .'- **false**:关闭失败报警开关。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'FailTimes', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '连续失败报警次数', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ - 'name' => 'PolicyName', + 'name' => 'MissWorkerEnable', 'in' => 'formData', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'test-weekdays', - ], + 'schema' => ['description' => '是否开启无可用机器告警。'."\n" + .'- **true**:开启无可用机器告警开关。'."\n" + .'- **false**:关闭无可用机器告警开关。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], [ - 'name' => 'Description', + 'name' => 'SuccessNoticeEnable', 'in' => 'formData', - 'schema' => [ - 'title' => '策略描述', - 'description' => '通知策略描述', - 'type' => 'string', - 'required' => false, - 'example' => 'Monday-Friday only', - ], + 'schema' => ['description' => '成功通知开关', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'ChannelTimeRange', + 'name' => 'SendChannel', 'in' => 'formData', 'schema' => [ - 'title' => '通知渠道生效时间段配置'."\n", - 'description' => '通知渠道生效时间段配置'."\n" - ."\n" - .'> 请参考请求参数中 ChannelTimeRange 的补充说明', + 'description' => '报警发送形式,目前只支持sms。', 'type' => 'string', 'required' => false, - 'example' => '{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "UTC+08:00",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "all": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n", + 'enumValueTitles' => [], + 'example' => 'sms', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'ContactInfo', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误消息,仅错误时返回错误信息', - 'type' => 'string', - 'example' => 'Invalid parameter: policyName cannot be null'."\n", - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ManageSchedulerxNotificationPolicy', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], + 'description' => '任务联系人信息。'."\n" + .'><notice>该字段已废弃></notice>', + 'type' => 'array', + 'items' => [ + 'description' => '-', + 'type' => 'object', + 'properties' => [ + 'UserPhone' => ['description' => '用户手机号。', 'type' => 'string', 'required' => false, 'example' => '1381111****'], + 'UserName' => ['description' => '用户名。', 'type' => 'string', 'required' => false, 'example' => 'userA'], + 'UserMail' => ['description' => '用户邮箱。', 'type' => 'string', 'required' => false, 'example' => 'test***@***.com'], + 'Ding' => ['description' => '报警联系人钉钉群机器人webhook地址,参考文档:[钉钉开发文档](https://open.dingtalk.com/document/org/application-types)。', 'type' => 'string', 'required' => false, 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=**********'], ], + 'required' => false, ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Invalid parameter: policyName cannot be null\\\\n\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ManageSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '更新通知策略', - 'requestParamsDescription' => '# ChannelTimeRange 配置说明'."\n" - .'通知渠道的生效时间配置,支持统一配置和独立配置两种模式。'."\n" - ."\n" - .'## 配置格式'."\n" - .'该字段应为 JSON 格式,支持以下核心属性:'."\n" - ."\n" - .'### 属性说明'."\n" - ."\n" - .'**sendChannel:通知渠道配置(必填)**'."\n" - .'- 必填字段,指定需要配置的通知渠道'."\n" - .'- 格式:多个渠道用逗号分隔,如 "sms,webhook,mail,phone"'."\n" - .'- 支持的渠道:sms(短信)、webhook(如钉钉、企业微信)、mail(邮件)、phone(电话)'."\n" - ."\n" - .'**timezone:时区设置**'."\n" - .'- 支持 GMT 或 UTC 格式'."\n" - .'- 示例:GMT+8 或 UTC+08:00'."\n" - .'- 说明:时区决定了报警生效时间的参考标准,与实际所在地区无关。例如在北京地区配置"美国纽约时区(UTC-4),周一 00:00-03:00",系统将以纽约当地时间为准。'."\n" - ."\n" - .'**webhookIsAtAll:Webhook 通知配置**'."\n" - .'- 值为 "true" 或 "false"'."\n" - .'- 指示 webhook 通知时是否@所有成员'."\n" - ."\n" - .'**timeRanges:时间范围配置(必填)**'."\n" - .'- 支持两种配置模式:'."\n" - .' 1. 统一配置:使用 "all" 作为 key,为所有选择的渠道统一设置时间段'."\n" - .' 2. 独立配置:为每个渠道单独配置时间段,key 为具体的渠道标识'."\n" - ."\n" - .'### 时间段配置项'."\n" - .'每个时间段包含以下属性:'."\n" - .'- startTime:开始时间,格式为 HH:mm (必填)'."\n" - .'- endTime:结束时间,格式为 HH:mm (必填)'."\n" - .'- daysOfWeek:生效的工作日,数组格式,1-7 代表周一到周日(非必填,为空时代表该时间段不生效)'."\n" - ."\n" - .'### 示例配置'."\n" - ."\n" - .'**示例 1:统一配置模式**'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "UTC+08:00",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "all": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'**示例 2:独立配置模式**'."\n" - .'```json'."\n" - .'{'."\n" - .' "sendChannel": "sms,webhook,mail,phone",'."\n" - .' "timezone": "GMT+8",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "webhook": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "sms": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "mail": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ],'."\n" - .' "phone": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": [1, 2, 3, 4, 5]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'### 注意事项'."\n" - .'1. sendChannel 字段必填,且只能包含支持的通知渠道'."\n" - .'2. 当 timeRanges 中包含 "all" 时,表示统一配置模式,此时不能包含其他渠道的配置'."\n" - .'3. 当 timeRanges 不包含 "all" 时,需要为 sendChannel 中指定的每个渠道进行独立配置'."\n" - .'4. 时间必须使用 24 小时制,格式为 HH:mm'."\n" - .'5. 工作日使用 1-7 的数字表示,分别对应周一到周日'."\n" - .'6. 时区支持 GMT 和 UTC 两种格式的配置', - ], - 'ReadSchedulerxNotificationPolicy' => [ - 'summary' => '查询通知策略。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'required' => false, + 'maxItems' => 10, ], ], [ - 'name' => 'PolicyName', - 'in' => 'query', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '通知策略名称(支持模糊匹配)', - 'type' => 'string', - 'required' => false, - 'example' => 'test-weekdays', - ], + 'name' => 'XAttrs', + 'in' => 'formData', + 'schema' => ['description' => '如果是k8s任务类型,需要配置该参数'."\n" + .'Job任务:{"resource":"job"}'."\n" + .'Shell任务:{"image":"busybox","resource":"shell"}'."\n", 'type' => 'string', 'required' => false, 'example' => ' {"resource":"shell","fileFormat":"unix","templateType":"customTemplate"}'], ], [ - 'name' => 'MaxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '本次读取的最大数据量,默认值为20', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '20', - ], + 'name' => 'Template', + 'in' => 'formData', + 'schema' => ['description' => 'k8s任务类型自定义任务模版', 'type' => 'string', 'required' => false, 'example' => 'apiVersion: v1'."\n" + .'kind: Pod'."\n" + .'metadata:'."\n" + .' name: schedulerx-node-{JOB_ID}'."\n" + .' namespace: {NAMESPACE}'."\n" + .'spec:'."\n" + .' containers:'."\n" + .' - name: node-job'."\n" + .' image: node:16'."\n" + .' imagePullPolicy: IfNotPresent'."\n" + .' volumeMounts:'."\n" + .' - name: script-node'."\n" + .' mountPath: script/node'."\n" + .' command: ["node", "script/node/node-{JOB_ID}.js"]'."\n" + .' volumes:'."\n" + .' - name: script-node'."\n" + .' configMap:'."\n" + .' name: schedulerx-configmap'."\n" + .' items:'."\n" + .' - key: schedulerx-node-{JOB_ID}'."\n" + .' path: node-{JOB_ID}.js'."\n" + .' restartPolicy: Never'], ], [ - 'name' => 'NextToken', + 'name' => 'Priority', 'in' => 'query', - 'schema' => [ - 'description' => '用来表示当前调用返回读取到的位置,空代表数据已经读取完毕, 第一次查询不需要提供这个参数', - 'type' => 'string', - 'required' => false, - 'example' => 'O39nXKu5XafATl3/cJjSJw==', - ], + 'schema' => ['description' => '任务优先级。取值如下:'."\n" + .'- **1**:低'."\n" + .'- **5**:中'."\n" + .'- **10**:高'."\n" + .'- **15**:非常高', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5'], ], ], 'responses' => [ @@ -11436,438 +7685,107 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'unknown exception occurred', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ReadSchedulerxNotificationPolicy', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], - 'Data' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'Records' => [ - 'description' => '数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '单行数据', - 'type' => 'object', - 'properties' => [ - 'PolicyName' => [ - 'description' => '通知策略名称', - 'type' => 'string', - 'example' => 'test-weekdays', - ], - 'Description' => [ - 'description' => '通知策略描述', - 'type' => 'string', - 'example' => 'Monday-Friday only'."\n", - ], - 'Creator' => [ - 'description' => '创建人', - 'type' => 'string', - 'example' => '201576653956616970', - ], - 'Updater' => [ - 'description' => '更新人', - 'type' => 'string', - 'example' => '1144881807903942', - ], - 'CreateTime' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2025-09-17 11:21:01', - ], - 'UpdateTime' => [ - 'description' => '更新时间', - 'type' => 'string', - 'example' => '2025-09-17 11:21:01', - ], - 'ChannelTimeRange' => [ - 'description' => '通知策略配置', - 'type' => 'string', - 'example' => '{'."\n" - .' "isUnifiedSetting": false,'."\n" - .' "timezone": "GMT+8",'."\n" - .' "webhookIsAtAll": "false",'."\n" - .' "timeRanges": {'."\n" - .' "webhook": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": ['."\n" - .' 1,'."\n" - .' 2,'."\n" - .' 3,'."\n" - .' 4,'."\n" - .' 5'."\n" - .' ]'."\n" - .' }'."\n" - .' ],'."\n" - .' "sms": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": ['."\n" - .' 1,'."\n" - .' 2,'."\n" - .' 3,'."\n" - .' 4,'."\n" - .' 5'."\n" - .' ]'."\n" - .' }'."\n" - .' ],'."\n" - .' "mail": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": ['."\n" - .' 1,'."\n" - .' 2,'."\n" - .' 3,'."\n" - .' 4,'."\n" - .' 5'."\n" - .' ]'."\n" - .' }'."\n" - .' ],'."\n" - .' "phone": ['."\n" - .' {'."\n" - .' "startTime": "08:00",'."\n" - .' "endTime": "18:00",'."\n" - .' "daysOfWeek": ['."\n" - .' 1,'."\n" - .' 2,'."\n" - .' 3,'."\n" - .' 4,'."\n" - .' 5'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], - 'ReferenceApps' => [ - 'description' => '通知策略关联的应用列表', - 'type' => 'array', - 'items' => [ - 'description' => '关联的单个应用信息', - 'type' => 'object', - 'properties' => [ - 'AppGroupId' => [ - 'description' => '任务分组ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'GroupId' => [ - 'description' => '应用ID', - 'type' => 'string', - 'example' => 'test-app', - ], - 'NamespaceUid' => [ - 'description' => '命名空间唯一标识', - 'type' => 'string', - 'example' => '18271388-aa16-4eab-9a6f-55f65d7e4391', - ], - 'NamespaceName' => [ - 'description' => '命名空间名称', - 'type' => 'string', - 'example' => 'Notification strategy testing namespace', - ], - ], - ], - ], - ], - ], - ], - 'NextToken' => [ - 'description' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。', - 'type' => 'string', - 'example' => 'O39nXKu5XafATl3/cJjSJw=='."\n", - ], - 'Total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '42', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], + 'Code' => ['description' => '返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'job type is java className can not be blank'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'], + 'Success' => ['description' => '是否成功。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"unknown exception occurred\\",\\n \\"RequestId\\": \\"71BCC0E3-64B2-4B63-A870-AFB64EBCB5A7\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxNotificationPolicy\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n },\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"PolicyName\\": \\"test-weekdays\\",\\n \\"Description\\": \\"Monday-Friday only\\\\n\\",\\n \\"Creator\\": \\"201576653956616970\\",\\n \\"Updater\\": \\"1144881807903942\\",\\n \\"CreateTime\\": \\"2025-09-17 11:21:01\\",\\n \\"UpdateTime\\": \\"2025-09-17 11:21:01\\",\\n \\"ChannelTimeRange\\": \\"{\\\\n \\\\\\"isUnifiedSetting\\\\\\": false,\\\\n \\\\\\"timezone\\\\\\": \\\\\\"GMT+8\\\\\\",\\\\n \\\\\\"webhookIsAtAll\\\\\\": \\\\\\"false\\\\\\",\\\\n \\\\\\"timeRanges\\\\\\": {\\\\n \\\\\\"webhook\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"sms\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"mail\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"phone\\\\\\": [\\\\n {\\\\n \\\\\\"startTime\\\\\\": \\\\\\"08:00\\\\\\",\\\\n \\\\\\"endTime\\\\\\": \\\\\\"18:00\\\\\\",\\\\n \\\\\\"daysOfWeek\\\\\\": [\\\\n 1,\\\\n 2,\\\\n 3,\\\\n 4,\\\\n 5\\\\n ]\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"ReferenceApps\\": [\\n {\\n \\"AppGroupId\\": 123,\\n \\"GroupId\\": \\"test-app\\",\\n \\"NamespaceUid\\": \\"18271388-aa16-4eab-9a6f-55f65d7e4391\\",\\n \\"NamespaceName\\": \\"Notification strategy testing namespace\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"O39nXKu5XafATl3/cJjSJw==\\\\n\\",\\n \\"Total\\": 42,\\n \\"MaxResults\\": 10\\n }\\n}","type":"json"}]', - 'title' => '查询通知策略', - ], - 'CreateSchedulerxCalendar' => [ - 'summary' => '创建日历。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'title' => '更新任务配置信息', + 'summary' => '更新任务配置信息。默认先调用获取任务找到对应字段进行修改。', + 'requestParamsDescription' => '> 在调用UpdateJob更新调度任务时,会删除之前对应参数的配置,而非保留。所以,请先调用[GetJobInfo](~~176507~~),获取目标任务此前的配置,再根据实际情况进行配置。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-10T07:10:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-06-06T17:05:13.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-30T08:41:55.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-26T01:58:59.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-28T11:24:07.000Z', 'description' => '请求参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job type is java className can not be blank\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateJobResponse>\\n <Code>200</Code>\\n <Message>job type is java className can not be blank</Message>\\n <RequestId>4F68ABED-AC31-4412-9297-D9A8F0401108</RequestId>\\n <Success>true</Success>\\n</UpdateJobResponse>","errorExample":""}]', + ], + 'UpdateJobScript' => [ + 'summary' => '更新任务执行脚本。', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '任务ID,在控制台的任务管理页面中获取', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '301'], ], [ - 'name' => 'CalendarName', + 'name' => 'Namespace', 'in' => 'formData', - 'schema' => [ - 'title' => '', - 'description' => '日历名称', - 'type' => 'string', - 'required' => true, - 'example' => '2025workday', - ], + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => ' '."\n" + .'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n"], ], [ - 'name' => 'Year', + 'name' => 'NamespaceSource', 'in' => 'formData', - 'schema' => [ - 'description' => '年份', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2025', - ], + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'MonthDaysContent', + 'name' => 'GroupId', 'in' => 'formData', - 'schema' => [ - 'title' => '', - 'description' => '月份和天', - 'type' => 'string', - 'required' => true, - 'example' => '['."\n" - .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" - .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" - .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" - .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" - .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" - .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" - .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" - .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" - .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" - .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" - .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" - .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" - .']', - ], + 'schema' => ['description' => '应用ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'."\n"], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '返回码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息', - 'type' => 'string', - 'example' => 'calendar \'2025workday\' already exists in year 2025', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '调用是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas: CreateSchedulerxCalendar', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' already exists in year 2025\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas: CreateSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '创建日历', - ], - 'DeleteSchedulerxCalendar' => [ - 'summary' => '删除日历。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'."\n"], ], [ - 'name' => 'CalendarName', + 'name' => 'VersionDescription', 'in' => 'formData', - 'schema' => [ - 'title' => '', - 'description' => '日历名称', - 'type' => 'string', - 'required' => true, - 'example' => '2025workday', - ], + 'schema' => ['description' => '脚本版本描述', 'type' => 'string', 'required' => false, 'example' => 'Print job runtime information'], ], [ - 'name' => 'Year', + 'name' => 'ScriptContent', 'in' => 'formData', - 'schema' => [ - 'description' => '年份', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2025', - ], + 'schema' => ['description' => '脚本内容', 'type' => 'string', 'required' => false, 'example' => '#!/bin/bash'."\n" + ."\n" + .'# The following are built-in variables provided by the system to retrieve job runtime information'."\n" + .'echo "Job parameters: #{schedulerx.jobParameters}"'."\n" + .'echo "Sharding ID: #{schedulerx.shardingId}"'."\n" + .'echo "Sharding parameters: #{schedulerx.shardingParameters}"'."\n" + .'echo "Total shards: #{schedulerx.shardingNum}"'."\n" + .'echo "Retry attempts: #{schedulerx.attempt}"'."\n" + .'echo "Trigger type: #{schedulerx.triggerType}"'."\n" + .'echo "Schedule timestamp: #{schedulerx.scheduleTime}"'."\n" + .'echo "Data timestamp: #{schedulerx.dataTime}"'."\n" + ."\n" + .'# The last line of output will be returned as the result'."\n" + .'echo "hello world"'."\n" + ."\n" + .'# exit 1 indicates failure'."\n" + .'exit 0'], ], ], 'responses' => [ @@ -11875,623 +7793,241 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'calendar \'2025workday\' does not exist in year 2025', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Success' => [ - 'description' => '调用是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:DeleteSchedulerxCalendar', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'job is not existed, jobId=302'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108'."\n"], + 'Success' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' does not exist in year 2025\\",\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:DeleteSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '删除日历', - ], - 'ManageSchedulerxCalendar' => [ - 'summary' => '更新日历。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"job is not existed, jobId=302\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\\\n\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => '更新任务执行脚本', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateNamespace' => [ + 'summary' => '更新命名空间。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'CalendarName', - 'in' => 'formData', - 'schema' => [ - 'title' => '', - 'description' => '日历名称', - 'type' => 'string', - 'required' => true, - 'example' => '2025workday', - ], + 'in' => 'query', + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Year', - 'in' => 'formData', - 'schema' => [ - 'description' => '年份', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2025', - ], + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'."\n"], ], [ - 'name' => 'MonthDaysContent', - 'in' => 'formData', - 'schema' => [ - 'title' => '', - 'description' => '月份和天', - 'type' => 'string', - 'required' => true, - 'example' => '['."\n" - .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" - .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" - .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" - .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" - .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" - .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" - .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" - .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" - .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" - .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" - .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" - .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" - .']', - ], + 'name' => 'NamespaceName', + 'in' => 'query', + 'schema' => ['description' => '命名空间名称', 'type' => 'string', 'required' => false, 'example' => 'Test Namespace'], ], [ - 'name' => 'Incremental', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否是增量更新(默认:false)。'."\n" - .'- false 更新指定月份数据的同时会删除其他月份的配置'."\n" - .'- true 仅更新指定月份的数据,保留其他月份的现有配置', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '命名空间描述', 'type' => 'string', 'required' => false, 'example' => 'Namespace reserved for testing'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息,仅出错时返回错误信息', - 'type' => 'string', - 'example' => 'calendar \'2025workday\' does not exist in year 2025', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => '4F68ABED-AC31-4412-9297-D9A8F0401108', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '无权限信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ManageSchedulerxCalendar', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息,仅出错时返回错误信息。', 'type' => 'string', 'example' => 'The system namespace cannot be modified'], + 'Success' => ['description' => '调用接口是否成功。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"calendar \'2025workday\' does not exist in year 2025\\",\\n \\"RequestId\\": \\"4F68ABED-AC31-4412-9297-D9A8F0401108\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ManageSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFn/cLPZ/3Cz0YxQkZBMjVGLTY0REUtNTlGNS05NzUwLTgyMUE4M0MwMTFDRQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]', - 'title' => '更新日历', - ], - 'ReadSchedulerxCalendar' => [ - 'summary' => '查询日历。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"The system namespace cannot be modified\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => '更新命名空间', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxNamespaceModify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateWorkflow' => [ + 'summary' => '更新工作流的基本信息,只有专业版才支持。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'CalendarName', - 'in' => 'query', - 'schema' => [ - 'title' => '通知策略名称', - 'description' => '日历名称', - 'type' => 'string', - 'required' => false, - 'example' => '2025workday', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ - 'name' => 'Year', - 'in' => 'query', - 'schema' => [ - 'description' => '年份', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2025', - ], + 'name' => 'NamespaceSource', + 'in' => 'formData', + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ - 'name' => 'FetchSystemCalendar', - 'in' => 'query', - 'schema' => [ - 'description' => '是否拉取系统日历(默认:false)'."\n" - ."\n" - .'- false:仅返回用户自定义日历。'."\n" - .'- true:即返回系统日历也返回用户自定义日历。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'GroupId', + 'in' => 'formData', + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'FetchCalendarDetail', - 'in' => 'query', - 'schema' => [ - 'description' => '是否拉取日历明细(默认:false)'."\n" - .'- false:不返回每月的详细天列表,只返回基础信息。'."\n" - .'- true:返回每月日历详细天列表。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'name' => 'WorkflowId', + 'in' => 'formData', + 'schema' => ['description' => '工作流ID', 'type' => 'string', 'required' => true, 'example' => '123'], ], [ - 'name' => 'MaxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '本次读取的最大数据量,默认值为20', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - 'default' => '20', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '工作流名称', 'type' => 'string', 'required' => false, 'example' => 'helloworld'], ], [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '用来表示当前调用返回读取到的位置,空代表数据已经读取完毕, 第一次查询不需要提供这个参数', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAdYzT97YjSXWT8TQmxIAI5g=', - ], + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '工作流描述', 'type' => 'string', 'required' => false, 'example' => 'Test'], + ], + [ + 'name' => 'TimeType', + 'in' => 'formData', + 'schema' => ['description' => '时间类型,目前支持以下几种时间类型:'."\n" + ."\n" + .'- cron:1'."\n" + .'- api:100', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'TimeExpression', + 'in' => 'formData', + 'schema' => ['description' => '时间表达式,根据选择的时间类型设置时间表达式。'."\n" + ."\n" + .'- cron:填写标准的cron表达式,支持在线验证。'."\n" + .'- api:无时间表达式。', 'type' => 'string', 'required' => false, 'example' => '0 0/10 * * * ?'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'unknown exception occurred'."\n", - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => 'C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9', - ], - 'Success' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'properties' => [ - 'AuthAction' => [ - 'description' => '鉴权操作', - 'type' => 'string', - 'example' => 'edas:ReadSchedulerxCalendar', - ], - 'AuthPrincipalDisplayName' => [ - 'description' => '身份验证主体名称', - 'type' => 'string', - 'example' => '209312833131416xxx', - ], - 'AuthPrincipalOwnerId' => [ - 'description' => '身份验证主体所属账号', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'AuthPrincipalType' => [ - 'description' => '身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'EncodedDiagnosticMessage' => [ - 'description' => '编码诊断信息', - 'type' => 'string', - 'example' => 'AQEAAAAAaDEssEE4MDg4NTQyLTVGMTYtNTFEQy1CODJCLUFFMDY4NUVDQ0ZBQQ==', - ], - 'NoPermissionType' => [ - 'description' => '无权限类型', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'PolicyType' => [ - 'description' => '策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - ], - ], - 'Data' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'Records' => [ - 'description' => '-', - 'type' => 'array', - 'items' => [ - 'description' => '-', - 'type' => 'object', - 'properties' => [ - 'CalendarName' => [ - 'description' => '日历名称', - 'type' => 'string', - 'example' => '2025workday', - ], - 'Year' => [ - 'description' => '年份', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2025', - ], - 'MonthDaysContent' => [ - 'description' => '月份和天', - 'type' => 'string', - 'example' => '['."\n" - .' {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},'."\n" - .' {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},'."\n" - .' {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},'."\n" - .' {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},'."\n" - .' {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},'."\n" - .' {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},'."\n" - .' {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},'."\n" - .' {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},'."\n" - .' {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},'."\n" - .' {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},'."\n" - .' {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},'."\n" - .' {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}'."\n" - .']', - ], - 'Creator' => [ - 'description' => '创建人', - 'type' => 'string', - 'example' => '1827811800526xxx', - ], - 'SystemCalendar' => [ - 'description' => '是否是系统日历', - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'NextToken' => [ - 'description' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。', - 'type' => 'string', - 'example' => 'O39nXKu5XafATl3/cJjSJw=='."\n", - ], - 'Total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'api执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'timetype is invalid'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"unknown exception occurred\\\\n\\",\\n \\"RequestId\\": \\"C8E5FB4A-6D8D-424D-9AAA-4FE06BB74FF9\\",\\n \\"Success\\": true,\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"edas:ReadSchedulerxCalendar\\",\\n \\"AuthPrincipalDisplayName\\": \\"209312833131416xxx\\",\\n \\"AuthPrincipalOwnerId\\": \\"1827811800526xxx\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQEAAAAAaDEssEE4MDg4NTQyLTVGMTYtNTFEQy1CODJCLUFFMDY4NUVDQ0ZBQQ==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n },\\n \\"Data\\": {\\n \\"Records\\": [\\n {\\n \\"CalendarName\\": \\"2025workday\\",\\n \\"Year\\": 2025,\\n \\"MonthDaysContent\\": \\"[\\\\n {\\\\\\"month\\\\\\":1,\\\\\\"days\\\\\\":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":2,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},\\\\n {\\\\\\"month\\\\\\":3,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":4,\\\\\\"days\\\\\\":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},\\\\n {\\\\\\"month\\\\\\":5,\\\\\\"days\\\\\\":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},\\\\n {\\\\\\"month\\\\\\":6,\\\\\\"days\\\\\\":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},\\\\n {\\\\\\"month\\\\\\":7,\\\\\\"days\\\\\\":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},\\\\n {\\\\\\"month\\\\\\":8,\\\\\\"days\\\\\\":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},\\\\n {\\\\\\"month\\\\\\":9,\\\\\\"days\\\\\\":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},\\\\n {\\\\\\"month\\\\\\":10,\\\\\\"days\\\\\\":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},\\\\n {\\\\\\"month\\\\\\":11,\\\\\\"days\\\\\\":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},\\\\n {\\\\\\"month\\\\\\":12,\\\\\\"days\\\\\\":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}\\\\n]\\",\\n \\"Creator\\": \\"1827811800526xxx\\",\\n \\"SystemCalendar\\": false\\n }\\n ],\\n \\"NextToken\\": \\"O39nXKu5XafATl3/cJjSJw==\\\\n\\",\\n \\"Total\\": 20,\\n \\"MaxResults\\": 15\\n }\\n}","type":"json"}]', - 'title' => '查询日历', - ], - 'GetOverview' => [ - 'summary' => '获取专业版应用任务调度概览数据信息。', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新工作流的基本信息', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"timetype is invalid\\"\\n}","type":"json"}]', + ], + 'UpdateWorkflowDag' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => '区域Region ID', - 'description' => '区域Region ID', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'title' => '命名空间UID', - 'description' => '命名空间UID', - 'type' => 'string', - 'required' => false, - 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****', - ], + 'in' => 'formData', + 'schema' => ['description' => '命名空间ID,在控制台的命名空间页面中获取。', 'type' => 'string', 'required' => true, 'example' => 'adcfc35d-e2fe-4fe9-bbaa-20e90ffc****'], ], [ 'name' => 'NamespaceSource', - 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '命名空间来源,特殊第三方才需要填写', - 'type' => 'string', - 'required' => false, - 'example' => 'schedulerx', - ], + 'in' => 'formData', + 'schema' => ['description' => '特殊第三方才需要填写', 'type' => 'string', 'required' => false, 'example' => 'schedulerx'], ], [ 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'title' => '应用分组ID', - 'description' => '应用分组ID', - 'type' => 'string', - 'required' => false, - 'example' => 'testSchedulerx.defaultGroup', - ], - ], - [ - 'name' => 'Operate', - 'in' => 'query', - 'schema' => [ - 'title' => '可选项'."\n" - .'query:查询区间数据'."\n" - .'query_range:查询区间时许数据', - 'description' => '可选项'."\n" - ."\n" - .'- query:查询区间数据'."\n" - .'- query_range:查询区间时许数据', - 'type' => 'string', - 'required' => true, - 'example' => 'query', - 'enum' => [ - 'query', - 'query_range', - ], - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'title' => '可选项'."\n" - .'0:任务类基础信息'."\n" - .'1:任务运行信息', - 'description' => '可选项'."\n" - ."\n" - .'- 0:任务类基础信息'."\n" - .'- 1:任务运行信息', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '0', - 'enum' => [ - '0', - '1', - ], - ], + 'in' => 'formData', + 'schema' => ['description' => '应用分组ID,在控制台的应用管理页面中获取', 'type' => 'string', 'required' => true, 'example' => 'testSchedulerx.defaultGroup'], ], [ - 'name' => 'StartTime', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '数据起始时间戳(单位:秒),如:1684166400', - 'description' => '数据起始时间戳(单位:秒),如:1684166400', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1684166400', - ], + 'name' => 'WorkflowId', + 'in' => 'formData', + 'schema' => ['description' => '工作流ID', 'type' => 'string', 'required' => true, 'example' => '123'], ], [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'title' => '数据结束时间戳(单位:秒),如:1684166400 '."\n" - .'不填默认为当前时间', - 'description' => '数据结束时间戳(单位:秒),如:1684166400 '."\n" - .'不填默认为当前时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1684166400', - ], + 'name' => 'DagJson', + 'in' => 'formData', + 'schema' => ['description' => '工作流DAG信息,包括了Node和Edge的信息,json格式', 'type' => 'string', 'required' => true, 'example' => '{"nodes":[{"id":2300691},{"id":10518089},{"id":1758851}],"edges":[{"source":10518089,"target":1758851},{"source":10518089,"target":2300691}]}'], ], ], 'responses' => [ @@ -12501,214 +8037,1131 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0', - ], - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'API调用是否成功。取值如下:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => '错误信息,仅出错时返回错误信息。', - 'type' => 'string', - 'example' => 'No access permission for the namespace [***]', - ], - 'Data' => [ - 'description' => 'JSON的概览数据信息,对应控制台概览数据内容,如下三种格式类型结果:'."\n" - .'- 基础信息。'."\n" - .'- 时间区间任务运行信息。'."\n" - .'- 时间区间任务运行时序信息:返回对应区间任务触发、运行成功、运行失败三个数据项对应时点的统计信息。', - 'type' => 'string', - 'example' => '基础信息:{"schedulerx_job_counter_disable": "4","schedulerx_job_trigger_counter_running": "0","schedulerx_job_counter_enable": "70","schedulerx_job_counter_all": "74","schedulerx_worker_counter": "2"}', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '39090022-1F3B-4797-8518-6B61095F1AF0'], + 'Code' => ['description' => '返回码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'API执行是否成功。取值如下:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '错误信息', 'type' => 'string'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新工作流的DAG', + 'summary' => '更新工作流的节点及依赖关系,专业版应用才支持。', + 'changeSet' => [ + ['createdAt' => '2024-12-20T02:24:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-18T05:48:50.000Z', 'description' => '响应参数发生变更'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowDagModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"No access permission for the namespace [***]\\",\\n \\"Data\\": \\"基础信息:{\\\\\\"schedulerx_job_counter_disable\\\\\\": \\\\\\"4\\\\\\",\\\\\\"schedulerx_job_trigger_counter_running\\\\\\": \\\\\\"0\\\\\\",\\\\\\"schedulerx_job_counter_enable\\\\\\": \\\\\\"70\\\\\\",\\\\\\"schedulerx_job_counter_all\\\\\\": \\\\\\"74\\\\\\",\\\\\\"schedulerx_worker_counter\\\\\\": \\\\\\"2\\\\\\"}\\"\\n}","type":"json"}]', - 'title' => '获取概览数据信息', - 'requestParamsDescription' => '当前接口查询数据信息对应控制台概览的三块信息内容,相应请求参数配置要求如下'."\n" - ."\n" - .'- 任务基础信息:请求参数配置说明如下,Operate设置“query”,MetricType设置为“0”,StartTime设置为当前时间戳'."\n" - ."\n" - .'- 时间区间任务运行信息:请求参数配置说明如下,Operate设置“query”,MetricType设置为“1”,StartTime设置为业务需要的查询起始时间(不得早于15天,当前时序数据存储有效期为15天)'."\n" - ."\n" - .'- 时间区间任务运行时序信息:请求参数配置说明如下,Operate设置“query_range”,MetricType设置为“1”,StartTime设置为业务需要的查询起始时间(默认推荐当前1小时前,因返回每个时点信息量大不建议设置过早)', - 'responseParamsDescription' => 'Data信息会根据三种数据读取,返回不同格式的JSON内容,参考如下:'."\n" - .'- 基础信息:'."\n" - .'```'."\n" - .'{'."\n" - .' "schedulerx_job_counter_disable": "4", // 禁用任务数'."\n" - .' "schedulerx_job_counter_enable": "70", // 启用任务数'."\n" - .' "schedulerx_job_counter_all": "74", // 总任务数'."\n" - .' "schedulerx_worker_counter": "2", // 在线机器数'."\n" - .' "schedulerx_job_trigger_counter_running": "0" // 任务运行中实例数'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'- 时间区间任务运行信息:'."\n" - .'```'."\n" - .'{'."\n" - .' "schedulerx_job_trigger_counter_success": "227", // '."\n" - .' "schedulerx_job_trigger_counter_all": "225",'."\n" - .' "schedulerx_job_trigger_counter_failed": "0"'."\n" - .'}'."\n" - .'```'."\n" - .'- 时间区间任务运行时序信息:返回对应区间 任务触发、运行成功、运行失败三个数据项对应时点的统计信息'."\n" - ."\n" - .'```'."\n" - .'['."\n" - .' {'."\n" - .' "data": ['."\n" - .' ['."\n" - .' 1686110400000, '."\n" - .' 4'."\n" - .' ],'."\n" - .' ['."\n" - .' 1686110460000,'."\n" - .' 5'."\n" - .' ]'."\n" - .' ],'."\n" - .' "name": "触发次数"'."\n" - .' },'."\n" - .' {'."\n" - .' "data": ['."\n" - .' ['."\n" - .' 1686110400000,'."\n" - .' 0'."\n" - .' ],'."\n" - .' ['."\n" - .' 1686110460000,'."\n" - .' 0'."\n" - .' ]'."\n" - .' ],'."\n" - .' "name": "执行失败"'."\n" - .' },'."\n" - .' {'."\n" - .' "data": ['."\n" - .' ['."\n" - .' 1686110400000,'."\n" - .' 4'."\n" - .' ],'."\n" - .' ['."\n" - .' 1686110460000,'."\n" - .' 5'."\n" - .' ]'."\n" - .' ],'."\n" - .' "name": "执行成功"'."\n" - .' }'."\n" - .' ]'."\n" - .'```', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39090022-1F3B-4797-8518-6B61095F1AF0\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'ap-southeast-8', 'regionName' => '马来西亚(柔佛州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'public', 'regionName' => '公网', 'areaId' => 'other', 'areaName' => '其它', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'schedulerx.aliyuncs.com', 'endpoint' => 'schedulerx.aliyuncs.com', 'vpc' => 'schedulerx-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'ListGroups'], + ['description' => '请求参数发生变更', 'api' => 'UpdateAppGroup'], + ], + 'createdAt' => '2025-12-16T07:30:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'GetAppGroup'], + ['description' => '请求参数发生变更', 'api' => 'UpdateAppGroup'], + ], + 'createdAt' => '2025-10-27T08:05:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'BatchDeleteRouteStrategy'], + ['description' => '响应参数发生变更', 'api' => 'StopInstance'], + ], + 'createdAt' => '2024-10-21T05:52:16.000Z', + 'description' => '', + ], [ - 'regionId' => 'public', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'BatchDeleteJobs'], + ['description' => '响应参数发生变更', 'api' => 'BatchDisableJobs'], + ['description' => '响应参数发生变更', 'api' => 'BatchEnableJobs'], + ['description' => '响应参数发生变更', 'api' => 'CreateAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'CreateJob'], + ['description' => '响应参数发生变更', 'api' => 'CreateNamespace'], + ['description' => '响应参数发生变更', 'api' => 'CreateRouteStrategy'], + ['description' => '响应参数发生变更', 'api' => 'CreateWorkflow'], + ['description' => '响应参数发生变更', 'api' => 'DeleteAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'DeleteJob'], + ], + 'createdAt' => '2024-10-21T02:51:10.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ExecuteWorkflow'], + ['description' => '响应参数发生变更', 'api' => 'GetJobInfo'], + ['description' => '响应参数发生变更', 'api' => 'GetJobInstance'], + ['description' => '响应参数发生变更', 'api' => 'GetJobInstanceList'], + ['description' => '响应参数发生变更', 'api' => 'GetLog'], + ['description' => '响应参数发生变更', 'api' => 'GetOverview'], + ['description' => '响应参数发生变更', 'api' => 'GetWorkerList'], + ['description' => '响应参数发生变更', 'api' => 'GetWorkFlow'], + ['description' => '响应参数发生变更', 'api' => 'GetWorkflowInstance'], + ['description' => '响应参数发生变更', 'api' => 'ListGroups'], + ], + 'createdAt' => '2024-10-18T05:49:01.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'ListNamespaces'], + ], + 'createdAt' => '2024-10-17T09:46:02.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GrantPermission'], + ], + 'createdAt' => '2024-10-15T09:38:07.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'GetAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'ListGroups'], + ['description' => '请求参数发生变更', 'api' => 'UpdateAppGroup'], + ], + 'createdAt' => '2024-06-05T07:37:35.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateWorkflow'], + ['description' => '请求参数发生变更', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2024-05-30T07:43:30.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListGroups'], + ], + 'createdAt' => '2024-05-29T09:53:55.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetJobInstanceList'], + ], + 'createdAt' => '2024-05-17T01:26:54.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'CreateWorkflow'], + ], + 'createdAt' => '2024-03-25T02:55:43.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetWorkflowInstance'], + ], + 'createdAt' => '2023-07-17T08:32:14.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJobInstance'], + ['description' => '响应参数发生变更', 'api' => 'GetWorkflowInstance'], + ], + 'createdAt' => '2023-07-17T03:39:19.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ExecuteJob'], + ['description' => '请求参数发生变更', 'api' => 'ExecuteWorkflow'], + ['description' => '请求参数发生变更', 'api' => 'UpdateJob'], + ], + 'createdAt' => '2023-06-06T17:05:20.000Z', + 'description' => '', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'BatchDeleteRouteStrategy'], + ['description' => '响应参数发生变更', 'api' => 'CreateAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'CreateJob'], + ['description' => '响应参数发生变更', 'api' => 'CreateRouteStrategy'], + ['description' => '响应参数发生变更', 'api' => 'DeleteAppGroup'], + ['description' => '响应参数发生变更', 'api' => 'DeleteRouteStrategy'], + ], + 'createdAt' => '2023-03-30T09:21:26.000Z', + 'description' => '', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListGroups'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListNamespaces'], + ], + 'createdAt' => '2023-03-24T08:25:49.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'BatchDeleteJobs'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'BatchDisableJobs'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'BatchEnableJobs'], + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ['description' => '请求参数发生变更', 'api' => 'CreateNamespace'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DeleteJob'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DeleteWorkflow'], + ['description' => '错误码发生变更', 'api' => 'DescribeRegions'], + ['description' => '请求参数发生变更', 'api' => 'DesignateWorkers'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DisableJob'], + ], + 'createdAt' => '2022-12-26T02:52:48.000Z', + 'description' => '新增专业版api,包括工作流的增删改查', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetJobInfo'], + ['description' => '响应参数发生变更', 'api' => 'ListJobs'], + ], + 'createdAt' => '2022-11-02T03:31:37.000Z', + 'description' => 'ListJobs/GetJobInfo返回值增加JobType和XAttrs', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2022-09-29T02:51:27.000Z', + 'description' => '修改CreateJob文档', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateJob'], + ], + 'createdAt' => '2022-09-28T11:24:23.000Z', + 'description' => 'updateJob支持增量更新', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2022-09-27T12:19:43.000Z', + 'description' => '创建任务支持k8s任务类型', ], [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'GetJobInstanceList'], + ], + 'createdAt' => '2022-07-18T04:26:11.000Z', + 'description' => 'GetJobInstanceList单用户限流1000/分钟', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateJob'], + ], + 'createdAt' => '2022-06-13T06:58:17.000Z', + 'description' => '创建任务支持设置状态', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateNamespace'], + ], + 'createdAt' => '2022-05-25T12:47:08.000Z', + 'description' => 'namespaceSource设置为不可见', ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'schedulerx.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateNamespace'], + ], + 'createdAt' => '2022-03-29T08:27:48.000Z', + 'description' => '创建命名空间支持source', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更、错误码发生变更', 'api' => 'CreateAppGroup'], + ['description' => 'OpenAPI 下线', 'api' => 'CreateNamespace'], + ['description' => '请求参数发生变更', 'api' => 'GetJobInfo'], + ], + 'createdAt' => '2022-03-17T08:40:39.000Z', + 'description' => '新增api:CreateAppGroup, CreateNamespace', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'GetJobInstance'], + ], + 'createdAt' => '2022-02-22T11:35:14.000Z', + 'description' => 'GetJobInstance限流调整为100次/分钟', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ExecuteJob'], + ['description' => 'OpenAPI 下线', 'api' => 'GetWorkerList'], + ], + 'createdAt' => '2021-12-30T07:49:32.000Z', + 'description' => '新增API: GetWorkerList更新API: ExecuteJob支持指定单次运行的机器', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'DesignateWorkers'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetWorkFlow'], + ], + 'createdAt' => '2021-12-21T03:32:58.000Z', + 'description' => '修复指定机器api', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'DesignateWorkers'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'ExecuteJob'], + ['description' => 'OpenAPI 下线', 'api' => 'GetWorkFlow'], + ], + 'createdAt' => '2021-12-20T12:19:09.000Z', + 'description' => '新增指定机器、查看工作流的api', + ], + ], + 'ram' => [ + 'productCode' => 'Schedulerx', + 'productName' => '企业级分布式应用服务', + 'ramCodes' => ['schedulerx', 'edas'], + 'ramLevel' => '资源级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'BatchDeleteRouteStrategy', + 'description' => '批量删除路由策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxRouteStrategyBatch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateNamespace', + 'description' => '更新命名空间', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxNamespaceModify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSchedulerxNotificationPolicy', + 'description' => '创建通知策略', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchDisableJobs', + 'description' => '批量禁用任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSchedulerxCalendar', + 'description' => '删除日历', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListNamespaces', + 'description' => '获取命名空间列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxNamespaceQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RevokePermission', + 'description' => '取消指定阿里云子账号的权限', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:GrantSchedulerxRevokePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetWorkflowInstance', + 'description' => '获取工作流实例详情及DAG', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobInstance', + 'description' => '获取指定任务实例详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobInstanceQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAppGroup', + 'description' => '删除应用分组', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxAppGroupRemove', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateWorkflowDag', + 'description' => '更新工作流的DAG', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowDagModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopInstance', + 'description' => '终止正在运行的实例', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstStop', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetWorkFlow', + 'description' => '获取工作流详情和依赖关系', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteRouteStrategy', + 'description' => '删除路由策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxRouteStrategyDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ManageSchedulerxJobSync', + 'description' => '跨命名空间同步任务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobSync', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ], + ], + ], + [ + 'apiName' => 'ReadSchedulerxDesignateInfo', + 'description' => '获取任务指定的机器基本信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxDesignateInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ], + ], + ], + [ + 'apiName' => 'ExecuteWorkflow', + 'description' => '触发一次工作流', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowRun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAppGroup', + 'description' => '获取应用分组详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSchedulerxCalendar', + 'description' => '创建日历', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetJobInstanceSuccess', + 'description' => '标记任务实例成功', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstMarkSuccess', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateWorkflow', + 'description' => '更新工作流的基本信息', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAppGroup', + 'description' => '更新应用分组', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxAppGroupModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateNamespace', + 'description' => '创建命名空间', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxNamespaceCreate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateWorkflow', + 'description' => '创建工作流', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxWorkflowCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteNamespace', + 'description' => '删除命名空间', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxNamespaceDelete', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ReadSchedulerxDesignateDetail', + 'description' => '获取任务指定的机器详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxDesignateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateJob', + 'description' => '创建任务并返回任务ID', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxJobCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RetryJobInstance', + 'description' => '重跑任务实例', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobInstRun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobs', + 'description' => '获取任务列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DisableWorkflow', + 'description' => '禁用指定工作流', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobInfo', + 'description' => '获取指定Jobid任务详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobInstanceList', + 'description' => '获取指定任务ID的执行实例列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobInstanceQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchDeleteJobs', + 'description' => '批量删除任务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxJobDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAppGroup', + 'description' => '创建应用分组', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxAppGroupCreate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RerunJob', + 'description' => '重刷任务的历史数据', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobRerun', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateRouteStrategy', + 'description' => '创建路由策略', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateSchedulerxRouteStrategyCreate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateJob', + 'description' => '更新任务配置信息', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ManageSchedulerxCalendar', + 'description' => '更新日历', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchEnableJobs', + 'description' => '批量启用任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ReadSchedulerxCalendar', + 'description' => '查询日历', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxCalendar', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateJobScript', + 'description' => '更新任务执行脚本', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobModify', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListGroups', + 'description' => '获取应用分组列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ManageSchedulerxNotificationPolicy', + 'description' => '更新通知策略', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSchedulerxNotificationPolicy', + 'description' => '删除通知策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetOverview', + 'description' => '获取概览数据信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxOverviewQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GrantPermission', + 'description' => '给指定分组授权', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:GrantSchedulerxGrantPermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetWorkerList', + 'description' => '获取接入某个应用的worker列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxAppGroupQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteJob', + 'description' => '删除指定任务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxJobDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnableWorkflow', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWorkflowEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DesignateWorkers', + 'description' => '指定机器', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxDesignateWorkers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListWorkflowInstance', + 'description' => '获取工作流实例列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetWfInstanceSuccess', + 'description' => '标记工作流实例成功', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxWfInstanceMarkSuccess', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetLog', + 'description' => '查询日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxLogQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobScriptHistory', + 'description' => '获取任务脚本历史列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxJobQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ExecuteJob', + 'description' => '触发一次任务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DisableJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobDisable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnableJob', + 'description' => '启用指定任务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageSchedulerxJobEnable', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ReadSchedulerxNotificationPolicy', + 'description' => '查询通知策略', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxNotificationPolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteWorkflow', + 'description' => '删除指定工作流', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteSchedulerxWorkflowDelete', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListWorkFlows', + 'description' => '获取工作流信息列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadSchedulerxWorkflowQuery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Schedulerx', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'AppGroup', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#Namespace}/JobGroup/{#GroupId}'], + ['validationType' => 'always', 'resourceType' => 'WorkFlow', 'arn' => 'acs:edas:{#regionId}:{#accountId}:*'], + ['validationType' => 'always', 'resourceType' => 'Job', 'arn' => 'acs:edas:{#regionId}:{#accountId}:*'], ], ], ]; |
