diff options
Diffstat (limited to 'data/zh_cn/hcs-mgw/2024-06-26')
| -rw-r--r-- | data/zh_cn/hcs-mgw/2024-06-26/api-docs.php | 3845 |
1 files changed, 1181 insertions, 2664 deletions
diff --git a/data/zh_cn/hcs-mgw/2024-06-26/api-docs.php b/data/zh_cn/hcs-mgw/2024-06-26/api-docs.php index 8dafcf0..09715ca 100644 --- a/data/zh_cn/hcs-mgw/2024-06-26/api-docs.php +++ b/data/zh_cn/hcs-mgw/2024-06-26/api-docs.php @@ -1,63 +1,30 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'hcs-mgw', - 'version' => '2024-06-26', - ], + 'info' => ['style' => 'ROA', 'product' => 'hcs-mgw', 'version' => '2024-06-26'], 'directories' => [ [ - 'id' => 194059, - 'title' => '任务', + 'children' => ['CreateJob', 'GetJob', 'ListJob', 'UpdateJob', 'DeleteJob', 'ListJobHistory', 'CreateReport', 'GetReport', 'GetJobResult'], 'type' => 'directory', - 'children' => [ - 'CreateJob', - 'GetJob', - 'ListJob', - 'UpdateJob', - 'DeleteJob', - 'ListJobHistory', - 'CreateReport', - 'GetReport', - 'GetJobResult', - ], + 'title' => '任务', + 'id' => 137421, ], [ - 'id' => 194069, - 'title' => '数据地址', + 'children' => ['CreateAddress', 'GetAddress', 'ListAddress', 'UpdateAddress', 'DeleteAddress', 'VerifyAddress'], 'type' => 'directory', - 'children' => [ - 'CreateAddress', - 'GetAddress', - 'ListAddress', - 'UpdateAddress', - 'DeleteAddress', - 'VerifyAddress', - ], + 'title' => '数据地址', + 'id' => 137431, ], [ - 'id' => 194075, - 'title' => '代理', + 'children' => ['CreateAgent', 'GetAgent', 'ListAgent', 'GetAgentStatus', 'DeleteAgent'], 'type' => 'directory', - 'children' => [ - 'CreateAgent', - 'GetAgent', - 'ListAgent', - 'GetAgentStatus', - 'DeleteAgent', - ], + 'title' => '代理', + 'id' => 137438, ], [ - 'id' => 194082, - 'title' => '通道', + 'children' => ['CreateTunnel', 'GetTunnel', 'UpdateTunnel', 'ListTunnel', 'DeleteTunnel'], 'type' => 'directory', - 'children' => [ - 'CreateTunnel', - 'GetTunnel', - 'UpdateTunnel', - 'ListTunnel', - 'DeleteTunnel', - ], + 'title' => '通道', + 'id' => 137444, ], ], 'components' => [ @@ -67,213 +34,73 @@ 'description' => '数据地址详情。', 'type' => 'object', 'properties' => [ - 'AddressType' => [ - 'title' => '数据地址类型。', - 'description' => '数据地址类型,取值:'."\n" - ."\n" - .'对象存储:oss,s3,qiniu,cos,bos,obs,ks3,ucloud,upyun,azure,gcp,tos。'."\n" - ."\n" - .'文件存储:local,obsfs,ftp。'."\n" - ."\n" - .'清单:inv。', - 'type' => 'string', - 'required' => true, - 'example' => 'oss', - ], - 'Bucket' => [ - 'title' => '数据存储空间。', - 'description' => '数据存储空间。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_bucket', - ], - 'Domain' => [ - 'title' => '数据存储空间的域名。', - 'description' => '数据存储空间的域名。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_domain', - ], - 'Prefix' => [ - 'title' => '数据地址前缀。', - 'description' => '数据存储空间前缀。', - 'type' => 'string', - 'example' => 'test_prefix', - ], - 'AccessId' => [ - 'title' => '数据存储空间AccessKeyId。', - 'description' => '数据存储空间AccessKeyId。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_access_id', - ], - 'AccessSecret' => [ - 'title' => '数据存储空间SecretAccessKey。', - 'description' => '数据存储空间SecretAccessKey。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_secret_key', - ], - 'Role' => [ - 'title' => '授权角色。数据存储空间是OSS时,可以指定授权角色,无需指定存储空间的AK。', - 'description' => '授权角色。数据存储空间是OSS时,可以指定授权角色,无需指定存储空间的AK。', - 'type' => 'string', - 'example' => 'test_role', - ], - 'InvDomain' => [ - 'title' => '列表存储空间的域名。', - 'description' => '列表存储空间的域名。', - 'type' => 'string', - 'example' => 'test_inv_domain', - ], - 'InvBucket' => [ - 'title' => '列表存储空间。', - 'description' => '列表存储空间。', - 'type' => 'string', - 'example' => 'test_inv_bucket', - ], - 'InvAccessId' => [ - 'title' => '列表存储空间AccessKeyId。', - 'description' => '列表存储空间AccessKeyId。', - 'type' => 'string', - 'example' => 'test_inv_access_id', - ], - 'InvAccessSecret' => [ - 'title' => '列表存储空间SecretAccessKey。', - 'description' => '列表存储空间SecretAccessKey。', - 'type' => 'string', - 'example' => 'test_inv_secret_key', - ], - 'InvPath' => [ - 'title' => '列表清单文件。指定清单列表和格式。', - 'description' => '列表清单文件。指定清单列表和格式。', - 'type' => 'string', - 'example' => 'manifest.json', - ], - 'InvRole' => [ - 'title' => '列表存储空间授权角色。列表存储空间是OSS时,可以指定授权角色,无需指定列表存储空间的AK。', - 'description' => '列表存储空间授权角色。列表存储空间是OSS时,可以指定授权角色,无需指定列表存储空间的AK。', - 'type' => 'string', - 'example' => 'test_inv_role', - ], - 'InvLocation' => [ - 'title' => '列表存储空间类型。取值:oss,s3,cos。', - 'description' => '列表存储空间类型。 '."\n" - .'取值:oss,s3。', - 'type' => 'string', - 'example' => 'oss', - ], - 'AgentList' => [ - 'title' => '关联代理。通过专线/VPN等方式访问数据,需要关联代理。', - 'description' => '关联代理。通过专线/VPN等方式访问数据,需要关联代理。', - 'type' => 'string', - 'example' => 'agent1,agent2', - ], - 'RegionId' => [ - 'title' => '数据存储空间区域。数据存储空间是OSS时,必须指定存储空间区域,无需指定存储空间域名。', - 'description' => '数据存储空间区域。数据存储空间是OSS时,必须指定存储空间区域(使用OSS专用地域ID格式),无需指定存储空间域名。', - 'type' => 'string', - 'example' => 'oss-cn-hangzhou', - ], - 'InvRegionId' => [ - 'title' => '列表存储空间区域。列表存储空间是OSS时,必须指定列表存储空间区域,无需指定列表存储空间域名。', - 'description' => '列表存储空间区域。列表存储空间是OSS时,必须指定列表存储空间区域(使用OSS专用地域ID格式),无需指定列表存储空间域名。', - 'type' => 'string', - 'example' => 'oss-cn-hangzhou', - ], - 'DataType' => [ - 'title' => '通用清单使用,当AddressType是inv时,DataType表示实际的存储类型,可取值为: oss、s3等', - 'description' => '通用清单使用,当AddressType是inv时,DataType表示实际的存储类型,可取值为: oss、s3、obs等。', - 'type' => 'string', - 'example' => 'oss', - ], + 'AddressType' => ['title' => '数据地址类型。', 'description' => '数据地址类型,取值:'."\n" + ."\n" + .'对象存储:oss,s3,qiniu,cos,bos,obs,ks3,ucloud,upyun,azure,gcp,tos。'."\n" + ."\n" + .'文件存储:local,obsfs,ftp。'."\n" + ."\n" + .'清单:inv。', 'type' => 'string', 'required' => true, 'example' => 'oss'], + 'Bucket' => ['title' => '数据存储空间。', 'description' => '数据存储空间。', 'type' => 'string', 'required' => true, 'example' => 'test_bucket'], + 'Domain' => ['title' => '数据存储空间的域名。', 'description' => '数据存储空间的域名。', 'type' => 'string', 'required' => true, 'example' => 'test_domain'], + 'Prefix' => ['title' => '数据地址前缀。', 'description' => '数据存储空间前缀。', 'type' => 'string', 'example' => 'test_prefix'], + 'AccessId' => ['title' => '数据存储空间AccessKeyId。', 'description' => '数据存储空间AccessKeyId。', 'type' => 'string', 'required' => true, 'example' => 'test_access_id'], + 'AccessSecret' => ['title' => '数据存储空间SecretAccessKey。', 'description' => '数据存储空间SecretAccessKey。', 'type' => 'string', 'required' => true, 'example' => 'test_secret_key'], + 'Role' => ['title' => '授权角色。数据存储空间是OSS时,可以指定授权角色,无需指定存储空间的AK。', 'description' => '授权角色。数据存储空间是OSS时,可以指定授权角色,无需指定存储空间的AK。', 'type' => 'string', 'example' => 'test_role'], + 'InvDomain' => ['title' => '列表存储空间的域名。', 'description' => '列表存储空间的域名。', 'type' => 'string', 'example' => 'test_inv_domain'], + 'InvBucket' => ['title' => '列表存储空间。', 'description' => '列表存储空间。', 'type' => 'string', 'example' => 'test_inv_bucket'], + 'InvAccessId' => ['title' => '列表存储空间AccessKeyId。', 'description' => '列表存储空间AccessKeyId。', 'type' => 'string', 'example' => 'test_inv_access_id'], + 'InvAccessSecret' => ['title' => '列表存储空间SecretAccessKey。', 'description' => '列表存储空间SecretAccessKey。', 'type' => 'string', 'example' => 'test_inv_secret_key'], + 'InvPath' => ['title' => '列表清单文件。指定清单列表和格式。', 'description' => '列表清单文件。指定清单列表和格式。', 'type' => 'string', 'example' => 'manifest.json'], + 'InvRole' => ['title' => '列表存储空间授权角色。列表存储空间是OSS时,可以指定授权角色,无需指定列表存储空间的AK。', 'description' => '列表存储空间授权角色。列表存储空间是OSS时,可以指定授权角色,无需指定列表存储空间的AK。', 'type' => 'string', 'example' => 'test_inv_role'], + 'InvLocation' => ['title' => '列表存储空间类型。取值:oss,s3,cos。', 'description' => '列表存储空间类型。 '."\n" + .'取值:oss,s3。', 'type' => 'string', 'example' => 'oss'], + 'AgentList' => ['title' => '关联代理。通过专线/VPN等方式访问数据,需要关联代理。', 'description' => '关联代理。通过专线/VPN等方式访问数据,需要关联代理。', 'type' => 'string', 'example' => 'agent1,agent2'], + 'RegionId' => ['title' => '数据存储空间区域。数据存储空间是OSS时,必须指定存储空间区域,无需指定存储空间域名。', 'description' => '数据存储空间区域。数据存储空间是OSS时,必须指定存储空间区域(使用OSS专用地域ID格式),无需指定存储空间域名。', 'type' => 'string', 'example' => 'oss-cn-hangzhou'], + 'InvRegionId' => ['title' => '列表存储空间区域。列表存储空间是OSS时,必须指定列表存储空间区域,无需指定列表存储空间域名。', 'description' => '列表存储空间区域。列表存储空间是OSS时,必须指定列表存储空间区域(使用OSS专用地域ID格式),无需指定列表存储空间域名。', 'type' => 'string', 'example' => 'oss-cn-hangzhou'], + 'DataType' => ['title' => '通用清单使用,当AddressType是inv时,DataType表示实际的存储类型,可取值为: oss、s3等', 'description' => '通用清单使用,当AddressType是inv时,DataType表示实际的存储类型,可取值为: oss、s3、obs等。', 'type' => 'string', 'example' => 'oss'], + 'HdfsAuthConfig' => ['$ref' => '#/components/schemas/HdfsAuthConfig'], ], ], 'Audit' => [ 'title' => '审计方式。', 'description' => '审计方式。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'LogMode' => [ - 'title' => '日志推送。取值: off,不推送日志;basic,仅推送文件迁移失败日志;detail,推送文件迁移成功和失败日志。推送迁移日志到SLS,需要创建AliyunOSSImportSlsAuditRole角色,并对角色完成授权。', - 'description' => '日志推送。推送迁移日志到SLS,需要创建AliyunOSSImportSlsAuditRole角色,并对角色完成授权。'."\n" - .'取值: off,不推送日志;basic,仅推送文件迁移失败日志;detail,推送文件迁移成功和失败日志。', - 'type' => 'string', - 'example' => 'off', - ], + 'LogMode' => ['title' => '日志推送。取值: off,不推送日志;basic,仅推送文件迁移失败日志;detail,推送文件迁移成功和失败日志。推送迁移日志到SLS,需要创建AliyunOSSImportSlsAuditRole角色,并对角色完成授权。', 'description' => '日志推送。推送迁移日志到SLS,需要创建AliyunOSSImportSlsAuditRole角色,并对角色完成授权。'."\n" + .'取值: off,不推送日志;basic,仅推送文件迁移失败日志;detail,推送文件迁移成功和失败日志。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'off'], ], ], 'CreateAddressInfo' => [ 'title' => '创建数据地址详情。', 'description' => '创建数据地址详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '数据地址名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'description' => '数据地址名称。 '."\n" - .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_name', - ], - 'AddressDetail' => [ - 'title' => '数据地址详情。', - 'description' => '数据地址详情。', - 'required' => true, - '$ref' => '#/components/schemas/AddressDetail', - ], - 'Tags' => [ - 'title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'description' => '标签,KeyValue格式。 '."\n" - .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], + 'Name' => ['title' => '数据地址名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'description' => '数据地址名称。 '."\n" + .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'test_name'], + 'AddressDetail' => ['title' => '数据地址详情。', 'description' => '数据地址详情。', 'visibility' => 'Public', 'required' => true, '$ref' => '#/components/schemas/AddressDetail'], + 'Tags' => ['title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'description' => '标签,KeyValue格式。 '."\n" + .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], ], + 'parseType' => 'struct', ], 'CreateAgentInfo' => [ 'title' => '创建代理详情。', 'description' => '创建代理详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '代理名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'description' => '代理名称。 '."\n" - .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_name', - ], - 'DeployMethod' => [ - 'title' => '代理的部署方式。取值:default。', - 'description' => '代理的部署方式。 '."\n" - .'取值:default,独立进程方式。', - 'type' => 'string', - 'required' => true, - 'example' => 'default', - ], - 'AgentEndpoint' => [ - 'title' => '代理访问方式,支持公网,专线/VPN等。取值:public,vpc。', - 'description' => '代理访问方式。 '."\n" - .'取值:public,公网;vpc,专线。', - 'type' => 'string', - 'required' => true, - 'example' => 'vpc', - ], - 'Tags' => [ - 'title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'description' => '标签,KeyValue格式。 '."\n" - .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], - 'TunnelId' => [ - 'title' => '通道ID。', - 'description' => '通道ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_tunnel_id', - ], + 'Name' => ['title' => '代理名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'description' => '代理名称。 '."\n" + .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'test_name'], + 'DeployMethod' => ['title' => '代理的部署方式。取值:default。', 'description' => '代理的部署方式。 '."\n" + .'取值:default,独立进程方式。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'default'], + 'AgentEndpoint' => ['title' => '代理访问方式,支持公网,专线/VPN等。取值:public,vpc。', 'description' => '代理访问方式。 '."\n" + .'取值:public,公网;vpc,专线。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'vpc'], + 'Tags' => ['title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'description' => '标签,KeyValue格式。 '."\n" + .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + 'TunnelId' => ['title' => '通道ID。', 'description' => '通道ID。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'test_tunnel_id'], ], ], 'CreateJobInfo' => [ @@ -281,540 +108,203 @@ 'description' => '创建迁移任务详情。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '任务名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'description' => '任务名称。 '."\n" - .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_name', - ], - 'SrcAddress' => [ - 'title' => '源数据地址名称。', - 'description' => '源数据地址名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_src_address', - ], - 'DestAddress' => [ - 'title' => '目的数据地址名称。', - 'description' => '目的数据地址名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_dest_address', - ], - 'OverwriteMode' => [ - 'title' => '文件覆盖方式。取值:never,不覆盖;always,覆盖;', - 'description' => '文件覆盖方式。 '."\n" - .'取值:never,不覆盖;always,覆盖;', - 'type' => 'string', - 'required' => true, - 'example' => 'always', - ], - 'TransferMode' => [ - 'title' => '文件传输方式。取值:all,强制覆盖;lastmodified,根据最后修改时间覆盖。 OverwriteMode与TransferMode结合使用,分别设置: always,all:强制覆盖 always, lastmodified:根据文件最后修改时间覆盖 never,all:不覆盖。', - 'description' => '文件传输方式。 '."\n" - .'取值:all,全量传输;lastmodified,增量传输。 '."\n" - .'OverwriteMode与TransferMode结合使用,分别设置: '."\n" - .'- always,all:强制覆盖 ;'."\n" - .'- always, lastmodified:根据文件最后修改时间覆盖 ;'."\n" - .'- never,空值:同名文件不覆盖。', - 'type' => 'string', - 'required' => true, - 'example' => 'all', - ], - 'Tags' => [ - 'title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'description' => '标签,KeyValue格式。 '."\n" - .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1024个字符。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], - 'ParentVersion' => [ - 'title' => '父任务ID。创建失败文件重试子任务时可以指定父任务ID。', - 'description' => '父任务ID。创建失败文件重试子任务时可以指定父任务ID。', - 'type' => 'string', - 'example' => '6af62558-970d-4f44-8663-4e297170fd6a', - ], - 'ConvertSymlinkTarget' => [ - 'title' => '是否转换软链接Target。当源和目的数据地址是oss到local,local到oss,local到local时,可以指定转换软链接Target,使得迁移后的软链接能够正常访问。', - 'description' => '是否转换软链接Target。当源和目的数据地址是OSS到Local,Local到OSS,Local到Local时,可以指定转换软链接Target,使得迁移后的软链接能够正常访问。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Audit' => [ - 'title' => '审计方式。', - 'description' => '审计方式。', - '$ref' => '#/components/schemas/Audit', - ], - 'EnableMultiVersioning' => [ - 'title' => '是否迁移多版本。暂不支持多版本迁移。', - 'description' => '是否迁移多版本。暂不支持多版本迁移。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FilterRule' => [ - 'title' => '过滤规则。', - 'description' => '过滤规则。', - '$ref' => '#/components/schemas/FilterRule', - ], - 'ImportQos' => [ - 'title' => '任务限流。', - 'description' => '任务限流。', - '$ref' => '#/components/schemas/ImportQos', - ], - 'ScheduleRule' => [ - 'title' => '调度规则。', - 'description' => '调度规则。', - '$ref' => '#/components/schemas/ScheduleRule', - ], - 'CreateReport' => [ - 'title' => '是否创建迁移报告。', - 'description' => '是否创建迁移报告。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'WithStorageClass' => [ - 'title' => '是否迁移StorageClass属性,只允许oss->oss', - 'description' => '是否迁移StorageClass属性,只允许oss->oss', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TargetStorageClass' => [ - 'title' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive', - 'description' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive', - 'type' => 'string', - 'example' => 'Standard', - ], - 'WithLastModifyTime' => [ - 'title' => '是否保留lastModifyTime,默认true', - 'description' => '是否保留lastModifyTime,默认true。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AppendableToNormal' => [ - 'title' => '是否把appendable文件迁成normal/multipart文件,默认false', - 'description' => '是否把appendable文件迁成normal/multipart文件,默认false', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Name' => ['title' => '任务名称。取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'description' => '任务名称。 '."\n" + .'取值:英文小写字母、数字和特殊字符-和_,最短 3 字符, 最长 63 个字符,区分大小写,utf8 编码并且不可以- 和_开头,不能为空。', 'type' => 'string', 'required' => true, 'example' => 'test_name'], + 'SrcAddress' => ['title' => '源数据地址名称。', 'description' => '源数据地址名称。', 'type' => 'string', 'required' => true, 'example' => 'test_src_address'], + 'DestAddress' => ['title' => '目的数据地址名称。', 'description' => '目的数据地址名称。', 'type' => 'string', 'required' => true, 'example' => 'test_dest_address'], + 'OverwriteMode' => ['title' => '文件覆盖方式。取值:never,不覆盖;always,覆盖;', 'description' => '文件覆盖方式。 '."\n" + .'取值:never,不覆盖;always,覆盖;', 'type' => 'string', 'required' => true, 'example' => 'always'], + 'TransferMode' => ['title' => '文件传输方式。取值:all,强制覆盖;lastmodified,根据最后修改时间覆盖。 OverwriteMode与TransferMode结合使用,分别设置: always,all:强制覆盖 always, lastmodified:根据文件最后修改时间覆盖 never,all:不覆盖。', 'description' => '文件传输方式。 '."\n" + .'取值:all,全量传输;lastmodified,增量传输。 '."\n" + .'OverwriteMode与TransferMode结合使用,分别设置: '."\n" + .'- always,all:强制覆盖 ;'."\n" + .'- always, lastmodified:根据文件最后修改时间覆盖 ;'."\n" + .'- never,空值:同名文件不覆盖。', 'type' => 'string', 'required' => true, 'example' => 'all'], + 'Tags' => ['title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'description' => '标签,KeyValue格式。 '."\n" + .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1024个字符。', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + 'ParentVersion' => ['title' => '父任务ID。创建失败文件重试子任务时可以指定父任务ID。', 'description' => '父任务ID。创建失败文件重试子任务时可以指定父任务ID。', 'type' => 'string', 'example' => '6af62558-970d-4f44-8663-4e297170fd6a'], + 'ConvertSymlinkTarget' => ['title' => '是否转换软链接Target。当源和目的数据地址是oss到local,local到oss,local到local时,可以指定转换软链接Target,使得迁移后的软链接能够正常访问。', 'description' => '是否转换软链接Target。当源和目的数据地址是OSS到Local,Local到OSS,Local到Local时,可以指定转换软链接Target,使得迁移后的软链接能够正常访问。', 'type' => 'boolean', 'example' => 'false'], + 'Audit' => ['title' => '审计方式。', 'description' => '审计方式。', '$ref' => '#/components/schemas/Audit'], + 'EnableMultiVersioning' => ['title' => '是否迁移多版本。暂不支持多版本迁移。', 'description' => '是否迁移多版本。暂不支持多版本迁移。', 'type' => 'boolean', 'example' => 'false'], + 'FilterRule' => ['title' => '过滤规则。', 'description' => '过滤规则。', '$ref' => '#/components/schemas/FilterRule'], + 'ImportQos' => ['title' => '任务限流。', 'description' => '任务限流。', '$ref' => '#/components/schemas/ImportQos'], + 'ScheduleRule' => ['title' => '调度规则。', 'description' => '调度规则。', '$ref' => '#/components/schemas/ScheduleRule'], + 'CreateReport' => ['title' => '是否创建迁移报告。', 'description' => '是否创建迁移报告。', 'type' => 'boolean', 'example' => 'true'], + 'WithStorageClass' => ['title' => '是否迁移StorageClass属性,只允许oss->oss', 'description' => '是否迁移StorageClass属性,只允许oss->oss', 'type' => 'boolean', 'example' => 'false'], + 'TargetStorageClass' => ['title' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive', 'description' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive', 'type' => 'string', 'example' => 'Standard'], + 'WithLastModifyTime' => ['title' => '是否保留lastModifyTime,默认true', 'description' => '是否保留lastModifyTime,默认true。', 'type' => 'boolean', 'example' => 'true'], + 'AppendableToNormal' => ['title' => '是否把appendable文件迁成normal/multipart文件,默认false', 'description' => '是否把appendable文件迁成normal/multipart文件,默认false', 'type' => 'boolean', 'example' => 'false'], ], ], 'CreateReportInfo' => [ 'title' => '创建迁移报告详情。', 'description' => '创建迁移报告详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'JobName' => [ - 'title' => '任务名称。', - 'description' => '任务名称。', - 'type' => 'string', - 'example' => 'test_job_name', - ], - 'Version' => [ - 'title' => '任务ID。', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'test_job_id', - ], - 'RuntimeId' => [ - 'title' => '任务执行ID。', - 'description' => '任务执行ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'JobName' => ['title' => '任务名称。', 'description' => '任务名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_job_name'], + 'Version' => ['title' => '任务ID。', 'description' => '任务ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_job_id'], + 'RuntimeId' => ['title' => '任务执行ID。', 'description' => '任务执行ID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], 'CreateTunnelInfo' => [ 'title' => '创建通道详情。', 'description' => '创建通道详情。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'TunnelQos' => ['title' => '通道限流。', 'description' => '通道限流。', 'visibility' => 'Public', '$ref' => '#/components/schemas/TunnelQos'], + 'Tags' => ['title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'description' => '标签,KeyValue格式。 '."\n" + .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + ], + 'required' => false, + ], + 'Excludes' => [ + 'title' => 'A short description of struct', + 'description' => '排除过滤器', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'TunnelQos' => [ - 'title' => '通道限流。', - 'description' => '通道限流。', - '$ref' => '#/components/schemas/TunnelQos', + 'TimeFilter' => [ + 'title' => 'timeFilter', + 'description' => 'timeFilter', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/TimeFilter'], ], - 'Tags' => [ - 'title' => '标签,KeyValue格式。 允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'description' => '标签,KeyValue格式。 '."\n" - .'允许字符:英文大小写字母、数字和特殊字符-_,。长度限制:1KB。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', + 'Regex' => [ + 'title' => 'regex', + 'description' => 'regex', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['visibility' => 'Public', 'type' => 'string', 'extendType' => 'true'], ], ], - 'required' => false, ], 'FileTypeFilters' => [ 'title' => '文件类型过滤器。', 'description' => '文件类型过滤器。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'ExcludeSymlink' => [ - 'title' => '过滤软链接。', - 'description' => '过滤软链接。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ExcludeDir' => [ - 'title' => '过滤目录文件。', - 'description' => '过滤目录文件。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'ExcludeSymlink' => ['title' => '过滤软链接。', 'description' => '过滤软链接。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false'], + 'ExcludeDir' => ['title' => '过滤目录文件。', 'description' => '过滤目录文件。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false'], ], ], 'FilterRule' => [ 'title' => '过滤规则。', 'description' => '过滤规则。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'KeyFilters' => [ - 'title' => '文件名过滤器。', - 'description' => '文件名过滤器。', - '$ref' => '#/components/schemas/KeyFilters', - ], - 'LastModifiedFilters' => [ - 'title' => '文件修改时间过滤器。', - 'description' => '文件修改时间过滤器。', - '$ref' => '#/components/schemas/LastModifiedFilters', - ], - 'FileTypeFilters' => [ - 'title' => '文件类型过滤器。', - 'description' => '文件类型过滤器。', - '$ref' => '#/components/schemas/FileTypeFilters', - ], + 'KeyFilters' => ['title' => '文件名过滤器。', 'description' => '文件名过滤器。', 'visibility' => 'Public', '$ref' => '#/components/schemas/KeyFilters'], + 'LastModifiedFilters' => ['title' => '文件修改时间过滤器。', 'description' => '文件修改时间过滤器。', 'visibility' => 'Public', '$ref' => '#/components/schemas/LastModifiedFilters'], + 'FileTypeFilters' => ['title' => '文件类型过滤器。', 'description' => '文件类型过滤器。', 'visibility' => 'Public', '$ref' => '#/components/schemas/FileTypeFilters'], ], ], 'GetAddressResp' => [ 'title' => '获取数据地址详情。', 'description' => '获取数据地址详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Owner' => [ - 'title' => '数据地址拥有者。', - 'description' => '数据地址拥有者。', - 'type' => 'string', - 'example' => 'test_owner', - ], - 'Name' => [ - 'title' => '数据地址名称。', - 'description' => '数据地址名称。', - 'type' => 'string', - 'example' => 'test_name', - ], - 'AddressDetail' => [ - 'title' => '数据地址详情。', - 'description' => '数据地址详情。', - '$ref' => '#/components/schemas/AddressDetail', - ], - 'CreateTime' => [ - 'title' => '创建时间', - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ModifyTime' => [ - 'title' => '修改时间。', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'VerifyTime' => [ - 'title' => '数据地址校验时间。', - 'description' => '数据地址校验时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'Version' => [ - 'title' => '数据地址ID', - 'description' => '数据地址ID。', - 'type' => 'string', - 'example' => 'test_id', - ], - 'Tags' => [ - 'title' => '标签。', - 'description' => '标签。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], + 'Owner' => ['title' => '数据地址拥有者。', 'description' => '数据地址拥有者。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_owner'], + 'Name' => ['title' => '数据地址名称。', 'description' => '数据地址名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_name'], + 'AddressDetail' => ['title' => '数据地址详情。', 'description' => '数据地址详情。', 'visibility' => 'Public', '$ref' => '#/components/schemas/AddressDetail'], + 'CreateTime' => ['title' => '创建时间', 'description' => '创建时间', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ModifyTime' => ['title' => '修改时间。', 'description' => '修改时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'VerifyTime' => ['title' => '数据地址校验时间。', 'description' => '数据地址校验时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'Version' => ['title' => '数据地址ID', 'description' => '数据地址ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_id'], + 'Tags' => ['title' => '标签。', 'description' => '标签。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], 'Status' => [ 'title' => '数据地址状态。', 'description' => '数据地址状态。', + 'visibility' => 'Public', 'type' => 'string', - 'enumValueTitles' => [ - 'unavailable' => 'unavailable', - 'available' => 'available', - 'notVerify' => 'notVerify', - ], + 'enumValueTitles' => ['unavailable' => 'unavailable', 'available' => 'available', 'notVerify' => 'notVerify'], 'example' => 'avaliable', ], - 'VerifyResult' => [ - 'title' => '数据地址校验结果。', - 'description' => '数据地址校验结果。', - '$ref' => '#/components/schemas/VerifyResp', - ], + 'VerifyResult' => ['title' => '数据地址校验结果。', 'description' => '数据地址校验结果。', 'visibility' => 'Public', '$ref' => '#/components/schemas/VerifyResp'], ], ], 'GetAgentResp' => [ 'title' => '获取代理详情。', 'description' => '获取代理详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Owner' => [ - 'title' => '代理拥有者。', - 'description' => '代理拥有者。', - 'type' => 'string', - 'example' => 'test_owner', - ], - 'Name' => [ - 'title' => '代理名称。', - 'description' => '代理名称。', - 'type' => 'string', - 'example' => 'test_name', - ], - 'CreateTime' => [ - 'title' => '创建时间', - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ModifyTime' => [ - 'title' => '修改时间', - 'description' => '修改时间', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'DeployMethod' => [ - 'title' => '代理部署方式。', - 'description' => '代理部署方式。', - 'type' => 'string', - 'example' => 'default', - ], - 'AgentEndpoint' => [ - 'title' => '代理访问方式。', - 'description' => '代理访问方式。', - 'type' => 'string', - 'example' => 'vpc', - ], - 'ActivationKey' => [ - 'title' => '代理安全码。', - 'description' => '代理安全码。', - 'type' => 'string', - 'example' => '6af62558-970d-4f44-8663-4e297170fd6a', - ], - 'Tags' => [ - 'title' => '标记。', - 'description' => '标记。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], - 'Version' => [ - 'title' => '代理ID。', - 'description' => '代理ID。', - 'type' => 'string', - 'example' => 'test_agent_id', - ], - 'TunnelId' => [ - 'title' => '通道ID。', - 'description' => '通道ID。', - 'type' => 'string', - 'example' => 'test_tunnel_id', - ], + 'Owner' => ['title' => '代理拥有者。', 'description' => '代理拥有者。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_owner'], + 'Name' => ['title' => '代理名称。', 'description' => '代理名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_name'], + 'CreateTime' => ['title' => '创建时间', 'description' => '创建时间', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ModifyTime' => ['title' => '修改时间', 'description' => '修改时间', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'DeployMethod' => ['title' => '代理部署方式。', 'description' => '代理部署方式。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'default'], + 'AgentEndpoint' => ['title' => '代理访问方式。', 'description' => '代理访问方式。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'vpc'], + 'ActivationKey' => ['title' => '代理安全码。', 'description' => '代理安全码。', 'visibility' => 'Public', 'type' => 'string', 'example' => '6af62558-970d-4f44-8663-4e297170fd6a'], + 'Tags' => ['title' => '标记。', 'description' => '标记。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + 'Version' => ['title' => '代理ID。', 'description' => '代理ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_agent_id'], + 'TunnelId' => ['title' => '通道ID。', 'description' => '通道ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_tunnel_id'], ], ], 'GetAgentStatusResp' => [ 'title' => '获取代理状态详情。', 'description' => '获取代理状态详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '代理状态。取值:OK,Disconnected,NoResponse。', - 'description' => '代理状态。 '."\n" - .'取值:OK,正常;Disconnected,代理断连;NoResponse,代理没有响应。', - 'type' => 'string', - 'example' => 'OK', - ], - 'AgentVersion' => [ - 'title' => '用户代理版本', - 'description' => '用户代理版本', - 'type' => 'string', - 'example' => '1.5.0', - ], - 'AgentIP' => [ - 'title' => '用户代理内网IP', - 'description' => '用户代理内网IP', - 'type' => 'string', - 'example' => '192.168.0.2', - ], + 'Status' => ['title' => '代理状态。取值:OK,Disconnected,NoResponse。', 'description' => '代理状态。 '."\n" + .'取值:OK,正常;Disconnected,代理断连;NoResponse,代理没有响应。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'OK'], ], + 'parseType' => 'struct', ], 'GetJobResp' => [ 'title' => '任务详情。', 'description' => '任务详情。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '任务名称。', - 'description' => '任务名称。', - 'type' => 'string', - 'example' => 'test_name', - ], - 'SrcAddress' => [ - 'title' => '源数据地址名称。', - 'description' => '源数据地址名称。', - 'type' => 'string', - 'example' => 'test_src_address', - ], - 'DestAddress' => [ - 'title' => '目的数据地址名称。', - 'description' => '目的数据地址名称。', - 'type' => 'string', - 'example' => 'test_dest_address', - ], - 'Status' => [ - 'title' => '任务状态。', - 'description' => '任务状态。'."\n" - ."\n" - .'IMPORT_JOB_BEGIN:任务已创建'."\n" - ."\n" - .'IMPORT_JOB_LAUNCHING:任务启动中'."\n" - ."\n" - .'IMPORT_JOB_PREPARING:任务准备中'."\n" - ."\n" - .'IMPORT_JOB_DOING:任务运行中'."\n" - ."\n" - .'IMPORT_JOB_SUSPEND:任务已暂停'."\n" - ."\n" - .'IMPORT_JOB_CLOSING:任务关闭中'."\n" - ."\n" - .'IMPORT_JOB_FINISHED:任务运行结束'."\n" - ."\n" - .'IMPORT_JOB_INTERRUPTED:任务异常中断'."\n" - ."\n" - .'IMPORT_JOB_CONFIRMED:任务迁移完成,用户已确认数据完整性与一致性'."\n" - ."\n" - .'IMPORT_JOB_DELETING:任务删除中', - 'type' => 'string', - 'example' => 'IMPORT_JOB_DOING', - ], - 'EnableMultiVersioning' => [ - 'title' => '是否开启多版本。', - 'description' => '是否开启多版本。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'CreateTime' => [ - 'title' => '任务创建时间。', - 'description' => '任务创建时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ModifyTime' => [ - 'title' => '任务修改时间。', - 'description' => '任务修改时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'Version' => [ - 'title' => '任务ID。', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'test_id', - ], - 'Audit' => [ - 'title' => '审计方式。', - 'description' => '审计方式。', - '$ref' => '#/components/schemas/Audit', - ], - 'OverwriteMode' => [ - 'title' => '文件覆盖方式。', - 'description' => '文件覆盖方式。', - 'type' => 'string', - 'example' => 'always', - ], - 'TransferMode' => [ - 'title' => '文件传输方式。', - 'description' => '文件传输方式。', - 'type' => 'string', - 'example' => 'all', - ], - 'Tags' => [ - 'title' => '标记。', - 'description' => '标记。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], - 'ParentName' => [ - 'title' => '父任务名称,非重试任务该。值为空', - 'description' => '父任务名称。', - 'type' => 'string', - 'example' => 'test_parent_name', - ], - 'ParentVersion' => [ - 'title' => '父任务ID,非重试任务该值为空', - 'description' => '父任务ID。', - 'type' => 'string', - 'example' => '7db93837-a5ee-4e3a-b3c8-800e7947dabc', - ], - 'ConvertSymlinkTarget' => [ - 'title' => '是否转换软链接Target。', - 'description' => '是否转换软链接Target。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'CreateReport' => [ - 'title' => '是否生成迁移报告。', - 'description' => '是否生成迁移报告。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Owner' => [ - 'title' => '拥有者,即迁移服务控制台主账号', - 'description' => '拥有者', - 'type' => 'string', - 'example' => 'test_owner', - ], - 'FilterRule' => [ - 'title' => '过滤规则。', - 'description' => '过滤规则。', - '$ref' => '#/components/schemas/FilterRule', - ], - 'ImportQos' => [ - 'title' => '任务限流。', - 'description' => '任务限流。', - '$ref' => '#/components/schemas/ImportQos', - ], - 'ScheduleRule' => [ - 'title' => '调度规则。', - 'description' => '调度规则。', - '$ref' => '#/components/schemas/ScheduleRule', - ], - 'WithStorageClass' => [ - 'title' => '是否迁移StorageClass属性,只允许oss->oss。', - 'description' => '是否迁移StorageClass属性,只允许oss->oss。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TargetStorageClass' => [ - 'title' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive。', - 'description' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive。', - 'type' => 'string', - 'example' => 'Standard', - ], - 'WithLastModifyTime' => [ - 'title' => '是否保留lastModifyTime,默认true', - 'description' => '是否保留lastModifyTime,默认true。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AppendableToNormal' => [ - 'title' => '是否把appendable文件迁成normal/multipart文件,默认false', - 'description' => '是否把appendable文件迁成normal/multipart文件,默认false', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Name' => ['title' => '任务名称。', 'description' => '任务名称。', 'type' => 'string', 'example' => 'test_name'], + 'SrcAddress' => ['title' => '源数据地址名称。', 'description' => '源数据地址名称。', 'type' => 'string', 'example' => 'test_src_address'], + 'DestAddress' => ['title' => '目的数据地址名称。', 'description' => '目的数据地址名称。', 'type' => 'string', 'example' => 'test_dest_address'], + 'Status' => ['title' => '任务状态。', 'description' => '任务状态。'."\n" + ."\n" + .'IMPORT_JOB_BEGIN:任务已创建'."\n" + ."\n" + .'IMPORT_JOB_LAUNCHING:任务启动中'."\n" + ."\n" + .'IMPORT_JOB_PREPARING:任务准备中'."\n" + ."\n" + .'IMPORT_JOB_DOING:任务运行中'."\n" + ."\n" + .'IMPORT_JOB_SUSPEND:任务已暂停'."\n" + ."\n" + .'IMPORT_JOB_CLOSING:任务关闭中'."\n" + ."\n" + .'IMPORT_JOB_FINISHED:任务运行结束'."\n" + ."\n" + .'IMPORT_JOB_INTERRUPTED:任务异常中断'."\n" + ."\n" + .'IMPORT_JOB_CONFIRMED:任务迁移完成,用户已确认数据完整性与一致性'."\n" + ."\n" + .'IMPORT_JOB_DELETING:任务删除中', 'type' => 'string', 'example' => 'IMPORT_JOB_DOING'], + 'EnableMultiVersioning' => ['title' => '是否开启多版本。', 'description' => '是否开启多版本。', 'type' => 'boolean', 'example' => 'false'], + 'CreateTime' => ['title' => '任务创建时间。', 'description' => '任务创建时间。', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ModifyTime' => ['title' => '任务修改时间。', 'description' => '任务修改时间。', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'Version' => ['title' => '任务ID。', 'description' => '任务ID。', 'type' => 'string', 'example' => 'test_id'], + 'Audit' => ['title' => '审计方式。', 'description' => '审计方式。', '$ref' => '#/components/schemas/Audit'], + 'OverwriteMode' => ['title' => '文件覆盖方式。', 'description' => '文件覆盖方式。', 'type' => 'string', 'example' => 'always'], + 'TransferMode' => ['title' => '文件传输方式。', 'description' => '文件传输方式。', 'type' => 'string', 'example' => 'all'], + 'Tags' => ['title' => '标记。', 'description' => '标记。', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + 'ParentName' => ['title' => '父任务名称,非重试任务该。值为空', 'description' => '父任务名称。', 'type' => 'string', 'example' => 'test_parent_name'], + 'ParentVersion' => ['title' => '父任务ID,非重试任务该值为空', 'description' => '父任务ID。', 'type' => 'string', 'example' => '7db93837-a5ee-4e3a-b3c8-800e7947dabc'], + 'ConvertSymlinkTarget' => ['title' => '是否转换软链接Target。', 'description' => '是否转换软链接Target。', 'type' => 'boolean', 'example' => 'false'], + 'CreateReport' => ['title' => '是否生成迁移报告。', 'description' => '是否生成迁移报告。', 'type' => 'boolean', 'example' => 'false'], + 'Owner' => ['title' => '拥有者,即迁移服务控制台主账号', 'description' => '拥有者', 'type' => 'string', 'example' => 'test_owner'], + 'FilterRule' => ['title' => '过滤规则。', 'description' => '过滤规则。', '$ref' => '#/components/schemas/FilterRule'], + 'ImportQos' => ['title' => '任务限流。', 'description' => '任务限流。', '$ref' => '#/components/schemas/ImportQos'], + 'ScheduleRule' => ['title' => '调度规则。', 'description' => '调度规则。', '$ref' => '#/components/schemas/ScheduleRule'], + 'WithStorageClass' => ['title' => '是否迁移StorageClass属性,只允许oss->oss。', 'description' => '是否迁移StorageClass属性,只允许oss->oss。', 'type' => 'boolean', 'example' => 'false'], + 'TargetStorageClass' => ['title' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive。', 'description' => '指定设置目的文件的storageClass,目的地址只能是oss。 合法值:Standard IA Archive ColdArchive DeepColdArchive。', 'type' => 'string', 'example' => 'Standard'], + 'WithLastModifyTime' => ['title' => '是否保留lastModifyTime,默认true', 'description' => '是否保留lastModifyTime,默认true。', 'type' => 'boolean', 'example' => 'true'], + 'AppendableToNormal' => ['title' => '是否把appendable文件迁成normal/multipart文件,默认false', 'description' => '是否把appendable文件迁成normal/multipart文件,默认false', 'type' => 'boolean', 'example' => 'true'], ], ], 'GetJobResultResp' => [ @@ -822,274 +312,99 @@ 'description' => '任务重试信息详情。', 'type' => 'object', 'properties' => [ - 'ReadyRetry' => [ - 'title' => '失败文件是否可重试。取值:NoNeed,无需重试;Ready,失败文件列表准备完成;NotReady,失败文件列表准备中。', - 'description' => '失败文件是否可重试。 '."\n" - .'取值:NoNeed,无需重试;Ready,失败文件列表准备完成;NotReady,失败文件列表准备中。', - 'type' => 'string', - 'example' => 'Ready', - ], - 'InvPath' => [ - 'title' => '失败文件列表清单文件。构造新的数据地址时,填入InvPath字段。', - 'description' => '失败文件列表清单文件。构造新的数据地址时,填入InvPath字段。', - 'type' => 'string', - 'example' => 'mainfest.json', - ], - 'InvBucket' => [ - 'title' => '失败文件列表存储空间。构造新的数据地址时,填入InvBucket字段。', - 'description' => '失败文件列表存储空间。构造新的数据地址时,填入InvBucket字段。', - 'type' => 'string', - 'example' => 'test_sys_bucket', - ], - 'InvDomain' => [ - 'title' => '失败文件列表存储空间域名。构造新的数据地址时,填入InvDomain字段。', - 'description' => '失败文件列表存储空间域名。构造新的数据地址时,填入InvDomain字段。', - 'type' => 'string', - 'example' => 'test_domain', - ], - 'InvLocation' => [ - 'title' => '失败文件列表存储空间类型。构造新的数据地址时,填入InvLocation字段。', - 'description' => '失败文件列表存储空间类型。构造新的数据地址时,填入InvLocation字段。', - 'type' => 'string', - 'example' => 'oss', - ], - 'InvAccessId' => [ - 'title' => '失败文件列表存储空间的AccessKeyId。构造新的数据地址时,填入InvAccessId字段。', - 'description' => '失败文件列表存储空间的AccessKeyId。构造新的数据地址时,填入InvAccessId字段。', - 'type' => 'string', - 'example' => 'test_access_id', - ], - 'InvAccessSecret' => [ - 'title' => '失败文件列表存储空间的SecretAccessKey。构造新的数据地址时,填入InvAccessSecret字段。', - 'description' => '失败文件列表存储空间的SecretAccessKey。构造新的数据地址时,填入InvAccessSecret字段。', - 'type' => 'string', - 'example' => 'test_secret_key', - ], - 'InvRegionId' => [ - 'title' => '失败文件存储空间区域。构造新的数据地址时,填入InvRegionId字段。', - 'description' => '失败文件存储空间区域。构造新的数据地址时,填入InvRegionId字段。', - 'type' => 'string', - 'example' => 'test_region_id', - ], - 'AddressType' => [ - 'title' => '根据失败文件列表构造的地址类型。构造新的数据地址时,填入AddressType字段。', - 'description' => '根据失败文件列表构造的地址类型。构造新的数据地址时,填入AddressType字段。', - 'type' => 'string', - 'example' => 'ossinv', - ], - 'TotalObjectCount' => [ - 'title' => '总文件数量。', - 'description' => '总文件数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'CopiedObjectCount' => [ - 'title' => '迁移成功的文件数量。包括成功和跳过的文件。', - 'description' => '迁移成功的文件数量,包括成功和跳过的文件。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '800', - ], - 'FailedObjectCount' => [ - 'title' => '迁移失败的文件数量。', - 'description' => '迁移失败的文件数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'TotalObjectSize' => [ - 'title' => '文件总数据量。', - 'description' => '文件总数据量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'CopiedObjectSize' => [ - 'title' => '迁移成功的文件数据量。', - 'description' => '迁移成功的文件数据量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '800', - ], - 'Version' => [ - 'title' => '任务ID。', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'test_job_id', - ], - 'SkippedObjectCount' => [ - 'title' => '跳过的文件数量。', - 'description' => '跳过的文件数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5000', - ], - 'SkippedObjectSize' => [ - 'title' => '跳过的文件size。', - 'description' => '跳过的文件size。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000000', - ], + 'ReadyRetry' => ['title' => '失败文件是否可重试。取值:NoNeed,无需重试;Ready,失败文件列表准备完成;NotReady,失败文件列表准备中。', 'description' => '失败文件是否可重试。 '."\n" + .'取值:NoNeed,无需重试;Ready,失败文件列表准备完成;NotReady,失败文件列表准备中。', 'type' => 'string', 'example' => 'Ready'], + 'InvPath' => ['title' => '失败文件列表清单文件。构造新的数据地址时,填入InvPath字段。', 'description' => '失败文件列表清单文件。构造新的数据地址时,填入InvPath字段。', 'type' => 'string', 'example' => 'mainfest.json'], + 'InvBucket' => ['title' => '失败文件列表存储空间。构造新的数据地址时,填入InvBucket字段。', 'description' => '失败文件列表存储空间。构造新的数据地址时,填入InvBucket字段。', 'type' => 'string', 'example' => 'test_sys_bucket'], + 'InvDomain' => ['title' => '失败文件列表存储空间域名。构造新的数据地址时,填入InvDomain字段。', 'description' => '失败文件列表存储空间域名。构造新的数据地址时,填入InvDomain字段。', 'type' => 'string', 'example' => 'test_domain'], + 'InvLocation' => ['title' => '失败文件列表存储空间类型。构造新的数据地址时,填入InvLocation字段。', 'description' => '失败文件列表存储空间类型。构造新的数据地址时,填入InvLocation字段。', 'type' => 'string', 'example' => 'oss'], + 'InvAccessId' => ['title' => '失败文件列表存储空间的AccessKeyId。构造新的数据地址时,填入InvAccessId字段。', 'description' => '失败文件列表存储空间的AccessKeyId。构造新的数据地址时,填入InvAccessId字段。', 'type' => 'string', 'example' => 'test_access_id'], + 'InvAccessSecret' => ['title' => '失败文件列表存储空间的SecretAccessKey。构造新的数据地址时,填入InvAccessSecret字段。', 'description' => '失败文件列表存储空间的SecretAccessKey。构造新的数据地址时,填入InvAccessSecret字段。', 'type' => 'string', 'example' => 'test_secret_key'], + 'InvRegionId' => ['title' => '失败文件存储空间区域。构造新的数据地址时,填入InvRegionId字段。', 'description' => '失败文件存储空间区域。构造新的数据地址时,填入InvRegionId字段。', 'type' => 'string', 'example' => 'test_region_id'], + 'AddressType' => ['title' => '根据失败文件列表构造的地址类型。构造新的数据地址时,填入AddressType字段。', 'description' => '根据失败文件列表构造的地址类型。构造新的数据地址时,填入AddressType字段。', 'type' => 'string', 'example' => 'ossinv'], + 'TotalObjectCount' => ['title' => '总文件数量。', 'description' => '总文件数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'CopiedObjectCount' => ['title' => '迁移成功的文件数量。包括成功和跳过的文件。', 'description' => '迁移成功的文件数量,包括成功和跳过的文件。', 'type' => 'integer', 'format' => 'int64', 'example' => '800'], + 'FailedObjectCount' => ['title' => '迁移失败的文件数量。', 'description' => '迁移失败的文件数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '200'], + 'TotalObjectSize' => ['title' => '文件总数据量。', 'description' => '文件总数据量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'CopiedObjectSize' => ['title' => '迁移成功的文件数据量。', 'description' => '迁移成功的文件数据量。', 'type' => 'integer', 'format' => 'int64', 'example' => '800'], + 'Version' => ['title' => '任务ID。', 'description' => '任务ID。', 'type' => 'string', 'example' => 'test_job_id'], + 'SkippedObjectCount' => ['title' => '跳过的文件数量。', 'description' => '跳过的文件数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '5000'], + 'SkippedObjectSize' => ['title' => '跳过的文件size。', 'description' => '跳过的文件size。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000000'], ], ], 'GetReportResp' => [ 'title' => '迁移报告详情。', 'description' => '迁移报告详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '迁移报告状态。取值:Running,生成中;NotExist,不存在;Finished,生成完成;Failed,生成失败。', - 'description' => '迁移报告状态。 '."\n" - .'取值:Running,生成中;NotExist,不存在;Finished,生成完成;Failed,生成失败。', - 'type' => 'string', - 'example' => 'Running', - ], - 'ReportCreateTime' => [ - 'title' => '迁移报告创建时间。', - 'description' => '迁移报告创建时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ReportEndTime' => [ - 'title' => '迁移报告生成结束时间。', - 'description' => '迁移报告生成结束时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'TotalCount' => [ - 'title' => '迁移文件总数量。', - 'description' => '迁移文件总数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'CopiedCount' => [ - 'title' => '迁移文件成功数量。', - 'description' => '迁移文件成功数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '800', - ], - 'SkippedCount' => [ - 'title' => '迁移文件跳过数量。', - 'description' => '迁移文件跳过数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'FailedCount' => [ - 'title' => '迁移文件失败数量。', - 'description' => '迁移文件失败数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'JobCreateTime' => [ - 'title' => '任务创建时间。', - 'description' => '任务创建时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'JobEndTime' => [ - 'title' => '任务结束时间。', - 'description' => '任务结束时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'JobExecuteTime' => [ - 'title' => '任务执行时间。', - 'description' => '任务执行时间。', - 'type' => 'string', - 'example' => '1000s', - ], - 'TotalListPrefix' => [ - 'title' => '文件列表所在位置。', - 'description' => '文件列表所在位置。', - 'type' => 'string', - 'example' => 'test_total_prefix/', - ], - 'SkippedListPrefix' => [ - 'title' => '跳过文件列表所在位置。', - 'description' => '跳过文件列表所在位置。', - 'type' => 'string', - 'example' => 'test_skipped_prefix/', - ], - 'FailedListPrefix' => [ - 'title' => '失败文件列表所在位置。', - 'description' => '失败文件列表所在位置。', - 'type' => 'string', - 'example' => 'test_failed_prefix/', - ], - 'ErrorMessage' => [ - 'title' => '异常信息。', - 'description' => '异常信息。', - 'type' => 'string', - 'example' => 'test error msg.', - ], + 'Status' => ['title' => '迁移报告状态。取值:Running,生成中;NotExist,不存在;Finished,生成完成;Failed,生成失败。', 'description' => '迁移报告状态。 '."\n" + .'取值:Running,生成中;NotExist,不存在;Finished,生成完成;Failed,生成失败。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Running'], + 'ReportCreateTime' => ['title' => '迁移报告创建时间。', 'description' => '迁移报告创建时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ReportEndTime' => ['title' => '迁移报告生成结束时间。', 'description' => '迁移报告生成结束时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'TotalCount' => ['title' => '迁移文件总数量。', 'description' => '迁移文件总数量。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'CopiedCount' => ['title' => '迁移文件成功数量。', 'description' => '迁移文件成功数量。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '800'], + 'SkippedCount' => ['title' => '迁移文件跳过数量。', 'description' => '迁移文件跳过数量。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'FailedCount' => ['title' => '迁移文件失败数量。', 'description' => '迁移文件失败数量。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'JobCreateTime' => ['title' => '任务创建时间。', 'description' => '任务创建时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'JobEndTime' => ['title' => '任务结束时间。', 'description' => '任务结束时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'JobExecuteTime' => ['title' => '任务执行时间。', 'description' => '任务执行时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '1000s'], + 'TotalListPrefix' => ['title' => '文件列表所在位置。', 'description' => '文件列表所在位置。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_total_prefix/'], + 'SkippedListPrefix' => ['title' => '跳过文件列表所在位置。', 'description' => '跳过文件列表所在位置。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_skipped_prefix/'], + 'FailedListPrefix' => ['title' => '失败文件列表所在位置。', 'description' => '失败文件列表所在位置。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_failed_prefix/'], + 'ErrorMessage' => ['title' => '异常信息。', 'description' => '异常信息。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test error msg.'], ], ], 'GetTunnelResp' => [ 'title' => '获取通道详情。', 'description' => '获取通道详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Owner' => [ - 'title' => '通道拥有者。', - 'description' => '通道拥有者。', - 'type' => 'string', - 'example' => 'test_owner', - ], - 'TunnelId' => [ - 'title' => '通道ID。', - 'description' => '通道ID。', - 'type' => 'string', - 'example' => 'test_tunnel_id', - ], - 'CreateTime' => [ - 'title' => '创建时间。', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ModifyTime' => [ - 'title' => '修改时间。', - 'description' => '修改时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'Tags' => [ - 'title' => '标签。', - 'description' => '标签。', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], - 'TunnelQos' => [ - 'title' => '通道限流。', - 'description' => '通道限流。', - '$ref' => '#/components/schemas/TunnelQos', - ], + 'Owner' => ['title' => '通道拥有者。', 'description' => '通道拥有者。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_owner'], + 'TunnelId' => ['title' => '通道ID。', 'description' => '通道ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_tunnel_id'], + 'CreateTime' => ['title' => '创建时间。', 'description' => '创建时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ModifyTime' => ['title' => '修改时间。', 'description' => '修改时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'Tags' => ['title' => '标签。', 'description' => '标签。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], + 'TunnelQos' => ['title' => '通道限流。', 'description' => '通道限流。', 'visibility' => 'Public', '$ref' => '#/components/schemas/TunnelQos'], + ], + ], + 'HdfsAuthConfig' => [ + 'type' => 'object', + 'properties' => [ + 'UserName' => ['type' => 'string'], + 'AuthType' => ['type' => 'string'], ], ], 'ImportQos' => [ 'title' => '任务限流。', 'description' => '任务限流。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'MaxBandWidth' => ['title' => '带宽,单位bit/s。', 'description' => '带宽,单位bit/s。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1073741824'], + 'MaxImportTaskQps' => ['title' => '每秒迁移文件数。', 'description' => '每秒迁移文件数。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + ], + ], + 'Includes' => [ + 'title' => 'A short description of struct', + 'description' => '包含过滤器。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MaxBandWidth' => [ - 'title' => '带宽,单位bit/s。', - 'description' => '带宽,单位bit/s。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1073741824', + 'TimeFilter' => [ + 'title' => 'timeFilter', + 'description' => '最后修改时间过滤器。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['description' => '最后修改时间过滤器。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/TimeFilter'], ], - 'MaxImportTaskQps' => [ - 'title' => '每秒迁移文件数。', - 'description' => '每秒迁移文件数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', + 'Regex' => [ + 'title' => 'regex match', + 'description' => '文件名过滤器。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['description' => '文件名正则表达式。', 'visibility' => 'Public', 'type' => 'string', 'extendType' => 'true'], ], ], ], @@ -1098,308 +413,175 @@ 'description' => '任务运行历史详情。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '任务名称。', - 'description' => '任务名称。', - 'type' => 'string', - 'example' => 'test_name', - ], - 'JobVersion' => [ - 'title' => '任务ID。', - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'test_id', - ], - 'RuntimeId' => [ - 'title' => '执行记录ID。', - 'description' => '任务执行ID。', - 'type' => 'string', - 'example' => '1', - ], - 'CommitId' => [ - 'title' => '状态变更ID。', - 'description' => '任务状态变更ID。', - 'type' => 'string', - 'example' => '2', - ], - 'StartTime' => [ - 'title' => '当前状态开始时间。', - 'description' => '当前状态开始时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'EndTime' => [ - 'title' => '当前状态结束时间。', - 'description' => '当前状态结束时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'Status' => [ - 'title' => '任务状态。', - 'description' => '任务状态。', - 'type' => 'string', - 'example' => 'IMPORT_JOB_DOING', - ], - 'TotalCount' => [ - 'title' => '迁移文件总数量。', - 'description' => '文件总数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - 'default' => '0', - ], - 'CopiedCount' => [ - 'title' => '迁移文件完成数量。', - 'description' => '迁移文件完成数量。包括迁移成功和迁移跳过的文件数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '900', - 'default' => '0', - ], - 'FailedCount' => [ - 'title' => '迁移文件失败数量。', - 'description' => '迁移文件失败数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - 'default' => '0', - ], - 'TotalSize' => [ - 'title' => '迁移文件总Size,单位Byte。', - 'description' => '文件总数据量,单位Byte。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - 'default' => '0', - ], - 'CopiedSize' => [ - 'title' => '迁移文件Size,单位Byte。', - 'description' => '迁移文件数据量,单位Byte。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - 'default' => '0', - ], - 'RuntimeState' => [ - 'title' => '运行状态。取值:Normal/Interrupt。', - 'description' => '运行状态。 '."\n" - .'取值:Normal,正常;Interrupt,异常中断。', - 'type' => 'string', - 'example' => 'Normal', - ], - 'Message' => [ - 'title' => '异常信息。', - 'description' => '异常信息。', - 'type' => 'string', - 'example' => 'test error msg.', - ], - 'Operator' => [ - 'title' => '操作者。', - 'description' => '操作者。 '."\n" - .'取值:user,用户;system,系统。', - 'type' => 'string', - 'example' => 'user', - ], - 'ListStatus' => [ - 'title' => '数据列举状态。取值:Listing,Finished。', - 'description' => '数据列举状态。 '."\n" - .'取值:Listing,列举中;Finished,列举完成。', - 'type' => 'string', - 'example' => 'Listing', - ], - 'SkippedCount' => [ - 'title' => '跳过的文件数', - 'description' => '跳过的文件数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'SkippedSize' => [ - 'title' => '跳过的文件大小', - 'description' => '跳过的文件大小', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100000', - ], + 'Name' => ['title' => '任务名称。', 'description' => '任务名称。', 'type' => 'string', 'example' => 'test_name'], + 'JobVersion' => ['title' => '任务ID。', 'description' => '任务ID。', 'type' => 'string', 'example' => 'test_id'], + 'RuntimeId' => ['title' => '执行记录ID。', 'description' => '任务执行ID。', 'type' => 'string', 'example' => '1'], + 'CommitId' => ['title' => '状态变更ID。', 'description' => '任务状态变更ID。', 'type' => 'string', 'example' => '2'], + 'StartTime' => ['title' => '当前状态开始时间。', 'description' => '当前状态开始时间。', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'EndTime' => ['title' => '当前状态结束时间。', 'description' => '当前状态结束时间。', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'Status' => ['title' => '任务状态。', 'description' => '任务状态。', 'type' => 'string', 'example' => 'IMPORT_JOB_DOING'], + 'TotalCount' => ['title' => '迁移文件总数量。', 'description' => '文件总数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'default' => '0'], + 'CopiedCount' => ['title' => '迁移文件完成数量。', 'description' => '迁移文件完成数量。包括迁移成功和迁移跳过的文件数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '900', 'default' => '0'], + 'FailedCount' => ['title' => '迁移文件失败数量。', 'description' => '迁移文件失败数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'default' => '0'], + 'TotalSize' => ['title' => '迁移文件总Size,单位Byte。', 'description' => '文件总数据量,单位Byte。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'default' => '0'], + 'CopiedSize' => ['title' => '迁移文件Size,单位Byte。', 'description' => '迁移文件数据量,单位Byte。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'default' => '0'], + 'RuntimeState' => ['title' => '运行状态。取值:Normal/Interrupt。', 'description' => '运行状态。 '."\n" + .'取值:Normal,正常;Interrupt,异常中断。', 'type' => 'string', 'example' => 'Normal'], + 'Message' => ['title' => '异常信息。', 'description' => '异常信息。', 'type' => 'string', 'example' => 'test error msg.'], + 'Operator' => ['title' => '操作者。', 'description' => '操作者。 '."\n" + .'取值:user,用户;system,系统。', 'type' => 'string', 'example' => 'user'], + 'ListStatus' => ['title' => '数据列举状态。取值:Listing,Finished。', 'description' => '数据列举状态。 '."\n" + .'取值:Listing,列举中;Finished,列举完成。', 'type' => 'string', 'example' => 'Listing'], + 'SkippedCount' => ['title' => '跳过的文件数', 'description' => '跳过的文件数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'SkippedSize' => ['title' => '跳过的文件大小', 'description' => '跳过的文件大小', 'type' => 'integer', 'format' => 'int64', 'example' => '100000'], ], 'required' => false, ], + 'KeyExcludes' => [ + 'title' => 'A short description of struct', + 'description' => '排除文件名。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Regex' => [ + 'title' => '过滤规则', + 'description' => '正则表达式列表。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['description' => '正则表达式。', 'visibility' => 'Public', 'type' => 'string', 'extendType' => 'true'], + ], + ], + ], 'KeyFilterItem' => [ 'title' => '文件名过滤项。', 'description' => '文件名过滤项。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'Regex' => [ 'title' => '正则表达式列表。', 'description' => '正则表达式列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '正则表达式。', - 'type' => 'string', - 'example' => '.*\\.jpg$', - ], + 'items' => ['description' => '正则表达式。', 'visibility' => 'Public', 'type' => 'string', 'example' => '.*\\.jpg$', 'extendType' => 'true'], ], ], ], 'KeyFilters' => [ 'title' => '文件名过滤器。', 'description' => '文件名过滤器。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Includes' => [ - 'title' => '包含文件名', - 'description' => '包含文件名。', - '$ref' => '#/components/schemas/KeyFilterItem', - ], - 'Excludes' => [ - 'title' => '排除文件名。', - 'description' => '排除文件名。', - '$ref' => '#/components/schemas/KeyFilterItem', + 'Includes' => ['title' => '包含文件名', 'description' => '包含文件名。', 'visibility' => 'Public', '$ref' => '#/components/schemas/KeyFilterItem'], + 'Excludes' => ['title' => '排除文件名。', 'description' => '排除文件名。', 'visibility' => 'Public', '$ref' => '#/components/schemas/KeyFilterItem'], + ], + ], + 'KeyIncludes' => [ + 'title' => 'A short description of struct', + 'description' => '包含文件名。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Regex' => [ + 'title' => '过滤规则', + 'description' => '正则表达式列表。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => ['description' => '正则表达式。', 'visibility' => 'Public', 'type' => 'string', 'extendType' => 'true'], ], ], ], 'LastModifiedFilters' => [ 'title' => '文件修改时间过滤器。', 'description' => '文件修改时间过滤器。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Includes' => [ - 'title' => '包含文件修改时间。', - 'description' => '包含文件修改时间。', - '$ref' => '#/components/schemas/LastModifyFilterItem', - ], - 'Excludes' => [ - 'title' => '排除文件修改时间。', - 'description' => '排除文件修改时间。', - '$ref' => '#/components/schemas/LastModifyFilterItem', - ], + 'Includes' => ['title' => '包含文件修改时间。', 'description' => '包含文件修改时间。', 'visibility' => 'Public', '$ref' => '#/components/schemas/LastModifyFilterItem'], + 'Excludes' => ['title' => '排除文件修改时间。', 'description' => '排除文件修改时间。', 'visibility' => 'Public', '$ref' => '#/components/schemas/LastModifyFilterItem'], ], ], 'LastModifyFilterItem' => [ 'title' => '文件修改时间过滤项。', 'description' => '文件修改时间过滤项。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'TimeFilter' => [ 'title' => '时间过滤器列表。', 'description' => '时间过滤器列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '时间过滤器。', - '$ref' => '#/components/schemas/TimeFilter', - ], + 'items' => ['description' => '时间过滤器。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/TimeFilter'], ], ], ], 'ListAddressResp' => [ 'title' => '数据地址列表详情。', 'description' => '数据地址列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Truncated' => [ - 'title' => '是否截断。', - 'description' => '是否截断。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'NextMarker' => [ - 'title' => '下次列举数据地址的起点。', - 'description' => '下次列举数据地址的起点。', - 'type' => 'string', - 'example' => 'test_marker', - ], + 'Truncated' => ['title' => '是否截断。', 'description' => '是否截断。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true'], + 'NextMarker' => ['title' => '下次列举数据地址的起点。', 'description' => '下次列举数据地址的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_marker'], 'ImportAddress' => [ 'title' => '数据地址列表。', 'description' => '数据地址列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '数据地址详情。', - '$ref' => '#/components/schemas/GetAddressResp', - ], + 'items' => ['description' => '数据地址详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/GetAddressResp'], ], ], ], 'ListAgentResp' => [ 'title' => '代理列表详情。', 'description' => '代理列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Truncated' => [ - 'title' => '是否截断。', - 'description' => '是否截断。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'NextMarker' => [ - 'title' => '下次列举代理的起点。', - 'description' => '下次列举代理的起点。', - 'type' => 'string', - 'example' => 'test_next_marker', - ], + 'Truncated' => ['title' => '是否截断。', 'description' => '是否截断。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true'], + 'NextMarker' => ['title' => '下次列举代理的起点。', 'description' => '下次列举代理的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_next_marker'], 'ImportAgent' => [ 'title' => '代理列表。', 'description' => '代理列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '代理详情。', - '$ref' => '#/components/schemas/GetAgentResp', - ], + 'items' => ['description' => '代理详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/GetAgentResp'], ], ], ], 'ListJobHistoryResp' => [ 'title' => '任务运行历史列表详情。', 'description' => '任务运行历史列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Truncated' => [ - 'title' => '是否截断。', - 'description' => '是否截断。', - 'type' => 'string', - 'example' => 'true', - ], - 'NextMarker' => [ - 'title' => '下次列举任务运行历史的起点。', - 'description' => '下次列举任务运行历史的起点。', - 'type' => 'string', - 'example' => 'test_next_marker', - ], + 'Truncated' => ['title' => '是否截断。', 'description' => '是否截断。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'true'], + 'NextMarker' => ['title' => '下次列举任务运行历史的起点。', 'description' => '下次列举任务运行历史的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_next_marker'], 'JobHistory' => [ 'title' => '任务运行历史列表。', 'description' => '任务运行历史列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '任务运行历史详情。', - '$ref' => '#/components/schemas/JobHistory', - ], + 'items' => ['description' => '任务运行历史详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/JobHistory'], ], ], ], 'ListJobInfo' => [ 'title' => '任务列表详情。', 'description' => '任务列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Truncated' => [ - 'title' => '是否截断。', - 'description' => '是否截断。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'NextMarker' => [ - 'title' => '下次列举任务的起点。', - 'description' => '下次列举任务的起点。', - 'type' => 'string', - 'example' => 'test_next_marker', - ], + 'Truncated' => ['title' => '是否截断。', 'description' => '是否截断。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true'], + 'NextMarker' => ['title' => '下次列举任务的起点。', 'description' => '下次列举任务的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_next_marker'], 'ImportJob' => [ 'title' => '任务列表。', 'description' => '任务列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '任务详情。', - '$ref' => '#/components/schemas/CreateJobInfo', - ], + 'items' => ['description' => '任务详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/CreateJobInfo'], ], ], 'required' => false, @@ -1407,142 +589,84 @@ 'ListJobResp' => [ 'title' => '任务列表详情。', 'description' => '任务列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'NextMarker' => [ - 'title' => '下次列举任务的起点。', - 'description' => '下次列举任务的起点。', - 'type' => 'string', - 'example' => 'test_nex_marker', - ], - 'Truncated' => [ - 'title' => '是否截断。', - 'description' => '是否截断。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'NextMarker' => ['title' => '下次列举任务的起点。', 'description' => '下次列举任务的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_nex_marker'], + 'Truncated' => ['title' => '是否截断。', 'description' => '是否截断。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true'], 'ImportJob' => [ 'title' => '任务详情列表。', 'description' => '任务详情列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '任务详情。', - '$ref' => '#/components/schemas/GetJobResp', - ], + 'items' => ['description' => '任务详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/GetJobResp'], ], ], ], 'ListTunnelResp' => [ 'title' => '通道列表详情。', 'description' => '通道列表详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'Truncated' => [ 'title' => '是否截断。', 'description' => '是否截断。', + 'visibility' => 'Public', 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'example' => 'true', ], - 'NextMarker' => [ - 'title' => '下次列举通道的起点。', - 'description' => '下次列举通道的起点。', - 'type' => 'string', - 'example' => 'test_marker', - ], + 'NextMarker' => ['title' => '下次列举通道的起点。', 'description' => '下次列举通道的起点。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'test_marker'], 'ImportTunnel' => [ 'title' => '通道列表。', 'description' => '通道列表。', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '通道详情。', - '$ref' => '#/components/schemas/GetTunnelResp', - ], + 'items' => ['description' => '通道详情。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/GetTunnelResp'], ], ], ], 'ScheduleRule' => [ 'title' => '调度规则。', 'description' => '调度规则。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'StartCronExpression' => [ - 'title' => '启动时间,Cron表达式,间隔不低于1小时。', - 'description' => '启动时间,Cron表达式,间隔不低于1小时。', - 'type' => 'string', - 'example' => '0 0 * * * ?', - ], - 'SuspendCronExpression' => [ - 'title' => '暂停时间,Cron表达式,间隔不低于1小时。', - 'description' => '暂停时间,Cron表达式,间隔不低于1小时。', - 'type' => 'string', - 'example' => '0 0 * * * ?', - ], - 'MaxScheduleCount' => [ - 'title' => '自动调度轮次限制,任务执行ID在轮次限制内(任务从开始到结束为一轮执行)会根据启动时间和暂停时间自动调度,超过轮次限制不再自动调度,但是依然可以手动执行。', - 'description' => '自动调度轮次限制,任务执行ID在轮次限制内(任务从开始到结束为一轮执行)会根据启动时间和暂停时间自动调度,超过轮次限制不再自动调度,但是依然可以手动执行。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'StartCronExpression' => ['title' => '启动时间,Cron表达式,间隔不低于1小时。', 'description' => '启动时间,Cron表达式,间隔不低于1小时。', 'visibility' => 'Public', 'type' => 'string', 'example' => '0 0 * * * ?'], + 'SuspendCronExpression' => ['title' => '暂停时间,Cron表达式,间隔不低于1小时。', 'description' => '暂停时间,Cron表达式,间隔不低于1小时。', 'visibility' => 'Public', 'type' => 'string', 'example' => '0 0 * * * ?'], + 'MaxScheduleCount' => ['title' => '自动调度轮次限制,任务执行ID在轮次限制内(任务从开始到结束为一轮执行)会根据启动时间和暂停时间自动调度,超过轮次限制不再自动调度,但是依然可以手动执行。', 'description' => '自动调度轮次限制,任务执行ID在轮次限制内(任务从开始到结束为一轮执行)会根据启动时间和暂停时间自动调度,超过轮次限制不再自动调度,但是依然可以手动执行。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], ], ], 'TimeFilter' => [ 'title' => '时间过滤器。', 'description' => '时间过滤器。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'StartTime' => [ - 'title' => '开始时间。', - 'description' => '开始时间。', - 'type' => 'string', - 'example' => '2006-01-01T00:00:00Z', - ], - 'EndTime' => [ - 'title' => '结束时间。', - 'description' => '结束时间。', - 'type' => 'string', - 'example' => '2006-12-31T59:59:59Z', - ], + 'StartTime' => ['title' => '开始时间。', 'description' => '开始时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2006-01-01T00:00:00Z'], + 'EndTime' => ['title' => '结束时间。', 'description' => '结束时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2006-12-31T59:59:59Z'], ], ], 'TunnelQos' => [ 'title' => '通道限流。', 'description' => '通道限流。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MaxQps' => [ - 'title' => '通道的Qps限流,取值大于等于0。默认值是0,表示不受限制。', - 'description' => '通道的Qps限流。 '."\n" - .'取值:大于等于0,默认值是0,表示不受限制。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MaxBandwidth' => [ - 'title' => '通道的带宽限流,单位 Byte/s。 取值:不低于10485760 (10MBps) 。默认值是0,表示不受限制。', - 'description' => '通道的带宽限流,单位 Byte/s。 '."\n" - .'取值:不低于10485760 (10MBps) ,默认值是0,表示不受限制。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1073741824', - ], + 'MaxQps' => ['title' => '通道的Qps限流,取值大于等于0。默认值是0,表示不受限制。', 'description' => '通道的Qps限流。 '."\n" + .'取值:大于等于0,默认值是0,表示不受限制。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'MaxBandwidth' => ['title' => '通道的带宽限流,单位 Byte/s。 取值:不低于10485760 (10MBps) 。默认值是0,表示不受限制。', 'description' => '通道的带宽限流,单位 Byte/s。 '."\n" + .'取值:不低于10485760 (10MBps) ,默认值是0,表示不受限制。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1073741824'], ], ], 'UpdateAddressInfo' => [ 'title' => '更新数据地址详情。', 'description' => '更新数据地址详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'AgentList' => [ - 'title' => '代理列表。', - 'description' => '代理列表。', - 'type' => 'string', - 'example' => 'agent1,agent2,agent3', - ], + 'AgentList' => ['title' => '代理列表。', 'description' => '代理列表。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'agent1,agent2,agent3'], ], ], 'UpdateJobInfo' => [ @@ -1550,135 +674,66 @@ 'description' => '更新任务详情。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '任务状态。 取值: IMPORT_JOB_LAUNCHING,启动任务; IMPORT_JOB_SUSPEND,暂停任务; IMPORT_JOB_CLOSING,关闭任务。', - 'description' => '任务状态。 '."\n" - .'取值:IMPORT_JOB_LAUNCHING,启动任务;IMPORT_JOB_SUSPEND,暂停任务;IMPORT_JOB_CLOSING,关闭任务。', - 'type' => 'string', - 'example' => 'IMPORT_JOB_LAUNCHING', - ], - 'ImportQos' => [ - 'title' => '任务限流。', - 'description' => '任务限流。', - '$ref' => '#/components/schemas/ImportQos', - ], + 'Status' => ['title' => '任务状态。 取值: IMPORT_JOB_LAUNCHING,启动任务; IMPORT_JOB_SUSPEND,暂停任务; IMPORT_JOB_CLOSING,关闭任务。', 'description' => '任务状态。 '."\n" + .'取值:IMPORT_JOB_LAUNCHING,启动任务;IMPORT_JOB_SUSPEND,暂停任务;IMPORT_JOB_CLOSING,关闭任务。', 'type' => 'string', 'example' => 'IMPORT_JOB_LAUNCHING'], + 'ImportQos' => ['title' => '任务限流。', 'description' => '任务限流。', '$ref' => '#/components/schemas/ImportQos'], ], ], 'UpdateTunnelInfo' => [ 'title' => '更新通道详情。', 'description' => '更新通道详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'TunnelQos' => [ - 'title' => '通道限流', - 'description' => '通道限流', - '$ref' => '#/components/schemas/TunnelQos', - ], - 'Tags' => [ - 'title' => '标签', - 'description' => '标签', - 'type' => 'string', - 'example' => 'K1:V1,K2:V2', - ], + 'TunnelQos' => ['title' => '通道限流', 'description' => '通道限流', 'visibility' => 'Public', '$ref' => '#/components/schemas/TunnelQos'], + 'Tags' => ['title' => '标签', 'description' => '标签', 'visibility' => 'Public', 'type' => 'string', 'example' => 'K1:V1,K2:V2'], ], ], 'VerifyAddressResp' => [ 'title' => '校验数据地址详情。', 'description' => '校验数据地址详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '数据地址校验状态。', - 'description' => '数据地址校验状态。', - 'type' => 'string', - 'example' => 'avaliable', - ], - 'VerifyTime' => [ - 'title' => '数据地址校验时间。', - 'description' => '数据地址校验时间。', - 'type' => 'string', - 'example' => '2024-05-01T12:00:00.000Z', - ], - 'ErrorCode' => [ - 'title' => '数据校验错误码。', - 'description' => '数据校验错误码。', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'title' => '数据校验错误信息。', - 'description' => '数据校验错误信息。', - 'type' => 'string', - 'example' => 'Invalid argument.', - ], + 'Status' => ['title' => '数据地址校验状态。', 'description' => '数据地址校验状态。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'avaliable'], + 'VerifyTime' => ['title' => '数据地址校验时间。', 'description' => '数据地址校验时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-05-01T12:00:00.000Z'], + 'ErrorCode' => ['title' => '数据校验错误码。', 'description' => '数据校验错误码。', 'visibility' => 'Public', 'type' => 'string', 'example' => '400'], + 'ErrorMessage' => ['title' => '数据校验错误信息。', 'description' => '数据校验错误信息。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Invalid argument.'], ], ], 'VerifyResp' => [ 'title' => '数据地址校验详情。', 'description' => '数据地址校验详情。', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'HttpCode' => [ - 'title' => 'Http Status。', - 'description' => 'Http Status。', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorCode' => [ - 'title' => '校验失败的错误码。', - 'description' => '校验失败的错误码。', - 'type' => 'string', - 'example' => 'InvalidArgument', - ], - 'ErrorMsg' => [ - 'title' => '校验失败的错误信息。', - 'description' => '校验失败的错误信息。', - 'type' => 'string', - 'example' => 'Invalid argument.', - ], + 'HttpCode' => ['title' => 'Http Status。', 'description' => 'Http Status。', 'visibility' => 'Public', 'type' => 'string', 'example' => '400'], + 'ErrorCode' => ['title' => '校验失败的错误码。', 'description' => '校验失败的错误码。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'InvalidArgument'], + 'ErrorMsg' => ['title' => '校验失败的错误信息。', 'description' => '校验失败的错误信息。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Invalid argument.'], ], ], ], ], 'apis' => [ - 'CreateJob' => [ - 'summary' => '创建迁移任务。', - 'path' => '/job', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateAddress' => [ + 'path' => '/address', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227788', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227759', + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ @@ -1686,255 +741,193 @@ 'in' => 'body', 'style' => 'xml', 'schema' => [ - 'description' => '创建迁移任务请求体。', + 'description' => '创建数据地址请求体。', 'type' => 'object', 'properties' => [ - 'ImportJob' => [ - 'description' => '创建迁移任务详情。', - 'required' => true, - '$ref' => '#/components/schemas/CreateJobInfo', - ], + 'ImportAddress' => ['description' => '创建数据地址详情。', 'required' => false, '$ref' => '#/components/schemas/CreateAddressInfo'], ], 'required' => false, ], ], ], 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建地址', + 'summary' => '创建数据地址。', + 'description' => '- 创建数据地址,您必须有mgw:CreateImportAddress权限。'."\n" + .'- 如果使用代理迁移数据,您需要先创建代理,创建数据地址时关联代理。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAddress'], + ], ], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '创建任务', - 'description' => '- 创建迁移任务,您必须有mgw:CreateImportJob权限。'."\n" - .'- 创建迁移任务前,您需要先创建数据地址。'."\n" - .'- 迁移任务可以运行多轮,每轮运行有一个执行ID。', ], - 'GetJob' => [ - 'summary' => '获取迁移任务详情。', - 'path' => '/job/{jobName}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CreateAgent' => [ + 'summary' => '创建代理。', + 'path' => '/agent', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'read', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227824', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227652', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'byVersion', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '是否使用任务ID获取。', - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'jobName', - 'in' => 'path', - 'schema' => [ - 'description' => '任务名称,如果byVersion为true,该参数表示任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_job_name', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'xml', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '获取任务响应体。', + 'description' => '创建代理请求体。', 'type' => 'object', 'properties' => [ - 'ImportJob' => [ - 'description' => '获取任务详情。', - '$ref' => '#/components/schemas/GetJobResp', - ], + 'ImportAgent' => ['description' => '创建代理详情。', 'required' => false, '$ref' => '#/components/schemas/CreateAgentInfo'], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '创建代理', + 'description' => '- 创建代理,您必须有mgw:CreateImportAgent权限。'."\n" + .'- 当您的数据需要通过专线或VPN迁移上云、自建存储迁移上云时,需要使用代理。'."\n" + .'- 创建代理前,您需要创建一个通道,代理必须关联一个通道。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAgent'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJob>\\n <Name><your-job-name></Name>\\n <SrcAddress><your-src-address-name></SrcAddress>\\n <DestAddress><your-dest-address-name></DestAddress>\\n <Status>IMPORT_JOB_DOING</Status>\\n <EnableMultiVersioning>false</EnableMultiVersioning>\\n <CreateTime>2025-07-04T06:02:21.000Z</CreateTime>\\n <ModifyTime>2025-07-05T06:02:22.000Z</ModifyTime>\\n <Version>31***a7f-188f-****-b266-215***8e49d7</Version>\\n <Audit>\\n <LogMode>off</LogMode>\\n </Audit>\\n <OverwriteMode>always</OverwriteMode>\\n <TransferMode>all</TransferMode>\\n <Tags>K1:V1,K2:V2</Tags>\\n <ParentName><your-parent-job-name></ParentName>\\n <ParentVersion>3***1a7f-18**-41d9-****-21591***49**</ParentVersion>\\n <ConvertSymlinkTarget>false</ConvertSymlinkTarget>\\n <CreateReport>false</CreateReport>\\n <Owner>11***9*38***34**</Owner>\\n <FilterRule>\\n <KeyFilters>\\n <Includes>\\n <Regex/>\\n </Includes>\\n <Excludes>\\n <Regex/>\\n </Excludes>\\n </KeyFilters>\\n <LastModifiedFilters>\\n <Includes>\\n <TimeFilter>\\n <StartTime/>\\n <EndTime/>\\n </TimeFilter>\\n </Includes>\\n <Excludes>\\n <TimeFilter>\\n <StartTime/>\\n <EndTime/>\\n </TimeFilter>\\n </Excludes>\\n </LastModifiedFilters>\\n <FileTypeFilters>\\n <ExcludeSymlink>true</ExcludeSymlink>\\n <ExcludeDir>true</ExcludeDir>\\n </FileTypeFilters>\\n </FilterRule>\\n <ImportQos>\\n <MaxBandWidth>1073741824</MaxBandWidth>\\n <MaxImportTaskQps>1000</MaxImportTaskQps>\\n </ImportQos>\\n <ScheduleRule>\\n <StartCronExpression/>\\n <SuspendCronExpression/>\\n <MaxScheduleCount>0</MaxScheduleCount>\\n </ScheduleRule>\\n <WithStorageClass>false</WithStorageClass>\\n <TargetStorageClass>Standard</TargetStorageClass>\\n <WithLastModifyTime>true</WithLastModifyTime>\\n <AppendableToNormal>true</AppendableToNormal>\\n</ImportJob>","type":"xml"}]', - 'title' => '获取任务', - 'description' => '- 获取迁移任务,您必须有mgw:GetImportJob权限。', ], - 'ListJob' => [ - 'summary' => '列举用户在该区域下的迁移任务。', - 'path' => '/joblist', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CreateJob' => [ + 'summary' => '创建迁移任务。', + 'path' => '/job', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'read', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227837', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227788', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'marker', - 'in' => 'query', - 'schema' => [ - 'description' => '设定从该marker之后列举迁移任务。 '."\n" - .'默认值:无', - 'type' => 'string', - 'required' => false, - 'example' => 'test_marker', - ], - ], - [ - 'name' => 'count', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'xml', 'schema' => [ - 'description' => '指定返回迁移任务的数量。 '."\n" - .'取值:大于0小于等于1000 '."\n" - .'默认值:1000', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '创建迁移任务请求体。', + 'type' => 'object', + 'properties' => [ + 'ImportJob' => ['description' => '创建迁移任务详情。', 'required' => true, '$ref' => '#/components/schemas/CreateJobInfo'], + ], 'required' => false, - 'example' => '1000', ], ], - [ - 'name' => 'parentName', - 'in' => 'query', - 'schema' => [ - 'description' => '父任务名称。指定该参数时,会返回所有该父任务的子任务。', - 'type' => 'string', - 'required' => false, - 'example' => 'test_parent_job_name', - ], + ], + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '创建任务', + 'description' => '- 创建迁移任务,您必须有mgw:CreateImportJob权限。'."\n" + .'- 创建迁移任务前,您需要先创建数据地址。'."\n" + .'- 迁移任务可以运行多轮,每轮运行有一个执行ID。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], ], + ], + ], + 'CreateReport' => [ + 'summary' => '创建迁移报告。', + 'path' => '/report', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'all', - 'in' => 'query', - 'schema' => [ - 'description' => '是否返回子任务。 '."\n" - .'取值:true,false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], ], - 'responses' => [ - 200 => [ + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '228203', + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'xml', 'schema' => [ - 'description' => '列举迁移任务响应体。', + 'description' => '创建迁移报告请求体。', 'type' => 'object', 'properties' => [ - 'ImportJobList' => [ - 'description' => '迁移任务列表详情。', - '$ref' => '#/components/schemas/ListJobResp', - ], + 'CreateReport' => ['description' => '创建迁移报告详情。', 'required' => false, '$ref' => '#/components/schemas/CreateReportInfo'], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJobList>\\n <NextMarker><your-next-job-name></NextMarker>\\n <Truncated>true</Truncated>\\n <ImportJob>\\n <Name><your-job-name></Name>\\n <SrcAddress><your-src-address-name></SrcAddress>\\n <DestAddress><your-dest-address-name></DestAddress>\\n <Status>IMPORT_JOB_DOING</Status>\\n <EnableMultiVersioning>false</EnableMultiVersioning>\\n <CreateTime>2025-07-04T06:02:21.000Z</CreateTime>\\n <ModifyTime>2025-07-05T06:02:22.000Z</ModifyTime>\\n <Version>31***a7f-188f-****-b266-215***8e49d7</Version>\\n <Audit>\\n <LogMode>off</LogMode>\\n </Audit>\\n <OverwriteMode>always</OverwriteMode>\\n <TransferMode>all</TransferMode>\\n <Tags>K1:V1,K2:V2</Tags>\\n <ParentName><your-parent-job-name></ParentName>\\n <ParentVersion>3***1a7f-18**-41d9-****-21591***49**</ParentVersion>\\n <ConvertSymlinkTarget>false</ConvertSymlinkTarget>\\n <CreateReport>false</CreateReport>\\n <Owner>11***9*38***34**</Owner>\\n <FilterRule>\\n <KeyFilters>\\n <Includes>\\n <Regex/>\\n </Includes>\\n <Excludes>\\n <Regex/>\\n </Excludes>\\n </KeyFilters>\\n <LastModifiedFilters>\\n <Includes>\\n <TimeFilter>\\n <StartTime/>\\n <EndTime/>\\n </TimeFilter>\\n </Includes>\\n <Excludes>\\n <TimeFilter>\\n <StartTime/>\\n <EndTime/>\\n </TimeFilter>\\n </Excludes>\\n </LastModifiedFilters>\\n <FileTypeFilters>\\n <ExcludeSymlink>true</ExcludeSymlink>\\n <ExcludeDir>true</ExcludeDir>\\n </FileTypeFilters>\\n </FilterRule>\\n <ImportQos>\\n <MaxBandWidth>1073741824</MaxBandWidth>\\n <MaxImportTaskQps>1000</MaxImportTaskQps>\\n </ImportQos>\\n <ScheduleRule>\\n <StartCronExpression/>\\n <SuspendCronExpression/>\\n <MaxScheduleCount>0</MaxScheduleCount>\\n </ScheduleRule>\\n <WithStorageClass>false</WithStorageClass>\\n <TargetStorageClass>Standard</TargetStorageClass>\\n <WithLastModifyTime>true</WithLastModifyTime>\\n <AppendableToNormal>true</AppendableToNormal>\\n </ImportJob>\\n</ImportJobList>","type":"xml"}]', - 'title' => '列举任务', - 'description' => '- 列举迁移任务,您必须有mgw:ListImportJob权限。', + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '创建迁移报告', + 'description' => '- 创建迁移报告,您必须有mgw:CreateImportReport权限。'."\n" + .'- 如果在创建任务时已指定创建迁移报告,无需再调用该接口。如果没有,可以调用该接口为指定执行ID创建迁移报告。', + 'changeSet' => [], ], - 'UpdateJob' => [ - 'summary' => '创建任务后,您可以通过该方法来启动任务、暂停任务以及关闭任务,也可以通过该方法来调整任务限流信息。', - 'path' => '/job/{jobName}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'CreateTunnel' => [ + 'summary' => '创建通道。', + 'path' => '/tunnel', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227839', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '230272', + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ @@ -1942,1413 +935,1022 @@ 'in' => 'body', 'style' => 'xml', 'schema' => [ - 'description' => '更新任务请求体。', + 'description' => '创建通道请求体。', 'type' => 'object', 'properties' => [ - 'ImportJob' => [ - 'description' => '更新任务详情。', - 'required' => false, - '$ref' => '#/components/schemas/UpdateJobInfo', - ], + 'ImportTunnel' => ['description' => '创建通道详情。', 'required' => false, '$ref' => '#/components/schemas/CreateTunnelInfo'], ], 'required' => false, ], ], - [ - 'name' => 'jobName', - 'in' => 'path', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_job_name', + ], + 'responses' => [ + 200 => [ + 'headers' => [ + 'x-oss-import-tunnel-id' => [ + 'schema' => ['title' => '', 'type' => 'string'], + ], ], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '更新任务', - 'description' => '- 更新迁移任务,您必须有mgw:UpdateImportJob权限。'."\n" - .'- 单个请求只能更新任务状态或任务限流,不能同时更新。', - ], - 'DeleteJob' => [ - 'summary' => '删除迁移任务。', - 'path' => '/job/{jobName}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', + 'title' => '创建通道', + 'description' => '- 创建通道,您必须有mgw:CreateImportTunnel权限。'."\n" + .'- 使用代理迁移数据时,代理必须关联一个通道。'."\n" + .'- 一个通道可同时关联多个代理,您可以通过设置通道的带宽和每秒请求数,对通道关联的多个代理做整体流控限制。', + 'responseParamsDescription' => '创建通道成功会通过响应头x-oss-import-tunnel-id返回通道ID。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTunnel'], + ], ], + ], + 'DeleteAddress' => [ + 'summary' => '删除数据地址。', + 'path' => '/address/{addressName}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227829', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227769', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'forceDelete', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '是否强制删除子任务。如果该任务有子任务,指定为true,会强制删除该任务以及它的子任务,指定为false,会删除失败。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'jobName', + 'name' => 'addressName', 'in' => 'path', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_job_name', - ], + 'schema' => ['description' => '数据地址名称。', 'type' => 'string', 'required' => true, 'example' => 'test_address_name'], ], ], 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '删除任务', - 'description' => '- 删除迁移任务,您必须有mgw:DeleteImportJob权限。'."\n" - .'- 迁移任务的删除是异步的,状态会先置为删除中。', - ], - 'ListJobHistory' => [ - 'summary' => '列举迁移任务运行历史。', - 'path' => '/jobhistory/{jobName}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '删除地址', + 'description' => '- 删除数据地址,您必须有mgw:DeleteImportAddress权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAddress'], + ], ], + ], + 'DeleteAgent' => [ + 'summary' => '删除代理。', + 'path' => '/agent/{agentName}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'read', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228201', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227661', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'jobName', + 'name' => 'agentName', 'in' => 'path', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_job_name', - ], - ], - [ - 'name' => 'runtimeId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务执行ID。指定执行ID,只会list该执行ID的运行历史。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'marker', - 'in' => 'query', - 'schema' => [ - 'description' => '设定从该marker之后列举任务运行历史。 '."\n" - .'默认值:无', - 'type' => 'string', - 'required' => false, - 'example' => 'test_marker', - ], - ], - [ - 'name' => 'count', - 'in' => 'query', - 'schema' => [ - 'description' => '指定返回迁移任务历史的数量。 '."\n" - .'取值:大于0小于等于1000 '."\n" - .'默认值:1000', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '代理名称。', 'type' => 'string', 'required' => true, 'example' => 'test_agent_name'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '列举任务历史响应体。', - 'type' => 'object', - 'properties' => [ - 'JobHistoryList' => [ - 'description' => '列举任务历史列表。', - '$ref' => '#/components/schemas/ListJobHistoryResp', - ], - ], - ], + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '删除代理', + 'description' => '- 删除代理,您必须有mgw:DeleteImportAgent权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAgent'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<JobHistoryList>\\n <Truncated>true</Truncated>\\n <NextMarker>1#3</NextMarker>\\n <JobHistory>\\n <Name><your-job-name></Name>\\n <JobVersion>****-188f-***-b266-****</JobVersion>\\n <RuntimeId>1</RuntimeId>\\n <CommitId>2</CommitId>\\n <StartTime>2025-07-04T07:09:26.000Z</StartTime>\\n <EndTime>2025-07-04T08:09:26.000Z</EndTime>\\n <Status>IMPORT_JOB_DOING</Status>\\n <TotalCount>1000</TotalCount>\\n <CopiedCount>900</CopiedCount>\\n <FailedCount>100</FailedCount>\\n <TotalSize>1000</TotalSize>\\n <CopiedSize>1000</CopiedSize>\\n <RuntimeState>Normal</RuntimeState>\\n <Message/>\\n <Operator>user</Operator>\\n <ListStatus>Listing</ListStatus>\\n <SkippedCount>1000</SkippedCount>\\n <SkippedSize>100000</SkippedSize>\\n </JobHistory>\\n</JobHistoryList>","type":"xml"}]', - 'title' => '列举任务运行历史', - 'description' => '- 列举任务运行历史,您必须有mgw:ListImportJobHistory权限。'."\n" - .'- 迁移任务可以运行多轮,每轮运行有一个唯一的执行ID。'."\n" - .'- 迁移任务运行历史记录了任务的状态变更历史。', ], - 'CreateReport' => [ - 'summary' => '创建迁移报告。', - 'path' => '/report', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteJob' => [ + 'summary' => '删除迁移任务。', + 'path' => '/job/{jobName}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228203', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227829', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'xml', - 'schema' => [ - 'description' => '创建迁移报告请求体。', - 'type' => 'object', - 'properties' => [ - 'CreateReport' => [ - 'description' => '创建迁移报告详情。', - 'required' => false, - '$ref' => '#/components/schemas/CreateReportInfo', - ], - ], - 'required' => false, - ], + 'name' => 'forceDelete', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '是否强制删除子任务。如果该任务有子任务,指定为true,会强制删除该任务以及它的子任务,指定为false,会删除失败。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'jobName', + 'in' => 'path', + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => true, 'example' => 'test_job_name'], ], ], 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '创建迁移报告', - 'description' => '- 创建迁移报告,您必须有mgw:CreateImportReport权限。'."\n" - .'- 如果在创建任务时已指定创建迁移报告,无需再调用该接口。如果没有,可以调用该接口为指定执行ID创建迁移报告。', - ], - 'GetReport' => [ - 'summary' => '获取迁移报告详情。', - 'path' => '/report', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '删除任务', + 'description' => '- 删除迁移任务,您必须有mgw:DeleteImportJob权限。'."\n" + .'- 迁移任务的删除是异步的,状态会先置为删除中。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], + ], ], + ], + 'DeleteTunnel' => [ + 'summary' => '删除通道。', + 'path' => '/tunnel/{tunnelId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'read', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228380', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227642', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'version', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移任务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_job_id', - ], - ], - [ - 'name' => 'runtimeId', - 'in' => 'query', - 'schema' => [ - 'description' => '迁移任务执行ID。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'name' => 'tunnelId', + 'in' => 'path', + 'schema' => ['description' => '通道ID。', 'type' => 'string', 'required' => true, 'example' => 'test_tunnel_id'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '获取迁移报告响应体。', - 'type' => 'object', - 'properties' => [ - 'GetReportResponse' => [ - 'description' => '获取迁移报告详情。', - '$ref' => '#/components/schemas/GetReportResp', - ], - ], - ], + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '删除通道', + 'description' => '- 删除通道,您必须有mgw:DeleteImportTunnel权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTunnel'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<GetReportResponse>\\n <Status>Finished</Status>\\n <ReportCreateTime>1748232558</ReportCreateTime>\\n <ReportEndTime>1748232845</ReportEndTime>\\n <TotalCount>1000</TotalCount>\\n <CopiedCount>800</CopiedCount>\\n <SkippedCount>100</SkippedCount>\\n <FailedCount>100</FailedCount>\\n <JobCreateTime>1754445355</JobCreateTime>\\n <JobEndTime>1754445355</JobEndTime>\\n <JobExecuteTime>1000</JobExecuteTime>\\n <TotalListPrefix>dest_prefix/aliyun_import_report/1**70*****795***/5b***8-148b-4be1-bf71-4****247088/1/total_list/</TotalListPrefix>\\n <SkippedListPrefix>dest_prefix/aliyun_import_report/1**70*****795***/5b***8-148b-4be1-bf71-4****247088/1/skipped_list/</SkippedListPrefix>\\n <FailedListPrefix>dest_prefix/aliyun_import_report/1**70*****795***/5b***8-148b-4be1-bf71-4****247088/1/failed_list/</FailedListPrefix>\\n <ErrorMessage/>\\n</GetReportResponse>","type":"xml"}]', - 'title' => '获取迁移报告', - 'description' => '- 获取迁移报告,您必须有mgw:GetImportReport权限。'."\n" - .'- 迁移报告会推送到您的目的数据地址,具体信息参见迁移教程->后续操作->查看迁移报告。', ], - 'GetJobResult' => [ - 'summary' => '当迁移任务有失败文件时,获取失败文件是否能重试的信息。', - 'path' => '/job/{jobName}?jobResult', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetAddress' => [ + 'summary' => '获取数据地址详情。', + 'path' => '/address/{addressName}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228198', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227766', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'jobName', + 'name' => 'addressName', 'in' => 'path', 'schema' => [ - 'description' => '任务名称。', + 'description' => '数据地址名称。', 'type' => 'string', 'required' => true, - 'example' => 'test_job_name', - ], - ], - [ - 'name' => 'runtimeId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务执行ID。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', + 'enumValueTitles' => [], + 'example' => 'test_address_name', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '获取任务重试信息响应体。', + 'description' => '获取数据地址响应体。', 'type' => 'object', 'properties' => [ - 'ImportJobResult' => [ - 'description' => '获取任务重试信息详情。', - '$ref' => '#/components/schemas/GetJobResultResp', + 'ImportAddress' => [ + 'description' => '获取数据地址详情。', + 'enumValueTitles' => [1 => '1'], + '$ref' => '#/components/schemas/GetAddressResp', ], ], + 'enumValueTitles' => ['s' => 's'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取地址', + 'description' => '- 获取数据地址,您必须有mgw:GetImportAddress权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAddress'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJobResult>\\n <ReadyRetry>Ready</ReadyRetry>\\n <InvPath>dir/mainfest.json</InvPath>\\n <InvBucket><your-bucket-name></InvBucket>\\n <InvDomain>oss-cn-hangzhou.aliyuncs.com</InvDomain>\\n <InvLocation>oss</InvLocation>\\n <InvAccessId>**********************</InvAccessId>\\n <InvAccessSecret>*************************</InvAccessSecret>\\n <InvRegionId>oss-cn-hangzhou</InvRegionId>\\n <AddressType>ossinv</AddressType>\\n <TotalObjectCount>1000</TotalObjectCount>\\n <CopiedObjectCount>800</CopiedObjectCount>\\n <FailedObjectCount>200</FailedObjectCount>\\n <TotalObjectSize>1000</TotalObjectSize>\\n <CopiedObjectSize>800</CopiedObjectSize>\\n <Version>******-188f-41d9-b266-******</Version>\\n <SkippedObjectCount>5000</SkippedObjectCount>\\n <SkippedObjectSize>1000000</SkippedObjectSize>\\n</ImportJobResult>","type":"xml"}]', - 'title' => '获取任务重试信息', - 'description' => '- 获取任务重试信息,您必须有mgw:GetImportJobResult权限。'."\n" - .'- 当任务有失败文件时,迁移服务会为这些失败文件构造一份失败文件列表,调用该接口获取该文件列表的详情,可以据此创建一个新的数据地址,再创建一个子任务。通过这种方式,您能够重新迁移这些失败的文件。', + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddress>\\n <Owner>test_owner</Owner>\\n <Name>test_name</Name>\\n <AddressDetail>\\n <AddressType>oss</AddressType>\\n <Bucket>test_bucket</Bucket>\\n <Domain>test_domain</Domain>\\n <Prefix>test_prefix</Prefix>\\n <AccessId>test_access_id</AccessId>\\n <AccessSecret>test_secret_key</AccessSecret>\\n <Role>test_role</Role>\\n <InvDomain>test_inv_domain</InvDomain>\\n <InvBucket>test_inv_bucket</InvBucket>\\n <InvAccessId>test_inv_access_id</InvAccessId>\\n <InvAccessSecret>test_inv_secret_key</InvAccessSecret>\\n <InvPath>manifest.json</InvPath>\\n <InvRole>test_inv_role</InvRole>\\n <InvLocation>oss</InvLocation>\\n <AgentList>agent1,agent2</AgentList>\\n <RegionId>oss-cn-hangzhou</RegionId>\\n <InvRegionId>oss-cn-hangzhou</InvRegionId>\\n <DataType>oss</DataType>\\n <HdfsAuthConfig>\\n <UserName/>\\n <AuthType/>\\n </HdfsAuthConfig>\\n </AddressDetail>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <VerifyTime>2024-05-01T12:00:00.000Z</VerifyTime>\\n <Version>test_id</Version>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Status>avaliable</Status>\\n <VerifyResult>\\n <HttpCode>400</HttpCode>\\n <ErrorCode>InvalidArgument</ErrorCode>\\n <ErrorMsg>Invalid argument.</ErrorMsg>\\n </VerifyResult>\\n</ImportAddress>","type":"xml"}]', ], - 'CreateAddress' => [ - 'summary' => '创建数据地址。', - 'path' => '/address', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetAgent' => [ + 'summary' => '获取代理详情。', + 'path' => '/agent/{agentName}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227759', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227655', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'xml', + 'name' => 'agentName', + 'in' => 'path', + 'schema' => ['description' => '代理名称。', 'type' => 'string', 'required' => true, 'example' => 'teast_agent_name'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '创建数据地址请求体。', + 'description' => '获取代理响应体。', 'type' => 'object', 'properties' => [ - 'ImportAddress' => [ - 'description' => '创建数据地址详情。', - 'required' => false, - '$ref' => '#/components/schemas/CreateAddressInfo', - ], + 'ImportAgent' => ['description' => '获取代理详情。', '$ref' => '#/components/schemas/GetAgentResp'], ], - 'required' => false, ], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgent>\\n <Owner>test_owner</Owner>\\n <Name>test_name</Name>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <DeployMethod>default</DeployMethod>\\n <AgentEndpoint>vpc</AgentEndpoint>\\n <ActivationKey>6af62558-970d-4f44-8663-4e297170fd6a</ActivationKey>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Version>test_agent_id</Version>\\n <TunnelId>test_tunnel_id</TunnelId>\\n</ImportAgent>","type":"xml"}]', + 'title' => '获取代理', + 'description' => '- 获取代理,您必须有mgw:GetImportAgent权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAgent'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '创建地址', - 'description' => '- 创建数据地址,您必须有mgw:CreateImportAddress权限。'."\n" - .'- 如果使用代理迁移数据,您需要先创建代理,创建数据地址时关联代理。', ], - 'GetAddress' => [ - 'summary' => '获取数据地址详情。', - 'path' => '/address/{addressName}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetAgentStatus' => [ + 'summary' => '获取代理运行状态。', + 'path' => '/agent/{agentName}?status', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227766', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227750', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'addressName', + 'name' => 'agentName', 'in' => 'path', - 'schema' => [ - 'description' => '数据地址名称。', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => 'test_address_name', - ], + 'schema' => ['description' => '代理名称。', 'type' => 'string', 'required' => true, 'example' => 'test_agent_name'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '获取数据地址响应体。', + 'description' => '获取代理状态的响应体。', 'type' => 'object', 'properties' => [ - 'ImportAddress' => [ - 'description' => '获取数据地址详情。', - 'enumValueTitles' => [ - 1 => '1', - ], - '$ref' => '#/components/schemas/GetAddressResp', - ], - ], - 'enumValueTitles' => [ - 's' => 's', + 'ImportAgentStatus' => ['description' => '获取代理状态详情。', '$ref' => '#/components/schemas/GetAgentStatusResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgentStatus>\\n <Status>OK</Status>\\n</ImportAgentStatus>","type":"xml"}]', + 'title' => '获取代理状态', + 'description' => '- 获取代理状态,您必须有mgw:GetImportAgent权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAgentStatus'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddress>\\n <Owner>1***90**87***53*</Owner>\\n <Name><your-address-name></Name>\\n <AddressDetail>\\n <AddressType>ossinv</AddressType>\\n <Bucket><your-bucket-name></Bucket>\\n <Domain>oss-cn-hangzhou.aliyuncs.com</Domain>\\n <Prefix>dir1/dir2/</Prefix>\\n <AccessId>*******************</AccessId>\\n <AccessSecret>*******************</AccessSecret>\\n <Role><your-role-name></Role>\\n <InvDomain>oss-cn-hangzhou.aliyuncs.com</InvDomain>\\n <InvBucket><your-inv-bucket-name></InvBucket>\\n <InvAccessId>*******************</InvAccessId>\\n <InvAccessSecret>*******************</InvAccessSecret>\\n <InvPath>dir/manifest.json</InvPath>\\n <InvRole><your-role-name></InvRole>\\n <InvLocation>oss</InvLocation>\\n <AgentList>agnet1,agent2,agent3</AgentList>\\n <RegionId>oss-cn-hangzhou</RegionId>\\n <InvRegionId>oss-cn-hangzhou</InvRegionId>\\n <DataType>oss</DataType>\\n </AddressDetail>\\n <CreateTime>2024-05-01 12:00:00</CreateTime>\\n <ModifyTime>2024-05-01 12:00:00</ModifyTime>\\n <VerifyTime>2024-05-01 12:00:00</VerifyTime>\\n <Version>****sf-****-0078-****-drfg****df1334</Version>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Status>avaliable</Status>\\n <VerifyResult>\\n <HttpCode>200</HttpCode>\\n <ErrorCode/>\\n <ErrorMsg/>\\n </VerifyResult>\\n</ImportAddress>","type":"xml"}]', - 'title' => '获取地址', - 'description' => '- 获取数据地址,您必须有mgw:GetImportAddress权限。', ], - 'ListAddress' => [ - 'summary' => '列举用户在该区域下的数据地址。', - 'path' => '/addresslist', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetJob' => [ + 'summary' => '获取迁移任务详情。', + 'path' => '/job/{jobName}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227770', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227824', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'marker', + 'name' => 'byVersion', 'in' => 'query', - 'schema' => [ - 'description' => '设定从该marker之后列举迁移地址。 '."\n" - .'默认值:无', - 'type' => 'string', - 'required' => false, - 'example' => 'test_marker', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => '是否使用任务ID获取。', 'type' => 'string', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'count', - 'in' => 'query', - 'schema' => [ - 'description' => '指定返回迁移地址的数量。 '."\n" - .'取值:大于0小于等于1000 '."\n" - .'默认值:1000', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'name' => 'jobName', + 'in' => 'path', + 'schema' => ['description' => '任务名称,如果byVersion为true,该参数表示任务ID。', 'type' => 'string', 'required' => true, 'example' => 'test_job_name'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '列举地址响应体。', + 'title' => 'Schema of Response', + 'description' => '获取任务响应体。', 'type' => 'object', 'properties' => [ - 'ImportAddressList' => [ - 'description' => '地址列表详情。', - '$ref' => '#/components/schemas/ListAddressResp', - ], + 'ImportJob' => ['description' => '获取任务详情。', '$ref' => '#/components/schemas/GetJobResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJob>\\n <Name>test_name</Name>\\n <SrcAddress>test_src_address</SrcAddress>\\n <DestAddress>test_dest_address</DestAddress>\\n <Status>IMPORT_JOB_DOING</Status>\\n <EnableMultiVersioning>false</EnableMultiVersioning>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <Version>test_id</Version>\\n <Audit>\\n <LogMode>off</LogMode>\\n </Audit>\\n <OverwriteMode>always</OverwriteMode>\\n <TransferMode>all</TransferMode>\\n <Tags>K1:V1,K2:V2</Tags>\\n <ParentName>test_parent_name</ParentName>\\n <ParentVersion>7db93837-a5ee-4e3a-b3c8-800e7947dabc</ParentVersion>\\n <ConvertSymlinkTarget>false</ConvertSymlinkTarget>\\n <CreateReport>false</CreateReport>\\n <Owner>test_owner</Owner>\\n <FilterRule>\\n <KeyFilters>\\n <Includes>\\n <Regex>.*\\\\.jpg$</Regex>\\n </Includes>\\n <Excludes>\\n <Regex>.*\\\\.jpg$</Regex>\\n </Excludes>\\n </KeyFilters>\\n <LastModifiedFilters>\\n <Includes>\\n <TimeFilter>\\n <StartTime>2006-01-01T00:00:00Z</StartTime>\\n <EndTime>2006-12-31T59:59:59Z</EndTime>\\n </TimeFilter>\\n </Includes>\\n <Excludes>\\n <TimeFilter>\\n <StartTime>2006-01-01T00:00:00Z</StartTime>\\n <EndTime>2006-12-31T59:59:59Z</EndTime>\\n </TimeFilter>\\n </Excludes>\\n </LastModifiedFilters>\\n <FileTypeFilters>\\n <ExcludeSymlink>false</ExcludeSymlink>\\n <ExcludeDir>false</ExcludeDir>\\n </FileTypeFilters>\\n </FilterRule>\\n <ImportQos>\\n <MaxBandWidth>1073741824</MaxBandWidth>\\n <MaxImportTaskQps>1000</MaxImportTaskQps>\\n </ImportQos>\\n <ScheduleRule>\\n <StartCronExpression>0 0 * * * ?</StartCronExpression>\\n <SuspendCronExpression>0 0 * * * ?</SuspendCronExpression>\\n <MaxScheduleCount>1</MaxScheduleCount>\\n </ScheduleRule>\\n</ImportJob>","type":"xml"}]', + 'title' => '获取任务', + 'description' => '- 获取迁移任务,您必须有mgw:GetImportJob权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJob'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddressList>\\n <Truncated>true</Truncated>\\n <NextMarker><your-next-address-name></NextMarker>\\n <ImportAddress>\\n <Owner>1***90**87***53*</Owner>\\n <Name><your-address-name></Name>\\n <AddressDetail>\\n <AddressType>ossinv</AddressType>\\n <Bucket><your-bucket-name></Bucket>\\n <Domain>oss-cn-hangzhou.aliyuncs.com</Domain>\\n <Prefix>dir1/dir2/</Prefix>\\n <AccessId>*******************</AccessId>\\n <AccessSecret>*******************</AccessSecret>\\n <Role><your-role-name></Role>\\n <InvDomain>oss-cn-hangzhou.aliyuncs.com</InvDomain>\\n <InvBucket><your-inv-bucket-name></InvBucket>\\n <InvAccessId>*******************</InvAccessId>\\n <InvAccessSecret>*******************</InvAccessSecret>\\n <InvPath>dir/manifest.json</InvPath>\\n <InvRole><your-role-name></InvRole>\\n <InvLocation>oss</InvLocation>\\n <AgentList>agnet1,agent2,agent3</AgentList>\\n <RegionId>oss-cn-hangzhou</RegionId>\\n <InvRegionId>oss-cn-hangzhou</InvRegionId>\\n <DataType>oss</DataType>\\n </AddressDetail>\\n <CreateTime>2024-05-01 12:00:00</CreateTime>\\n <ModifyTime>2024-05-01 12:00:00</ModifyTime>\\n <VerifyTime>2024-05-01 12:00:00</VerifyTime>\\n <Version>****sf-****-0078-****-drfg****df1334</Version>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Status>avaliable</Status>\\n <VerifyResult>\\n <HttpCode>200</HttpCode>\\n <ErrorCode/>\\n <ErrorMsg/>\\n </VerifyResult>\\n </ImportAddress>\\n</ImportAddressList>","type":"xml"}]', - 'title' => '列举地址', - 'description' => '- 列举数据地址,您必须有mgw:ListImportAddress权限。', ], - 'UpdateAddress' => [ - 'summary' => '更新数据地址。', - 'path' => '/address/{addressName}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'GetJobResult' => [ + 'summary' => '当迁移任务有失败文件时,获取失败文件是否能重试的信息。', + 'path' => '/job/{jobName}?jobResult', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '232066', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '228198', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'addressName', + 'name' => 'jobName', 'in' => 'path', - 'schema' => [ - 'description' => '数据地址名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_address_name', - ], + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => true, 'example' => 'test_job_name'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'xml', + 'name' => 'runtimeId', + 'in' => 'query', + 'schema' => ['description' => '任务执行ID。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '更新数据地址请求体。', + 'description' => '获取任务重试信息响应体。', 'type' => 'object', 'properties' => [ - 'ImportAddress' => [ - 'description' => '更新数据地址详情。', - 'required' => false, - '$ref' => '#/components/schemas/UpdateAddressInfo', - ], + 'ImportJobResult' => ['description' => '获取任务重试信息详情。', '$ref' => '#/components/schemas/GetJobResultResp'], ], - 'required' => false, ], ], ], - 'responses' => [ - 200 => [], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJobResult>\\n <ReadyRetry>Ready</ReadyRetry>\\n <InvPath>mainfest.json</InvPath>\\n <InvBucket>test_sys_bucket</InvBucket>\\n <InvDomain>test_domain</InvDomain>\\n <InvLocation>oss</InvLocation>\\n <InvAccessId>test_access_id</InvAccessId>\\n <InvAccessSecret>test_secret_key</InvAccessSecret>\\n <InvRegionId>test_region_id</InvRegionId>\\n <AddressType>ossinv</AddressType>\\n <TotalObjectCount>1000</TotalObjectCount>\\n <CopiedObjectCount>800</CopiedObjectCount>\\n <FailedObjectCount>200</FailedObjectCount>\\n <TotalObjectSize>1000</TotalObjectSize>\\n <CopiedObjectSize>800</CopiedObjectSize>\\n <Version>test_job_id</Version>\\n</ImportJobResult>","type":"xml"}]', + 'title' => '获取任务重试信息', + 'description' => '- 获取任务重试信息,您必须有mgw:GetImportJobResult权限。'."\n" + .'- 当任务有失败文件时,迁移服务会为这些失败文件构造一份失败文件列表,调用该接口获取该文件列表的详情,可以据此创建一个新的数据地址,再创建一个子任务。通过这种方式,您能够重新迁移这些失败的文件。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobResult'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '更新地址', - 'description' => '- 更新数据地址,您必须有mgw:UpdateImportAddress权限。'."\n" - .'- 数据地址关联了代理时,支持扩容和缩容代理。', ], - 'DeleteAddress' => [ - 'summary' => '删除数据地址。', - 'path' => '/address/{addressName}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'GetReport' => [ + 'summary' => '获取迁移报告详情。', + 'path' => '/report', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227769', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '228380', + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'addressName', - 'in' => 'path', + 'name' => 'version', + 'in' => 'query', + 'schema' => ['description' => '迁移任务ID。', 'type' => 'string', 'required' => true, 'example' => 'test_job_id'], + ], + [ + 'name' => 'runtimeId', + 'in' => 'query', + 'schema' => ['description' => '迁移任务执行ID。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '数据地址名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_address_name', + 'title' => 'Schema of Response', + 'description' => '获取迁移报告响应体。', + 'type' => 'object', + 'properties' => [ + 'GetReportResponse' => ['description' => '获取迁移报告详情。', '$ref' => '#/components/schemas/GetReportResp'], + ], ], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<GetReportResponse>\\n <Status>Running</Status>\\n <ReportCreateTime>2024-05-01T12:00:00.000Z</ReportCreateTime>\\n <ReportEndTime>2024-05-01T12:00:00.000Z</ReportEndTime>\\n <TotalCount>1000</TotalCount>\\n <CopiedCount>800</CopiedCount>\\n <SkippedCount>100</SkippedCount>\\n <FailedCount>100</FailedCount>\\n <JobCreateTime>2024-05-01T12:00:00.000Z</JobCreateTime>\\n <JobEndTime>2024-05-01T12:00:00.000Z</JobEndTime>\\n <JobExecuteTime>1000s</JobExecuteTime>\\n <TotalListPrefix>test_total_prefix/</TotalListPrefix>\\n <SkippedListPrefix>test_skipped_prefix/</SkippedListPrefix>\\n <FailedListPrefix>test_failed_prefix/</FailedListPrefix>\\n <ErrorMessage>test error msg.</ErrorMessage>\\n</GetReportResponse>","type":"xml"}]', + 'title' => '获取迁移报告', + 'description' => '- 获取迁移报告,您必须有mgw:GetImportReport权限。'."\n" + .'- 迁移报告会推送到您的目的数据地址,具体信息参见迁移教程->后续操作->查看迁移报告。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetReport'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '删除地址', - 'description' => '- 删除数据地址,您必须有mgw:DeleteImportAddress权限。', ], - 'VerifyAddress' => [ - 'summary' => '校验数据地址是否可用。', - 'path' => '/address/{addressName}?verify', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetTunnel' => [ + 'summary' => '获取通道详情。', + 'path' => '/tunnel/{tunnelId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227775', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227629', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'addressName', + 'name' => 'tunnelId', 'in' => 'path', - 'schema' => [ - 'description' => '数据地址名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_address_name', - ], + 'schema' => ['description' => '通道ID。', 'type' => 'string', 'required' => true, 'example' => 'test_tunnel_id'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '校验数据地址响应体。', + 'description' => '获取通道响应体。', 'type' => 'object', 'properties' => [ - 'VerifyAddressResponse' => [ - 'description' => '校验数据地址详情。', - '$ref' => '#/components/schemas/VerifyAddressResp', - ], + 'ImportTunnel' => ['description' => '获取通道详情。', '$ref' => '#/components/schemas/GetTunnelResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportTunnel>\\n <Owner>test_owner</Owner>\\n <TunnelId>test_tunnel_id</TunnelId>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <Tags>K1:V1,K2:V2</Tags>\\n <TunnelQos>\\n <MaxQps>100</MaxQps>\\n <MaxBandwidth>1073741824</MaxBandwidth>\\n </TunnelQos>\\n</ImportTunnel>","type":"xml"}]', + 'title' => '获取通道', + 'description' => '- 获取通道,您必须有mgw:GetImportTunnel权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTunnel'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<VerifyAddressResponse>\\n <Status>avaliable</Status>\\n <VerifyTime>2024-05-01 12:00:00</VerifyTime>\\n <ErrorCode/>\\n <ErrorMessage/>\\n</VerifyAddressResponse>","type":"xml"}]', - 'title' => '校验地址', - 'description' => '- 校验数据地址,您必须有mgw:VerifyImportAddress权限。'."\n" - .'- 校验数据地址可用时,不代表一定可用,以任务迁移结果为准。', ], - 'CreateAgent' => [ - 'summary' => '创建代理。', - 'path' => '/agent', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListAddress' => [ + 'summary' => '列举用户在该区域下的数据地址。', + 'path' => '/addresslist', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227652', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227770', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'xml', + 'name' => 'marker', + 'in' => 'query', + 'schema' => ['description' => '设定从该marker之后列举迁移地址。 '."\n" + .'默认值:无', 'type' => 'string', 'required' => false, 'example' => 'test_marker'], + ], + [ + 'name' => 'count', + 'in' => 'query', + 'schema' => ['description' => '指定返回迁移地址的数量。 '."\n" + .'取值:大于0小于等于1000 '."\n" + .'默认值:1000', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '创建代理请求体。', + 'description' => '列举地址响应体。', 'type' => 'object', 'properties' => [ - 'ImportAgent' => [ - 'description' => '创建代理详情。', - 'required' => false, - '$ref' => '#/components/schemas/CreateAgentInfo', - ], + 'ImportAddressList' => ['description' => '地址列表详情。', '$ref' => '#/components/schemas/ListAddressResp'], ], - 'required' => false, ], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '列举地址', + 'description' => '- 列举数据地址,您必须有mgw:ListImportAddress权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAddress'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '创建代理', - 'description' => '- 创建代理,您必须有mgw:CreateImportAgent权限。'."\n" - .'- 当您的数据需要通过专线或VPN迁移上云、自建存储迁移上云时,需要使用代理。'."\n" - .'- 创建代理前,您需要创建一个通道,代理必须关联一个通道。', + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddressList>\\n <Truncated>true</Truncated>\\n <NextMarker>test_marker</NextMarker>\\n <ImportAddress>\\n <Owner>test_owner</Owner>\\n <Name>test_name</Name>\\n <AddressDetail>\\n <AddressType>oss</AddressType>\\n <Bucket>test_bucket</Bucket>\\n <Domain>test_domain</Domain>\\n <Prefix>test_prefix</Prefix>\\n <AccessId>test_access_id</AccessId>\\n <AccessSecret>test_secret_key</AccessSecret>\\n <Role>test_role</Role>\\n <InvDomain>test_inv_domain</InvDomain>\\n <InvBucket>test_inv_bucket</InvBucket>\\n <InvAccessId>test_inv_access_id</InvAccessId>\\n <InvAccessSecret>test_inv_secret_key</InvAccessSecret>\\n <InvPath>manifest.json</InvPath>\\n <InvRole>test_inv_role</InvRole>\\n <InvLocation>oss</InvLocation>\\n <AgentList>agent1,agent2</AgentList>\\n <RegionId>oss-cn-hangzhou</RegionId>\\n <InvRegionId>oss-cn-hangzhou</InvRegionId>\\n <DataType>oss</DataType>\\n <HdfsAuthConfig>\\n <UserName/>\\n <AuthType/>\\n </HdfsAuthConfig>\\n </AddressDetail>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <VerifyTime>2024-05-01T12:00:00.000Z</VerifyTime>\\n <Version>test_id</Version>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Status>avaliable</Status>\\n <VerifyResult>\\n <HttpCode>400</HttpCode>\\n <ErrorCode>InvalidArgument</ErrorCode>\\n <ErrorMsg>Invalid argument.</ErrorMsg>\\n </VerifyResult>\\n </ImportAddress>\\n</ImportAddressList>","type":"xml"}]', ], - 'GetAgent' => [ - 'summary' => '获取代理详情。', - 'path' => '/agent/{agentName}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListAgent' => [ + 'summary' => '列举用户在该区域下的代理。', + 'path' => '/agentlist', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227655', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227670', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'agentName', - 'in' => 'path', - 'schema' => [ - 'description' => '代理名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'teast_agent_name', - ], + 'name' => 'marker', + 'in' => 'query', + 'schema' => ['description' => '设定从该marker之后列举代理。 '."\n" + .'默认值:无', 'type' => 'string', 'required' => false, 'example' => 'test_agent'], + ], + [ + 'name' => 'count', + 'in' => 'query', + 'schema' => ['description' => '指定返回代理的数量。 '."\n" + .'取值:大于0小于等于1000 '."\n" + .'默认值:1000', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '获取代理响应体。', + 'description' => '列举代理的响应体。', 'type' => 'object', 'properties' => [ - 'ImportAgent' => [ - 'description' => '获取代理详情。', - '$ref' => '#/components/schemas/GetAgentResp', - ], + 'ImportAgentList' => ['description' => '代理列表详情。', '$ref' => '#/components/schemas/ListAgentResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgentList>\\n <Truncated>true</Truncated>\\n <NextMarker>test_next_marker</NextMarker>\\n <ImportAgent>\\n <Owner>test_owner</Owner>\\n <Name>test_name</Name>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <DeployMethod>default</DeployMethod>\\n <AgentEndpoint>vpc</AgentEndpoint>\\n <ActivationKey>6af62558-970d-4f44-8663-4e297170fd6a</ActivationKey>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Version>test_agent_id</Version>\\n <TunnelId>test_tunnel_id</TunnelId>\\n </ImportAgent>\\n</ImportAgentList>","type":"xml"}]', + 'title' => '列举代理', + 'description' => '- 列举代理,您必须有mgw:ListImportAgent权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAgent'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgent>\\n <Owner>1***90**87***53*</Owner>\\n <Name><your-agent-name></Name>\\n <CreateTime>2024-05-01 12:00:00</CreateTime>\\n <ModifyTime>2024-05-01 12:00:00</ModifyTime>\\n <DeployMethod>default</DeployMethod>\\n <AgentEndpoint>vpc</AgentEndpoint>\\n <ActivationKey/>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Version>****33f-****-4740-****-bc4f****332b3</Version>\\n <TunnelId>****13f-****-0567-****-af8d****446665</TunnelId>\\n</ImportAgent>","type":"xml"}]', - 'title' => '获取代理', - 'description' => '- 获取代理,您必须有mgw:GetImportAgent权限。', ], - 'ListAgent' => [ - 'summary' => '列举用户在该区域下的代理。', - 'path' => '/agentlist', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListJob' => [ + 'summary' => '列举用户在该区域下的迁移任务。', + 'path' => '/joblist', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227670', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227837', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ 'name' => 'marker', 'in' => 'query', - 'schema' => [ - 'description' => '设定从该marker之后列举代理。 '."\n" - .'默认值:无', - 'type' => 'string', - 'required' => false, - 'example' => 'test_agent', - ], + 'schema' => ['description' => '设定从该marker之后列举迁移任务。 '."\n" + .'默认值:无', 'type' => 'string', 'required' => false, 'example' => 'test_marker'], ], [ 'name' => 'count', 'in' => 'query', - 'schema' => [ - 'description' => '指定返回代理的数量。 '."\n" - .'取值:大于0小于等于1000 '."\n" - .'默认值:1000', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '指定返回迁移任务的数量。 '."\n" + .'取值:大于0小于等于1000 '."\n" + .'默认值:1000', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'parentName', + 'in' => 'query', + 'schema' => ['description' => '父任务名称。指定该参数时,会返回所有该父任务的子任务。', 'type' => 'string', 'required' => false, 'example' => 'test_parent_job_name'], + ], + [ + 'name' => 'all', + 'in' => 'query', + 'schema' => ['description' => '是否返回子任务。 '."\n" + .'取值:true,false。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '列举代理的响应体。', + 'description' => '列举迁移任务响应体。', 'type' => 'object', 'properties' => [ - 'ImportAgentList' => [ - 'description' => '代理列表详情。', - '$ref' => '#/components/schemas/ListAgentResp', - ], + 'ImportJobList' => ['description' => '迁移任务列表详情。', '$ref' => '#/components/schemas/ListJobResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJobList>\\n <NextMarker>test_nex_marker</NextMarker>\\n <Truncated>true</Truncated>\\n <ImportJob>\\n <Name>test_name</Name>\\n <SrcAddress>test_src_address</SrcAddress>\\n <DestAddress>test_dest_address</DestAddress>\\n <Status>IMPORT_JOB_DOING</Status>\\n <EnableMultiVersioning>false</EnableMultiVersioning>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <Version>test_id</Version>\\n <Audit>\\n <LogMode>off</LogMode>\\n </Audit>\\n <OverwriteMode>always</OverwriteMode>\\n <TransferMode>all</TransferMode>\\n <Tags>K1:V1,K2:V2</Tags>\\n <ParentName>test_parent_name</ParentName>\\n <ParentVersion>7db93837-a5ee-4e3a-b3c8-800e7947dabc</ParentVersion>\\n <ConvertSymlinkTarget>false</ConvertSymlinkTarget>\\n <CreateReport>false</CreateReport>\\n <Owner>test_owner</Owner>\\n <FilterRule>\\n <KeyFilters>\\n <Includes>\\n <Regex>.*\\\\.jpg$</Regex>\\n </Includes>\\n <Excludes>\\n <Regex>.*\\\\.jpg$</Regex>\\n </Excludes>\\n </KeyFilters>\\n <LastModifiedFilters>\\n <Includes>\\n <TimeFilter>\\n <StartTime>2006-01-01T00:00:00Z</StartTime>\\n <EndTime>2006-12-31T59:59:59Z</EndTime>\\n </TimeFilter>\\n </Includes>\\n <Excludes>\\n <TimeFilter>\\n <StartTime>2006-01-01T00:00:00Z</StartTime>\\n <EndTime>2006-12-31T59:59:59Z</EndTime>\\n </TimeFilter>\\n </Excludes>\\n </LastModifiedFilters>\\n <FileTypeFilters>\\n <ExcludeSymlink>false</ExcludeSymlink>\\n <ExcludeDir>false</ExcludeDir>\\n </FileTypeFilters>\\n </FilterRule>\\n <ImportQos>\\n <MaxBandWidth>1073741824</MaxBandWidth>\\n <MaxImportTaskQps>1000</MaxImportTaskQps>\\n </ImportQos>\\n <ScheduleRule>\\n <StartCronExpression>0 0 * * * ?</StartCronExpression>\\n <SuspendCronExpression>0 0 * * * ?</SuspendCronExpression>\\n <MaxScheduleCount>1</MaxScheduleCount>\\n </ScheduleRule>\\n </ImportJob>\\n</ImportJobList>","type":"xml"}]', + 'title' => '列举任务', + 'description' => '- 列举迁移任务,您必须有mgw:ListImportJob权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJob'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgentList>\\n <Truncated>true</Truncated>\\n <NextMarker><your-next-agent-name></NextMarker>\\n <ImportAgent>\\n <Owner>1***90**87***53*</Owner>\\n <Name><your-agent-name></Name>\\n <CreateTime>2024-05-01 12:00:00</CreateTime>\\n <ModifyTime>2024-05-01 12:00:00</ModifyTime>\\n <DeployMethod>default</DeployMethod>\\n <AgentEndpoint>vpc</AgentEndpoint>\\n <ActivationKey/>\\n <Tags>K1:V1,K2:V2</Tags>\\n <Version>****33f-****-4740-****-bc4f****332b3</Version>\\n <TunnelId>****13f-****-0567-****-af8d****446665</TunnelId>\\n </ImportAgent>\\n</ImportAgentList>","type":"xml"}]', - 'title' => '列举代理', - 'description' => '- 列举代理,您必须有mgw:ListImportAgent权限。', ], - 'GetAgentStatus' => [ - 'summary' => '获取代理运行状态。', - 'path' => '/agent/{agentName}?status', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListJobHistory' => [ + 'summary' => '列举迁移任务运行历史。', + 'path' => '/jobhistory/{jobName}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227750', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '228201', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'agentName', + 'name' => 'jobName', 'in' => 'path', - 'schema' => [ - 'description' => '代理名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_agent_name', - ], + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => true, 'example' => 'test_job_name'], + ], + [ + 'name' => 'runtimeId', + 'in' => 'query', + 'schema' => ['description' => '任务执行ID。指定执行ID,只会list该执行ID的运行历史。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'marker', + 'in' => 'query', + 'schema' => ['description' => '设定从该marker之后列举任务运行历史。 '."\n" + .'默认值:无', 'type' => 'string', 'required' => false, 'example' => 'test_marker'], + ], + [ + 'name' => 'count', + 'in' => 'query', + 'schema' => ['description' => '指定返回迁移任务历史的数量。 '."\n" + .'取值:大于0小于等于1000 '."\n" + .'默认值:1000', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '获取代理状态的响应体。', + 'title' => 'Schema of Response', + 'description' => '列举任务历史响应体。', 'type' => 'object', 'properties' => [ - 'ImportAgentStatus' => [ - 'description' => '获取代理状态详情。', - '$ref' => '#/components/schemas/GetAgentStatusResp', - ], + 'JobHistoryList' => ['description' => '列举任务历史列表。', '$ref' => '#/components/schemas/ListJobHistoryResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<JobHistoryList>\\n <Truncated>true</Truncated>\\n <NextMarker>test_next_marker</NextMarker>\\n <JobHistory>\\n <Name>test_name</Name>\\n <JobVersion>test_id</JobVersion>\\n <RuntimeId>1</RuntimeId>\\n <CommitId>2</CommitId>\\n <StartTime>2024-05-01T12:00:00.000Z</StartTime>\\n <EndTime>2024-05-01T12:00:00.000Z</EndTime>\\n <Status>IMPORT_JOB_DOING</Status>\\n <TotalCount>1000</TotalCount>\\n <CopiedCount>900</CopiedCount>\\n <FailedCount>100</FailedCount>\\n <TotalSize>1000</TotalSize>\\n <CopiedSize>1000</CopiedSize>\\n <RuntimeState>Normal</RuntimeState>\\n <Message>test error msg.</Message>\\n <Operator>user</Operator>\\n <ListStatus>Listing</ListStatus>\\n <SkippedCount>1000</SkippedCount>\\n <SkippedSize>100000</SkippedSize>\\n </JobHistory>\\n</JobHistoryList>","type":"xml"}]', + 'title' => '列举任务运行历史', + 'description' => '- 列举任务运行历史,您必须有mgw:ListImportJobHistory权限。'."\n" + .'- 迁移任务可以运行多轮,每轮运行有一个唯一的执行ID。'."\n" + .'- 迁移任务运行历史记录了任务的状态变更历史。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobHistory'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgentStatus>\\n <Status>OK</Status>\\n <AgentVersion>1.5.0</AgentVersion>\\n <AgentIP>192.168.0.2</AgentIP>\\n</ImportAgentStatus>","type":"xml"}]', - 'title' => '获取代理状态', - 'description' => '- 获取代理状态,您必须有mgw:GetImportAgent权限。', ], - 'DeleteAgent' => [ - 'summary' => '删除代理。', - 'path' => '/agent/{agentName}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'ListTunnel' => [ + 'summary' => '列举通道。', + 'path' => '/tunnellist', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227661', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '227644', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'agentName', - 'in' => 'path', + 'name' => 'marker', + 'in' => 'query', + 'schema' => ['description' => '设定从该marker之后列举通道。 '."\n" + .'默认值:无', 'type' => 'string', 'required' => false, 'example' => 'test_marker'], + ], + [ + 'name' => 'count', + 'in' => 'query', + 'schema' => ['description' => '指定返回通道的数量。 '."\n" + .'取值:大于0小于等于1000 '."\n" + .'默认值:1000', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '代理名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_agent_name', + 'description' => '列举通道响应体。', + 'type' => 'object', + 'properties' => [ + 'ImportTunnelList' => ['description' => '通道列表详情。', '$ref' => '#/components/schemas/ListTunnelResp'], + ], ], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportTunnelList>\\n <Truncated>true</Truncated>\\n <NextMarker>test_marker</NextMarker>\\n <ImportTunnel>\\n <Owner>test_owner</Owner>\\n <TunnelId>test_tunnel_id</TunnelId>\\n <CreateTime>2024-05-01T12:00:00.000Z</CreateTime>\\n <ModifyTime>2024-05-01T12:00:00.000Z</ModifyTime>\\n <Tags>K1:V1,K2:V2</Tags>\\n <TunnelQos>\\n <MaxQps>100</MaxQps>\\n <MaxBandwidth>1073741824</MaxBandwidth>\\n </TunnelQos>\\n </ImportTunnel>\\n</ImportTunnelList>","type":"xml"}]', + 'title' => '列举通道', + 'description' => '- 列举通道,您必须有mgw:ListImportTunnel权限。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTunnel'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '删除代理', - 'description' => '- 删除代理,您必须有mgw:DeleteImportAgent权限。', ], - 'CreateTunnel' => [ - 'summary' => '创建通道。', - 'path' => '/tunnel', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UpdateAddress' => [ + 'summary' => '更新数据地址。', + 'path' => '/address/{addressName}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '230272', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeCode' => '232066', + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ + 'name' => 'addressName', + 'in' => 'path', + 'schema' => ['description' => '数据地址名称。', 'type' => 'string', 'required' => true, 'example' => 'test_address_name'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'xml', 'schema' => [ - 'description' => '创建通道请求体。', + 'description' => '更新数据地址请求体。', 'type' => 'object', 'properties' => [ - 'ImportTunnel' => [ - 'description' => '创建通道详情。', - 'required' => false, - '$ref' => '#/components/schemas/CreateTunnelInfo', - ], + 'ImportAddress' => ['description' => '更新数据地址详情。', 'required' => false, '$ref' => '#/components/schemas/UpdateAddressInfo'], ], 'required' => false, ], ], ], 'responses' => [ - 200 => [ - 'headers' => [ - 'x-oss-import-tunnel-id' => [ - 'schema' => [ - 'title' => '', - 'type' => 'string', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 200 => [], ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '创建通道', - 'description' => '- 创建通道,您必须有mgw:CreateImportTunnel权限。'."\n" - .'- 使用代理迁移数据时,代理必须关联一个通道。'."\n" - .'- 一个通道可同时关联多个代理,您可以通过设置通道的带宽和每秒请求数,对通道关联的多个代理做整体流控限制。', - 'responseParamsDescription' => '创建通道成功会通过响应头x-oss-import-tunnel-id返回通道ID。', - ], - 'GetTunnel' => [ - 'summary' => '获取通道详情。', - 'path' => '/tunnel/{tunnelId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '更新地址', + 'description' => '- 更新数据地址,您必须有mgw:UpdateImportAddress权限。'."\n" + .'- 数据地址关联了代理时,支持扩容和缩容代理。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAddress'], + ], ], + ], + 'UpdateJob' => [ + 'summary' => '创建任务后,您可以通过该方法来启动任务、暂停任务以及关闭任务,也可以通过该方法来调整任务限流信息。', + 'path' => '/job/{jobName}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'read', + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227629', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227839', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], ], 'parameters' => [ [ - 'name' => 'tunnelId', - 'in' => 'path', - 'schema' => [ - 'description' => '通道ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_tunnel_id', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'xml', 'schema' => [ - 'description' => '获取通道响应体。', + 'description' => '更新任务请求体。', 'type' => 'object', 'properties' => [ - 'ImportTunnel' => [ - 'description' => '获取通道详情。', - '$ref' => '#/components/schemas/GetTunnelResp', - ], + 'ImportJob' => ['description' => '更新任务详情。', 'required' => false, '$ref' => '#/components/schemas/UpdateJobInfo'], ], + 'required' => false, ], ], + [ + 'name' => 'jobName', + 'in' => 'path', + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => true, 'example' => 'test_job_name'], + ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', + 'title' => '更新任务', + 'description' => '- 更新迁移任务,您必须有mgw:UpdateImportJob权限。'."\n" + .'- 单个请求只能更新任务状态或任务限流,不能同时更新。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportTunnel>\\n <Owner>1*5******7**43*</Owner>\\n <TunnelId>****33f-****-4740-****-bc4f****332b3</TunnelId>\\n <CreateTime>2025-08-03T07:09:25.000Z</CreateTime>\\n <ModifyTime>2025-08-04T07:09:26.000Z</ModifyTime>\\n <Tags>K1:V1,K2:V2</Tags>\\n <TunnelQos>\\n <MaxQps>100</MaxQps>\\n <MaxBandwidth>1073741824</MaxBandwidth>\\n </TunnelQos>\\n</ImportTunnel>","type":"xml"}]', - 'title' => '获取通道', - 'description' => '- 获取通道,您必须有mgw:GetImportTunnel权限。', ], 'UpdateTunnel' => [ 'summary' => '更新通道。', 'path' => '/tunnel/{tunnelId}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ @@ -3356,17 +1958,7 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '227625', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgwXWJG7U', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - ], + 'abilityTreeNodes' => ['FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgwXWJG7U', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], @@ -3374,13 +1966,7 @@ [ 'name' => 'tunnelId', 'in' => 'path', - 'schema' => [ - 'title' => '通道ID。', - 'description' => '通道ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_tunnel_id', - ], + 'schema' => ['title' => '通道ID。', 'description' => '通道ID。', 'type' => 'string', 'required' => true, 'example' => 'test_tunnel_id'], ], [ 'name' => 'body', @@ -3391,12 +1977,7 @@ 'description' => '更新通道请求体。', 'type' => 'object', 'properties' => [ - 'ImportTunnel' => [ - 'title' => '更新通道详情。', - 'description' => '更新通道详情。', - 'required' => false, - '$ref' => '#/components/schemas/UpdateTunnelInfo', - ], + 'ImportTunnel' => ['title' => '更新通道详情。', 'description' => '更新通道详情。', 'required' => false, '$ref' => '#/components/schemas/UpdateTunnelInfo'], ], 'required' => false, ], @@ -3405,203 +1986,139 @@ 'responses' => [ 200 => [], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', 'title' => '更新通道', 'description' => '- 更新通道,您必须有mgw:UpdateImportTunnel权限。', - ], - 'ListTunnel' => [ - 'summary' => '列举通道。', - 'path' => '/tunnellist', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTunnel'], + ], ], + ], + 'VerifyAddress' => [ + 'summary' => '校验数据地址是否可用。', + 'path' => '/address/{addressName}?verify', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], + 'consumes' => ['application/xml'], + 'produces' => ['application/xml'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227644', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], + 'abilityTreeCode' => '227775', + 'abilityTreeNodes' => ['FEATUREhcs_mgwI6FP9O', 'FEATUREhcs_mgwYHC96G', 'FEATUREhcs_mgw6RQIAN', 'FEATUREhcs_mgw3H53CV', 'FEATUREhcs_mgw3ZWPXE', 'FEATUREhcs_mgwXQ9G18', 'FEATUREhcs_mgwBC9F99', 'FEATUREhcs_mgw6BJDT2', 'FEATUREhcs_mgwXWJG7U'], ], 'parameters' => [ [ - 'name' => 'marker', - 'in' => 'query', - 'schema' => [ - 'description' => '设定从该marker之后列举通道。 '."\n" - .'默认值:无', - 'type' => 'string', - 'required' => false, - 'example' => 'test_marker', - ], - ], - [ - 'name' => 'count', - 'in' => 'query', - 'schema' => [ - 'description' => '指定返回通道的数量。 '."\n" - .'取值:大于0小于等于1000 '."\n" - .'默认值:1000', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'name' => 'addressName', + 'in' => 'path', + 'schema' => ['description' => '数据地址名称。', 'type' => 'string', 'required' => true, 'example' => 'test_address_name'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '列举通道响应体。', + 'title' => 'Schema of Response', + 'description' => '校验数据地址响应体。', 'type' => 'object', 'properties' => [ - 'ImportTunnelList' => [ - 'description' => '通道列表详情。', - '$ref' => '#/components/schemas/ListTunnelResp', - ], + 'VerifyAddressResponse' => ['description' => '校验数据地址详情。', '$ref' => '#/components/schemas/VerifyAddressResp'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportTunnelList>\\n <Truncated>true</Truncated>\\n <NextMarker/>\\n <ImportTunnel>\\n <Owner>1*5******7**43*</Owner>\\n <TunnelId>****33f-****-4740-****-bc4f****332b3</TunnelId>\\n <CreateTime>2025-08-03T07:09:25.000Z</CreateTime>\\n <ModifyTime>2025-08-04T07:09:26.000Z</ModifyTime>\\n <Tags>K1:V1,K2:V2</Tags>\\n <TunnelQos>\\n <MaxQps>100</MaxQps>\\n <MaxBandwidth>1073741824</MaxBandwidth>\\n </TunnelQos>\\n </ImportTunnel>\\n</ImportTunnelList>","type":"xml"}]', - 'title' => '列举通道', - 'description' => '- 列举通道,您必须有mgw:ListImportTunnel权限。', - ], - 'DeleteTunnel' => [ - 'summary' => '删除通道。', - 'path' => '/tunnel/{tunnelId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/xml', - ], - 'produces' => [ - 'application/xml', - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227642', - 'abilityTreeNodes' => [ - 'FEATUREhcs_mgwI6FP9O', - 'FEATUREhcs_mgwYHC96G', - 'FEATUREhcs_mgw6RQIAN', - 'FEATUREhcs_mgw3H53CV', - 'FEATUREhcs_mgw3ZWPXE', - 'FEATUREhcs_mgwXQ9G18', - 'FEATUREhcs_mgwBC9F99', - 'FEATUREhcs_mgw6BJDT2', - 'FEATUREhcs_mgwXWJG7U', - ], - ], - 'parameters' => [ - [ - 'name' => 'tunnelId', - 'in' => 'path', - 'schema' => [ - 'description' => '通道ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'test_tunnel_id', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<VerifyAddressResponse>\\n <Status>avaliable</Status>\\n <VerifyTime>2024-05-01T12:00:00.000Z</VerifyTime>\\n <ErrorCode>400</ErrorCode>\\n <ErrorMessage>Invalid argument.</ErrorMessage>\\n</VerifyAddressResponse>","type":"xml"}]', + 'title' => '校验地址', + 'description' => '- 校验数据地址,您必须有mgw:VerifyImportAddress权限。'."\n" + .'- 校验数据地址可用时,不代表一定可用,以任务迁移结果为准。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyAddress'], ], ], - 'responses' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]', - 'title' => '删除通道', - 'description' => '- 删除通道,您必须有mgw:DeleteImportTunnel权限。', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'cn-beijing.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'cn-wulanchabu.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'cn-hangzhou.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'cn-shanghai.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'cn-shenzhen.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'cn-chengdu.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'cn-hongkong.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ap-northeast-1.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ap-southeast-1.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'us-east-1.mgw.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'eu-central-1.mgw.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ap-northeast-1.mgw.aliyuncs.com', 'endpoint' => 'ap-northeast-1.mgw.aliyuncs.com', 'vpc' => 'ap-northeast-1.mgw-internal.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ap-southeast-1.mgw.aliyuncs.com', 'endpoint' => 'ap-southeast-1.mgw.aliyuncs.com', 'vpc' => 'ap-southeast-1.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-beijing.mgw.aliyuncs.com', 'endpoint' => 'cn-beijing.mgw.aliyuncs.com', 'vpc' => 'cn-beijing.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-chengdu.mgw.aliyuncs.com', 'endpoint' => 'cn-chengdu.mgw.aliyuncs.com', 'vpc' => 'cn-chengdu.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-hangzhou.mgw.aliyuncs.com', 'endpoint' => 'cn-hangzhou.mgw.aliyuncs.com', 'vpc' => 'cn-hangzhou.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-hongkong.mgw.aliyuncs.com', 'endpoint' => 'cn-hongkong.mgw.aliyuncs.com', 'vpc' => 'cn-hongkong.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-shanghai.mgw.aliyuncs.com', 'endpoint' => 'cn-shanghai.mgw.aliyuncs.com', 'vpc' => 'cn-shanghai.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-shenzhen.mgw.aliyuncs.com', 'endpoint' => 'cn-shenzhen.mgw.aliyuncs.com', 'vpc' => 'cn-shenzhen.mgw-internal.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'cn-wulanchabu.mgw.aliyuncs.com', 'endpoint' => 'cn-wulanchabu.mgw.aliyuncs.com', 'vpc' => 'cn-wulanchabu.mgw-internal.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'us-east-1.mgw.aliyuncs.com', 'endpoint' => 'us-east-1.mgw.aliyuncs.com', 'vpc' => 'us-east-1.mgw-internal.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'eu-central-1.mgw.aliyuncs.com', 'endpoint' => 'eu-central-1.mgw.aliyuncs.com', 'vpc' => 'eu-central-1.mgw-internal.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'ApiAccessDeniedError', 'message' => 'This version of the online migration service is no longer supported since 2025-01-10 00:00:00 CST, please use our new service.', 'http_code' => 403, 'description' => '旧版在线迁移服务将于2025年1月10日正式下线,请您前往新版控制台使用。'], + ['code' => 'ImportAddressAlreadyExist', 'message' => 'The specified import address already exist.', 'http_code' => 409, 'description' => '同名数据地址已存在。'], + ['code' => 'ImportAddressIsOccupied', 'message' => 'The import address is occupied by import job.', 'http_code' => 409, 'description' => '数据地址正在被使用。'], + ['code' => 'ImportAddressNumExceed', 'message' => 'Import address num exceeded.', 'http_code' => 400, 'description' => '数据地址数量超过限制。'], + ['code' => 'ImportAddressTypeInvalid', 'message' => 'Src or dest import address type is invalid.', 'http_code' => 400, 'description' => '源或目的地址的类型不合法。'], + ['code' => 'ImportAgentAlreadyExist', 'message' => 'The specified import agent already exist.', 'http_code' => 409, 'description' => '同名代理已存在。'], + ['code' => 'ImportAgentIsOccupied', 'message' => 'The import agent is occupied by import address.', 'http_code' => 409, 'description' => '代理正在被使用。'], + ['code' => 'ImportAgentNumExceed', 'message' => 'Import agent num exceeded.', 'http_code' => 400, 'description' => '代理数量超过限制。'], + ['code' => 'ImportJobAlreadyExist', 'message' => 'The specified import job already exist.', 'http_code' => 409, 'description' => '同名任务已存在。'], + ['code' => 'ImportJobConcurrencyExceed', 'message' => 'Concurrency running job exceed limit.', 'http_code' => 400, 'description' => '任务并发执行数量超过上限。'], + ['code' => 'ImportJobConflictOnUpdateStatus', 'message' => 'Update import job status conflict.', 'http_code' => 409, 'description' => '并发更新任务状态有冲突。'], + ['code' => 'ImportJobHasDescendants', 'message' => 'The job has descendants.', 'http_code' => 409, 'description' => '该任务存在子任务。'], + ['code' => 'ImportJobInDeleting', 'message' => 'Import job is in deleting.', 'http_code' => 409, 'description' => '任务正在删除中。'], + ['code' => 'ImportJobNumExceed', 'message' => 'Import job num exceeded.', 'http_code' => 400, 'description' => '任务数量超过限制。'], + ['code' => 'ImportJobRepeatedOnSameAddress', 'message' => 'Already has job on the same srcAddress and destAddress.', 'http_code' => 409, 'description' => '同源同目的地址的任务已存在。'], + ['code' => 'ImportJobUpdateConcurrently', 'message' => 'There is other request update the job concurrently.', 'http_code' => 409, 'description' => '并发更新任务状态发生冲突。'], + ['code' => 'ImportTunnelIsOccupied', 'message' => 'The import tunnel is occupied by import agent.', 'http_code' => 400, 'description' => '通道正在被使用。'], + ['code' => 'InternalError', 'message' => 'Internal server error.', 'http_code' => 500, 'description' => '服务端内部错误。'], + ['code' => 'InvalidImportJobStatus', 'message' => 'The specified import job status is invalid.', 'http_code' => 400, 'description' => '不合法的任务状态。'], + ['code' => 'MissingArgument', 'message' => 'Missing argument.', 'http_code' => 400, 'description' => '缺少必要参数。'], + ['code' => 'NoSuchImportAddress', 'message' => 'The specified import address does not exist.', 'http_code' => 404, 'description' => '数据地址不存在。'], + ['code' => 'NoSuchImportAgent', 'message' => 'The specified import agent does not exist.', 'http_code' => 404, 'description' => '指定的代理不存在。'], + ['code' => 'NoSuchImportJob', 'message' => 'The specified import job does not exist.', 'http_code' => 404, 'description' => '任务不存在。'], + ['code' => 'NoSuchImportJobParent', 'message' => 'The specified import job\'s parent does not exist.', 'http_code' => 404, 'description' => '父任务不存在。'], + ['code' => 'NoSuchImportJobRunTimeId', 'message' => 'The specified import job runtime id not exist.', 'http_code' => 404, 'description' => '指定的任务执行ID不存在。'], + ['code' => 'QpsLimitExceeded', 'message' => 'Qps limit for the operation is exceeded.', 'http_code' => 503, 'description' => '请求频率超过限制。'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJob'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJob'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAgent'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTunnel'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAgentStatus'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAgent'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetReport'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTunnel'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobResult'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobHistory'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAgent'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAgent'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTunnel'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTunnel'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTunnel'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateReport'], ], ], ]; |
