summaryrefslogtreecommitdiff
path: root/data/en_us/hcs-mgw/2024-06-26
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/hcs-mgw/2024-06-26')
-rw-r--r--data/en_us/hcs-mgw/2024-06-26/api-docs.php3859
1 files changed, 3859 insertions, 0 deletions
diff --git a/data/en_us/hcs-mgw/2024-06-26/api-docs.php b/data/en_us/hcs-mgw/2024-06-26/api-docs.php
new file mode 100644
index 0000000..25eb16d
--- /dev/null
+++ b/data/en_us/hcs-mgw/2024-06-26/api-docs.php
@@ -0,0 +1,3859 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'ROA',
+ 'product' => 'hcs-mgw',
+ 'version' => '2024-06-26',
+ ],
+ 'directories' => [
+ [
+ 'id' => 194059,
+ 'title' => 'Tasks',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateJob',
+ 'GetJob',
+ 'ListJob',
+ 'UpdateJob',
+ 'DeleteJob',
+ 'ListJobHistory',
+ 'CreateReport',
+ 'GetReport',
+ 'GetJobResult',
+ ],
+ ],
+ [
+ 'id' => 194069,
+ 'title' => 'Data address',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateAddress',
+ 'GetAddress',
+ 'ListAddress',
+ 'UpdateAddress',
+ 'DeleteAddress',
+ 'VerifyAddress',
+ ],
+ ],
+ [
+ 'id' => 194075,
+ 'title' => 'Agent',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateAgent',
+ 'GetAgent',
+ 'ListAgent',
+ 'GetAgentStatus',
+ 'DeleteAgent',
+ ],
+ ],
+ [
+ 'id' => 194082,
+ 'title' => 'Tunnel',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateTunnel',
+ 'GetTunnel',
+ 'UpdateTunnel',
+ 'ListTunnel',
+ 'DeleteTunnel',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [
+ 'AddressDetail' => [
+ 'title' => '',
+ 'description' => 'The details of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'AddressType' => [
+ 'title' => '',
+ 'description' => 'The type of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ossinv',
+ ],
+ 'Bucket' => [
+ 'title' => '',
+ 'description' => 'The bucket name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_bucket',
+ ],
+ 'Domain' => [
+ 'title' => '',
+ 'description' => 'The domain name of the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_domain',
+ ],
+ 'Prefix' => [
+ 'title' => '',
+ 'description' => 'The bucket prefix.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_prefix',
+ ],
+ 'AccessId' => [
+ 'title' => '',
+ 'description' => 'The AccessKey ID that is used to access the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_access_id',
+ ],
+ 'AccessSecret' => [
+ 'title' => '',
+ 'description' => 'The AccessKey secret that is used to access the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_secret_key',
+ ],
+ 'Role' => [
+ 'title' => '',
+ 'description' => 'The role that is used to migrate data. If the bucket is an Object Storage Service (OSS) bucket, you must specify a role. You do not need to specify an AccessKey pair that is used to access the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_role',
+ ],
+ 'InvDomain' => [
+ 'title' => '',
+ 'description' => 'The domain name of the bucket in which the inventory list resides.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_domain',
+ ],
+ 'InvBucket' => [
+ 'title' => '',
+ 'description' => 'The name of the bucket in which the inventory list resides.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_bucket',
+ ],
+ 'InvAccessId' => [
+ 'title' => '',
+ 'description' => 'The AccessKey ID that is used to access the bucket in which the inventory list resides.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_access_id',
+ ],
+ 'InvAccessSecret' => [
+ 'title' => '',
+ 'description' => 'The AccessKey secret that is used to access the bucket in which the inventory list resides.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_secret_key',
+ ],
+ 'InvPath' => [
+ 'title' => '',
+ 'description' => 'The inventory list. You must specify the file name and file name extension of the inventory list.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'manifest.json',
+ ],
+ 'InvRole' => [
+ 'title' => '',
+ 'description' => 'The role that is used to migrate data for the bucket in which the inventory list resides. If the bucket in which the inventory list resides is an OSS bucket, you must specify a role. You do not need to specify an AccessKey pair that is used to access the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_role',
+ ],
+ 'InvLocation' => [
+ 'title' => '',
+ 'description' => 'The type of the bucket in which the inventory list resides.\\'."\n"
+ .'Valid values: oss, s3, and cos.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'oss',
+ ],
+ 'AgentList' => [
+ 'title' => '',
+ 'description' => 'The associated agents. If you want to access data over an Express Connect circuit or a VPN gateway, you must associate agents.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'agent1,agent2',
+ ],
+ 'RegionId' => [
+ 'title' => '',
+ 'description' => 'The region ID of the bucket. If the bucket is an OSS bucket, you must specify the ID of the region in which the bucket resides. You do not need to specify the domain name of the bucket.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_region_id',
+ ],
+ 'InvRegionId' => [
+ 'title' => '',
+ 'description' => 'The region ID of the bucket in which the inventory list resides. If the bucket in which the inventory list resides is an OSS bucket, you must specify the ID of the region in which the inventory list resides. You do not need to specify the domain name of the inventory list.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_inv_region_id',
+ ],
+ ],
+ ],
+ 'Audit' => [
+ 'title' => '',
+ 'description' => 'The audit method.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'LogMode' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to push migration logs to Simple Log Service (SLS). To push migration logs to SLS, you must create the AliyunOSSImportSlsAuditRole role and grant the required permissions to the role. Valid values: off, basic, and detail. off: does not push migration logs. basic: pushes only migration failure logs. detail: pushes migration success logs and migration failure logs.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'off',
+ ],
+ ],
+ ],
+ 'CreateAddressInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The name of the data address.\\'."\n"
+ .'The name can contain lowercase letters, digits, hyphens (-), and underscores (\\_). The name must be 3 to 63 characters in length. The name is case-sensitive and encoded in UTF-8. The name cannot start with a hyphen (-) or an underscore (\\_). You must specify a name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_name',
+ ],
+ 'AddressDetail' => [
+ 'title' => '',
+ 'description' => 'The details of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'required' => true,
+ '$ref' => '#/components/schemas/AddressDetail',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags in the key:value format.\\'."\n"
+ .'The value can contain letters, digits, hyphens (-), underscores (\\_), and commas (,). The value can be up to 1,024 characters in length.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ ],
+ 'parseType' => 'struct',
+ ],
+ 'CreateAgentInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The name of the agent.\\'."\n"
+ .'The name can contain lowercase letters, digits, hyphens (-), and underscores (\\_). The name must be 3 to 63 characters in length. The name is case-sensitive and encoded in UTF-8. The name cannot start with a hyphen (-) or an underscore (\\_). You must specify a name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_name',
+ ],
+ 'DeployMethod' => [
+ 'title' => '',
+ 'description' => 'The deployment mode of the agent.\\'."\n"
+ .'Set the value to default, which specifies the independent process mode.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'default',
+ ],
+ 'AgentEndpoint' => [
+ 'title' => '',
+ 'description' => 'The method that is used to access the agent.\\'."\n"
+ .'Valid values: public and vpc.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vpc',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags in the key:value format.\\'."\n"
+ .'The value can contain letters, digits, hyphens (-), underscores (\\_), and commas (,). The value can be up to 1,024 characters in length.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ 'TunnelId' => [
+ 'title' => '',
+ 'description' => 'The tunnel ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_tunnel_id',
+ ],
+ ],
+ ],
+ 'CreateJobInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the migration task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The task name.\\'."\n"
+ .'The name can contain lowercase letters, digits, hyphens (-), and underscores (\\_). The name must be 3 to 63 characters in length. The name is case-sensitive and encoded in UTF-8. The name cannot start with a hyphen (-) or an underscore (\\_). You must specify a name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_name',
+ ],
+ 'SrcAddress' => [
+ 'title' => '',
+ 'description' => 'The name of the source data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_src_address',
+ ],
+ 'DestAddress' => [
+ 'title' => '',
+ 'description' => 'The name of the destination data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_dest_address',
+ ],
+ 'OverwriteMode' => [
+ 'title' => '',
+ 'description' => 'The file overwriting mode.\\'."\n"
+ .'Valid values: never and always.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'always',
+ ],
+ 'TransferMode' => [
+ 'title' => '',
+ 'description' => 'The file transfer mode.\\'."\n"
+ .'Valid values: all and lastmodified. all: transfers the full data of files. lastmodified: transfers the incremental data of files.\\'."\n"
+ .'Valid values if OverwriteMode and TransferMode are used together:'."\n"
+ ."\n"
+ .'* A combination of always and all indicates that all files are forcefully overwritten.'."\n"
+ .'* A combination of always and lastmodified indicates that files are overwritten based on the last modification time.'."\n"
+ .'* A combination of never and all indicates that the files with the same name are not overwritten.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'all',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags in the key:value format.\\'."\n"
+ .'The value can contain letters, digits, hyphens (-), underscores (\\_), and commas (,). The value can be up to 1,024 characters in length.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ 'ParentVersion' => [
+ 'title' => '',
+ 'description' => 'The ID of the parent task. When you create a subtask to migrate a file that failed to be migrated, you can specify the ID of the parent task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '6af62558-970d-4f44-8663-4e297170fd6a',
+ ],
+ 'ConvertSymlinkTarget' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the Target attribute value of the symbolic links at the source data address is converted. You can convert the Target attribute value of the symbolic links at the source data address in one of the following scenarios: The source data address is an Object Storage Service (OSS) data address and the destination data address is a local data address. The source data address is a local data address and the destination data address is an OSS data address. The source data address is a local data address and the destination data address is another local data address. This ensures that the symbolic links at the destination data address can point to their objects as expected.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Audit' => [
+ 'title' => '',
+ 'description' => 'The audit method.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/Audit',
+ ],
+ 'EnableMultiVersioning' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to enable multi-version migration. Multi-version migration is not supported.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'FilterRule' => [
+ 'title' => '',
+ 'description' => 'The filtering rule.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/FilterRule',
+ ],
+ 'ImportQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the task.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/ImportQos',
+ ],
+ 'ScheduleRule' => [
+ 'title' => '',
+ 'description' => 'The scheduling rule.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/ScheduleRule',
+ ],
+ 'CreateReport' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to create a migration report.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'CreateReportInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the migration report.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobName' => [
+ 'title' => '',
+ 'description' => 'The task name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_job_name',
+ ],
+ 'Version' => [
+ 'title' => '',
+ 'description' => 'The task ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_job_id',
+ ],
+ 'RuntimeId' => [
+ 'title' => '',
+ 'description' => 'The execution ID of the task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'CreateTunnelInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the tunnel.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TunnelQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the tunnel.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/TunnelQos',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags in the key:value format.\\'."\n"
+ .'The value can contain letters, digits, hyphens (-), underscores (\\_), and commas (,). The value can be up to 1,024 characters in length.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'a:a',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'Excludes' => [
+ 'title' => 'A short description of struct',
+ 'description' => '',
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeFilter' => [
+ 'title' => 'timeFilter',
+ 'description' => 'timeFilter',
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/TimeFilter',
+ ],
+ ],
+ 'Regex' => [
+ 'title' => 'regex',
+ 'description' => 'regex',
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'extendType' => 'true',
+ ],
+ ],
+ ],
+ ],
+ 'FileTypeFilters' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The filter based on the file type.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'ExcludeSymlink' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to filter out symbolic links.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'fasle',
+ ],
+ 'ExcludeDir' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to filter out files in directories.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'fasle',
+ ],
+ ],
+ ],
+ 'FilterRule' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The filtering rule.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'KeyFilters' => [
+ 'title' => '',
+ 'description' => 'The filter based on the file name.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/KeyFilters',
+ ],
+ 'LastModifiedFilters' => [
+ 'title' => '',
+ 'description' => 'The filter based on the file modification time.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/LastModifiedFilters',
+ ],
+ 'FileTypeFilters' => [
+ 'title' => '',
+ 'description' => 'The filter based on the file type.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/FileTypeFilters',
+ ],
+ ],
+ ],
+ 'GetAddressResp' => [
+ 'title' => '',
+ 'description' => 'The queried data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Owner' => [
+ 'title' => '',
+ 'description' => 'The owner of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_owner',
+ ],
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The name of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_name',
+ ],
+ 'AddressDetail' => [
+ 'title' => '',
+ 'description' => 'The details of the data address.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/AddressDetail',
+ ],
+ 'CreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the data address was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'ModifyTime' => [
+ 'title' => '',
+ 'description' => 'The time when the data address was last modified.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'VerifyTime' => [
+ 'title' => '',
+ 'description' => 'The time when the data address was verified.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'Version' => [
+ 'title' => '',
+ 'description' => 'The ID of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_id',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The state of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'unavailable' => 'unavailable',
+ 'available' => 'available',
+ 'notVerify' => 'notVerify',
+ ],
+ 'example' => 'avaliable',
+ ],
+ 'VerifyResult' => [
+ 'title' => '',
+ 'description' => 'The verification result of the data address.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/VerifyResp',
+ ],
+ ],
+ ],
+ 'GetAgentResp' => [
+ 'title' => '',
+ 'description' => 'The queried agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Owner' => [
+ 'title' => '',
+ 'description' => 'The agent owner.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_owner',
+ ],
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The agent name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_name',
+ ],
+ 'CreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the agent was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01T12:00:00.000Z',
+ ],
+ 'ModifyTime' => [
+ 'title' => '',
+ 'description' => 'The time when the agent was last modified.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01T12:00:00.000Z',
+ ],
+ 'DeployMethod' => [
+ 'title' => '',
+ 'description' => 'The deployment mode of the agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'default',
+ ],
+ 'AgentEndpoint' => [
+ 'title' => '',
+ 'description' => 'The method that is used to access the agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'vpc',
+ ],
+ 'ActivationKey' => [
+ 'title' => '',
+ 'description' => 'The security code of the agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '6af62558-970d-4f44-8663-4e297170fd6a',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ 'Version' => [
+ 'title' => '',
+ 'description' => 'The agent ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_agent_id',
+ ],
+ 'TunnelId' => [
+ 'title' => '',
+ 'description' => 'The tunnel ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_tunnel_id',
+ ],
+ ],
+ ],
+ 'GetAgentStatusResp' => [
+ 'title' => '',
+ 'description' => 'The queried state of the agent.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The agent state.\\'."\n"
+ .'Valid values: OK, Disconnected, and NoResponse.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'OK',
+ ],
+ ],
+ 'parseType' => 'struct',
+ ],
+ 'GetJobResp' => [
+ 'title' => '',
+ 'description' => 'The task details.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The task name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_name',
+ ],
+ 'SrcAddress' => [
+ 'title' => '',
+ 'description' => 'The name of the source data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_src_address',
+ ],
+ 'DestAddress' => [
+ 'title' => '',
+ 'description' => 'The name of the destination data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_dest_address',
+ ],
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The task state. Valid values:'."\n"
+ ."\n"
+ .'IMPORT_JOB_BEGIN: The task is created.'."\n"
+ ."\n"
+ .'IMPORT_JOB_LAUNCHING: The task is being started.'."\n"
+ ."\n"
+ .'IMPORT_JOB_PREPARING: The system is preparing for the task.'."\n"
+ ."\n"
+ .'IMPORT_JOB_DOING: The task is running.'."\n"
+ ."\n"
+ .'IMPORT_JOB_SUSPEND: The task is paused.'."\n"
+ ."\n"
+ .'IMPORT_JOB_CLOSING: The task is being closed.'."\n"
+ ."\n"
+ .'IMPORT_JOB_FINISHED: The task is complete.'."\n"
+ ."\n"
+ .'IMPORT_JOB_INTERRUPTED: The task is abnormally interrupted.'."\n"
+ ."\n"
+ .'IMPORT_JOB_CONFIRMED: The task is complete and the user has confirmed the data integrity and consistency.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'IMPORT_JOB_DOING',
+ ],
+ 'EnableMultiVersioning' => [
+ 'title' => '',
+ 'description' => 'Indicates whether multi-version migration is enabled.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'CreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the task was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'ModifyTime' => [
+ 'title' => '',
+ 'description' => 'The time when the task was modified.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'Version' => [
+ 'title' => '',
+ 'description' => 'The task ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_id',
+ ],
+ 'Audit' => [
+ 'title' => '',
+ 'description' => 'The audit method.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/Audit',
+ ],
+ 'OverwriteMode' => [
+ 'title' => '',
+ 'description' => 'The file overwriting mode.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'always',
+ ],
+ 'TransferMode' => [
+ 'title' => '',
+ 'description' => 'The file transfer mode.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'all',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ 'ParentName' => [
+ 'title' => '',
+ 'description' => 'The name of the parent task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_parent_name',
+ ],
+ 'ParentVersion' => [
+ 'title' => '',
+ 'description' => 'The ID of the parent task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '7db93837-a5ee-4e3a-b3c8-800e7947dabc',
+ ],
+ 'ConvertSymlinkTarget' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the Target attribute value of the symbolic links at the source data address is converted.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'CreateReport' => [
+ 'title' => '',
+ 'description' => 'Indicates whether a migration report is created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Owner' => [
+ 'title' => '',
+ 'description' => 'The task owner.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_owner',
+ ],
+ 'FilterRule' => [
+ 'title' => '',
+ 'description' => 'The filtering rule.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/FilterRule',
+ ],
+ 'ImportQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the task.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/ImportQos',
+ ],
+ 'ScheduleRule' => [
+ 'title' => '',
+ 'description' => 'The scheduling rule.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/ScheduleRule',
+ ],
+ ],
+ ],
+ 'GetJobResultResp' => [
+ 'title' => '',
+ 'description' => 'The retry information about the migration task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'ReadyRetry' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the files that failed to be migrated can be migrated again.\\'."\n"
+ .'Valid values: NoNeed, Ready, and NotReady.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Ready',
+ ],
+ 'InvPath' => [
+ 'title' => '',
+ 'description' => 'The inventory list of files that failed to be migrated. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'mainfest.json',
+ ],
+ 'InvBucket' => [
+ 'title' => '',
+ 'description' => 'The name of the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_sys_bucket',
+ ],
+ 'InvDomain' => [
+ 'title' => '',
+ 'description' => 'The domain name of the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_domain',
+ ],
+ 'InvLocation' => [
+ 'title' => '',
+ 'description' => 'The type of the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'oss',
+ ],
+ 'InvAccessId' => [
+ 'title' => '',
+ 'description' => 'The AccessKey ID that is used to access the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_access_id',
+ ],
+ 'InvAccessSecret' => [
+ 'title' => '',
+ 'description' => 'The AccessKey secret that is used to access the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_secret_key',
+ ],
+ 'InvRegionId' => [
+ 'title' => '',
+ 'description' => 'The region ID of the bucket in which the inventory list of files that failed to be migrated resides. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_region_id',
+ ],
+ 'AddressType' => [
+ 'title' => '',
+ 'description' => 'The type of the data address created based on the files that failed to be migrated. This parameter is required if you create a data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'ossinv',
+ ],
+ 'TotalObjectCount' => [
+ 'title' => '',
+ 'description' => 'The total number of files.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'CopiedObjectCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that are migrated. The number includes the number of files that are successfully migrated and the number of files that are skipped.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'FailedObjectCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that failed to be migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'TotalObjectSize' => [
+ 'title' => '',
+ 'description' => 'The total data size of files.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'CopiedObjectSize' => [
+ 'title' => '',
+ 'description' => 'The data size of files that are migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'Version' => [
+ 'title' => '',
+ 'description' => 'The task ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_job_id',
+ ],
+ ],
+ ],
+ 'GetReportResp' => [
+ 'title' => '',
+ 'description' => 'The queried migration report.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The state of the migration report.\\'."\n"
+ .'Valid values: Running, NotExist, Finished, and Failed.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'ReportCreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the migration report was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'ReportEndTime' => [
+ 'title' => '',
+ 'description' => 'The time when the migration report was generated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'TotalCount' => [
+ 'title' => '',
+ 'description' => 'The total number of files.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'CopiedCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that are migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'SkippedCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that are skipped.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'FailedCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that failed to be migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'JobCreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the task was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'JobEndTime' => [
+ 'title' => '',
+ 'description' => 'The time when the task ended.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'JobExecuteTime' => [
+ 'title' => '',
+ 'description' => 'The task duration.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '1000',
+ ],
+ 'TotalListPrefix' => [
+ 'title' => '',
+ 'description' => 'The path of files.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_total_prefix/',
+ ],
+ 'SkippedListPrefix' => [
+ 'title' => '',
+ 'description' => 'The path of files that are skipped.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_skipped_prefix/',
+ ],
+ 'FailedListPrefix' => [
+ 'title' => '',
+ 'description' => 'The path of files that failed to be migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_failed_prefix/',
+ ],
+ 'ErrorMessage' => [
+ 'title' => '',
+ 'description' => 'The error message.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test error msg.',
+ ],
+ ],
+ ],
+ 'GetTunnelResp' => [
+ 'title' => '',
+ 'description' => 'The queried tunnel.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Owner' => [
+ 'title' => '',
+ 'description' => 'The tunnel owner.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_owner',
+ ],
+ 'TunnelId' => [
+ 'title' => '',
+ 'description' => 'The tunnel ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_tunnel_id',
+ ],
+ 'CreateTime' => [
+ 'title' => '',
+ 'description' => 'The time when the tunnel was created.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'ModifyTime' => [
+ 'title' => '',
+ 'description' => 'The time when the tunnel was last modified.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'key1:value1,key2:value2',
+ ],
+ 'TunnelQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the tunnel.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/TunnelQos',
+ ],
+ ],
+ ],
+ 'ImportQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxBandWidth' => [
+ 'title' => '',
+ 'description' => 'The maximum bandwidth. Unit: bit/s.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1073741824',
+ ],
+ 'MaxImportTaskQps' => [
+ 'title' => 'QPS',
+ 'description' => 'The number of files that are migrated per second.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ ],
+ ],
+ 'Includes' => [
+ 'title' => 'A short description of struct',
+ 'description' => '',
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeFilter' => [
+ 'title' => 'timeFilter',
+ 'description' => 'timeFilter',
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/TimeFilter',
+ ],
+ ],
+ 'Regex' => [
+ 'title' => 'regex match',
+ 'description' => 'regex match',
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'extendType' => 'true',
+ ],
+ ],
+ ],
+ ],
+ 'JobHistory' => [
+ 'title' => '',
+ 'description' => 'The execution history of the migration task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'title' => '',
+ 'description' => 'The task name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_name',
+ ],
+ 'JobVersion' => [
+ 'title' => '',
+ 'description' => 'The task ID.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_id',
+ ],
+ 'RuntimeId' => [
+ 'title' => '',
+ 'description' => 'The execution ID of the task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'CommitId' => [
+ 'title' => '',
+ 'description' => 'The ID of the task status change.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'StartTime' => [
+ 'title' => '',
+ 'description' => 'The time when the current state started.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'EndTime' => [
+ 'title' => '',
+ 'description' => 'The time when the current state ended.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01 12:00:00',
+ ],
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The task state.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'IMPORT_JOB_DOING',
+ ],
+ 'TotalCount' => [
+ 'title' => '',
+ 'description' => 'The total number of files.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'default' => '0',
+ ],
+ 'CopiedCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that are migrated. The number includes the number of files that are successfully migrated and the number of files that are skipped.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '900',
+ 'default' => '0',
+ ],
+ 'FailedCount' => [
+ 'title' => '',
+ 'description' => 'The number of files that failed to be migrated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ 'default' => '0',
+ ],
+ 'TotalSize' => [
+ 'title' => '',
+ 'description' => 'The total data size of files. Unit: bytes.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'default' => '0',
+ ],
+ 'CopiedSize' => [
+ 'title' => '',
+ 'description' => 'The data size of files that are migrated. Unit: bytes.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'default' => '0',
+ ],
+ 'RuntimeState' => [
+ 'title' => '',
+ 'description' => 'The runtime state.\\'."\n"
+ .'Valid values: Normal and Interrupt.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'Message' => [
+ 'title' => '',
+ 'description' => 'The error message.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test error msg.',
+ ],
+ 'Operator' => [
+ 'title' => '',
+ 'description' => 'The operator.\\'."\n"
+ .'Valid values: user and system.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'user',
+ ],
+ 'ListStatus' => [
+ 'title' => '',
+ 'description' => 'The state of data listing.\\'."\n"
+ .'Valid values: Listing and Finished.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Listing',
+ ],
+ ],
+ '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' => 'A short description of struct',
+ 'description' => 'The filter based on the file name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Regex' => [
+ 'title' => '',
+ 'description' => 'The regular expressions.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The regular expression.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '.*\\.jpg$',
+ 'extendType' => 'true',
+ ],
+ ],
+ ],
+ ],
+ 'KeyFilters' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The filter based on the file name.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Includes' => [
+ 'title' => '',
+ 'description' => 'The included file name.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/KeyFilterItem',
+ ],
+ 'Excludes' => [
+ 'title' => '',
+ 'description' => 'The excluded file name.'."\n",
+ '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' => 'A short description of struct',
+ 'description' => 'The filter based on the file modification time.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Includes' => [
+ 'title' => '',
+ 'description' => 'The included file modification time.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/Includes',
+ ],
+ 'Excludes' => [
+ 'title' => '',
+ 'description' => 'The excluded file modification time.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/Excludes',
+ ],
+ ],
+ ],
+ 'LastModifyFilterItem' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The filter based on the file modification time.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeFilter' => [
+ 'title' => '',
+ 'description' => 'The time filters.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The time filter.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/TimeFilter',
+ ],
+ ],
+ ],
+ ],
+ 'ListAddressResp' => [
+ 'title' => '',
+ 'description' => 'The queried data addresses.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_marker',
+ ],
+ 'ImportAddress' => [
+ 'title' => '',
+ 'description' => 'The data addresses.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data address.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/GetAddressResp',
+ ],
+ ],
+ ],
+ ],
+ 'ListAgentResp' => [
+ 'title' => '',
+ 'description' => 'The queried agents.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_next_marker',
+ ],
+ 'ImportAgent' => [
+ 'title' => '',
+ 'description' => 'The agents.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The agent.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/GetAgentResp',
+ ],
+ ],
+ ],
+ ],
+ 'ListJobHistoryResp' => [
+ 'title' => '',
+ 'description' => 'The execution history of migration tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_next_marker',
+ ],
+ 'JobHistory' => [
+ 'title' => '',
+ 'description' => 'The execution history of migration tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The execution history of the migration task.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/JobHistory',
+ ],
+ ],
+ ],
+ ],
+ 'ListJobInfo' => [
+ 'title' => '',
+ 'description' => 'The queried tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_next_marker',
+ ],
+ 'ImportJob' => [
+ 'title' => '',
+ 'description' => 'The tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The task details.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/CreateJobInfo',
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'ListJobResp' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The queried tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_nex_marker',
+ ],
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ImportJob' => [
+ 'title' => '',
+ 'description' => 'The queried tasks.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The task details.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/GetJobResp',
+ ],
+ ],
+ ],
+ ],
+ 'ListTunnelResp' => [
+ 'title' => '',
+ 'description' => 'The queried tunnels.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Truncated' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the queried results are truncated.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'enumValueTitles' => [
+ 'true' => 'true',
+ 'false' => 'false',
+ ],
+ 'example' => 'true',
+ ],
+ 'NextMarker' => [
+ 'title' => '',
+ 'description' => 'The position from which the next list operation starts.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'test_marker',
+ ],
+ 'ImportTunnel' => [
+ 'title' => '',
+ 'description' => 'The queried tunnels.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tunnel details.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/GetTunnelResp',
+ ],
+ ],
+ ],
+ ],
+ 'ScheduleRule' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The scheduling rule.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'StartCronExpression' => [
+ 'title' => '',
+ 'description' => 'The time when the migration task started. You can use a CRON expression to specify the time. The interval at which the migration task is run is at least 1 hour.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '0 0 * * * ?',
+ ],
+ 'SuspendCronExpression' => [
+ 'title' => '',
+ 'description' => 'The time when the migration task paused. You can use a CRON expression to specify the time. The interval at which the migration task is run is at least 1 hour.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '0 0 * * * ?',
+ ],
+ 'MaxScheduleCount' => [
+ 'title' => '',
+ 'description' => 'The maximum number of times that the migration task is automatically scheduled. Each time the migration task is run, the execution ID increases by one until the task is run the specified number of times. The task is automatically scheduled based on the specified start time and pause time. The task is no longer automatically scheduled after the task is run the specified number of times. However, you can still manually start the task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'TimeFilter' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The time filter.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'StartTime' => [
+ 'title' => 'start time',
+ 'description' => 'The time when the migration task started.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2006-01-01T00:00:00Z',
+ ],
+ 'EndTime' => [
+ 'title' => 'end time',
+ 'description' => 'The time when the migration task ended.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2006-12-31T59:59:59Z',
+ ],
+ ],
+ ],
+ 'TunnelQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the tunnel.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxQps' => [
+ 'title' => '',
+ 'description' => 'The maximum queries per second (QPS) of the tunnel.\\'."\n"
+ .'Valid values: values greater than or equal to 0. Default value: 0. The default value indicates that the QPS of the tunnel is not limited.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'MaxBandwidth' => [
+ 'title' => '',
+ 'description' => 'The maximum bandwidth of the tunnel. Unit: byte/s.\\'."\n"
+ .'Valid values: values greater than or equal to 10485760. Default value: 0. The default value indicates that the bandwidth of the tunnel is not limited.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1073741824',
+ ],
+ ],
+ ],
+ 'UpdateAddressInfo' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The information about the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'AgentList' => [
+ 'title' => '',
+ 'description' => 'The agents.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'agent1,agent2,agent3',
+ ],
+ ],
+ ],
+ 'UpdateJobInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the migration task.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => '',
+ 'description' => 'The task state.\\'."\n"
+ .'Valid values: IMPORT_JOB_LAUNCHING, IMPORT_JOB_SUSPEND, and IMPORT_JOB_CLOSING.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'IMPORT_JOB_LAUNCHING',
+ ],
+ 'ImportQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the task.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/ImportQos',
+ ],
+ ],
+ ],
+ 'UpdateTunnelInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the tunnel.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TunnelQos' => [
+ 'title' => '',
+ 'description' => 'The throttling settings of the tunnel.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/TunnelQos',
+ ],
+ 'Tags' => [
+ 'title' => '',
+ 'description' => 'The tags.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'K1:V1,K2:V2',
+ ],
+ ],
+ ],
+ 'VerifyAddressResp' => [
+ 'title' => '校验数据地址详情。',
+ 'description' => 'Verify the details of the data address.',
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => '数据地址校验状态。',
+ 'description' => 'The status of the data address verification.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'avaliable',
+ ],
+ 'VerifyTime' => [
+ 'title' => '数据地址校验时间。',
+ 'description' => 'The time when the data address is verified.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '2024-05-01T12:00:00.000Z',
+ ],
+ 'ErrorCode' => [
+ 'title' => '数据校验错误码。',
+ 'description' => 'Data verification error code.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '400',
+ ],
+ 'ErrorMessage' => [
+ 'title' => '数据校验错误信息。',
+ 'description' => 'Data validation error message.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Invalid argument.',
+ ],
+ ],
+ ],
+ 'VerifyResp' => [
+ 'title' => '',
+ 'description' => 'The verification result of the data address.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpCode' => [
+ 'title' => 'http status',
+ 'description' => 'The HTTP status code.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'ErrorCode' => [
+ 'title' => '',
+ 'description' => 'The error code.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'InvalidArgument',
+ ],
+ 'ErrorMsg' => [
+ 'title' => '',
+ 'description' => 'The error message.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'Invalid argument.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'CreateJob' => [
+ 'summary' => 'Creates a migration task.',
+ 'path' => '/job',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for creating the migration task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportJob' => [
+ 'description' => 'The details for creating the migration task.',
+ 'required' => true,
+ '$ref' => '#/components/schemas/CreateJobInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'CreateJob',
+ 'description' => '* To create a migration task, you must have the permission on mgw:CreateImportJob.'."\n"
+ .'* Before you create a migration task, you must create data addresses.'."\n"
+ .'* A migration task can run multiple rounds. Each round has an execution ID.'."\n",
+ ],
+ 'GetJob' => [
+ 'summary' => 'Obtains the details of a migration task.',
+ 'path' => '/job/{jobName}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'byVersion',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'description' => 'Specifies whether to obtain the details of the migration task by using the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'jobName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The name of the migration task. If the byVersion parameter is set to true, this parameter indicates the ID of the migration task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_job_name',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportJob' => [
+ 'description' => 'The details for obtaining the details of the migration task.'."\n",
+ '$ref' => '#/components/schemas/GetJobResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJob>\\n <Name>&lt;your-job-name&gt;</Name>\\n <SrcAddress>&lt;your-src-address-name&gt;</SrcAddress>\\n <DestAddress>&lt;your-dest-address-name&gt;</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>&lt;your-parent-job-name&gt;</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' => 'GetJob',
+ 'description' => '* To query the information about a migration task, you must have the permission on mgw:GetImportJob.'."\n",
+ ],
+ 'ListJob' => [
+ 'summary' => 'Lists the migration tasks created by a user in the specific region.',
+ 'path' => '/joblist',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The marker after which the migration tasks are listed.\\'."\n"
+ .'By default, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_marker',
+ ],
+ ],
+ [
+ 'name' => 'count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies the number of migration tasks to be returned.\\'."\n"
+ .'Valid values: 0 - 1000 (excluding 0).\\'."\n"
+ .'Default value: 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'parentName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the parent task. If this parameter is specified, all subtasks of the parent task are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_parent_job_name',
+ ],
+ ],
+ [
+ 'name' => 'all',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to return subtasks.\\'."\n"
+ .'Valid values: true and false.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportJobList' => [
+ 'description' => 'The queried migration tasks.'."\n",
+ '$ref' => '#/components/schemas/ListJobResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportJobList>\\n <NextMarker>&lt;your-next-job-name&gt;</NextMarker>\\n <Truncated>true</Truncated>\\n <ImportJob>\\n <Name>&lt;your-job-name&gt;</Name>\\n <SrcAddress>&lt;your-src-address-name&gt;</SrcAddress>\\n <DestAddress>&lt;your-dest-address-name&gt;</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>&lt;your-parent-job-name&gt;</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' => 'ListJob',
+ 'description' => '* To query a list of migration tasks, you must have the permission on mgw:ListImportJob.'."\n",
+ ],
+ 'UpdateJob' => [
+ 'summary' => 'Updates the status or throttling of a task.',
+ 'path' => '/job/{jobName}',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '227839',
+ 'abilityTreeNodes' => [
+ 'FEATUREhcs_mgwI6FP9O',
+ 'FEATUREhcs_mgwYHC96G',
+ 'FEATUREhcs_mgw6RQIAN',
+ 'FEATUREhcs_mgw3H53CV',
+ 'FEATUREhcs_mgw3ZWPXE',
+ 'FEATUREhcs_mgwXQ9G18',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for updating the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportJob' => [
+ 'description' => 'The details for updating the task.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/UpdateJobInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'jobName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The task name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_job_name',
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'UpdateJob',
+ 'description' => '* To update a migration task, you must have the permission on mgw:UpdateImportJob.'."\n"
+ .'* You can update only the status or throttling settings of a task in a single request.'."\n",
+ ],
+ 'DeleteJob' => [
+ 'summary' => 'Deletes a migration task.',
+ 'path' => '/job/{jobName}',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'forceDelete',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'description' => 'Specifies whether to force delete the subtask. If the task has subtasks and you set this parameter to true, the task and its subtasks are forcibly deleted. If this parameter is set to false, the task and its subtasks fail to be deleted.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'jobName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The task name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_job_name',
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'DeleteJob',
+ 'description' => '* To delete a migration task, you must have the permission on mgw:DeleteImportJob.'."\n"
+ .'* The operation to delete a migration task is asynchronous. The migration task remains in the Deleting state until it is deleted.'."\n",
+ ],
+ 'ListJobHistory' => [
+ 'summary' => 'Lists the running history of a migration task.',
+ 'path' => '/jobhistory/{jobName}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'jobName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The task name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_job_name',
+ ],
+ ],
+ [
+ 'name' => 'runtimeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The execution ID of the task. If you specify an execution ID, only the running history related to the execution ID is listed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The marker after which the running history of the task is listed.\\'."\n"
+ .'By default, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_marker',
+ ],
+ ],
+ [
+ 'name' => 'count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies the number of running records of the migration task to be returned.\\'."\n"
+ .'Valid values: 0 - 1000.\\'."\n"
+ .'Default value: 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobHistoryList' => [
+ 'description' => 'The running history of the migration task.'."\n",
+ '$ref' => '#/components/schemas/ListJobHistoryResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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>&lt;your-job-name&gt;</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' => 'ListJobHistory',
+ 'description' => '* To query the execution history of a migration task, you must have the permission on mgw:ListImportJobHistory.'."\n"
+ .'* A migration task can run multiple rounds. A unique execution ID is generated for each round.'."\n"
+ .'* The execution history of a migration task records the change history of the task status.'."\n",
+ ],
+ 'CreateReport' => [
+ 'summary' => 'Creates a migration report.',
+ 'path' => '/report',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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' => 'The request body for creating the migration report.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CreateReport' => [
+ 'description' => 'The details for creating the migration report.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/CreateReportInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'CreateReport',
+ 'description' => '* To create a migration report, you must have the permission on mgw:CreateImportReport.'."\n"
+ .'* If you specify that a migration report is to be generated when you create a migration task, you do not need to call this operation. If you do not specify that a migration report is to be generated when you create a migration task, you can call this operation to create a migration report for an execution with the specified ID.'."\n",
+ ],
+ 'GetReport' => [
+ 'summary' => 'Obtains the details of a migration report.',
+ 'path' => '/report',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'version',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the migration task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_job_id',
+ ],
+ ],
+ [
+ 'name' => 'runtimeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The execution ID of the migration task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GetReportResponse' => [
+ 'description' => 'The details for obtaining the migration report.'."\n",
+ '$ref' => '#/components/schemas/GetReportResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => 'GetReport',
+ 'description' => '* To query the information about a migration report, you must have the permission on mgw:GetImportReport.'."\n"
+ .'* The migration report is pushed to the destination data address. For more information, see the "View a migration report" section of the "Subsequent operations" topic in migration tutorials.'."\n",
+ ],
+ 'GetJobResult' => [
+ 'summary' => 'Obtains the list of files that fail to be migrated when files fail to be migrated during a migration task.',
+ 'path' => '/job/{jobName}?jobResult',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'jobName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The task name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'runtimeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The execution ID of the task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportJobResult' => [
+ 'description' => 'The details for obtaining the retries of the migration task.'."\n",
+ '$ref' => '#/components/schemas/GetJobResultResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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>&lt;your-bucket-name&gt;</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' => 'GetJobResult',
+ 'description' => '* To query the retry information about a migration task, you must have the permission on mgw:GetImportJobResult.'."\n"
+ .'* If files fail to be migrated during a migration task, a list of files that fail to be migrated is generated. You can call this operation to query this list. You can create a data address based on this list and create a subtask. This way, you can migrate these files again.'."\n",
+ ],
+ 'CreateAddress' => [
+ 'summary' => 'Creates a data address.',
+ 'path' => '/address',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for creating the data address.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAddress' => [
+ 'description' => 'The details for creating the data address.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/CreateAddressInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'CreateAddress',
+ 'description' => '* To create a data address, you must have the permission on mgw:CreateImportAddress.'."\n"
+ .'* If you want to use an agent to migrate data, you must create an agent first and then associate the agent with a data address when you create the data address.'."\n",
+ ],
+ 'GetAddress' => [
+ 'summary' => 'Obtains the details of a data address.',
+ 'path' => '/address/{addressName}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'addressName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The name of the data address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [],
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* s:s.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAddress' => [
+ 'description' => 'The details for obtaining the data address.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* 1:1'."\n",
+ 'enumValueTitles' => [
+ 1 => '1',
+ ],
+ '$ref' => '#/components/schemas/GetAddressResp',
+ ],
+ ],
+ 'enumValueTitles' => [
+ 's' => 's',
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddress>\\n <Owner>1***90**87***53*</Owner>\\n <Name>&lt;your-address-name&gt;</Name>\\n <AddressDetail>\\n <AddressType>ossinv</AddressType>\\n <Bucket>&lt;your-bucket-name&gt;</Bucket>\\n <Domain>oss-cn-hangzhou.aliyuncs.com</Domain>\\n <Prefix>dir1/dir2/</Prefix>\\n <AccessId>*******************</AccessId>\\n <AccessSecret>*******************</AccessSecret>\\n <Role>&lt;your-role-name&gt;</Role>\\n <InvDomain>oss-cn-hangzhou.aliyuncs.com</InvDomain>\\n <InvBucket>&lt;your-inv-bucket-name&gt;</InvBucket>\\n <InvAccessId>*******************</InvAccessId>\\n <InvAccessSecret>*******************</InvAccessSecret>\\n <InvPath>dir/manifest.json</InvPath>\\n <InvRole>&lt;your-role-name&gt;</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' => 'GetAddress',
+ 'description' => '* To query the information about a data address, you must have the permission on mgw:GetImportAddress.'."\n",
+ ],
+ 'ListAddress' => [
+ 'summary' => 'Lists the data addresses created by a user in the specific region.',
+ 'path' => '/addresslist',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '227770',
+ 'abilityTreeNodes' => [
+ 'FEATUREhcs_mgwI6FP9O',
+ 'FEATUREhcs_mgwYHC96G',
+ 'FEATUREhcs_mgw6RQIAN',
+ 'FEATUREhcs_mgw3H53CV',
+ 'FEATUREhcs_mgw3ZWPXE',
+ 'FEATUREhcs_mgwXQ9G18',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The marker after which the migration addresses are listed.\\'."\n"
+ .'By default, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_marker',
+ ],
+ ],
+ [
+ 'name' => 'count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies the number of migration addresses to be returned.\\'."\n"
+ .'Valid values: 0 - 1000 (excluding 0).\\'."\n"
+ .'Default value: 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAddressList' => [
+ 'description' => 'The details of migration addresses.'."\n",
+ '$ref' => '#/components/schemas/ListAddressResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAddressList>\\n <Truncated>true</Truncated>\\n <NextMarker>&lt;your-next-address-name&gt;</NextMarker>\\n <ImportAddress>\\n <Owner>1***90**87***53*</Owner>\\n <Name>&lt;your-address-name&gt;</Name>\\n <AddressDetail>\\n <AddressType>ossinv</AddressType>\\n <Bucket>&lt;your-bucket-name&gt;</Bucket>\\n <Domain>oss-cn-hangzhou.aliyuncs.com</Domain>\\n <Prefix>dir1/dir2/</Prefix>\\n <AccessId>*******************</AccessId>\\n <AccessSecret>*******************</AccessSecret>\\n <Role>&lt;your-role-name&gt;</Role>\\n <InvDomain>oss-cn-hangzhou.aliyuncs.com</InvDomain>\\n <InvBucket>&lt;your-inv-bucket-name&gt;</InvBucket>\\n <InvAccessId>*******************</InvAccessId>\\n <InvAccessSecret>*******************</InvAccessSecret>\\n <InvPath>dir/manifest.json</InvPath>\\n <InvRole>&lt;your-role-name&gt;</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' => 'ListAddress',
+ 'description' => '* To query a list of data addresses, you must have the permission on mgw:ListImportAddress.'."\n",
+ ],
+ 'UpdateAddress' => [
+ 'summary' => 'Updates a data address.',
+ 'path' => '/address/{addressName}',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'addressName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The name of the data address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_address_name',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for updating the data address.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAddress' => [
+ 'description' => 'The details for updating the data address.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/UpdateAddressInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'UpdateAddress',
+ 'description' => '* To update a data address, you must have the permission on mgw:UpdateImportAddress.'."\n"
+ .'* If the data address is associated with an agent, you can scale up or down the agent.'."\n",
+ ],
+ 'DeleteAddress' => [
+ 'summary' => 'Deletes a data address.',
+ 'path' => '/address/{addressName}',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '227769',
+ 'abilityTreeNodes' => [
+ 'FEATUREhcs_mgwI6FP9O',
+ 'FEATUREhcs_mgwYHC96G',
+ 'FEATUREhcs_mgw6RQIAN',
+ 'FEATUREhcs_mgw3H53CV',
+ 'FEATUREhcs_mgw3ZWPXE',
+ 'FEATUREhcs_mgwXQ9G18',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'addressName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The name of the data address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'abc',
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'DeleteAddress',
+ 'description' => '* To delete a data address, you must have the permission on mgw:DeleteImportAddress.'."\n",
+ ],
+ 'VerifyAddress' => [
+ 'summary' => 'Verifies whether a data address is available.',
+ 'path' => '/address/{addressName}?verify',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'addressName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The name of the data address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_address_name',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'VerifyAddressResponse' => [
+ 'description' => 'The details for verifying the data address.'."\n",
+ '$ref' => '#/components/schemas/VerifyAddressResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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-01 12:00:00</VerifyTime>\\n <ErrorCode/>\\n <ErrorMessage/>\\n</VerifyAddressResponse>","type":"xml"}]',
+ 'title' => 'VerifyAddress',
+ 'description' => '* To verify a data address, you must have the permission on mgw:VerifyImportAddress.'."\n"
+ .'* A data address may not be available even if the data address passes the availability verification. The data migration results prevail.'."\n",
+ ],
+ 'CreateAgent' => [
+ 'summary' => 'The request boy for creating the agent.',
+ 'path' => '/agent',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for creating the agent.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAgent' => [
+ 'description' => 'The details for creating the agent.',
+ 'required' => false,
+ '$ref' => '#/components/schemas/CreateAgentInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'CreateAgent',
+ 'description' => '* To create an agent, you must have the permission on mgw:CreateImportAgent.'."\n"
+ .'* If you want to migrate data to Alibaba Cloud over an Express Connect circuit or a VPN gateway, or migrate data from a self-managed storage space to Alibaba Cloud, you can deploy an agent.'."\n"
+ .'* Before you create an agent, you must create a tunnel. An agent must be associated with a tunnel.'."\n",
+ ],
+ 'GetAgent' => [
+ 'summary' => 'Obtains the details of an agent.',
+ 'path' => '/agent/{agentName}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'agentName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The agent name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAgent' => [
+ 'description' => 'The details for obtaining the details of the agent.'."\n",
+ '$ref' => '#/components/schemas/GetAgentResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgent>\\n <Owner>1***90**87***53*</Owner>\\n <Name>&lt;your-agent-name&gt;</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' => 'GetAgent',
+ 'description' => '* To query the information about an agent, you must have the permission on mgw:GetImportAgent.'."\n",
+ ],
+ 'ListAgent' => [
+ 'summary' => 'Lists the agents created by a user in the specific region.',
+ 'path' => '/agentlist',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The marker after which the agents are listed.\\'."\n"
+ .'By default, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_agent',
+ ],
+ ],
+ [
+ 'name' => 'count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies the number of agents to be returned.\\'."\n"
+ .'Valid values: 0 - 1000.\\'."\n"
+ .'Default value: 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAgentList' => [
+ 'description' => 'The details of the agents.'."\n",
+ '$ref' => '#/components/schemas/ListAgentResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<ImportAgentList>\\n <Truncated>true</Truncated>\\n <NextMarker>&lt;your-next-agent-name&gt;</NextMarker>\\n <ImportAgent>\\n <Owner>1***90**87***53*</Owner>\\n <Name>&lt;your-agent-name&gt;</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' => 'ListAgent',
+ 'description' => '* To query a list of agents, you must have the permission on mgw:ListImportAgent.'."\n",
+ ],
+ 'GetAgentStatus' => [
+ 'summary' => 'Obtains the running status of an agent.',
+ 'path' => '/agent/{agentName}?status',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'agentName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The agent name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportAgentStatus' => [
+ 'description' => 'The details for obtaining the status of the agent.'."\n",
+ '$ref' => '#/components/schemas/GetAgentStatusResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => 'GetAgentStatus',
+ 'description' => '* To query the status of an agent, you must have the permission on mgw:GetImportAgent.'."\n",
+ ],
+ 'DeleteAgent' => [
+ 'summary' => 'Deletes an agent.',
+ 'path' => '/agent/{agentName}',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '227661',
+ 'abilityTreeNodes' => [
+ 'FEATUREhcs_mgwI6FP9O',
+ 'FEATUREhcs_mgwYHC96G',
+ 'FEATUREhcs_mgw6RQIAN',
+ 'FEATUREhcs_mgw3H53CV',
+ 'FEATUREhcs_mgw3ZWPXE',
+ 'FEATUREhcs_mgwXQ9G18',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'agentName',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The agent name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'DeleteAgent',
+ 'description' => '* To delete an agent, you must have the permission on mgw:DeleteImportAgent.'."\n",
+ ],
+ 'CreateTunnel' => [
+ 'summary' => 'Creates a tunnel.',
+ 'path' => '/tunnel',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for creating the tunnel.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportTunnel' => [
+ 'description' => 'The details for creating the tunnel.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/CreateTunnelInfo',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [
+ 'x-oss-import-tunnel-id' => [
+ 'schema' => [
+ 'title' => '',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'CreateTunnel',
+ 'description' => '* To create a tunnel, you must have the permission on mgw:CreateImportTunnel.'."\n"
+ .'* When you use an agent to migrate data, the agent must be associated with a tunnel.'."\n"
+ .'* A tunnel can be associated with multiple agents. You can throttle the traffic of the agents that are associated with the same tunnel by setting the bandwidth and the number of requests per second for the tunnel.'."\n",
+ 'responseParamsDescription' => 'If the tunnel is created, a tunnel ID is returned in the response header x-oss-import-tunnel-id.'."\n",
+ ],
+ 'GetTunnel' => [
+ 'summary' => 'Obtains the details of a tunnel.',
+ 'path' => '/tunnel/{tunnelId}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'tunnelId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The tunnel ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0b583032-a495-452f-8c0d-692296b51bf9',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportTunnel' => [
+ 'description' => 'The details for obtaining the details of the tunnel.'."\n",
+ '$ref' => '#/components/schemas/GetTunnelResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => 'GetTunnel',
+ 'description' => '* To query the information about a tunnel, you must have the permission on mgw:GetImportTunnel.'."\n",
+ ],
+ 'UpdateTunnel' => [
+ 'summary' => 'Updates a tunnel.',
+ 'path' => '/tunnel/{tunnelId}',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ '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',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'tunnelId',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The tunnel ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1',
+ 'title' => '通道ID。',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'xml',
+ 'schema' => [
+ 'description' => 'The request body for updating the tunnel.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportTunnel' => [
+ 'description' => 'The details for updating the tunnel.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/UpdateTunnelInfo',
+ 'title' => '更新通道详情。',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '更新通道请求体。',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'UpdateTunnel',
+ 'description' => '* To update a tunnel, you must have the permission on mgw:UpdateImportTunnel.'."\n",
+ ],
+ 'ListTunnel' => [
+ 'summary' => 'Lists tunnels.',
+ 'path' => '/tunnellist',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/xml',
+ ],
+ 'produces' => [
+ 'application/xml',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The marker after which tunnels are listed.\\'."\n"
+ .'By default, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies the number of tunnels to be returned.\\'."\n"
+ .'Valid values: 0 - 1000.\\'."\n"
+ .'Default value: 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ImportTunnelList' => [
+ 'description' => 'The details of the tunnels.'."\n",
+ '$ref' => '#/components/schemas/ListTunnelResp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => 'ListTunnel',
+ 'description' => '* To query a list of tunnels, you must have the permission on mgw:ListImportTunnel.'."\n",
+ ],
+ 'DeleteTunnel' => [
+ 'summary' => 'Deletes a tunnel.',
+ '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' => 'The tunnel ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0b583032-a495-452f-8c0d-692296b51bf9',
+ ],
+ ],
+ ],
+ 'responses' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\n<root/>","type":"xml"}]',
+ 'title' => 'DeleteTunnel',
+ 'description' => '* To delete a tunnel, you must have the permission on mgw:DeleteImportTunnel.'."\n",
+ ],
+ ],
+ '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',
+ ],
+ ],
+];