summaryrefslogtreecommitdiff
path: root/data/en_us/dts/2020-01-01/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/dts/2020-01-01/api-docs.php
downloadacs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz
acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip
Diffstat (limited to 'data/en_us/dts/2020-01-01/api-docs.php')
-rw-r--r--data/en_us/dts/2020-01-01/api-docs.php36286
1 files changed, 36286 insertions, 0 deletions
diff --git a/data/en_us/dts/2020-01-01/api-docs.php b/data/en_us/dts/2020-01-01/api-docs.php
new file mode 100644
index 0000000..6935f30
--- /dev/null
+++ b/data/en_us/dts/2020-01-01/api-docs.php
@@ -0,0 +1,36286 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'Dts',
+ 'version' => '2020-01-01',
+ ],
+ 'directories' => [
+ [
+ 'id' => 137226,
+ 'title' => 'Data management',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDTSIP',
+ 'DescribeEndpointSwitchStatus',
+ 'DescribeInitializationStatus',
+ 'ShieldPrecheck',
+ ],
+ ],
+ [
+ 'id' => 137231,
+ 'title' => 'Data migration',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateMigrationJob',
+ 'DeleteMigrationJob',
+ 'StartMigrationJob',
+ 'StopMigrationJob',
+ 'SuspendMigrationJob',
+ 'ConfigureMigrationJob',
+ 'DescribeMigrationJobDetail',
+ 'DescribeMigrationJobs',
+ 'DescribeMigrationJobStatus',
+ 'DescribeConnectionStatus',
+ ],
+ ],
+ [
+ 'id' => 137242,
+ 'title' => 'Change tracking',
+ 'type' => 'directory',
+ 'children' => [
+ 'ConfigureSubscription',
+ [
+ 'id' => 137244,
+ 'title' => 'Manage consumer channels',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateConsumerChannel',
+ 'DeleteConsumerChannel',
+ 'ModifyConsumerChannel',
+ 'DescribeConsumerChannel',
+ ],
+ ],
+ [
+ 'id' => 137249,
+ 'title' => 'Manage consumer groups',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateConsumerGroup',
+ 'DeleteConsumerGroup',
+ 'ModifyConsumerGroupPassword',
+ 'DescribeConsumerGroup',
+ ],
+ ],
+ 'CreateSubscriptionInstance',
+ 'DeleteSubscriptionInstance',
+ 'StartSubscriptionInstance',
+ 'ModifySubscriptionObject',
+ 'ModifyConsumptionTimestamp',
+ 'DescribeSubscriptionInstances',
+ 'DescribeSubscriptionInstanceStatus',
+ 'ConfigureSubscriptionInstance',
+ ],
+ ],
+ [
+ 'id' => 137262,
+ 'title' => 'Data synchronization',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSynchronizationJob',
+ 'DeleteSynchronizationJob',
+ 'StartSynchronizationJob',
+ 'ModifySynchronizationObject',
+ 'DescribeSynchronizationJobReplicatorCompare',
+ 'DescribeSynchronizationJobs',
+ 'DescribeSynchronizationJobStatus',
+ 'DescribeSynchronizationJobStatusList',
+ 'DescribeSynchronizationObjectModifyStatus',
+ 'SuspendSynchronizationJob',
+ 'ResetSynchronizationJob',
+ 'ConfigureSynchronizationJobReplicatorCompare',
+ 'ConfigureSynchronizationJob',
+ 'SwitchSynchronizationEndpoint',
+ ],
+ ],
+ [
+ 'id' => 137277,
+ 'title' => 'Monitoring and alerting',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeMigrationJobAlert',
+ 'DescribeSynchronizationJobAlert',
+ 'DescribeSubscriptionInstanceAlert',
+ 'ConfigureMigrationJobAlert',
+ 'ConfigureSynchronizationJobAlert',
+ 'ConfigureSubscriptionInstanceAlert',
+ ],
+ ],
+ [
+ 'id' => 137284,
+ 'title' => 'Task management',
+ 'type' => 'directory',
+ 'children' => [
+ 'DeleteDtsJob',
+ 'ConfigureDtsJob',
+ 'ModifyDtsJob',
+ 'ModifyDtsJobName',
+ 'ModifyDtsJobPassword',
+ 'ResetDtsJob',
+ 'StartDtsJob',
+ 'StopDtsJob',
+ 'SuspendDtsJob',
+ 'DescribeDtsJobDetail',
+ 'DescribeDtsJobs',
+ ],
+ ],
+ [
+ 'id' => 137296,
+ 'title' => 'Tag management',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListTagResources',
+ 'TagResources',
+ 'UntagResources',
+ ],
+ ],
+ [
+ 'id' => 203206,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'ConvertInstanceResourceGroup',
+ ],
+ ],
+ [
+ 'id' => 137300,
+ 'title' => 'Other',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDocParserJobResult',
+ 'CreateDocParserJob',
+ 'CountJobByCondition',
+ 'CreateDtsInstance',
+ 'CreateJobMonitorRule',
+ 'DeleteDtsJobs',
+ 'DescribeDtsServiceLog',
+ 'DescribeJobMonitorRule',
+ 'DescribePreCheckStatus',
+ 'DescribeSubscriptionMeta',
+ 'DescribeTagKeys',
+ 'DescribeTagValues',
+ 'InitDtsRdsInstance',
+ 'ModifySubscription',
+ 'RenewInstance',
+ 'SkipPreCheck',
+ 'StartDtsJobs',
+ 'StopDtsJobs',
+ 'SummaryJobDetail',
+ 'SuspendDtsJobs',
+ 'TransferInstanceClass',
+ 'TransferPayType',
+ 'UpgradeTwoWay',
+ 'WhiteIpList',
+ 'DescribeDtsEtlJobVersionInfo',
+ 'DescribeEtlJobLogs',
+ 'CreateDedicatedClusterMonitorRule',
+ 'DescribeClusterOperateLogs',
+ 'DescribeClusterUsedUtilization',
+ 'DescribeDedicatedClusterMonitorRule',
+ 'DescribeDedicatedCluster',
+ 'DescribeMetricList',
+ 'ListDedicatedCluster',
+ 'ModifyDtsJobDedicatedCluster',
+ 'ModifyDedicatedCluster',
+ 'ModifyDtsJobDuLimit',
+ 'StopDedicatedCluster',
+ 'DescribeDataCheckTableDiffDetails',
+ 'DescribeDataCheckTableDetails',
+ 'DescribeDataCheckReportUrl',
+ 'DescribeCheckJobs',
+ 'SwitchPhysicalDtsJobToCloud',
+ 'ModifyDynamicConfig',
+ 'ModifyDtsJobConfig',
+ 'StartReverseWriter',
+ 'CreateReverseDtsJob',
+ 'ModifyDtsJobEndpoint',
+ 'SkipFullJobTable',
+ 'DescribeFullProcessList',
+ 'ModifyGadInstanceName',
+ 'DescribePreCheckCreateGadOrderResult',
+ 'DetachGadInstanceDbMember',
+ 'PreCheckCreateGadOrder',
+ 'DescribeGadInstances',
+ 'DescribeDocParserJobStatus',
+ ],
+ ],
+ [
+ 'id' => 0,
+ 'title' => '其它',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListJobStep',
+ 'ModifyJobStepCheckpoint',
+ 'PromoteToMaster',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'DescribeDTSIP' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the source instance resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the source instance is a self-managed database with a public IP address, you can set the parameter to **cn-hangzhou** or the ID of the closest region.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the destination instance resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the destination instance is a self-managed database with a public IP address, you can set the parameter to **cn-hangzhou** or the ID of the closest region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0C99C0BE-F312-40FA-ADFA-4DC1166B****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The CIDR blocks of DTS servers.'."\n",
+ 'type' => 'string',
+ 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The internal error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C99C0BE-F312-40FA-ADFA-4DC1166B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicCode\\": \\"500\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeDTSIP',
+ 'summary' => 'Queries the CIDR blocks of DTS servers.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeEndpointSwitchStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task ID, which is returned after you call the [SwitchSynchronizationEndpoint](~~201858~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '11****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Initializing**: The task is being initialized.'."\n"
+ .'* **Switching**: The task is running.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'This parameter is no longer available.'."\n",
+ 'type' => 'string',
+ 'example' => '400',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0DD6B201-604B-4CAB-B6A8-4B2953B5****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"400\\",\\n \\"RequestId\\": \\"0DD6B201-604B-4CAB-B6A8-4B2953B5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeEndpointSwitchStatus',
+ 'summary' => 'Queries the status of the task that changes the database connection settings.',
+ ],
+ 'DescribeInitializationStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsi76118o3w92****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **30**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '300',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '150DECD9-13FF-4929-A5DE-855BE9CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DataInitializationDetails' => [
+ 'description' => 'The details of initial full data synchronization.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Status' => [
+ 'description' => 'The status of initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Migrating**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'UsedTime' => [
+ 'description' => 'The time spent on full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0',
+ ],
+ 'TableName' => [
+ 'description' => 'The table name.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'FinishRowNum' => [
+ 'description' => 'The total number of rows that are actually synchronized.'."\n"
+ ."\n"
+ .'> This parameter indicates the total number of actually synchronized rows. In contrast, the value of the **TotalRowNum** parameter is calculated based on the system tables in the source database. The values of the two parameters may be different due to time difference.'."\n",
+ 'type' => 'string',
+ 'example' => '9993',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'TotalRowNum' => [
+ 'description' => 'The total number of rows that are supposed to be synchronized.'."\n"
+ ."\n"
+ .'> The value of this parameter is calculated based on the system tables in the source database. In contrast, the **FinishRowNum** parameter indicates the total number of actually synchronized rows. The values of the two parameters may be different due to time difference.'."\n",
+ 'type' => 'string',
+ 'example' => '9981',
+ ],
+ ],
+ ],
+ ],
+ 'DataSynchronizationDetails' => [
+ 'description' => 'The details of incremental data synchronization.'."\n"
+ ."\n"
+ .'> This parameter and the parameters it contains will be removed in the future.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of incremental data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Migrating**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'TableName' => [
+ 'description' => 'The table name.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The task has failed for too long and cannot be repaired',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationDetails' => [
+ 'description' => 'The details of initial schema synchronization.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Migrating**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectDefinition' => [
+ 'description' => 'The schema of the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n',
+ ],
+ 'ObjectType' => [
+ 'description' => 'The type of the object. Valid values:'."\n"
+ ."\n"
+ .'**Table**, **Constraint**, **Index**, **View**, **Materialize View**, **Type**, **Synonym**, **Trigger**, **Function**, **Procedure**, **Package**, **Default**, **Rule**, **PlanGuide**, and **Sequence**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Table',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial schema synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectName' => [
+ 'description' => 'The name of the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'Constraints' => [
+ 'description' => 'The constraints of the synchronization object, such as indexes and foreign keys.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the **ObjectType** parameter is set to **Table** and the synchronization object has constraints.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of constraint creation. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Migrating**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectDefinition' => [
+ 'description' => 'The syntax to create constraints.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; ',
+ ],
+ 'ObjectType' => [
+ 'description' => 'The type of the object. Valid value: **Table**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Table',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if constraints failed to be created.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectName' => [
+ 'description' => 'The name of the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"150DECD9-13FF-4929-A5DE-855BE9CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationDetails\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"UsedTime\\": \\"0.0\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"9993\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"9981\\"\\n }\\n ],\\n \\"DataSynchronizationDetails\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ],\\n \\"StructureInitializationDetails\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`customer_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`customer_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`customer_company1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`customer_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"Constraints\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeInitializationStatus',
+ 'summary' => 'Queries the details of initial data synchronization, including the information about the schemas and historical data of the object to be synchronized.',
+ 'translator' => 'machine',
+ ],
+ 'ShieldPrecheck' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsi76118o3w92****',
+ ],
+ ],
+ [
+ 'name' => 'PrecheckItems',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The precheck items that you want to ignore. Separate multiple items with commas (,). Valid values:'."\n"
+ .' '."\n"
+ .'* **CHECK_SAME_OBJ**: schema name conflict'."\n"
+ .' '."\n"
+ .'* **CHECK_SAME_USER**: multiple usernames for one instance'."\n"
+ .' '."\n"
+ .'* **CHECK_SRC**: source database version'."\n"
+ .' '."\n"
+ .'* **CHECK_TOPOLOGY**: topology'."\n"
+ .' '."\n"
+ .'> For more information about the topologies supported by DTS, see [Synchronization topologies](~~124115~~).'."\n"
+ .' '."\n"
+ .'* **CHECK_SERVER_ID**: value of server_id in the source database',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'CHECK_SAME_OBJ',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6F4B5BC4-34B1-49C9-9C8F-C8F16AC4****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ShieldPrecheck',
+ 'summary' => 'Ignores the precheck items that a data migration or synchronization task may fail to pass.',
+ ],
+ 'CreateMigrationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. The region ID of the data migration instance is the same as that of the destination database. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specification of the data migration instance. Valid values: **small**, **medium**, **large**, **xlarge**, and **2xlarge**.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* For more information about the test performance of each specification, see [Specifications of data migration instances](~~26606~~).'."\n"
+ .'* For more information about the pricing of data migration instances, see [Pricing](~~117780~~).',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '2xlarge',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****',
+ ],
+ 'MigrationJobId' => [
+ 'description' => 'The ID of the data migration instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsi8911td9233****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError ',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"MigrationJobId\\": \\"dtsi8911td9233****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'CreateMigrationJob',
+ 'summary' => 'Purchases a data migration instance.',
+ 'translator' => 'machine',
+ ],
+ 'DeleteMigrationJob' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query all data migration instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsyiwe9b0gp2p****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F28A96B1-F897-4246-833B-310A3345****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F28A96B1-F897-4246-833B-310A3345****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteMigrationJob',
+ 'summary' => 'Releases a data migration instance.',
+ 'translator' => 'machine',
+ ],
+ 'StartMigrationJob' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query all data migration instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtss0611o8vv90****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'StartMigrationJob',
+ 'summary' => 'Starts a data migration task.',
+ ],
+ 'StopMigrationJob' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query all data migration instances.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsb2c11sxpi3j****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IDoftheAlibabaCloudaccount. Youdonotneed to specify this parameter because this parameter will be removed in the future.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query all data migration instances.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'StopMigrationJob',
+ 'summary' => 'Stops a data migration task that is in the Migrating state.',
+ ],
+ 'SuspendMigrationJob' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query all data migration instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsj1x11y51g3b****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'SuspendMigrationJob',
+ 'summary' => 'Pauses a data migration task.',
+ ],
+ 'ConfigureMigrationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => ' ',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'system',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'The operation that you want to perform. Set the value to **ConfigureMigrationJob**.'."\n",
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> The region ID of the data migration instance is the same as that of the destination database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'MySQL_TO_RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'dtsl3m1213ye7l****',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'The name of the data migration task. The name can be up to 32 characters in length. We recommend that you specify an informative name to identify the task. You do not need to use a unique task name.'."\n",
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.EngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the source database. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **ECS**: self-managed database that is hosted on ECS'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect, VPN Gateway, or Smart Access Gateway'."\n"
+ .'* **dg**: self-managed database that is connected over Database Gateway'."\n"
+ .'* **cen**: self-managed database that is connected over Cloud Enterprise Network (CEN)'."\n"
+ .'* **MongoDB**: ApsaraDB for MongoDB instance'."\n"
+ .'* **POLARDB**: PolarDB for MySQL cluster or PolarDB for PostgreSQL cluster'."\n"
+ .'* **PolarDB_o**: PolarDB O Edition cluster'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance that hosts the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify the instance ID only if the **SourceEndpoint.InstanceType** parameter is set to **RDS**, **ECS**, **Express**, **MongoDB**, **POLARDB**, or **PolarDB_o**. For example, if the SourceEndpoint.InstanceType parameter is set to **ECS**, you must specify the ID of the ECS instance.'."\n"
+ .'* If the **SourceEndpoint.InstanceType** parameter is set to **Express**, you must specify the ID of the virtual private cloud (VPC).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'rm-bp1i99e8l7913****',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.*** ',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The engine type of the source database. Valid values: **MySQL**, **TiDB**, **SQLServer**, **PostgreSQL**, **Oracle**, **MongoDB**, **Redis**, **POLARDB**, and **polardb_pg**.'."\n"
+ ."\n"
+ .'> You must specify the engine type only if the **DestinationEndpoint.InstanceType** parameter is set to **RDS**, **POLARDB**, **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the source database.'."\n"
+ ."\n"
+ .'> If the **SourceEndpoint.InstanceType** parameter is set to **LocalInstance**, you can enter **cn-hangzhou** or the ID of the region closest to the self-managed database. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the source database.'."\n"
+ ."\n"
+ .'> You must specify the endpoint only if the **SourceEndpoint.InstanceType** parameter is set to **LocalInstance** or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdatabase',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> You must specify the service port number only if the **SourceEndpoint.InstanceType** parameter is set to **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestaccount',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The system ID (SID) of the Oracle database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpoint.EngineName** parameter is set to **Oracle** and the **Oracle** database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the source database or the authentication database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify the database name only if the **SourceEndpoint.EngineName** parameter is set to **PostgreSQL** or **MongoDB**.'."\n"
+ .'* If the **SourceEndpoint.EngineName** parameter is set to **PostgreSQL**, specify the name of the source database. If the SourceEndpoint.EngineName parameter is set to **MongoDB**, specify the name of the authentication database.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Role',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the source database.'."\n"
+ ."\n"
+ .'> The permissions that are required for database accounts vary with the migration scenario. For more information, see [Overview of data migration scenarios](~~26618~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the source database account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.InstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n"
+ ."\n"
+ .'> You must specify this parameter only when you configure data migration across different Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1r46452ai50****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.EngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The authorized RAM role of the source instance. You must specify the RAM role only if the source instance and the destination instance belong to different Alibaba Cloud accounts. You can use the RAM role to allow the Alibaba Cloud account that owns the destination instance to access the source instance.'."\n"
+ ."\n"
+ .'> For information about the permissions and authorization methods of the RAM role, see [Configure RAM authorization for cross-account data migration and synchronization](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the destination database. Valid values:'."\n"
+ ."\n"
+ .'* **ECS**: self-managed database that is hosted on Elastic Compute Service (ECS)'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **DRDS**: PolarDB-X instance'."\n"
+ .'* **MongoDB**: ApsaraDB for MongoDB instance'."\n"
+ .'* **Redis**: ApsaraDB for Redis instance'."\n"
+ .'* **PetaData**: HybridDB for MySQL instance'."\n"
+ .'* **POLARDB**: PolarDB for MySQL cluster or PolarDB for PostgreSQL cluster'."\n"
+ .'* **PolarDB_o**: PolarDB O Edition cluster'."\n"
+ .'* **AnalyticDB**: AnalyticDB for MySQL cluster V3.0 or V2.0'."\n"
+ .'* **Greenplum**: AnalyticDB for PostgreSQL instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance that hosts the destination database.'."\n"
+ ."\n"
+ .'> You must specify the instance ID only if the **DestinationEndpoint.InstanceType** parameter is set to **RDS**, **ECS**, **MongoDB**, **Redis**, **DRDS**, **PetaData**, **OceanBase**, **POLARDB**, **PolarDB_o**, **AnalyticDB**, or **Greenplum**. For example, if the DestinationEndpoint.InstanceType parameter is set to **ECS**, you must specify the ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.***',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The engine type of the destination database. Valid values: **MySQL**, **DRDS**, **SQLServer**, **PostgreSQL**, **PPAS**, **MongoDB**, **Redis**, **POLARDB**, and **polardb_pg**.'."\n"
+ ."\n"
+ .'> You must specify the engine type only if the **DestinationEndpoint.InstanceType** parameter is set to **RDS**, **POLARDB**, **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.DataBaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the destination database.'."\n"
+ ."\n"
+ .'> If the **DestinationEndpoint.InstanceType** parameter is set to **LocalInstance**, you can enter **cn-hangzhou** or the ID of the region closest to the self-managed database. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdatabase',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the destination database.'."\n"
+ ."\n"
+ .'> You must specify the endpoint only if the **DestinationEndpoint.InstanceType** parameter is set to **LocalInstance** or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestaccount',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the destination database.'."\n"
+ ."\n"
+ .'> You must specify the service port number only if the **DestinationEndpoint.InstanceType** parameter is set to **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.StructureIntialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the destination database or the authentication database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify the database name only if the **DestinationEndpoint.EngineName** parameter is set to **PostgreSQL**, **DRDS**, or **MongoDB**.'."\n"
+ .'* If the **DestinationEndpoint.EngineName** parameter is set to **PostgreSQL** or **DRDS**, specify the name of the destination database. If the DestinationEndpoint.EngineName parameter is set to **MongoDB**, specify the name of the authentication database.',
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.DataIntialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the destination database.'."\n"
+ ."\n"
+ .'> The permissions that are required for database accounts vary with the migration scenario. For more information, see [Overview of data migration scenarios](~~26618~~).'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.DataSynchronization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the destination database account.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationObject',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform schema migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> For more information about databases that support schema migration, see [Supported databases and migration types](~~26618~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]',
+ ],
+ ],
+ [
+ 'name' => 'MigrationReserved',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform full data migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> For more information about databases that support full data migration, see [Supported databases and migration types](~~26618~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }',
+ ],
+ ],
+ [
+ 'name' => 'Checkpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform incremental data migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> For more information about databases that support incremental data migration, see [Supported databases and migration types](~~26618~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '111',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The objects that you want to migrate. The value is a JSON string and can contain regular expressions.'."\n"
+ ."\n"
+ .'For more information, see [MigrationObject](~~141227~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.OracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet special requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The start offset of incremental data migration. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '40E35BD9-002E-4D63-9BE5-FBA48833****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **DestinationEndpoint.EngineName** parameter is set to **Oracle** and the **Oracle** database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"40E35BD9-002E-4D63-9BE5-FBA48833****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigureMigrationJob',
+ 'summary' => 'Configures a data migration task.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeMigrationJobDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see List of supported regions.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 30, 50, and 100. Default value: 30.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query the instance ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsta7w132u12h****',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.StructureInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'When you call this operation, the data migration task must be in the Migrating, Failed, Paused, or Finished state.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.DataInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationMode.DataSynchronization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **30**, **50**, and **100**. Default value: **30**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query the details of schema migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ ."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> Default value: **false**',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'Specifies whether to query the details of full data migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ ."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> Default value: **false**',
+ 'type' => 'string',
+ 'example' => '0AE3CD0B-4148-426F-A90E-952467CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Specifies whether to query the details of incremental data migration. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ ."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> Default value: **false**',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'Success' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The error code returned if the call failed.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DataInitializationDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataInitializationDetail' => [
+ 'description' => 'The maximum number of data migration instances that can be displayed on one page.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceOwnerDBName' => [
+ 'description' => 'Indicates whether the call was successful.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Status' => [
+ 'description' => 'The total number of entries that are returned.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'TableName' => [
+ 'description' => 'The error message returned if the call failed.',
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The page number of the returned page.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'FinishRowNum' => [
+ 'description' => 'The details of full data migration.',
+ 'type' => 'string',
+ 'example' => '200001',
+ ],
+ 'MigrationTime' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.',
+ 'type' => 'string',
+ 'example' => '0.0',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The status of full data migration. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: Full data migration is not started.'."\n"
+ .'- **Migrating**: Full data migration is in progress.'."\n"
+ .'- **Failed**: Full data migration failed.'."\n"
+ .'- **Finished**: Full data migration is completed.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'TotalRowNum' => [
+ 'description' => 'The table name.',
+ 'type' => 'string',
+ 'example' => '201477',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DataSynchronizationDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataSynchronizationDetail' => [
+ 'description' => 'The error message returned if full data migration failed.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The number of records that have been migrated.',
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The time taken by full data migration.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'TableName' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.',
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The total number of records that are supposed to be migrated by the task.',
+ 'type' => 'string',
+ 'example' => 'The details of incremental data migration.'."\n",
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The status of incremental data migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Incremental data migration is not started.'."\n"
+ .'* **Migrating**: Incremental data migration is in progress.'."\n"
+ .'* **Failed**: Incremental data migration failed.'."\n"
+ .'* **Finished**: Incremental data migration is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'StructureInitializationDetail' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The table name.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The error message returned if incremental data migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectDefinition' => [
+ 'description' => 'The task has failed for too long and cannot be restored',
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n',
+ ],
+ 'ObjectType' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'Table',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The details of schema migration.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\"id\\" named in key does not exist',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The status of schema migration. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: Schema migration is not started.'."\n"
+ .'- **Migrating**: Schema migration is in progress.'."\n"
+ .'- **Failed**: Schema migration failed.'."\n"
+ .'- **Finished**: Schema migration is completed.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectName' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.',
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ 'ConstraintList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'StructureInitializationDetail' => [
+ 'description' => 'The schema of the migration object.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The type of the migration object. Valid values: **Table**, **Constraint**, **Index**, **View**, **Materialize View**, **Type**, **Synonym**, **Trigger**, **Function**, **Procedure**, **Package**, **Default**, **Rule**, **PlanGuide**, and **Sequence**.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'SourceOwnerDBName' => [
+ 'description' => 'The error message returned if schema migration failed.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectDefinition' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.',
+ 'type' => 'string',
+ 'example' => 'CREATE SEQUENCE "public"."collections_id_seq" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; ',
+ ],
+ 'ObjectType' => [
+ 'description' => 'The name of migration object.',
+ 'type' => 'string',
+ 'example' => 'Table',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The constraints of the migration object, such as indexes and foreign keys. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the **ObjectType** parameter is set to **Table** and the migration object has constraints.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'DestinationOwnerDBName' => [
+ 'description' => 'The status of constraint creation. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**'."\n"
+ .'- **Migrating**'."\n"
+ .'- **Failed**'."\n"
+ .'- **Finished**',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'ObjectName' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.',
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AE3CD0B-4148-426F-A90E-952467CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"DataInitializationDetailList\\": {\\n \\"DataInitializationDetail\\": [\\n {\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"Status\\": \\"Finished\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"FinishRowNum\\": \\"200001\\",\\n \\"MigrationTime\\": \\"0.0\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"TotalRowNum\\": \\"201477\\"\\n }\\n ]\\n },\\n \\"DataSynchronizationDetailList\\": {\\n \\"DataSynchronizationDetail\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"TableName\\": \\"customer\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\"\\n }\\n ]\\n },\\n \\"StructureInitializationDetailList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: DTS-1020042 Execute sql error sql: ERROR: column \\\\\\\\\\\\\\"id\\\\\\\\\\\\\\" named in key does not exist\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\",\\n \\"ConstraintList\\": {\\n \\"StructureInitializationDetail\\": [\\n {\\n \\"Status\\": \\"Finished\\",\\n \\"SourceOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectDefinition\\": \\"CREATE SEQUENCE \\\\\\"public\\\\\\".\\\\\\"collections_id_seq\\\\\\" MINVALUE 1 MAXVALUE 9223372036854775807 START 249 INCREMENT BY 1 ; \\",\\n \\"ObjectType\\": \\"Table\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"DestinationOwnerDBName\\": \\"dtstestdata\\",\\n \\"ObjectName\\": \\"customer\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeMigrationJobDetail',
+ 'summary' => 'Queries the details of a data migration task.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeMigrationJobs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instances reside. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **30**, **50**, and **100**. Default value: **30**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data migration task.'."\n"
+ ."\n"
+ .'> Fuzzy match is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL迁移',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tag of the data migration instance, used as a filter. When this is not empty, only the instance tasks with this tag will be returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key. You can call the [ListTagResources](~~191187~~) operation to query the tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag and Tag.2.Key specifies the key of the second tag. You can specify 1 to 20 tag keys at a time.'."\n"
+ .'* This parameter cannot be an empty string.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. You can call the [ListTagResources](~~191187~~) operation to query the tag value.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Value specifies the value of the first tag and Tag.2.Value specifies the value of the second tag. You can specify 1 to 20 tag values at a time.'."\n"
+ .'* This parameter can be an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testvalue1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 11,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => '0ED4846D-ED60-435D-88C0-7EC0CE4D****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of entries that can be displayed on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of data migration instances that belong to your Alibaba Cloud account.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '300',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MigrationJobs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MigrationJob' => [
+ 'description' => 'The list of data migration instances and the details of each instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'MigrationJobName' => [
+ 'description' => 'The name of the data migration task.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'MigrationJobStatus' => [
+ 'description' => 'The status of the data migration task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Migrating**: The task is migrating data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **MigrationFailed**: The task failed to migrate data.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the data migration instance. The value is **PostPaid** (pay-as-you-go).',
+ 'type' => 'string',
+ 'example' => 'PostPaid',
+ ],
+ 'MigrationJobClass' => [
+ 'description' => 'The specification of the data migration instance. Valid values: **small**, **medium**, **large**, **xlarge**, and **2xlarge**. For more information, see [Specifications of data migration instances](~~26606~~).'."\n",
+ 'type' => 'string',
+ 'example' => '2xlarge',
+ ],
+ 'InstanceCreateTime' => [
+ 'description' => 'The time when the data migration instance was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-22T09:02:13Z',
+ ],
+ 'MigrationJobID' => [
+ 'description' => 'The ID of the data migration instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtson2z28evm33****',
+ ],
+ 'JobCreateTime' => [
+ 'description' => 'The time when the data migration task was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-22T08:53:55Z',
+ ],
+ 'MigrationObject' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SynchronousObject' => [
+ 'description' => 'The objects that are migrated by the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'WholeDatabase' => [
+ 'description' => 'Indicates whether an entire database is migrated. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'false',
+ ],
+ 'TableList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Table' => [
+ 'description' => 'The names of the migrated tables.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The nickname of the table owner.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The collection of tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value that corresponds to the tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'testvalue1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DataInitialization' => [
+ 'description' => 'The details of full data migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Percent' => [
+ 'description' => 'The migration progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'status' => [
+ 'description' => 'The status of full data migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Full data migration is not started.'."\n"
+ .'* **Migrating**: Full data migration is in progress.'."\n"
+ .'* **Failed**: Full data migration failed.'."\n"
+ .'* **Finished**: Full data migration is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been migrated during full data migration.'."\n",
+ 'type' => 'string',
+ 'example' => '200001',
+ ],
+ ],
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'The details of incremental data migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data migration. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'status' => [
+ 'description' => 'The status of incremental data migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Incremental data migration is not started.'."\n"
+ .'* **Migrating**: Incremental data migration is in progress.'."\n"
+ .'* **Failed**: Incremental data migration failed.'."\n"
+ .'* **Finished**: Incremental data migration is completed.'."\n"
+ .'* **Catched**: Incremental data migration is not delayed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Open: open \\\\\\\\?\\\\F:\\\\KINGDEE BACK\\\\AIS20221025151008_Data.mdf: The process cannot access the file because it is being used by another process.',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'OracleSID' => [
+ 'description' => 'This parameter is returned only if the database type of the destination instance is **Oracle**.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1zc3iyqe3qw****',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Precheck' => [
+ 'description' => 'The precheck details.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'OracleSID' => [
+ 'description' => 'This parameter is returned only if the database type of the source instance is **Oracle**.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'The details of schema migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Percent' => [
+ 'description' => 'The progress of schema migration. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'status' => [
+ 'description' => 'The status of schema migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Schema migration is not started.'."\n"
+ .'* **Migrating**: Schema migration is in progress.'."\n"
+ .'* **Failed**: Schema migration failed.'."\n"
+ .'* **Finished**: Schema migration is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables whose schemas have been migrated.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED4846D-ED60-435D-88C0-7EC0CE4D****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 300,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"MigrationJobs\\": {\\n \\"MigrationJob\\": [\\n {\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"InstanceCreateTime\\": \\"2021-06-22T09:02:13Z\\",\\n \\"MigrationJobID\\": \\"dtson2z28evm33****\\",\\n \\"JobCreateTime\\": \\"2021-06-22T08:53:55Z\\",\\n \\"MigrationObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"customer\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"DataInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronization\\": {\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"95\\",\\n \\"status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1zc3iyqe3qw****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Precheck\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceID\\": \\"rm-bp1i99e8l7913****\\",\\n \\"Port\\": \\"3306\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitialization\\": {\\n \\"Percent\\": \\"100\\",\\n \\"status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMigrationJobsResponse>\\r\\n <TotalRecordCount>300</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>0ED4846D-ED60-435D-88C0-7EC0CE4D****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <MigrationJobs>\\r\\n <MigrationJob>\\r\\n <DataSynchronization>\\r\\n <Percent>95</Percent>\\r\\n <Delay>0</Delay>\\r\\n <status>Catched</status>\\r\\n </DataSynchronization>\\r\\n <Precheck/>\\r\\n <InstanceCreateTime>2021-06-22T09:02:13Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-22T08:53:55Z</JobCreateTime>\\r\\n <MigrationJobName>MySQL迁移</MigrationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <MigrationJobStatus>Migrating</MigrationJobStatus>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <MigrationJobID>dtson2z28evm33****</MigrationJobID>\\r\\n <MigrationObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstest</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>customer</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </MigrationObject>\\r\\n <DataInitialization>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1zc3iyqe3qw****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <MigrationJobClass>2xlarge</MigrationJobClass>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1i99e8l7913****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n <status>Finished</status>\\r\\n </StructureInitialization>\\r\\n <Tags></Tags>\\r\\n </MigrationJob>\\r\\n </MigrationJobs>\\r\\n <Success>true</Success>\\r\\n</DescribeMigrationJobsResponse>","errorExample":""}]',
+ 'title' => 'DescribeMigrationJobs',
+ 'summary' => 'Queries the list of data migration instances and the details of each instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeMigrationJobStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsz2v12jfo309****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A032E3B4-929B-48E9-97B9-37587CBF****',
+ ],
+ 'MigrationJobName' => [
+ 'description' => 'The name of the data migration task.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL migration',
+ ],
+ 'MigrationJobStatus' => [
+ 'description' => 'The status of the data migration task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Migrating**: The task is migrating data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **MigrationFailed**: The task failed to migrate data.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the data migration instance. The value is **PostPaid** (pay-as-you-go).'."\n",
+ 'type' => 'string',
+ 'example' => 'PostPaid',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'MigrationObject' => [
+ 'description' => 'The objects that are migrated by the task.'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"DBName\\":\\"dtstestdata\\",\\"TableIncludes\\":[{\\"TableName\\":\\"customer\\"}]}]',
+ ],
+ 'MigrationJobId' => [
+ 'description' => 'The ID of the data migration instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsz2v12jfo309****',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the data migration task. You can use the task ID to configure the link to the task details page in the DTS console.'."\n"
+ ."\n"
+ .'> The link to the task details page is https://dts.console.aliyun.com/#/progress/z2v12jfo309****/config/.'."\n",
+ 'type' => 'string',
+ 'example' => 'z2v12jfo309****',
+ ],
+ 'MigrationJobClass' => [
+ 'description' => 'The specification of the data migration instance. Valid values: **small**, **medium**, **large**, **xlarge**, and **2xlarge**. For more information, see [Specifications of data migration instances](~~26606~~).'."\n",
+ 'type' => 'string',
+ 'example' => '2xlarge',
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The status of full data migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of full data migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Full data migration is not started.'."\n"
+ .'* **Migrating**: Full data migration is in progress.'."\n"
+ .'* **Failed**: Full data migration failed.'."\n"
+ .'* **Finished**: Full data migration is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The migration progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been migrated during full data migration.'."\n",
+ 'type' => 'string',
+ 'example' => '200001',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The status of incremental data migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of incremental data migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Incremental data migration is not started.'."\n"
+ .'* **Migrating**: Incremental data migration is in progress.'."\n"
+ .'* **Failed**: Incremental data migration failed.'."\n"
+ .'* **Finished**: Incremental data migration is completed.'."\n"
+ .'* **Catched**: Incremental data migration is not delayed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data migration. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The task has failed for too long and cannot be restored',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The UNIX timestamp generated when the latest incremental data is migrated. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1612507847',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1zc3iyqe3qw****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'oracleSID' => [
+ 'description' => 'The system ID (SID) of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the database type of the destination instance is **Oracle**.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'dataInitialization' => [
+ 'description' => 'Indicates whether full data migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'dataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'structureInitialization' => [
+ 'description' => 'Indicates whether schema migration is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck details.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck status. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Suspending**:'."\n"
+ .'* **Checking**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: %.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Detail' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'CheckItem' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckStatus' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdatabase',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **ECS**: self-managed database that is hosted on Elastic Compute Service (ECS)'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect, VPN Gateway, or Smart Access Gateway'."\n"
+ .'* **MongoDB**: ApsaraDB for MongoDB instance'."\n"
+ .'* **POLARDB**: PolarDB for MySQL cluster (available only for the China site)'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'oracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the database type of the source instance is **Oracle**.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdatabase',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The status of schema migration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of schema migration. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Schema migration is not started.'."\n"
+ .'* **Migrating**: Schema migration is in progress.'."\n"
+ .'* **Failed**: Schema migration failed.'."\n"
+ .'* **Finished**: Schema migration is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema migration. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema migration failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables whose schemas have been migrated.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A032E3B4-929B-48E9-97B9-37587CBF****\\",\\n \\"MigrationJobName\\": \\"MySQL迁移\\",\\n \\"MigrationJobStatus\\": \\"Migrating\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"MigrationObject\\": \\"[{\\\\\\\\\\\\\\"DBName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"TableIncludes\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"TableName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"customer\\\\\\\\\\\\\\"}]}]\\",\\n \\"MigrationJobId\\": \\"dtsxxxxxxxx\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\",\\n \\"MigrationJobClass\\": \\"2xlarge\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"Percent\\": \\"95\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"任务失败太久 无法恢复\\",\\n \\"Checkpoint\\": \\"1571040679\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"InstanceId\\": \\"rm-bpxxxxxxxx\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"dataInitialization\\": true,\\n \\"dataSynchronization\\": true,\\n \\"structureInitialization\\": true\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": {\\n \\"CheckItem\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"DatabaseName\\": \\"dtstestdatabase\\",\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"oracleSID\\": \\"testsid\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeMigrationJobStatus',
+ 'summary' => 'Queries the status of a data migration task.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeConnectionStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceEndpointArchitecture',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **Oracle**. Valid values:'."\n"
+ ."\n"
+ .'* **SID**: non-RAC architecture'."\n"
+ .'* **RAC**: RAC architecture'."\n"
+ ."\n"
+ .'> This parameter is optional.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'SID',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source instance. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **ECS**: self-managed database that is hosted on ECS'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect'."\n"
+ .'* **dg**: self-managed database that is connected over Database Gateway'."\n"
+ .'* **MongoDB**: ApsaraDB for MongoDB instance'."\n"
+ .'* **POLARDB**: PolarDB for MySQL cluster'."\n"
+ .'* **PolarDB_o**: PolarDB for Oracle cluster'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The engine type of the source database. Valid values: **MySQL**, **TiDB**, **SQLServer**, **PostgreSQL**, **Oracle**, **MongoDB**, and **Redis**.'."\n"
+ ."\n"
+ .'> Default value: **MySQL**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the source instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointIP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the source database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpointInstanceType** parameter is set to **LocalInstance** or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.*** ',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpointInstanceType** parameter is set to **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointOracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the source database or the authentication database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify this parameter if the **SourceEndpointEngineName** parameter is set to **PostgreSQL** or **MongoDB**. You must also specify this parameter if the **SourceEndpointInstanceType** parameter is set to **PolarDB_o**.'."\n"
+ .'* If the **SourceEndpointEngineName** parameter is set to **PostgreSQL** or **DRDS**, specify the name of the source database. If the SourceEndpointEngineName parameter is set to **MongoDB**, specify the name of the authentication database.'."\n"
+ .'* If the **SourceEndpointInstanceType** parameter is set to **PolarDB_o**, specify the name of the source database.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the source database.'."\n"
+ ."\n"
+ .'> The permissions that are required for database accounts vary with the migration or synchronization scenario. For more information, see [Overview of data migration scenarios](~~26618~~) and [Overview of data synchronization scenarios](~~130744~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the source database account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the destination database. Valid values:'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* **ECS**: self-managed database that is hosted on Elastic Compute Service (ECS)'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **DRDS**: PolarDB-X instance'."\n"
+ .'* **MongoDB**: ApsaraDB for MongoDB instance'."\n"
+ .'* **Redis**: ApsaraDB for Redis instance'."\n"
+ .'* **PetaData**: HybridDB for MySQL instance'."\n"
+ .'* **POLARDB**: PolarDB for MySQL cluster'."\n"
+ .'* **PolarDB_o**: PolarDB for Oracle cluster'."\n"
+ .'* **AnalyticDB**: AnalyticDB for MySQL cluster V3.0 or V2.0'."\n"
+ .'* **Greenplum**: AnalyticDB for PostgreSQL instance',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PolarDB_o',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The engine type of the destination database. Valid values: **MySQL**, **DRDS**, **SQLServer**, **PostgreSQL**, **PPAS**, **MongoDB**, and **Redis**.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **DestinationEndpointInstanceType** parameter is set to **RDS**, **DRDS**, **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the destination instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointIP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the destination database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **DestinationEndpointInstanceType** parameter is set to **LocalInstance** or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.*** ',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpointInstanceType** parameter is set to **ECS**, **LocalInstance**, or **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the destination database or the authentication database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify this parameter if the **DestinationEndpointEngineName** parameter is set to **PostgreSQL**, **DRDS**, or **MongoDB**. You must also specify this parameter if the **DestinationEndpointInstanceType** parameter is set to **PolarDB_o**.'."\n"
+ .'* If the **DestinationEndpointEngineName** parameter is set to **PostgreSQL** or **DRDS**, specify the name of the destination database. If the DestinationEndpointEngineName parameter is set to **MongoDB**, specify the name of the authentication database.'."\n"
+ .'* If the **DestinationEndpointInstanceType** parameter is set to **PolarDB_o**, specify the name of the destination database.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the destination database.'."\n"
+ ."\n"
+ .'> The permissions that are required for database accounts vary with the migration or synchronization scenario. For more information, see [Overview of data migration scenarios](~~26618~~) and [Overview of data synchronization scenarios](~~130744~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the destination database account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointOracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You must specify this parameter only if the **DestinationEndpointEngineName** parameter is set to **Oracle**. Valid values:'."\n"
+ ."\n"
+ .'* **SID**: non-RAC architecture'."\n"
+ .'* **RAC**: RAC architecture'."\n"
+ ."\n"
+ .'> This parameter is optional. The data type of this parameter is String.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'SID',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointArchitecture',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **Oracle**. Valid values:'."\n"
+ ."\n"
+ .'* **SID**: non-RAC architecture'."\n"
+ .'* **RAC**: Real Application Cluster (RAC) architecture'."\n"
+ ."\n"
+ .'> This parameter is optional. The data type of this parameter is String.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'SID',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceConnectionStatus' => [
+ 'description' => 'The connectivity of DTS servers to the source database.'."\n",
+ 'type' => 'object',
+ 'example' => '{ "connectDetail": [ { "testName": "Oracle JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": false }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }',
+ ],
+ 'DestinationConnectionStatus' => [
+ 'description' => 'The connectivity of DTS servers to the destination database.'."\n",
+ 'type' => 'object',
+ 'example' => '{ "connectDetail": [ { "testName": "PolarDB_o JDBC Connect", "testSuccess": true }, { "testName": "Ping ", "testSuccess": true }, { "testName": "Telnet ", "testSuccess": true } ], "connectRes": true, "connectAdvice": "" }',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0A47C784-70EF-4111-8677-369CAA00****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SourceConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"Oracle JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": false\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"DestinationConnectionStatus\\": {\\n \\"connectDetail\\": [\\n {\\n \\"testName\\": \\"PolarDB_o JDBC Connect\\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Ping \\",\\n \\"testSuccess\\": true\\n },\\n {\\n \\"testName\\": \\"Telnet \\",\\n \\"testSuccess\\": true\\n }\\n ],\\n \\"connectRes\\": true,\\n \\"connectAdvice\\": \\"\\"\\n },\\n \\"RequestId\\": \\"0A47C784-70EF-4111-8677-369CAA00****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeConnectionStatus',
+ 'summary' => 'Queries the connectivity of Data Transmission Service (DTS) servers to the source and destination databases.',
+ 'translator' => 'machine',
+ ],
+ 'ConfigureSubscription' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '52207',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the change tracking task.'."\n"
+ ."\n"
+ .'> We recommend that you specify a descriptive name for easy identification. You do not need to use a unique name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'for_test',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsy0zz3t13h7d****',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'y0zz3t13h7d****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The engine of the source database. Valid values: **MySQL**, **PostgreSQL**, and **Oracle**.'."\n"
+ ."\n"
+ .'> If the source database is a self-managed database, you must specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PostgreSQL',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source database. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS for MySQL instance'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster'."\n"
+ .'* **DRDS**: PolarDB-X 1.0 instance'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **ECS**: self-managed database hosted on an Elastic Compute Service (ECS) instance'."\n"
+ .'* **Express**: self-managed database connected over Express Connect'."\n"
+ .'* **CEN**: self-managed database connected over Cloud Enterprise Network (CEN)'."\n"
+ .'* **dg**: self-managed database connected over Database Gateway'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the source database resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the source database is a self-managed database with a public IP address, you can set the value of this parameter to **cn-hangzhou** or the ID of the region that is closest to the region in which the self-managed database resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source database.'."\n"
+ ."\n"
+ .'> This parameter is required only when the source database is an ApsaraDB RDS for MySQL instance, a PolarDB-X 1.0 instance, or a PolarDB for MySQL cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1zc3iyqe3qw****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointIP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the source database.'."\n"
+ ."\n"
+ .'> This parameter is required only when the source database is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.8*.***',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> This parameter is required only when the source database is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointOracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The system ID (SID) of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is required only when the source database is a self-managed Oracle database and is not deployed in the Real Application Clusters (RAC) architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Name of the database to be subscribed.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the account that is used to connect to the source database.'."\n"
+ ."\n"
+ .'> The permissions that are required for the database account vary with the change tracking scenario. For more information, see [Prepare the source database account for change tracking](~~212653~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the account that is used to connect to the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointOwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source database belongs.'."\n"
+ ."\n"
+ .'> This parameter is required only when you track data changes across different Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRole',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The RAM role that is authorized to access the source database. This parameter is required if the source database does not belong to the Alibaba Cloud account that you use to configure the change tracking task. In this case, you must authorize the Alibaba Cloud account to access the source database by using a RAM role.'."\n"
+ ."\n"
+ .'> For more information about the permissions that are required for the RAM role and how to grant the permissions to the RAM role, see [Configure RAM authorization for cross-account data migration and synchronization](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'DbList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The objects for which you want to track data changes. The value must be a JSON string. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '{"dtstest":{"name":"dtstest","all":true}}',
+ ],
+ ],
+ [
+ 'name' => 'Reserve',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The reserved parameter of DTS. The value must be a JSON string. You can specify this parameter to add more configurations of the source or destination database to the DTS task. For example, you can specify the data storage format of the destination Kafka database and the ID of the CEN instance. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }',
+ ],
+ ],
+ [
+ 'name' => 'Checkpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The UNIX timestamp that represents the start time of change tracking. Unit: seconds.'."\n"
+ ."\n"
+ .'> You can use a search engine to obtain a UNIX timestamp converter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1616902385',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceNetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The network type of the change tracking task. Set the value to **vpc**. A value of vpc indicates the Virtual Private Cloud (VPC) network type.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* To use the new version of the change tracking feature, you must specify the SubscriptionInstanceNetworkType parameter. You must also specify the **SubscriptionInstanceVPCId** and **SubscriptionInstanceVSwitchID** parameters. If you do not specify the SubscriptionInstanceNetworkType parameter, the previous version of the change tracking feature is used.'."\n"
+ .'* The previous version of the change tracking feature supports self-managed MySQL databases, ApsaraDB RDS for MySQL instances, and PolarDB-X 1.0 instances. The new version of the change tracking feature supports self-managed MySQL databases, ApsaraDB RDS for MySQL instances, PolarDB for MySQL clusters, and Oracle databases.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vpc',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceVPCId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VPC in which the change tracking instance is deployed.'."\n"
+ ."\n"
+ .'> This parameter is required only when the **SubscriptionInstanceNetworkType** parameter is set to **vpc**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp1vwnn14rqpyiczj****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceVSwitchId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the vSwitch in the specified VPC.'."\n"
+ ."\n"
+ .'> This parameter is required only when the **SubscriptionInstanceNetworkType** parameter is set to **vpc**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vsw-bp10df3mxae6lpmku****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataTypeDDL',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to track DDL statements. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: tracks DDL statements.'."\n"
+ .'* **false**: does not track DDL statements.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataTypeDML',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to track DML statements. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: tracks DML statements.'."\n"
+ .'* **false**: does not track DML statements.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DelayPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile numbers to which latency-related alerts are sent. Separate multiple mobile numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is available only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers.'."\n"
+ .'* Users of the international site (alibabacloud.com) cannot receive alerts by using mobile phones, but can [configure alert rules for DTS tasks in the CloudMonitor console](~~175876~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayRuleTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for triggering latency-related alerts. Unit: seconds. The value must be an integer. You can set the threshold based on your business needs. To prevent jitters caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ ."\n"
+ .'> If the **DelayNotice** parameter is set to **true**, this parameter is required.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'DelayNotice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor the task latency. Valid values:'."\n"
+ ."\n"
+ .'* **true**: monitors the task latency.'."\n"
+ .'* **false**: does not monitor the task latency.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ErrorPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile numbers to which status-related alerts are sent. Separate multiple mobile numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is available only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers.'."\n"
+ .'* Users of the international site (alibabacloud.com) cannot receive alerts by using mobile phones, but can [configure alert rules for DTS tasks in the CloudMonitor console](~~175876~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'ErrorNotice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor the task status. Valid values:'."\n"
+ ."\n"
+ .'* **true**: monitors the task status.'."\n"
+ .'* **false**: does not monitor the task status.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which the change tracking task is scheduled to run.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_atyl3b5214uk***',
+ ],
+ ],
+ [
+ 'name' => 'DtsBisLabel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Environment label of the DTS instance, with values:'."\n"
+ .'- **normal**: **general** - **online**: **production**',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'normal',
+ ],
+ ],
+ [
+ 'name' => 'MinDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The lower limit of DU for Serverless instances, with values being: 1, 2, 4, 8, 16. '."\n"
+ .'This feature is currently not supported, please do not pass in parameters.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DU upper limit of the Serverless instance, with values being: 2, 4, 8, 16. '."\n"
+ .'Currently, this feature is not supported, please do not pass in parameters. ',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '16',
+ ],
+ ],
+ [
+ 'name' => 'SrcCaCertificateOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path of the certificate authority (CA) certificate that is used if the connection to the source database is encrypted by using the SSL protocol.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcCaCertificatePassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key of the CA certificate that is used if the connection to the source database is encrypted by using the SSL protocol.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientCertOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the client certificate that is used if the connection to the source database is encrypted by using the SSL protocol.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientKeyOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the private key of the client certificate that is used if the connection to the source database is encrypted by using the SSL protocol.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the private key of the client certificate that is used if the connection to the source database is encrypted by using the SSL protocol.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'y0zz3t13h7d****',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DtsInstanceId' => [
+ 'description' => 'The ID of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsy0zz3t13h7d****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"1D6ECADF-C5E9-4C96-8811-77602B31****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"y0zz3t13h7d****\\",\\n \\"Success\\": \\"true\\",\\n \\"DtsInstanceId\\": \\"dtsy0zz3t13h7d****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionResponse>\\n <DtsJobId>y0zz3t13h7d****</DtsJobId>\\n <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DtsInstanceId>dtsy0zz3t13h7d****</DtsInstanceId>\\n <Success>true</Success>\\n</ConfigureSubscriptionResponse>","errorExample":""}]',
+ 'title' => 'ConfigureSubscription',
+ 'summary' => 'Configures a change tracking task.',
+ 'description' => '> You can preview related API operation parameters when you configure a change tracking task in the Data Transmission Service (DTS) console. This helps you configure the request parameters of this API operation. For more information, see [Preview the request parameters of API operations](~~2851612~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'CreateConsumerChannel' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId**. parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsboss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId**. parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'boss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group. The name can be up to 128 characters in length. We recommend that you use an informative name for easy identification.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '订阅组A',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the consumer group.'."\n"
+ ."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the consumer group.'."\n"
+ ."\n"
+ .'* A username must contain one or more of the following characters: uppercase letters, lowercase letters, digits, and underscores (\\_).'."\n"
+ .'* A username cannot exceed 16 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2zx4uizich7y',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5F566C5B-E5B0-4020-A531-FC6F5005****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'ConsumerGroupID' => [
+ 'description' => 'The ID of the consumer group. You can specify this parameter on a downstream client when you consume tracked data.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsor2y66j4219****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"5F566C5B-E5B0-4020-A531-FC6F5005****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConsumerGroupID\\": \\"dtsor2y66j4219****\\"\\n}","type":"json"}]',
+ 'title' => 'CreateConsumerChannel',
+ 'summary' => 'Creates a consumer group for a change tracking task. Downstream clients can use the consumer group to consume tracked data.',
+ 'translator' => 'machine',
+ ],
+ 'DeleteConsumerChannel' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsboss6pn1w73****',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'boss6pn1w73****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. You can call the [DescribeConsumerChannel](~~264169~~) operation to query the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsktbb6jdn2******',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F9E00ABE-2AD9-40A9-8C3C-D817E648****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"F9E00ABE-2AD9-40A9-8C3C-D817E648****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteConsumerChannelResponse>\\n <RequestId>F9E00ABE-2AD9-40A9-8C3C-D817E648****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteConsumerChannelResponse>","errorExample":""}]',
+ 'title' => 'Delete subscription task consumer group',
+ 'summary' => 'Deletes a consumer group.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'ModifyConsumerChannel' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsboss6pn1w73****',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'boss6pn1w73****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. You can call the [DescribeConsumerChannel](~~264169~~) operation to query the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsor2y66j4219****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password of the consumer group.'."\n"
+ ."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new username of the consumer group.'."\n"
+ ."\n"
+ .'* A username can contain one or more of the following character types: uppercase letters, lowercase letters, digits, and underscores (\\_).'."\n"
+ .'* A username cannot exceed 16 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group. The name cannot exceed 128 characters in length. We recommend that you use an informative name for easy identification.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '055CAF9B-C15D-4799-BB9E-E62D417****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"055CAF9B-C15D-4799-BB9E-E62D417****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyConsumerChannelResponse>\\n <RequestId>055CAF9B-C15D-4799-BB9E-E62D417****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyConsumerChannelResponse>","errorExample":""}]',
+ 'title' => 'ModifyConsumerChannel',
+ 'summary' => 'Modifies the information of a consumer group, including the consumer group name, username, and password.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeConsumerChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsboss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **DtsInstanceId** and **DtsJobId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'boss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ParentChannelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parent task ID of the distributed task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsan5114c52******',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'D66140B3-C747-42B6-8315-BAF6490E****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of consumer groups that can be displayed on one page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of consumer groups.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ConsumerChannels' => [
+ 'description' => 'The details of the consumer groups.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ConsumerGroupUserName' => [
+ 'description' => 'The username of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'ConsumerGroupId' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsor2y66j4219****',
+ ],
+ 'MessageDelay' => [
+ 'description' => 'The message latency, which is the timestamp of the latest data consumed by the downstream client minus the timestamp of the latest data tracked by the change tracking task. The value is a UNIX timestamp. Unit: seconds.'."\n"
+ ."\n"
+ .'For example, the latest data in the source database is generated at 10:00. The change tracking task reads the data generated at 09:55, and the downstream client consumes the data generated at 09:30. In this case, the message latency is the UNIX timestamp difference between 09:55 and 09:30.'."\n"
+ ."\n"
+ .'> If the return value of this parameter is **-1**, no client is connected to the consumer group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1500',
+ ],
+ 'ConsumerGroupName' => [
+ 'description' => 'The name of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'consumergrouptest',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint, which is the time when the latest data record was consumed by the change tracking client. The time is displayed in the yyyy-MM-ddTHH:mm:ssZ format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-20T12:00:00Z',
+ ],
+ 'UnconsumedData' => [
+ 'description' => 'The total number of unconsumed messages, which is the number of unconsumed data records plus the number of heartbeat messages.'."\n"
+ ."\n"
+ .'> If the return value of this parameter is -1, no client is connected to the consumer group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '186600',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"D66140B3-C747-42B6-8315-BAF6490E****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 20,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupId\\": \\"dtsor2y66j4219****\\",\\n \\"MessageDelay\\": 1500,\\n \\"ConsumerGroupName\\": \\"订阅组A\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-20T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeConsumerChannelResponse>\\n <TotalRecordCount>1</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>D66140B3-C747-42B6-8315-BAF6490E****</RequestId>\\n <PageNumber>1</PageNumber>\\n <HttpStatusCode>200</HttpStatusCode>\\n <ConsumerChannels>\\n <ConsumptionCheckpoint/>\\n <ConsumerGroupId>dtsor2y66j4219****</ConsumerGroupId>\\n <ConsumerGroupUserName>dtstest</ConsumerGroupUserName>\\n <ConsumerGroupName>订阅组A</ConsumerGroupName>\\n <MessageDelay>-1</MessageDelay>\\n <UnconsumedData>-1</UnconsumedData>\\n </ConsumerChannels>\\n <Success>true</Success>\\n</DescribeConsumerChannelResponse>","errorExample":""}]',
+ 'title' => 'DescribeConsumerChannel',
+ 'summary' => 'Queries the information of a consumer group, including the consumer group ID, consumer group name, username, and message latency.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'CreateConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsg2m10r1x15a****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group. The name cannot exceed 128 characters in length. We recommend that you use an informative name for easy identification.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '测试订阅组',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the consumer group.'."\n"
+ ."\n"
+ .'* A username must contain one or more of the following characters: uppercase letters, lowercase letters, digits, and underscores (\\_).'."\n"
+ .'* A username cannot exceed 16 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password that corresponds to the username of the consumer group.'."\n"
+ ."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ConsumerGroupID' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtswc411cg617p****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError ',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ConsumerGroupID\\": \\"dtswc411cg617p****\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'CreateConsumerGroup',
+ 'summary' => 'Creates a consumer group for a change tracking instance.',
+ 'translator' => 'machine',
+ ],
+ 'DeleteConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the **DescribeSubscriptionInstances** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsg2m10r1x15a****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. You can call the [DescribeConsumerGroup](~~122886~~) operation to query the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtssb911ydd192****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteConsumerGroup',
+ 'summary' => 'Deletes a consumer group.',
+ 'translator' => 'machine',
+ ],
+ 'ModifyConsumerGroupPassword' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the **DescribeSubscriptionInstances** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsg2m10r1x15a****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. You can call the [DescribeConsumerGroup](~~122886~~) operation to query the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtswc411cg617p****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group. The name cannot exceed 128 characters in length. We recommend that you use an informative name for easy identification.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the consumer group. You can call the [DescribeConsumerGroup](~~122886~~) operation to query the username.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password of the consumer group.'."\n"
+ ."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'consumerGroupNewPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password of the consumer group.'."\n"
+ .' '."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Test654321',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The username of the consumer group. You can call the [DescribeConsumerGroup](~~122886~~) operation to query the username.'."\n",
+ 'type' => 'string',
+ 'example' => 'A06B5CFF-9576-4BC1-BE62-A3D43E1F****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The current password of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'The new password of the consumer group.'."\n"
+ ."\n"
+ .'* A password must contain two or more of the following characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ .'* A password must be 8 to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A06B5CFF-9576-4BC1-BE62-A3D43E1F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyConsumerGroupPassword',
+ 'summary' => 'Modifies the password of a consumer group',
+ ],
+ 'DescribeConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **30**, **50**, and **100**. Default value: **30**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtso5xx5t9u19e****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4204E899-8193-4D7D-A4FB-3A7F9063****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of consumer groups that can be displayed on one page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of consumer groups.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ConsumerChannels' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DescribeConsumerChannel' => [
+ 'description' => 'The list of consumer groups.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ConsumerGroupUserName' => [
+ 'description' => 'The username of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'ConsumerGroupID' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtspis1110z232****',
+ ],
+ 'MessageDelay' => [
+ 'description' => 'The message delay, which is the current time minus the timestamp of the earliest unconsumed message in the change tracking instance. Unit: seconds.'."\n"
+ ."\n"
+ .'> If the return value of this parameter is **-1**, no client is connected to the consumer group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '172714',
+ ],
+ 'ConsumerGroupName' => [
+ 'description' => 'The name of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'consumergrouptest',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint, which is the time when the latest data record was consumed by the change tracking client. The format is *yyyy-MM-dd*T*HH:mm:ss*Z. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-10-02T12:00:00Z',
+ ],
+ 'UnconsumedData' => [
+ 'description' => 'The total number of unconsumed messages, which is the number of unconsumed data records plus the number of heartbeat messages.'."\n"
+ ."\n"
+ .'> If the return value of this parameter is **-1**, no client is connected to the consumer group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '186600',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4204E899-8193-4D7D-A4FB-3A7F9063****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"ConsumerChannels\\": {\\n \\"DescribeConsumerChannel\\": [\\n {\\n \\"ConsumerGroupUserName\\": \\"dtstest\\",\\n \\"ConsumerGroupID\\": \\"dtspis1110z232****\\",\\n \\"MessageDelay\\": 172714,\\n \\"ConsumerGroupName\\": \\"consumergrouptest\\",\\n \\"ConsumptionCheckpoint\\": \\"2019-10-02T12:00:00Z\\",\\n \\"UnconsumedData\\": 186600\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeConsumerGroup',
+ 'summary' => 'Queries the details of consumer groups in a change tracking instance.',
+ 'translator' => 'machine',
+ ],
+ 'CreateSubscriptionInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the change tracking instance. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the change tracking instance. The region ID is the same as that of the source instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source instance. Valid values: **MySQL**, **PolarDB**, **DRDS**, and **Oracle**.'."\n"
+ ."\n"
+ .'> Default value: **MySQL**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'PayType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method of the change tracking instance.'."\n"
+ ."\n"
+ .'* **Postpaid**: pay-as-you-go'."\n"
+ .'* **Prepaid**: subscription'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Prepaid',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing cycle of the subscription instance. Valid values:'."\n"
+ ."\n"
+ .'* **Year**'."\n"
+ .'* **Month**'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the PayType parameter to **Prepaid**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Month',
+ ],
+ ],
+ [
+ 'name' => 'UsedTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription length.'."\n"
+ ."\n"
+ .'* If the billing cycle is **Year**, the value range is **1 to 5**.'."\n"
+ .'* If the billing cycle is **Month**, the value range is **1 to 60**.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the PayType parameter to **Prepaid**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '12',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4E9564C5-F99D-4176-A6BA-2D7F2DC8****',
+ ],
+ 'SubscriptionInstanceId' => [
+ 'description' => 'The ID of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsfen11q2g23x****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4E9564C5-F99D-4176-A6BA-2D7F2DC8****\\",\\n \\"SubscriptionInstanceId\\": \\"dtsfen11q2g23x****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'CreateSubscriptionInstance',
+ 'summary' => 'Purchases a change tracking instance.',
+ 'translator' => 'machine',
+ ],
+ 'DeleteSubscriptionInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsmxg11pfp231****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteSubscriptionInstance',
+ 'summary' => 'Releases a change tracking instance.',
+ 'translator' => 'machine',
+ ],
+ 'StartSubscriptionInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtso6m11cxt26q****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B083F9AB-BE9B-4716-8AD3-CFA04391****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '11****',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B083F9AB-BE9B-4716-8AD3-CFA04391****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'StartSubscriptionInstance',
+ 'summary' => 'Starts a change tracking task.',
+ ],
+ 'ModifySubscriptionObject' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeSubscriptionInstances](~~49442~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsl8zl9ek6292****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionObject',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The objects from which you want to track data changes. The value is a JSON string and can contain regular expressions. For more information, see [SubscriptionObjects](~~141902~~).',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[{"DBName":"dtstestdata"}]',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ModifySubscriptionObject',
+ 'summary' => 'Modifies the objects for change tracking.',
+ ],
+ 'ModifyConsumptionTimestamp' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsg2m10r1x15a****',
+ ],
+ ],
+ [
+ 'name' => 'ConsumptionTimestamp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The consumption checkpoint. The format is *yyyy-MM-dd*T*HH:mm:ss*Z. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '2019-10-15T17:20:03Z',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ABBACEFC-CBA9-4F80-A337-42F202F5****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ABBACEFC-CBA9-4F80-A337-42F202F5****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyConsumptionTimestamp',
+ 'summary' => 'Modifies the consumption checkpoint of a change tracking instance.',
+ ],
+ 'DescribeSubscriptionInstances' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~49442~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **30**, **50**, and **100**. Default value: **30**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the change tracking instance.'."\n"
+ ."\n"
+ .'> If you specify this parameter, DTS returns all the change tracking instances that match the specified name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL订阅',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Tags of the data migration instance, used as a filter. When this is not empty, only instances with this tag will be returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag and Tag.2.Key specifies the key of the second tag. You can specify 1 to 20 tag keys at a time.'."\n"
+ .'* This parameter cannot be an empty string.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Value specifies the value of the first tag and Tag.2.Value specifies the value of the second tag. You can specify 1 to 20 tag values at a time.'."\n"
+ .'* This parameter can be an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testvalue1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 11,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of entries that can be displayed on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of change tracking instances that belong to your Alibaba Cloud account.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SubscriptionInstances' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SubscriptionInstance' => [
+ 'description' => 'The list of change tracking instances and the details of each instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the change tracking task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Starting**: The task is being started.'."\n"
+ .'* **Normal**: The task is running as expected.'."\n"
+ .'* **Abnormal**: The task is not running as expected.'."\n",
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if change tracking failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'xxxxxxxx',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the change tracking instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information, in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-21T09:30:31Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-21T10:17:21Z',
+ ],
+ 'InstanceCreateTime' => [
+ 'description' => 'The time when the change tracking instance was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-21T02:48:20Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-21T08:25:43Z',
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'SubscriptionInstanceName' => [
+ 'description' => 'The name of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SubscriptionInstanceID' => [
+ 'description' => 'The ID of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'JobCreateTime' => [
+ 'description' => 'The time when the change tracking task was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-21T02:48:20Z',
+ ],
+ 'SubscriptionObject' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SynchronousObject' => [
+ 'description' => 'The objects for change tracking.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the object belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'WholeDatabase' => [
+ 'description' => 'Indicates whether the data of an entire database is tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'false',
+ ],
+ 'TableList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Table' => [
+ 'description' => 'The table name.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The table name of the subscription object.',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The collection of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value that corresponds to the tag key.',
+ 'type' => 'string',
+ 'example' => 'testvalue1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The types of operations that are tracked by the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DML' => [
+ 'description' => 'Indicates whether data manipulation language (DML) operations are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DDL' => [
+ 'description' => 'Indicates whether data definition language (DDL) operations are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'VPCHost' => [
+ 'description' => 'The virtual private cloud (VPC) endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003',
+ ],
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 30,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 1,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SubscriptionInstances\\": {\\n \\"SubscriptionInstance\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"xxxxxxxx\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-06-21T09:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-06-21T10:17:21Z\\",\\n \\"InstanceCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"BeginTimestamp\\": \\"2021-06-21T08:25:43Z\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"mysql订阅\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"JobCreateTime\\": \\"2021-06-21T02:48:20Z\\",\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubscriptionInstancesResponse>\\r\\n <TotalRecordCount>1</TotalRecordCount>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>FC3BAAF2-74E3-4471-8EB5-96202D6A****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <Success>true</Success>\\r\\n <SubscriptionInstances>\\r\\n <SubscriptionInstance>\\r\\n <Status>Normal</Status>\\r\\n <SubscriptionObject>\\r\\n <SynchronousObject>\\r\\n <DatabaseName>dtstestdata</DatabaseName>\\r\\n <WholeDatabase>false</WholeDatabase>\\r\\n <TableList>\\r\\n <Table>test1</Table>\\r\\n </TableList>\\r\\n </SynchronousObject>\\r\\n </SubscriptionObject>\\r\\n <SubscriptionDataType>\\r\\n <DML>true</DML>\\r\\n <DDL>true</DDL>\\r\\n </SubscriptionDataType>\\r\\n <SubscriptionInstanceName>mysql订阅</SubscriptionInstanceName>\\r\\n <SubscriptionHost>\\r\\n <PublicHost>dts-cn-hangzhou.aliyuncs.com:18001</PublicHost>\\r\\n <PrivateHost>dts-cn-hangzhou-internal.aliyuncs.com:18002</PrivateHost>\\r\\n <VPCHost>dts-cn-hangzhou-vpc.aliyuncs.com:18003</VPCHost>\\r\\n </SubscriptionHost>\\r\\n <SubscribeTopic>cn_hangzhou_rm_bp1162kryiv******_dtstest_version2</SubscribeTopic>\\r\\n <SourceEndpoint>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n </SourceEndpoint>\\r\\n <InstanceCreateTime>2021-06-21T10:17:21Z</InstanceCreateTime>\\r\\n <JobCreateTime>2021-06-21T10:17:21Z</JobCreateTime>\\r\\n <EndTimestamp>2021-06-21T10:17:21Z</EndTimestamp>\\r\\n <PayType>PrePaid</PayType>\\r\\n <SubscriptionInstanceID>dtsy0zz3t13h******</SubscriptionInstanceID>\\r\\n <BeginTimestamp>2021-06-21T08:25:43Z</BeginTimestamp>\\r\\n <Tags></Tags>\\r\\n </SubscriptionInstance>\\r\\n </SubscriptionInstances>\\r\\n</DescribeSubscriptionInstancesResponse>","errorExample":""}]',
+ 'title' => 'DescribeSubscriptionInstances',
+ 'summary' => 'Queries the list of change tracking instances and the details of each instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSubscriptionInstanceStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeSubscriptionInstances](~~49442~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsy0zz3t13h7d****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the change tracking task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Starting**: The task is being started.'."\n"
+ .'* **Normal**: The task is running as expected.'."\n"
+ .'* **Abnormal**: The task is not running as expected.'."\n",
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if change tracking failed.'."\n",
+ 'type' => 'string',
+ 'example' => '******',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the change tracking instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information, in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-23T07:30:31Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-26T14:03:21Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-15T08:25:34Z',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E0845D0A-6D36-4EEB-BE26-CF191E1A****',
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instance is of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'SubscriptionInstanceName' => [
+ 'description' => 'The name of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SubscriptionInstanceID' => [
+ 'description' => 'The ID of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'y0zz3t13h7d****',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceType' => [
+ 'description' => 'The instance type of the source database.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the instance that hosts the source database.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The types of operations that are tracked by the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DML' => [
+ 'description' => 'Indicates whether data manipulation language (DML) operations are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DDL' => [
+ 'description' => 'Indicates whether data definition language (DDL) operations are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'VPCHost' => [
+ 'description' => 'The virtual private cloud (VPC) endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003',
+ ],
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ ],
+ ],
+ 'SubscriptionObject' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SynchronousObject' => [
+ 'description' => 'The objects for change tracking.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the object belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'WholeDatabase' => [
+ 'description' => 'Indicates whether the data of an entire database is tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'false',
+ ],
+ 'TableList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Table' => [
+ 'description' => 'The table name.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The table name of the subscription object.',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"RequestId\\": \\"E0845D0A-6D36-4EEB-BE26-CF191E1A****\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"SubscriptionInstanceName\\": \\"api测试\\",\\n \\"SubscriptionInstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"TaskId\\": \\"y0zz3t13h7d****\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceType\\": \\"RDS\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"DML\\": true,\\n \\"DDL\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VPCHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionObject\\": {\\n \\"SynchronousObject\\": [\\n {\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"WholeDatabase\\": \\"false\\",\\n \\"TableList\\": {\\n \\"Table\\": [\\n \\"test1\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeSubscriptionInstanceStatus',
+ 'summary' => 'Queries the status of a change tracking instance.',
+ 'translator' => 'machine',
+ ],
+ 'ConfigureSubscriptionInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeSubscriptionInstances](~~49442~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtshp8n2ze4r5x****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the change tracking instance.'."\n"
+ ."\n"
+ .'> We recommend that you specify a descriptive name for easy identification. You do not need to use a unique name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL Subscription'."\n",
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source instance. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS for MySQL instance'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster.'."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **ECS**: self-managed database hosted on an Elastic Compute Service (ECS) instance'."\n"
+ .'* **Express**: self-managed database connected over Express Connect'."\n"
+ .'* **CEN**: self-managed database connected over Cloud Enterprise Network (CEN)'."\n"
+ .'* **dg**: self-managed database connected over Database Gateway'."\n"
+ ."\n"
+ .'> The engine of a self-managed database can be MySQL or Oracle. You must specify the engine type when you call the [CreateSubscriptionInstance](~~49436~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the source instance is an ApsaraDB RDS for MySQL instance, a PolarDB-X 1.0 instance, or a PolarDB for MySQL cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1zc3iyqe3qw****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataType.DDL',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to track DDL statements. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: tracks DDL statements.'."\n"
+ .'* **false**: does not track DDL statements.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataType.DML',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to track DML statements. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: tracks DML statements.'."\n"
+ .'* **false**: does not track DML statements.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionObject',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The objects for which you want to track data changes. The value is a JSON string and can contain regular expressions. For more information, see [SubscriptionObjects](~~141902~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[{ "DBName": "dtstestdata" }]',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The endpoint of the source database.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the source database is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.*** ',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the source database is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the account that is used to connect to the source database.'."\n"
+ ."\n"
+ .'> The permissions that are required for the database account vary based on change tracking scenarios. For more information, see [Overview of change tracking scenarios](~~145715~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestaccount',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the account that is used to connect to the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456 ',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The system ID (SID) of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the source database is a self-managed Oracle database and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source database belongs.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if you track data changes across different Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Role',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The RAM role that is authorized to access the source database. This parameter is required if the source database does not belong to the Alibaba Cloud account that you use to configure the change tracking task. In this case, you must authorize the Alibaba Cloud account to access the source database by using a RAM role.'."\n"
+ ."\n"
+ .'> For more information about the permissions that are required for the RAM role and how to grant permissions to the RAM role, see [Configure RAM authorization for cross-account data migration and synchronization](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceNetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The network type of the change tracking instance. Set the value to **vpc**, which specifies the Virtual Private Cloud (VPC) network type.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* To use the new version of the change tracking feature, you must specify the SubscriptionInstanceNetworkType parameter. You must also specify the **SubscriptionInstance.VPCId** and **SubscriptionInstance.VSwitchID** parameters. If you do not specify the SubscriptionInstanceNetworkType parameter, the previous version of the change tracking feature is used.'."\n"
+ ."\n"
+ .'* The previous version of the change tracking feature supports self-managed MySQL databases, ApsaraDB RDS for MySQL instances, and PolarDB-X 1.0 instances. The new version of the change tracking feature supports self-managed MySQL databases, ApsaraDB RDS for MySQL instances, PolarDB for MySQL clusters, and Oracle databases.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstance.VPCId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VPC in which the change tracking instance is deployed.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the **SubscriptionInstanceNetworkType** parameter is set to **vpc**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp1vwnn14rqpyiczj****',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstance.VSwitchId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the vSwitch in the specified VPC.'."\n"
+ ."\n"
+ .'> This parameter is available and required only if the **SubscriptionInstanceNetworkType** parameter is set to **vpc**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vsw-bp10df3mxae6lpmku****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter is about to be discontinued.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0CC15092-8957-4532-B559-B4FB80AC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0CC15092-8957-4532-B559-B4FB80AC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceResponse>\\n <RequestId>0CC15092-8957-4532-B559-B4FB80AC****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceResponse>","errorExample":""}]',
+ 'title' => 'ConfigureSubscriptionInstance',
+ 'summary' => 'Configures a change tracking instance of the previous version.',
+ 'description' => 'Before you call this operation, you must call the [CreateSubscriptionInstance](~~49436~~) operation to create a change tracking instance.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '52221',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. The region ID is the same as the value of the **DestRegion** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the source database resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the destination database resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the **SourceRegion** parameter is set to the China (Hong Kong) region or a region outside the Chinese mainland, you must set the DestRegion parameter to the same region ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Topology',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization topology. Valid values:'."\n"
+ ."\n"
+ .'* **oneway**: one-way synchronization'."\n"
+ .'* **bidirectional**: two-way synchronization'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The default value is **oneway**.'."\n"
+ .'* This parameter can be set to **bidirectional** only when the **SourceEndpoint.InstanceType** and **DestinationEndpoint.InstanceType** parameters are set to **MySQL**, **PolarDB**, or **Redis**.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oneway',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specification of the data synchronization instance. Valid values: **micro**, **small**, **medium**, and **large**.'."\n"
+ ."\n"
+ .'> For more information about the test performance of each specification, see [Specifications of data synchronization instances](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'small',
+ ],
+ ],
+ [
+ 'name' => 'PayType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method of the data synchronization instance.'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid** (default value): pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PostPaid ',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing cycle of the subscription instance. Valid values:'."\n"
+ ."\n"
+ .'* **Year**'."\n"
+ .'* **Month**'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the PayType parameter to **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Year',
+ ],
+ ],
+ [
+ 'name' => 'UsedTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription length.'."\n"
+ ."\n"
+ .'* If the billing cycle is **Year**, the value range is **1 to 5**.'."\n"
+ .'* If the billing cycle is **Month**, the value range is **1 to 60**.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the PayType parameter to **PrePaid**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the source database. Valid values:'."\n"
+ ."\n"
+ .'* **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster or PolarDB O Edition cluster'."\n"
+ .'* **Redis**: Redis database'."\n"
+ .'* **DRDS**: PolarDB-X instance V1.0'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **MySQL**.'."\n"
+ .'* For more information about the supported source and destination databases, see [Database types, initial synchronization types, and synchronization topologies](~~130744~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the destination database. Valid values:'."\n"
+ ."\n"
+ .'* **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster or PolarDB O Edition cluster'."\n"
+ .'* **Redis**: Redis database'."\n"
+ .'* **MaxCompute**: MaxCompute project'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **MySQL**.'."\n"
+ .'* For more information about the supported source and destination databases, see [Database types, initial synchronization types, and synchronization topologies](~~130744~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'networkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The network type. Valid value: **Intranet**, which indicates virtual private cloud (VPC).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Intranet',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'DBInstanceCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'If you set the **SourceEndpoint.InstanceType** parameter to **DRDS**, you must specify the DBInstanceCount parameter. This parameter specifies the number of private RDS instances attached to the source PolarDB-X instance. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '10000',
+ 'minimum' => '0',
+ 'example' => '3',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9056C8B0-5799-493A-9655-70F607B8****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'SynchronizationJobId' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtshvj11k25255****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9056C8B0-5799-493A-9655-70F607B8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"SynchronizationJobId\\": \\"dtshvj11k25255****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'CreateSynchronizationJob',
+ 'summary' => 'Creates a data synchronization instance.',
+ ],
+ 'DeleteSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the DescribeSynchronizationJobs operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtshn6107ve264****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteSynchronizationJob',
+ 'summary' => 'Releases a data synchronization instance.',
+ 'translator' => 'machine',
+ ],
+ 'StartSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the data synchronization instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the **DescribeSynchronizationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsf19100l2186****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ ."\n"
+ .'* You can set this parameter to **Reverse** to start the reverse synchronization task only if the topology is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'StartSynchronizationJob',
+ 'summary' => 'Starts a data synchronization task.',
+ ],
+ 'ModifySynchronizationObject' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the DescribeSynchronizationJobs operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtskfq1149w254****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationObjects',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The objects that you want to synchronize. The value is a JSON string and can contain regular expressions. For more information, see [SynchronizationObjects](~~141901~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[{"DBName": "dtstestdata"}]',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* This parameter is required only when the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '902DDCDE-C755-4458-85DA-DF9A323C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the task that changes the objects. You must specify the task ID when you call the DescribeSynchronizationObjectModifyStatus operation to query the status and progress of the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'tl911uvi25z****',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"902DDCDE-C755-4458-85DA-DF9A323C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"tl911uvi25z****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ModifySynchronizationObject',
+ 'summary' => 'Modifies the objects to be synchronized.',
+ ],
+ 'DescribeSynchronizationJobReplicatorCompare' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* This parameter is required only when the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SynchronizationReplicatorCompareEnable' => [
+ 'description' => 'Indicates whether image matching is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: Image matching is enabled.'."\n"
+ .'* **false**: Image matching is disabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E6EB407F-C59F-4682-A682-A00FA6A2****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationReplicatorCompareEnable\\": true,\\n \\"RequestId\\": \\"E6EB407F-C59F-4682-A682-A00FA6A2****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeSynchronizationJobReplicatorCompare',
+ 'summary' => 'Queries whether image matching is enabled for a data synchronization instance.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSynchronizationJobs' => [
+ 'summary' => 'Queries the list of data synchronization instances and the details of each instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsDW6WLD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: **30**, **50**, and **100**. Default value: **30**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data synchronization task.'."\n"
+ ."\n"
+ .'> Fuzzy matching is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tag key. You can call the [ListTagResources](~~191187~~) operation to query the tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag and Tag.2.Key specifies the key of the second tag. You can specify 1 to 20 tag keys at a time.'."\n"
+ .'* This parameter cannot be an empty string.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key. You can call the [ListTagResources](~~191187~~) operation to query the tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag and Tag.2.Key specifies the key of the second tag. You can specify 1 to 20 tag keys at a time.'."\n"
+ .'* This parameter cannot be an empty string.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. You can call the [ListTagResources](~~191187~~) operation to query the tag value.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Value specifies the value of the first tag and Tag.2.Value specifies the value of the second tag. You can specify 1 to 20 tag values at a time.'."\n"
+ .'* This parameter can be an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testvalue1 ',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 11,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of entries that can be displayed on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of data synchronization instances that belong to your Alibaba Cloud account.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'SynchronizationInstances' => [
+ 'description' => 'The list of data synchronization instances and the details of each instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the data synchronization task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Initializing**: The task is performing initial synchronization.'."\n"
+ .'* **InitializeFailed**: Initial synchronization failed.'."\n"
+ .'* **Synchronizing**: The task is synchronizing data.'."\n"
+ .'* **Failed**: The task failed to synchronize data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects in the task are being modified.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'synchronizing',
+ ],
+ 'SynchronizationJobName' => [
+ 'description' => 'The name of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'Delay' => [
+ 'description' => 'The synchronization latency, in seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the data synchronization instance expires. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **PayType** parameter is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-07-07T16:00:00Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the data synchronization task was created. The time is displayed in the *yyyy-MM-dd* *HH:mm:ss*.0 format (UTC+8).'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-28 17:34:53.0',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the data synchronization instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'SynchronizationJobClass' => [
+ 'description' => 'The specification of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'InstanceCreateTime' => [
+ 'description' => 'The time when the instance was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-28T09:36:32Z',
+ ],
+ 'SynchronizationJobId' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'JobCreateTime' => [
+ 'description' => 'The time when the data synchronization task was created. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-28T09:34:53Z',
+ ],
+ 'Tags' => [
+ 'description' => 'The collection of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value that corresponds to the tag key.',
+ 'type' => 'string',
+ 'example' => 'testvalue1',
+ ],
+ ],
+ ],
+ ],
+ 'SynchronizationObjects' => [
+ 'description' => 'The objects that are synchronized by the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NewSchemaName' => [
+ 'description' => 'The database name that is used in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'newdtstestdatabase',
+ ],
+ 'SchemaName' => [
+ 'description' => 'The name of the synchronized database.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdatabase',
+ ],
+ 'TableExcludes' => [
+ 'description' => 'The source tables that are excluded from the data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The name of the excluded table.'."\n",
+ 'type' => 'string',
+ 'example' => 'order',
+ ],
+ ],
+ ],
+ ],
+ 'TableIncludes' => [
+ 'description' => 'The tables that are synchronized by the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The name of the synchronized table.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The status of full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Full data synchronization is not started.'."\n"
+ .'* **Migrating**: Full data synchronization is in progress.'."\n"
+ .'* **Failed**: Full data synchronization failed.'."\n"
+ .'* **Finished**: Full data synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of full data synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been synchronized during full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '200001',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The status of incremental data synchronization.'."\n"
+ ."\n"
+ .'> This parameter and its sub-parameters are no longer available.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of incremental data synchronization.'."\n"
+ ."\n"
+ .'> This parameter is no longer available.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Delay' => [
+ 'description' => 'The synchronization latency.'."\n"
+ ."\n"
+ .'> This parameter is no longer available.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data synchronization. Unit: %.'."\n"
+ ."\n"
+ .'> This parameter is no longer available.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.'."\n"
+ ."\n"
+ .'> This parameter is no longer available.'."\n",
+ 'type' => 'string',
+ 'example' => 'The task has failed for too long and cannot be restored',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp162d4tp0500****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RPS' => [
+ 'description' => 'The number of times SQL statements are synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'FLOW' => [
+ 'description' => 'The data traffic that is synchronized per second. Unit: MB/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck status.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckStatus' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The status of schema synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Schema synchronization is not started.'."\n"
+ .'* **Migrating**: Schema synchronization is in progress.'."\n"
+ .'* **Failed**: Schema synchronization failed.'."\n"
+ .'* **Finished**: Schema synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables whose schemas have been synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 100,\\n \\"SynchronizationInstances\\": [\\n {\\n \\"DataInitialization\\": \\"true\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-07-07T16:00:00Z\\",\\n \\"CreateTime\\": \\"2021-06-28 17:34:53.0\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"InstanceCreateTime\\": \\"2021-06-28T09:36:32Z\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"JobCreateTime\\": \\"2021-06-28T09:34:53Z\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testkey1\\",\\n \\"Value\\": \\"testvalue1\\"\\n }\\n ],\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobsResponse>\\r\\n <TotalRecordCount>100</TotalRecordCount>\\r\\n <SynchronizationInstances>\\r\\n <Status>synchronizing</Status>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>dtstestdatabase</SchemaName>\\r\\n <NewSchemaName>newdtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <InstanceCreateTime>2021-06-28T09:36:32Z</InstanceCreateTime>\\r\\n <CreateTime>2021-06-28 17:34:53.0</CreateTime>\\r\\n <JobCreateTime>2021-06-28T09:34:53Z</JobCreateTime>\\r\\n <PayType>PostPaid</PayType>\\r\\n <Delay>0</Delay>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <SynchronizationJobId>dtsexjk1alb116lbf1</SynchronizationJobId>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp162d4tp0500****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <ExpireTime>2021-07-07T16:00:00Z</ExpireTime>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <DataSynchronizationStatus/>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n </SynchronizationInstances>\\r\\n <PageRecordCount>30</PageRecordCount>\\r\\n <RequestId>92E1E99D-5224-4AD3-8C94-23A3516B****</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n</DescribeSynchronizationJobsResponse>","errorExample":""}]',
+ 'title' => 'DescribeSynchronizationJobs',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSynchronizationJobStatus' => [
+ 'summary' => 'Queries the status of a data synchronization instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsDW6WLD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ 'enum' => [
+ 'cn-hangzhou',
+ 'cn-shanghai',
+ 'cn-beijing',
+ 'cn-guangzhou',
+ 'cn-shenzhen',
+ 'cn-chengdu',
+ 'cn-heyuan',
+ 'cn-hongkong',
+ 'cn-qingdao',
+ 'cn-zhangbei',
+ 'cn-zhangjiakou',
+ 'us-east-1',
+ 'us-west-1',
+ 'cn-hangzhou-finance',
+ 'cn-shanghai-finance',
+ 'cn-shanghai-finance-1',
+ 'cn-shenzhen-finance',
+ 'cn-shenzhen-finance-1',
+ 'cn-beijing-finance-1',
+ 'cn-huhehaote',
+ 'cn-north-2-gov-1',
+ 'eu-central-1',
+ 'eu-west-1',
+ 'me-central-1',
+ 'me-east-1',
+ 'ap-northeast-1',
+ 'ap-northeast-2',
+ 'ap-southeast-1',
+ 'ap-southeast-3',
+ 'ap-southeast-5',
+ 'ap-southeast-6',
+ 'ap-southeast-7',
+ 'cn-wulanchabu',
+ 'cn-zhengzhou-jva',
+ 'cn-wuhan-lr',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> Default value: **Forward**.'."\n"
+ ."\n"
+ .'The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SynchronizationJobName' => [
+ 'description' => 'The name of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the data synchronization task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Initializing**: The task is performing initial synchronization.'."\n"
+ .'* **InitializeFailed**: Initial synchronization failed.'."\n"
+ .'* **Synchronizing**: The task is synchronizing data.'."\n"
+ .'* **Failed**: The task failed to synchronize data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects in the task are being modified.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'synchronizing',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'Delay' => [
+ 'description' => 'The synchronization latency, in seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the data synchronization instance expires. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **PayType** parameter is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-07T16:00:00Z',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the data synchronization instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'SynchronizationJobClass' => [
+ 'description' => 'The specification of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DACDF659-AFC6-4DC8-ADB8-4569419A4****',
+ ],
+ 'SynchronizationJobId' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ 'DelayMillis' => [
+ 'description' => 'The synchronization delay, in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '506',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the data synchronization task. You can use the task ID to configure the link to the task details page in the DTS console. '."\n"
+ ."\n"
+ .'> The link to the task details page is https://dts.console.aliyun.com/#/syncmore/exjk1alb116****/config/.',
+ 'type' => 'string',
+ 'example' => 'exjk1alb116****',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The UNIX timestamp generated when the latest data record was synchronized.'."\n"
+ ."\n"
+ .'> You can use a search engine to obtain a UNIX timestamp converter.'."\n",
+ 'type' => 'string',
+ 'example' => '1610616144',
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The status of full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Full data synchronization is not started.'."\n"
+ .'* **Migrating**: Full data synchronization is in progress.'."\n"
+ .'* **Failed**: Full data synchronization failed.'."\n"
+ .'* **Finished**: Full data synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of full data synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been synchronized during full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '200001',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The status of incremental data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of incremental data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Incremental data synchronization is not started.'."\n"
+ .'* **Migrating**: Incremental data synchronization is in progress.'."\n"
+ .'* **Failed**: Incremental data synchronization failed.'."\n"
+ .'* **Finished**: Incremental data synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Delay' => [
+ 'description' => 'The synchronization latency, in seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'DelayMillis' => [
+ 'description' => 'The synchronization latency, in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '856',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The UNIX timestamp generated when the latest data record was synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => '1610709865',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp162d4tp0500****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RPS' => [
+ 'description' => 'The number of times SQL statements are synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'FLOW' => [
+ 'description' => 'The data traffic that is synchronized per second. Unit: MB/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck status.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckStatus' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**: The task passed the precheck.'."\n"
+ .'* **Failed**: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ 'IP' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The status of schema synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Schema synchronization is not started.'."\n"
+ .'* **Migrating**: Schema synchronization is in progress.'."\n"
+ .'* **Failed**: Schema synchronization failed.'."\n"
+ .'* **Finished**: Schema synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables whose schemas have been synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'SynchronizationObjects' => [
+ 'description' => 'The objects that are synchronized by the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'NewSchemaName' => [
+ 'description' => 'The database name that is used in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'newdtstestdatabase',
+ ],
+ 'SchemaName' => [
+ 'description' => 'The name of the synchronized database.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdatabase',
+ ],
+ 'TableExcludes' => [
+ 'description' => 'The source tables that are excluded from the data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The name of the excluded table.'."\n",
+ 'type' => 'string',
+ 'example' => 'order',
+ ],
+ ],
+ ],
+ ],
+ 'TableIncludes' => [
+ 'description' => 'The tables that are synchronized by the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The name of the synchronized table.'."\n",
+ 'type' => 'string',
+ 'example' => 'customer',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SynchronizationJobName\\": \\"MySQL同步\\",\\n \\"Status\\": \\"synchronizing\\",\\n \\"DataInitialization\\": \\"true\\",\\n \\"Delay\\": \\"0\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2021-03-07T16:00:00Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"StructureInitialization\\": \\"true\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"SynchronizationJobClass\\": \\"large\\",\\n \\"RequestId\\": \\"DACDF659-AFC6-4DC8-ADB8-4569419A4****\\",\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"DelayMillis\\": 506,\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"TaskId\\": \\"exjk1alb116****\\",\\n \\"Checkpoint\\": \\"1610616144\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"200001\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"DelayMillis\\": 856,\\n \\"Checkpoint\\": \\"1610709865\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"Performance\\": {\\n \\"RPS\\": \\"100\\",\\n \\"FLOW\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"InstanceId\\": \\"rm-bp1i99e8l7913****\\",\\n \\"IP\\": \\"172.16.88.***\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"SynchronizationObjects\\": [\\n {\\n \\"NewSchemaName\\": \\"newdtstestdatabase\\",\\n \\"SchemaName\\": \\"dtstestdatabase\\",\\n \\"TableExcludes\\": [\\n {\\n \\"TableName\\": \\"order\\"\\n }\\n ],\\n \\"TableIncludes\\": [\\n {\\n \\"TableName\\": \\"customer\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSynchronizationJobStatusResponse>\\r\\n <TaskId>exjk1alb116****</TaskId>\\r\\n <SynchronizationObjects>\\r\\n <SchemaName>newdtstestdatabase</SchemaName>\\r\\n <NewSchemaName>dtstestdatabase</NewSchemaName>\\r\\n </SynchronizationObjects>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>200001</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <Delay>0</Delay>\\r\\n <Success>true</Success>\\r\\n <DelayMillis>0</DelayMillis>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <SynchronizationJobClass>large</SynchronizationJobClass>\\r\\n <Status>synchronizing</Status>\\r\\n <RequestId>DACDF659-AFC6-4DC8-ADB8-4569419A****</RequestId>\\r\\n <SynchronizationJobName>MySQL同步</SynchronizationJobName>\\r\\n <PayType>PostPaid</PayType>\\r\\n <ErrMessage/>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_CONN_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_AUTH_DEST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ON</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_ROW_IMAGE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SERVER_ID</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_BINLOG_EXIST</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_ENGINE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_MYSQL_PASSOWRD_FORMAT</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SRC</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_OBJ</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SQL_MODE</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_SAME_USER</ItemName>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckStatus>Success</CheckStatus>\\r\\n <ItemName>CHECK_TOPOLOGY</ItemName>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <Checkpoint>1610616144</Checkpoint>\\r\\n <SynchronizationJobId>dtsexjk1alb116****</SynchronizationJobId>\\r\\n <DestinationEndpoint>\\r\\n <InstanceId>rm-bp1u40w1ip917****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <InstanceId>rm-bp1i99e8l7913****</InstanceId>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n <Performance>\\r\\n <RPS>0</RPS>\\r\\n <FLOW>0.00MB/s</FLOW>\\r\\n </Performance>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n</DescribeSynchronizationJobStatusResponse>","errorExample":""}]',
+ 'title' => 'DescribeSynchronizationJobStatus',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSynchronizationJobStatusList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instances reside. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobIdListJsonStr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IDs of the data synchronization instances. The value is a JSON array. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance IDs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '["dtsexjk1alb116****","dtskfq1149w254****"]',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1413460B-138A-48D1-836C-B24EDDC1****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of data synchronization instances displayed on one page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of data synchronization instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SynchronizationJobListStatusList' => [
+ 'description' => 'The status of the data synchronization tasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SynchronizationJobId' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ 'SynchronizationDirectionInfoList' => [
+ 'description' => 'The details of data synchronization tasks in each direction.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the data synchronization task in this direction. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Initializing**: The task is performing initial synchronization.'."\n"
+ .'* **InitializeFailed**: Initial synchronization failed.'."\n"
+ .'* **Synchronizing**: The task is synchronizing data.'."\n"
+ .'* **Failed**: The task failed to synchronize data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects in the task are being modified.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InitializeFailed',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The UNIX timestamp generated when the latest data record was synchronized.'."\n"
+ ."\n"
+ .'> You can use a search engine to obtain a UNIX timestamp converter.'."\n",
+ 'type' => 'string',
+ 'example' => '1610524452',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1413460B-138A-48D1-836C-B24EDDC1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"PageRecordCount\\": 2,\\n \\"Success\\": \\"true\\",\\n \\"TotalRecordCount\\": 2,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"PageNumber\\": 1,\\n \\"SynchronizationJobListStatusList\\": [\\n {\\n \\"SynchronizationJobId\\": \\"dtsexjk1alb116****\\",\\n \\"SynchronizationDirectionInfoList\\": [\\n {\\n \\"Status\\": \\"InitializeFailed\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1610524452\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeSynchronizationJobStatusList',
+ 'summary' => 'Queries the status of one or more data synchronization instances.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSynchronizationObjectModifyStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task ID, which is returned after you call the [ModifySynchronizationObject](~~49451~~) operation to modify the objects to be synchronized.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'k71r16fj13g****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the task that changes the objects to be synchronized. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Migrating**: The task is running.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed to modify the objects to be synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B38C644B-4395-4F6F-86E3-592F26BE****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The status of full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Full data synchronization is not started.'."\n"
+ .'* **Migrating**: Full data synchronization is in progress.'."\n"
+ .'* **Failed**: Full data synchronization failed.'."\n"
+ .'* **Finished**: Full data synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of full data synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been synchronized during full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '39754',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The status of incremental data synchronization.'."\n"
+ ."\n"
+ .'> This parameter and its sub-parameters will be removed in the future.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of incremental data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Incremental data synchronization is not started.'."\n"
+ .'* **Migrating**: Incremental data synchronization is in progress.'."\n"
+ .'* **Failed**: Incremental data synchronization failed.'."\n"
+ .'* **Finished**: Incremental data synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'Delay' => [
+ 'description' => 'The synchronization latency, in seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck status.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck status.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckStatus' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* Success: The task passed the precheck.'."\n"
+ .'* Failed: The task failed to pass the precheck.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.xxx.xx\' (using password: YES)',
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of the **CheckStatus** parameter is Failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The status of schema synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: Schema synchronization is not started.'."\n"
+ .'* **Migrating**: Schema synchronization is in progress.'."\n"
+ .'* **Failed**: Schema synchronization failed.'."\n"
+ .'* **Finished**: Schema synchronization is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema synchronization. Unit: %.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables whose schemas have been synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"RequestId\\": \\"B38C644B-4395-4F6F-86E3-592F26BE****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"39754\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Delay\\": \\"0\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"Detail\\": [\\n {\\n \\"CheckStatus\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ItemName\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"Progress\\": \\"1\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeSynchronizationObjectModifyStatus',
+ 'summary' => 'Queries the status of the task that changes the objects to be synchronized.',
+ 'translator' => 'machine',
+ ],
+ 'SuspendSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the **DescribeSynchronizationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsmr1q4mc2152****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to pause reverse synchronization only when the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendSynchronizationJobResponse>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <Success>true</Success>\\n</SuspendSynchronizationJobResponse>","errorExample":""}]',
+ 'title' => 'SuspendSynchronizationJob',
+ 'summary' => 'Pauses a data synchronization task.',
+ 'description' => '> '."\n"
+ .'* When you call this operation, the data synchronization task must be in the Synchronizing state.'."\n"
+ .'* We recommend that you do not pause a data synchronization task for more than 6 hours. Otherwise, the task cannot be started again.'."\n"
+ .'* If the billing method is pay-as-you-go, DTS charges a fee even when the task is paused. This is because DTS only stops writing data to the destination database. DTS continues to pull the logs of the source database so that the task can resume quickly after it is restarted. Therefore, data synchronization consumes resources such as the bandwidth of the source database.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ResetSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the **DescribeSynchronizationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsm761239l27m****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to stop reverse synchronization only when the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetSynchronizationJobResponse>\\n <RequestId>FDC111B1-ACBF-457D-9656-247FDEE9****</RequestId>\\n <Success>true</Success>\\n</ResetSynchronizationJobResponse>","errorExample":""}]',
+ 'title' => 'ResetSynchronizationJob',
+ 'summary' => 'Clears the configurations of a data synchronization task.',
+ 'description' => '> If you clear the configurations of a data synchronization task, the task will be released. To start the task again, you must call the **ConfigureSynchronizationJob** operation to reconfigure the task.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ConfigureSynchronizationJobReplicatorCompare' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* This parameter is required only when the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationReplicatorCompareEnable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable image matching. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables image matching'."\n"
+ .'* **false**: disables image matching'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '86A8FF0F-FA92-449D-B559-05CFF9F9****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A8FF0F-FA92-449D-B559-05CFF9F9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigureSynchronizationJobReplicatorCompare',
+ 'summary' => 'Enables or disables image matching for a data synchronization instance.',
+ 'translator' => 'machine',
+ ],
+ 'ConfigureSynchronizationJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data synchronization task.'."\n"
+ ."\n"
+ .'> We recommend that you specify an informative name for easy identification. You do not need to use a unique task name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL同步',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsz4ao1dor13d****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source instance. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **Redis**: ApsaraDB for Redis instance'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster or PolarDB O Edition cluster'."\n"
+ .'* **ECS**: self-managed database that is hosted on Elastic Compute Service (ECS)'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect'."\n"
+ .'* **dg**: self-managed database that is connected over Database Gateway'."\n"
+ .'* **cen**: self-managed database that is connected over Cloud Enterprise Network (CEN)'."\n"
+ ."\n"
+ .'> The default value is **RDS**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the source database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.***',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the source database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify this parameter only if the **SourceEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**.'."\n"
+ .'* If the **SourceEndpoint.InstanceType** parameter is set to **Redis**, you do not need to specify the database account.'."\n"
+ .'* The permissions that are required for database accounts vary with the synchronization scenario. For more information, see [Overview of data synchronization scenarios](~~140954~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestaccount',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the source database account.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **SourceEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the destination instance.'."\n"
+ ."\n"
+ .'> If the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute** or **DataHub**, you must specify the name of the MaxCompute project or the DataHub project.'."\n"
+ ."\n"
+ .'If the destination instance is an AnalyticDB for MySQL cluster, specify the ID of the AnalyticDB for MySQL cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1r46452ai50****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the destination instance. Valid values:'."\n"
+ ."\n"
+ .'* **Redis**: ApsaraDB for Redis instance'."\n"
+ .'* **RDS**: ApsaraDB RDS instance'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster or PolarDB O Edition cluster'."\n"
+ .'* **ECS**: self-managed database that is hosted on ECS'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect'."\n"
+ .'* **DataHub**: DataHub project'."\n"
+ .'* **MaxCompute**: MaxCompute project'."\n"
+ .'* **AnalyticDB**: AnalyticDB for MySQL cluster V3.0 or V2.0'."\n"
+ .'* **Greenplum**: AnalyticDB for PostgreSQL instance'."\n"
+ ."\n"
+ .'> The default value is **RDS**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the destination database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **DestinationEndpoint.InstanceType** parameter is set to **Express**, **dg**, or **cen**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.88.***',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the destination database.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **DestinationEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account of the destination database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The permissions that are required for database accounts vary with the synchronization scenario. For more information, see [Overview of data synchronization scenarios](~~140954~~).'."\n"
+ .'* If the **DestinationEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**, you must specify the DestinationEndpoint.UserName parameter.'."\n"
+ .'* If the **DestinationEndpoint.InstanceType** parameter is set to RDS and the database version is MySQL 5.5 or MySQL 5.6, you do not need to specify the DestinationEndpoint.UserName and **DestinationEndpoint.Password** parameters.'."\n"
+ .'* If the **DestinationEndpoint.InstanceType** parameter is set to **Redis**, you do not need to specify the DestinationEndpoint.UserName parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestaccount',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the destination database account.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the **DestinationEndpoint.InstanceType** parameter is set to **ECS**, **Express**, **dg**, or **cen**, you must specify the DestinationEndpoint.Password parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test654321',
+ ],
+ ],
+ [
+ 'name' => 'StructureInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> Default value: **true**.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> Default value: **true**.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationObjects',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The objects that you want to synchronize. The value is a JSON string and can contain regular expressions. For more information, see [SynchronizationObjects](~~141901~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[{"DBName":"dtstestdata","TableIncludes":[{"TableName":"customer"}]}]',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account that owns the source RDS instance.'."\n"
+ ."\n"
+ .'> You can specify this parameter to synchronize data across different Alibaba Cloud accounts. In this case, you also need to specify the **SourceEndpoint.Role** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Role',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account that owns the source instance.'."\n"
+ ."\n"
+ .'> You must specify this parameter when you synchronize data across different Alibaba Cloud accounts. For information about the permissions and authorization methods of the RAM role, see [Configure RAM authorization for cross-account data migration and synchronization](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'PartitionKey.ModifyTime_Year',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the incremental data table contains partitions defined by the modifytime_year field. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> This parameter is available only if the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'PartitionKey.ModifyTime_Month',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the incremental data table contains partitions defined by the modifytime_month field. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> This parameter is available only if the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'PartitionKey.ModifyTime_Day',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the incremental data table contains partitions defined by the modifytime_day field. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> This parameter is available only if the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'PartitionKey.ModifyTime_Hour',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the incremental data table contains partitions defined by the modifytime_hour field. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> This parameter is available only if the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'PartitionKey.ModifyTime_Minute',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the incremental data table contains partitions defined by the modifytime_minute field. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> This parameter is available only if the **DestinationEndpoint.InstanceType** parameter is set to **MaxCompute**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MigrationReserved',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet special requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n"
+ ."\n"
+ .'> This parameter can be used for data synchronization between ApsaraDB for Redis Enterprise Edition instances. For more information, see [Use OpenAPI Explorer to configure one-way or two-way data synchronization between ApsaraDB for Redis Enterprise Edition instances](~~155967~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "autoStartModulesAfterConfig": "none", "targetTableMode": 2 }',
+ ],
+ ],
+ [
+ 'name' => 'Checkpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization checkpoint.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1610540493',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database to which the synchronization object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpoint.DataBaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database to which the synchronization object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2690E467-7773-43BC-A009-370EE2E7****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2690E467-7773-43BC-A009-370EE2E7****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSynchronizationJobResponse>\\n <RequestId>2690E467-7773-43BC-A009-370EE2E7****</RequestId>\\n <Success>true</Success>\\n</ConfigureSynchronizationJobResponse>","errorExample":""}]',
+ 'title' => 'ConfigureSynchronizationJob',
+ 'summary' => 'Configures a data synchronization task.',
+ 'description' => 'Before you call this operation, you must call the [CreateSynchronizationJob](~~49446~~) operation to create a data synchronization instance.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* After you call this operation to configure a data synchronization task, the task will be automatically started and prechecked. You do not need to call the [StartSynchronizationJob](~~49448~~) operation to start the task.'."\n"
+ .'* A data synchronization task may fail to be started due to precheck failures. You can call the [DescribeSynchronizationJobStatus](~~49453~~) operation to query the status of the task. Then, you can change parameter settings based on the error messages about the precheck failures. After you fix the issue, you must call the [StartSynchronizationJob](~~49448~~) operation to restart the data synchronization task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'SwitchSynchronizationEndpoint' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the DescribeSynchronizationJobs operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsexjk1alb116****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> Default value: **Forward**.'."\n"
+ ."\n"
+ .'The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint.Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to update the connection settings of the source instance or the destination instance. Valid values:'."\n"
+ ."\n"
+ .'* **Source**'."\n"
+ .'* **Destination**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Destination',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint.InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance type of the database. Valid values:'."\n"
+ ."\n"
+ .'* **LocalInstance**: self-managed database with a public IP address'."\n"
+ .'* **ECS**: self-managed database that is hosted on ECS'."\n"
+ .'* **Express**: self-managed database that is connected over Express Connect'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ECS',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint.InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ECS instance or the virtual private cloud (VPC).'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the **Endpoint.InstanceType** parameter is set to **ECS**, you must specify the ID of the ECS instance.'."\n"
+ .'* If the **Endpoint.InstanceType** parameter is set to **Express**, you must specify the ID of the VPC.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i-bp11haem1kpkhoup****',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint.IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the database.'."\n"
+ ."\n"
+ .'> You must specify the IP address only if the **Endpoint.InstanceType** parameter is set to **Express**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.15.185.***',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint.Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service port number of the database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.OwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs. You must specify this parameter only if the source instance and the destination instance belong to different Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '14069264****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpoint.Role',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The authorized Resource Access Management (RAM) role of the source instance. You must specify the RAM role only if the source instance and the destination instance belong to different Alibaba Cloud accounts. You can use the RAM role to allow the Alibaba Cloud account that owns the destination instance to access the source instance.'."\n"
+ ."\n"
+ .'> For information about the permissions and authorization methods of the RAM role, see [Configure RAM authorization for cross-account data migration and synchronization](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3232F84C-C961-4811-B014-4EA7A27C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID. You must specify the task ID when you call the [DescribeEndpointSwitchStatus](~~135598~~) operation to query the execution status of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '11**** ',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3232F84C-C961-4811-B014-4EA7A27C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"TaskId\\": \\"11****\\\\t\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'SwitchSynchronizationEndpoint',
+ 'summary' => 'After you perform a primary/secondary switchover on the source or destination database, you can call the SwitchSynchronizationEndpoint operation to transfer the connection settings to Data Transmission Service (DTS). DTS will restart the data synchronization task from the breakpoint.',
+ ],
+ 'DescribeMigrationJobAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance is located. For more details, please refer to the [list of supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Data migration instance ID, which can be queried by calling the DescribeMigrationJobs interface.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtslb9113qq11n****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Used to ensure the idempotence of requests. This parameter value should be generated by the client, ensuring uniqueness across different requests. The maximum length is 64 ASCII characters, and the value must not contain non-ASCII characters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ETnLKlblzczshOTUbOCz****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'ID of the Alibaba Cloud primary account. No need to set this parameter as it will be deprecated soon.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CFB89C51-6F03-519C-A921-AAE28D50AEFB',
+ ],
+ 'MigrationJobName' => [
+ 'description' => 'Name of the data migration task.',
+ 'type' => 'string',
+ 'example' => 'zwy-test5',
+ ],
+ 'ErrorAlertStatus' => [
+ 'description' => 'Whether to monitor for abnormal status, return values:'."\n"
+ .'- **enable**: Yes. - **disable**: No.',
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Error code returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrorAlertPhone' => [
+ 'description' => 'Phone number of the contact for abnormal alarm notifications',
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DelayAlertStatus' => [
+ 'description' => 'Whether to monitor the delay status, return values:'."\n"
+ .'- **enable**: Yes. - **disable**: No.',
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'DelayAlertPhone' => [
+ 'description' => 'Phone number of the contact for delay alarm.',
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****'."\n",
+ ],
+ 'MigrationJobId' => [
+ 'description' => 'Data migration instance ID.',
+ 'type' => 'string',
+ 'example' => 'dtslb9113qq11n****',
+ ],
+ 'DelayOverSeconds' => [
+ 'description' => 'The threshold for triggering a delayed alarm, in seconds.',
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CFB89C51-6F03-519C-A921-AAE28D50AEFB\\",\\n \\"MigrationJobName\\": \\"zwy-test5\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\\\n\\",\\n \\"MigrationJobId\\": \\"dtslb9113qq11n****\\",\\n \\"DelayOverSeconds\\": \\"0\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeMigrationJobAlert',
+ 'summary' => 'Queries the alert settings of a data migration instance.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSynchronizationJobAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the **DescribeSynchronizationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtskxz1170c10p****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> Default value: **Forward**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ETnLKlblzczshOTUbOCz****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SynchronizationJobName' => [
+ 'description' => 'The name of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'Polar MySQL_TO_RDS MySQL',
+ ],
+ 'ErrorAlertStatus' => [
+ 'description' => 'Indicates whether task status is monitored. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrorAlertPhone' => [
+ 'description' => 'The mobile phone numbers that receive status-related alerts.'."\n",
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DelayAlertStatus' => [
+ 'description' => 'Indicates whether task latency is monitored. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'DelayAlertPhone' => [
+ 'description' => 'The mobile phone numbers that receive latency-related alerts.'."\n",
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'DelayOverSeconds' => [
+ 'description' => 'The threshold for triggering latency alerts. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '210ec20e16055205968635339d****',
+ ],
+ 'SynchronizationJobId' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'kxz1170c10p****',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ ."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only when the topology of data synchronization is two-way synchronization.',
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SynchronizationJobName\\": \\"Polar MySQL_TO_RDS MySQL\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"DelayAlertPhone\\": \\"1361234****,1371234****\\",\\n \\"DelayOverSeconds\\": \\"10\\",\\n \\"RequestId\\": \\"210ec20e16055205968635339d****\\",\\n \\"SynchronizationJobId\\": \\"kxz1170c10p****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeSynchronizationJobAlert',
+ 'summary' => 'Queries the alert settings of a data synchronization instance.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSubscriptionInstanceAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsl8zl9ek6292****',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ETnLKlblzczshOTUbOCz****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '210ec2e116055198849072222d****',
+ ],
+ 'ErrorAlertStatus' => [
+ 'description' => 'Indicates whether task status is monitored. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrorAlertPhone' => [
+ 'description' => 'The mobile phone numbers that receive status-related alerts.'."\n",
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DelayAlertStatus' => [
+ 'description' => 'Indicates whether task latency is monitored. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n",
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'SubscriptionInstanceName' => [
+ 'description' => 'The name of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DelayAlertPhone' => [
+ 'description' => 'The mobile phone numbers that receive latency-related alerts.'."\n",
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'SubscriptionInstanceID' => [
+ 'description' => 'The ID of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsl8zl9ek6292****',
+ ],
+ 'DelayOverSeconds' => [
+ 'description' => 'The threshold for triggering latency alerts. The unit is seconds and the value is an integer. The recommended value is 10 seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrorAlertStatus\\": \\"enable\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrorAlertPhone\\": \\"13555*****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DelayAlertStatus\\": \\"enable\\",\\n \\"SubscriptionInstanceName\\": \\"test\\",\\n \\"DelayAlertPhone\\": \\"13465****\\",\\n \\"SubscriptionInstanceID\\": \\"dtsl8zl9ek6292****\\",\\n \\"DelayOverSeconds\\": \\"10\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeSubscriptionInstanceAlert',
+ 'summary' => 'Queries the alert settings of a change tracking instance.',
+ ],
+ 'ConfigureMigrationJobAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MigrationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration instance. You can call the **DescribeMigrationJobs** operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtslb9113qq11n****',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task latency. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the DelayAlertStatus and **ErrorAlertStatus** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive latency-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task status. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the **DelayAlertStatus** and ErrorAlertStatus parameters.'."\n"
+ .'* If the task that you monitor enters an abnormal state, an alert is triggered.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive status-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayOverSeconds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for triggering latency alerts. The unit is seconds and the value must be an integer. You can set the threshold based on your business needs. To avoid delay fluctuations caused by network and database loads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ ."\n"
+ .'> If the **DelayAlertStatus** parameter is set to **enable**, this parameter must be specified.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0a2a047516051973705541561d****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigureMigrationJobAlert',
+ 'summary' => 'Configures alert settings to monitor a data migration instance.',
+ 'translator' => 'machine',
+ ],
+ 'ConfigureSynchronizationJobAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the DescribeSynchronizationJobs operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtskxz1170c10p****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> Default value: **Forward**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task latency. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the DelayAlertStatus and **ErrorAlertStatus** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive latency-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task status. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the **DelayAlertStatus** and ErrorAlertStatus parameters.'."\n"
+ .'* If the task that you monitor enters an abnormal state, an alert is triggered.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive status-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayOverSeconds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for triggering latency alerts. The unit is seconds and the value must be an integer. You can set the threshold based on your business needs. To avoid delay fluctuations caused by network and database loads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ ."\n"
+ .'> If the **DelayAlertStatus** parameter is set to **enable**, this parameter must be specified.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8EEE7858-7D41-4EDF-9435-AEED2A34****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8EEE7858-7D41-4EDF-9435-AEED2A34****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigureSynchronizationJobAlert',
+ 'summary' => 'Configures alert settings to monitor a data synchronization instance.',
+ 'translator' => 'machine',
+ ],
+ 'ConfigureSubscriptionInstanceAlert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the DescribeSubscriptionInstances operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsl8zl9ek6292****',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task latency. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the DelayAlertStatus and **ErrorAlertStatus** parameters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'DelayAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive latency-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task status. Valid values:'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The default value is **enable**.'."\n"
+ .'* You must specify at least one of the **DelayAlertStatus** and ErrorAlertStatus parameters.'."\n"
+ .'* If the task that you monitor enters an abnormal state, an alert is triggered.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ [
+ 'name' => 'ErrorAlertPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers that receive status-related alerts. Separate mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is available only for China site (aliyun.com) users. Only mobile phone numbers in the Chinese mainland are supported. Up to 10 mobile phone numbers can be specified.'."\n"
+ .'* International site (alibabacloud.com) users cannot receive alerts by using mobile phones, but can [set alert rules for DTS tasks in the Cloud Monitor console](~~175876~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayOverSeconds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for triggering latency alerts. The unit is seconds and the value must be an integer. You can set the threshold based on your business needs. To avoid delay fluctuations caused by network and database loads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ ."\n"
+ .'> If the **DelayAlertStatus** parameter is set to **enable**, this parameter must be specified.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0a2a047516051973705541561d****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0a2a047516051973705541561d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"InternalError The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureSubscriptionInstanceAlertResponse>\\n <RequestId>0a2a047516051973705541561d****</RequestId>\\n <Success>true</Success>\\n</ConfigureSubscriptionInstanceAlertResponse>","errorExample":""}]',
+ 'title' => 'ConfigureSubscriptionInstanceAlert',
+ 'summary' => 'Configures alert settings to monitor a change tracking instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DeleteDtsJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '52224',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the Data Transmission Service (DTS) task. Valid values:'."\n"
+ ."\n"
+ .'* **MIGRATION**: data migration task'."\n"
+ .'* **SYNC**: data synchronization task'."\n"
+ .'* **SUBSCRIBE**: change tracking task'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MIGRATION',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek26lwshijfk3q',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**: Data is synchronized from the source database to the destination database.'."\n"
+ .'* **Reverse**: Data is synchronized from the destination database to the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to delete the reverse synchronization task only if the topology is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'The ID of the region in which the data migration or synchronization task resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The operation that you want to perform. Set the value to **DeleteDtsJob**.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The operation that you want to perform. Set the value to **DeleteDtsJob**.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The Value of Input Parameter %s is not valid.</ErrMessage>\\n <DynamicMessage>DtsJobId</DynamicMessage>\\n <DynamicCode>403</DynamicCode>\\n</DeleteDtsJobResponse>","errorExample":""}]',
+ 'title' => 'DeleteDtsJob',
+ 'summary' => 'Deletes a data migration, data synchronization, or change tracking task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ConfigureDtsJob' => [
+ 'summary' => 'Configures a data migration or synchronization task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52203',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'rdsmysql_to_mysql',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source instance. Valid values:'."\n"
+ ."\n"
+ .'**Alibaba Cloud database instance**'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB instance'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster.'."\n"
+ .'* **REDIS**: ApsaraDB for Redis instance.'."\n"
+ .'* **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 instance (formerly DRDS).'."\n"
+ .'* **POLARDBX20**: PolarDB-X 2.0 instance.'."\n"
+ .'* **MONGODB**: ApsaraDB for MongoDB instance.'."\n"
+ .'* **DISTRIBUTED_DMSLOGICDB**: Data Management (DMS) logical database'."\n"
+ ."\n"
+ .'**Self-managed database**'."\n"
+ ."\n"
+ .'* **OTHER**: self-managed database with a public IP address.'."\n"
+ .'* **ECS**: self-managed database hosted on an ECS instance.'."\n"
+ .'* **EXPRESS**: self-managed database connected over Express Connect.'."\n"
+ .'* **CEN**: self-managed database connected over Cloud Enterprise Network (CEN).'."\n"
+ .'* **DG**: self-managed database connected over Database Gateway.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* If the source instance is a PolarDB for PostgreSQL (Compatible with Oracle) cluster, you must connect the cluster to DTS as a self-managed database by using a public IP address or Express Connect and set this parameter to **OTHER** or **EXPRESS**.'."\n"
+ .'* For more information, see [Supported sources and targets](~~176064~~).'."\n"
+ .'* If the source instance is a self-managed database, you must deploy the network environment for the database. For more information, see [Preparation overview](~~146958~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source instance ID.'."\n"
+ ."\n"
+ .'If the source instance is an Alibaba Cloud database instance, you must specify the database instance ID. For example, if the source instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance.'."\n"
+ ."\n"
+ .'If the source instance is a self-managed database, the value of this parameter varies with the value of **SourceEndpointInstanceType**.****'."\n"
+ ."\n"
+ .'* If SourceEndpointInstanceType is set to **ECS**, you must specify the ECS instance ID.'."\n"
+ .'* If SourceEndpointInstanceType is set to **DG**, you must specify the database gateway ID.'."\n"
+ .'* If SourceEndpointInstanceType is set to **EXPRESS** or **CEN**, you must specify the ID of the virtual private cloud (VPC) that is connected to the source instance.'."\n"
+ ."\n"
+ .'> If SourceEndpointInstanceType is set to **CEN**, you must also specify the ID of the CEN instance in Reserve. For more information, see [Reserve parameter](~~273111~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database type of the source instance.'."\n"
+ ."\n"
+ .'* **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database.'."\n"
+ .'* **MARIADB**: ApsaraDB RDS for MariaDB instance.'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster.'."\n"
+ .'* **POLARDB_O**: PolarDB for PostgreSQL (Compatible with Oracle) cluster.'."\n"
+ .'* **POLARDBX10**: PolarDB-X 1.0 instance (formerly DRDS).'."\n"
+ .'* **POLARDBX20**: PolarDB-X 2.0 instance.'."\n"
+ .'* **ORACLE**: self-managed Oracle database.'."\n"
+ .'* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database.'."\n"
+ .'* **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database.'."\n"
+ .'* **MONGODB**: ApsaraDB for MongoDB instance or self-managed MongoDB database.'."\n"
+ .'* **DB2**: self-managed Db2 for LUW database.'."\n"
+ .'* **AS400**: self-managed Db2 for i database.'."\n"
+ .'* **DMSPOLARDB**: DMS logical database.'."\n"
+ .'* **HBASE**: self-managed HBase database.'."\n"
+ .'* **TERADATA**: Teradata database.'."\n"
+ .'* **TiDB**: TiDB database.'."\n"
+ .'* **REDIS**: ApsaraDB for Redis instance or self-managed Redis database.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* Default value: **MYSQL**.'."\n"
+ .'* If this parameter is set to **MONGODB**, you must also specify the architecture type of the MongoDB database in Reserve. For more information, see [Reserve parameter](~~273111~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MYSQL',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the source instance is an Alibaba Cloud database instance, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointIP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the source instance.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if **SourceEndpointInstanceType** is set to **OTHER**, **EXPRESS**, **DG**, or **CEN**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.**.***',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port number of the source instance.'."\n"
+ ."\n"
+ .'> This parameter is required only if the source instance is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointOracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if **SourceEndpointEngineName** is set to **ORACLE** and the **Oracle** database is deployed in a non-Real Application Cluster (RAC) architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database from which the objects are migrated or synchronized in the source instance.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if the source instance is a PolarDB for PostgreSQL (Compatible with Oracle) cluster, a PostgreSQL database, or a MongoDB database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdatabase',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the account that is used to log on to the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* In most cases, this parameter is required.'."\n"
+ .'* The permissions that are required for the database account vary with the migration or synchronization scenario. For more information, see [Prepare the database accounts for data migration](~~175878~~) or [Prepare the database accounts for data synchronization](~~213152~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the account that is used to log on to the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointOwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source database belongs.'."\n"
+ ."\n"
+ .'> You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must specify **SourceEndpointRole**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointRole',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account to which the source instance belongs.'."\n"
+ ."\n"
+ .'> This parameter is required if you migrate or synchronize data across different Alibaba Cloud accounts. For information about the permissions and authorization methods of the RAM role, see [Configure RAM authorization for cross-account DTS tasks](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the destination instance. Valid values:'."\n"
+ ."\n"
+ .'**Alibaba Cloud database instance**'."\n"
+ ."\n"
+ .'* **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB instance.'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster.'."\n"
+ .'* **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 instance (formerly DRDS).'."\n"
+ .'* **POLARDBX20**: PolarDB-X 2.0 instance.'."\n"
+ .'* **REDIS**: ApsaraDB for Redis instance.'."\n"
+ .'* **ADS**: AnalyticDB for MySQL V2.0 cluster or AnalyticDB for MySQL V3.0 cluster.'."\n"
+ .'* **MONGODB**: ApsaraDB for MongoDB instance.'."\n"
+ .'* **GREENPLUM**: AnalyticDB for PostgreSQL instance.'."\n"
+ .'* **DATAHUB**: DataHub project.'."\n"
+ .'* **ELK**: Elasticsearch cluster.'."\n"
+ .'* **Tablestore**: Tablestore instance.'."\n"
+ .'* **ODPS**: MaxCompute project.'."\n"
+ ."\n"
+ .'**Self-managed database**'."\n"
+ ."\n"
+ .'* **OTHER**: self-managed database with a public IP address.'."\n"
+ .'* **ECS**: self-managed database hosted on an ECS instance.'."\n"
+ .'* **EXPRESS**: self-managed database connected over Express Connect.'."\n"
+ .'* **CEN**: self-managed database connected over Cloud Enterprise Network (CEN).'."\n"
+ .'* **DG**: self-managed database connected over Database Gateway.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* If the destination instance is a PolarDB for PostgreSQL (Compatible with Oracle) cluster, you must connect the cluster to DTS as a self-managed database by using a public IP address or Express Connect and set this parameter to **OTHER** or **EXPRESS**.'."\n"
+ .'* If the destination instance is an ApsaraMQ for Kafka instance, you must connect the instance to DTS as a self-managed database by using ECS or Express Connect and set this parameter to **ECS** or **EXPRESS**.'."\n"
+ .'* For more information, see [Supported source and destination databases](~~176064~~).'."\n"
+ .'* If the destination instance is a self-managed database, you must deploy the network environment for the database. For more information, see [Preparation overview](~~146958~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'EXPRESS',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination instance ID.'."\n"
+ ."\n"
+ .'If the destination instance is an Alibaba Cloud database instance, you must specify the database instance ID. For example, if the destination instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance.'."\n"
+ ."\n"
+ .'If the destination instance is a self-managed database, the value of this parameter varies with the value of **DestinationEndpointInstanceType**.****'."\n"
+ ."\n"
+ .'* If DestinationEndpointInstanceType is set to **ECS**, you must specify the ECS instance ID.'."\n"
+ .'* If DestinationEndpointInstanceType is set to **DG**, you must specify the database gateway ID.'."\n"
+ .'* If DestinationEndpointInstanceType is set to **EXPRESS** or **CEN**, you must specify the ID of the VPC that is connected to the source instance.'."\n"
+ ."\n"
+ .'> If DestinationEndpointInstanceType is set to **CEN**, you must also specify the ID of the CEN instance in Reserve. For more information, see [Reserve parameter](~~273111~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp1opxu1zkhn00gzv****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the destination database. Valid values:'."\n"
+ ."\n"
+ .'* **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database.'."\n"
+ .'* **MARIADB**: ApsaraDB RDS for MariaDB instance.'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster.'."\n"
+ .'* **POLARDB_O**: PolarDB for PostgreSQL (Compatible with Oracle) cluster.'."\n"
+ .'* **POLARDBX10**: PolarDB-X 1.0 instance (formerly DRDS).'."\n"
+ .'* **POLARDBX20**: PolarDB-X 2.0 instance.'."\n"
+ .'* **ORACLE**: self-managed Oracle database.'."\n"
+ .'* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database.'."\n"
+ .'* **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database.'."\n"
+ .'* **ADS**: AnalyticDB for MySQL V2.0 cluster.'."\n"
+ .'* **ADB30**: AnalyticDB for MySQL V3.0 cluster.'."\n"
+ .'* **MONGODB**: ApsaraDB for MongoDB instance or self-managed MongoDB database.'."\n"
+ .'* **GREENPLUM**: AnalyticDB for PostgreSQL instance.'."\n"
+ .'* **KAFKA**: ApsaraMQ for Kafka instance or self-managed Kafka cluster.'."\n"
+ .'* **DATAHUB**: DataHub project.'."\n"
+ .'* **DB2**: self-managed Db2 for LUW database.'."\n"
+ .'* **AS400**: Db2 for i database.'."\n"
+ .'* **ODPS**: MaxCompute project.'."\n"
+ .'* **Tablestore**: Tablestore instance.'."\n"
+ .'* **ELK**: Elasticsearch cluster.'."\n"
+ .'* **REDIS**: ApsaraDB for Redis instance or self-managed Redis database.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* Default value: **MYSQL**.'."\n"
+ .'* If this parameter is set to **KAFKA**, **MONGODB**, or **PolarDB**, you must also specify the database information in Reserve. For more information, see [Reserve parameter](~~273111~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MYSQL',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> If the destination instance is an Alibaba Cloud database instance, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointIP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the destination instance.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if **DestinationEndpointInstanceType** is set to **OTHER**, **EXPRESS**, **DG**, or **CEN**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.**.***',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port number of the destination instance.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if the destination instance is a self-managed database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointDataBaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database to which the objects are migrated or synchronized in the destination instance.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is valid and required only if the destination database is a PolarDB for PostgreSQL (Compatible with Oracle) cluster, an AnalyticDB for PostgreSQL instance, a PostgreSQL database, a MaxCompute project, or a MongoDB database.'."\n"
+ .'* If the destination instance is a MaxCompute project, you must specify the MaxCompute project ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstestdata',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointUserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the account that is used to log on to the destination database.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* In most cases, this parameter is required.'."\n"
+ .'* The permissions that are required for the database account vary with the migration or synchronization scenario. For more information, see [Prepare the database accounts for data migration](~~175878~~) or [Prepare the database accounts for data synchronization](~~213152~~).'."\n"
+ .'* If the destination database is a MaxCompute project, you must specify the AccessKey ID of your Alibaba Cloud account. For information about how to obtain an AccessKey pair, see [Create an AccessKey pair](~~116401~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the account that is used to log on to the destination database.'."\n"
+ ."\n"
+ .'> If the destination database is a MaxCompute project, you must specify the AccessKey secret of your Alibaba Cloud account. For information about how to obtain an AccessKey pair, see [Create an AccessKey pair](~~116401~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointOwnerID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the destination ApsaraDB RDS for MySQL instance belongs.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only if the destination instance is an ApsaraDB RDS for MySQL instance.'."\n"
+ .'* You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must specify **DestinationEndpointRole**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '140692647406****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointRole',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the destination instance belongs.'."\n"
+ ."\n"
+ .'> This parameter is required if you migrate or synchronize data across Alibaba Cloud accounts. For information about the permissions and authorization methods of the RAM role, see [Configure RAM authorization for cross-account DTS tasks](~~48468~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'StructureInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform schema migration or schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true** (default)'."\n"
+ .'* **false**'."\n"
+ ."\n"
+ .'> If **JobType** is set to **CHECK**, set this parameter to **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform full data migration or full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true** (default)'."\n"
+ .'* **false**'."\n"
+ ."\n"
+ .'> If **JobType** is set to **CHECK**, set this parameter to **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataSynchronization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform incremental data migration or incremental data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n"
+ ."\n"
+ .'> If **JobType** is set to **CHECK**, set this parameter to **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DbList',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The objects that you want to migrate or synchronize. The value is a JSON string. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '{"dtstest":{"name":"dtstest","all":true}}',
+ ],
+ ],
+ [
+ 'name' => 'Reserve',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to add more configurations of the source or destination instance to the DTS task. For example, you can specify the data storage format of the destination Kafka database and the CEN instance ID. For more information, see [Reserve parameter](~~273111~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "srcInstanceId": "cen-9kqshqum*******" }',
+ ],
+ ],
+ [
+ 'name' => 'Checkpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start offset of incremental data migration or incremental data synchronization. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1610540493',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointOracleSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is valid and required only if **DestinationEndpointEngineName** is set to **ORACLE** and the **Oracle** database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testsid',
+ ],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task. Valid values:'."\n"
+ ."\n"
+ .'* **MIGRATION**: data migration task.'."\n"
+ .'* **SYNC**: data synchronization task.'."\n"
+ .'* **CHECK**: data verification task. You must separately purchase a data verification instance.'."\n"
+ ."\n"
+ .'> If you set this parameter to **MIGRATION** or **SYNC**, you can also enable data verification in the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'SYNC',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or synchronization task.'."\n"
+ ."\n"
+ .'> You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or synchronization instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsk2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'DelayPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers to which latency-related alerts are sent. Separate multiple mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for users of the China site (aliyun.com). Only mobile phone numbers in the Chinese mainland are supported. You can specify up to 10 mobile phone numbers.'."\n"
+ .'* Users of the international site (alibabacloud.com) cannot receive alerts by using mobile phone numbers, but can configure alert rules for DTS tasks in the CloudMonitor console. For more information, see [Configure alert rules for DTS tasks in the CloudMonitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayRuleTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for latency alerts. Unit: seconds. The value must be an integer. You can set the threshold based on your business requirements. To prevent unstable latency caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ ."\n"
+ .'> If **DelayNotice** is set to **true**, this parameter is required.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'maximum' => '10000000000',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'DelayNotice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task latency. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ErrorPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone numbers to which status-related alerts are sent. Separate multiple mobile phone numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for users of the China site (aliyun.com). Only mobile phone numbers in the Chinese mainland are supported. You can specify up to 10 mobile phone numbers.'."\n"
+ .'* Users of the international site (alibabacloud.com) cannot receive alerts by using mobile phone numbers, but can configure alert rules for DTS tasks in the CloudMonitor console. For more information, see [Configure alert rules for DTS tasks in the CloudMonitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'ErrorNotice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to monitor task status. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization task is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which the task runs.'."\n"
+ ."\n"
+ .'> If this parameter is specified, the task is scheduled to the specified DTS dedicated cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_atyl3b5214uk***',
+ ],
+ ],
+ [
+ 'name' => 'FileOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URL of the Object Storage Service (OSS) bucket that stores the files related to the DTS task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb**************',
+ 'isFileTransferUrl' => true,
+ ],
+ ],
+ [
+ 'name' => 'DataCheckConfigure',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parameters for data verification, including the configurations for data verification and alerts. The value is a JSON string. For more information, see [DataCheckConfigure parameter description](~~459023~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"fullCheckModel":1,"fullCheckRatio":20,"checkMaximumHourEnable":1,"checkMaximumHour":1,"fullCheckErrorNotice":true,"fullCheckValidFailNotice":true,"fullCheckNoticeValue":8,"incrementalCheckErrorNotice":true,"incrementalCheckValidFailNotice":true,"incrementalCheckValidFailNoticeTimes":2,"incrementalCheckValidFailNoticePeriod":1,"incrementalCheckValidFailNoticeValue":1,"incrementalCheckDelayNotice":true,"incrementalCheckDelayNoticeTimes":2,"incrementalCheckDelayNoticePeriod":1,"incrementalCheckDelayNoticeValue":60,"fullDataCheck":true,"incrementalDataCheck":true,"dataCheckNoticePhone":"13126800****","dataCheckDbList":{"dts":{"name":"dts","all":true}}}',
+ ],
+ ],
+ [
+ 'name' => 'DisasterRecoveryJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the instance is a disaster recovery instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointVSwitchID',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '数据投递链路交换机实例id',
+ 'description' => 'The ID of the vSwitch that is used for data shipping.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vsw-bp10df3mxae6lpmku****',
+ ],
+ ],
+ [
+ 'name' => 'DtsBisLabel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The environment tag of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **normal******'."\n"
+ .'* **online******'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'normal',
+ ],
+ ],
+ [
+ 'name' => 'SrcCaCertificateOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path of the certificate authority (CA) certificate that is used if the connection to the source database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcCaCertificatePassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key of the CA certificate that is used if the connection to the source database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestCaCertificateOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path of the CA certificate that is used if the connection to the destination database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestCaCertificatePassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key of the CA certificate that is used if the connection to the destination database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'MinDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum number of DTS Units (DUs).'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '16',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientCertOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the client certificate that is used if the connection to the source database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientKeyOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the private key of the client certificate that is used if the connection to the source database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcClientPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the private key of the client certificate that is used if the connection to the source database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestClientCertOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the client certificate that is used if the connection to the destination database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestClientKeyOssUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The path to the private key of the client certificate that is used if the connection to the destination database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestClientPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the private key of the client certificate that is used if the connection to the destination database is encrypted by using SSL.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcPrimaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT source end main VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcSecondaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT source backup VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestPrimaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT destination main VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestSecondaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT destination backup VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The returned HTTP status codes.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'k2gm967v16f****',
+ ],
+ 'DtsInstanceId' => [
+ 'description' => 'The ID of the data migration or synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsk2gm967v16f****',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidParameter.KafkaBrokerInvalid',
+ 'errorMessage' => 'kafka broker configuration must be intranet IP',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.KafkaHostInvalid',
+ 'errorMessage' => 'kafaka host name should be intranet IP',
+ ],
+ [
+ 'errorCode' => 'UpdateJob.OperationDenied.InitStatus',
+ 'errorMessage' => 'The operation is not permitted due to Dts job status is init.',
+ ],
+ [
+ 'errorCode' => 'GetMongoDbShardInfo.NoShardAddress',
+ 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.',
+ ],
+ [
+ 'errorCode' => 'GetMongoDbShardInfo.EmptyInstances',
+ 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.',
+ ],
+ [
+ 'errorCode' => 'CheckJobFailed.ServerUnAvailable',
+ 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.',
+ ],
+ [
+ 'errorCode' => 'DbTypeNotSupport.PolarDBRDS',
+ 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.',
+ ],
+ [
+ 'errorCode' => 'DbTypeNotSupport.OnlyReadRDS',
+ 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.InvalidParameter.KafkaBrokerInvalid',
+ 'errorMessage' => 'kafka broker configuration must be intranet IP',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.InvalidParameter.KafkaHostInvalid',
+ 'errorMessage' => 'kafaka host name should be intranet IP',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.UpdateJob.OperationDenied.InitStatus',
+ 'errorMessage' => 'The operation is not permitted due to Dts job status is init.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.GetMongoDbShardInfo.NoShardAddress',
+ 'errorMessage' => 'MongoDb has not yet opened the shard connection address, please try again after opening.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.GetMongoDbShardInfo.EmptyInstances',
+ 'errorMessage' => 'Failed to get MongoDb shard information, the return is empty.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.CheckJobFailed.ServerUnAvailable',
+ 'errorMessage' => 'Unable to check whether the node can connect to the database because the node service is unavailable.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.DbTypeNotSupport.PolarDBRDS',
+ 'errorMessage' => 'The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.DbTypeNotSupport.OnlyReadRDS',
+ 'errorMessage' => 'Synchronization is not currently supported due to latency issues with read-only DRDS instances.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"k2gm967v16f****\\",\\n \\"DtsInstanceId\\": \\"dtsk2gm967v16f****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigureDtsJobResponse>\\n <DtsJobId>k2gm967v16f****</DtsJobId>\\n <RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>\\n <Success>true</Success>\\n</ConfigureDtsJobResponse>","errorExample":""}]',
+ 'title' => 'ConfigureDtsJob',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyDtsJob' => [
+ 'summary' => 'Modifies the configurations of a data synchronization task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52289',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the data synchronization instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsbi6e22ay243****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**: Data is synchronized from the source database to the destination database.'."\n"
+ .'* **Reverse**: Data is synchronized from the destination database to the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* This parameter is required only if the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The **ClientToken** parameter can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'DbList',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The objects of the data synchronization task after modification. The value must be a JSON string. For more information, see [Objects of DTS tasks](~~209545~~).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The new value of DbList overwrites the original value. Make sure that all the objects that you want to synchronize are specified. Otherwise, some objects may be lost. Specify this parameter with caution.'."\n"
+ ."\n"
+ .'* Before you call the ModifyDtsJob operation, we recommend that you call the [DescribeDtsJobDetail](~~208925~~) operation to query the current objects of the data synchronization task. Then, you can specify the new objects based on your business requirements. For example, if the current objects are Table A and Table B and you need to add Table C, you must specify Table A, Table B, and Table C for this parameter.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"dtstest":{"name":"dtstest","all":true}}',
+ ],
+ ],
+ [
+ 'name' => 'EtlOperatorColumnReference',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The operator that is related to the extract, transform, and load (ETL) feature and dedicated to T+1 business.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{'."\n"
+ .' "configKeyMap": ['."\n"
+ .' {'."\n"
+ .' "moduleCode": "03",'."\n"
+ .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n"
+ .' "etlOperatorSetting": "etlOperatorSetting"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "moduleCode": "07",'."\n"
+ .' "etlOperatorColumnReference": "etlOperatorColumnReference",'."\n"
+ .' "etlOperatorSetting": "etlOperatorSetting"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "amp.increment.replicator.compare.all.columns.enable": false,'."\n"
+ .' "srcNetType": "VPC",'."\n"
+ .' "etlOperatorColumnReference": {'."\n"
+ .' "MODIFY_TIME": ['."\n"
+ .' {'."\n"
+ .' "datasynchron.test_timing_user_000": "user_create_date"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "datasynchron.test_timing_user_001": "user_create_date"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "datasynchron.test_timing_user_002": "user_create_date"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "datasynchron.test_timing_user_003": "user_create_date"'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .' },'."\n"
+ .' "destNetType": "VPC",'."\n"
+ .' "originalSrcDbInst": "sg-sit-db2-primary.mysql.polardb.rds.aliyuncs.com",'."\n"
+ .' "etlOperatorSetting": "adb_time_travel",'."\n"
+ .' "sjobUseJobTask": "1",'."\n"
+ .' "srcVpcNetMappingInst": "172.19.XXX.XXX:4261",'."\n"
+ .' "destVpcNetMappingInst": "172.19.XXX.XXX:4260",'."\n"
+ .' "useJobTask": "1"'."\n"
+ .'}',
+ ],
+ ],
+ [
+ 'name' => 'ModifyTypeEnum',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '修改任务的方式,当为UPDATE_RESERVED时为修改reserve字段,不传默认修改dbList',
+ 'description' => 'The method that is used to modify the data synchronization task. If you do not specify the parameter, the objects of the data synchronization task are modified by default. If you specify UPDATE_RESERVED for the parameter, the reserved parameters are modified.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UPDATE_RESERVED',
+ ],
+ ],
+ [
+ 'name' => 'Reserved',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '新增的reserved字段,新增而不是覆盖',
+ 'description' => 'The reserved parameters of the data synchronization task. You can add reserved parameters instead of overwriting the existing reserved parameters. The value of the parameter is a MAP JSON string. You can specify this parameter to meet special requirements, such as specifying whether to automatically start the precheck of the data synchronization task. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ ],
+ [
+ 'name' => 'FileOssUrl',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '文件上传后的url',
+ 'description' => 'The endpoint of the Object Storage Service (OSS) bucket in which the files to be synchronized are stored.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_12185******43989_************',
+ 'isFileTransferUrl' => true,
+ ],
+ ],
+ [
+ 'name' => 'FilterTableName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '需要过滤的db.table',
+ 'description' => 'The name of the table to be filtered.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testtable',
+ ],
+ ],
+ [
+ 'name' => 'StructureInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform schema migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataInitialization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform full data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataSynchronization',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **false**'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization task ID. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'fpx1149rw7p***',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1D6ECADF-C5E9-4C96-8811-77602B31****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the DTS task.'."\n",
+ 'type' => 'string',
+ 'example' => 'bi6e22a****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n"
+ ."\n"
+ .'> The data type of this parameter is String. Sample value: **The actual sample value is The request processing has failed due to some unknown error.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.JobStatusModifying',
+ 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends',
+ ],
+ [
+ 'errorCode' => 'CheckStatus.InvalidInitStatus',
+ 'errorMessage' => 'Task has not been configured, please configure job first',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.OperationDenied.JobStatusModifying',
+ 'errorMessage' => 'jobs state is modifying, please wait sync subtask ends',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.CheckStatus.InvalidInitStatus',
+ 'errorMessage' => 'Task has not been configured, please configure job first',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"200\\",\\n \\"RequestId\\": \\"1D6ECADF-C5E9-4C96-8811-77602B31****\\",\\n \\"DtsJobId\\": \\"bi6e22a****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": true\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobResponse>\\n <DtsJobId>bi6e22a****</DtsJobId>\\n <RequestId>1D6ECADF-C5E9-4C96-8811-77602B31****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJob',
+ 'description' => 'When you configure a data synchronization task in the Data Transmission Service (DTS) console, you can move the pointer over **Next: Save Task Settings and Precheck** in the **Advanced Settings** step and click **Preview OpenAPI parameters** to view the parameters that are used to configure the task by calling an API operation.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyDtsJobName' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52290',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS task. The DTS task can be a data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the DTS task.'."\n"
+ ."\n"
+ .'> We recommend that you specify a descriptive name for easy identification. You do not need to use a unique name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekzfkjjb5gyy6i',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8C498360-7892-433C-847A-BA71A850****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter is going to be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> If the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the return value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** in the request is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobNameResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifyDtsJobNameResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJobName',
+ 'summary' => 'Changes the name of a Data Transmission Service (DTS) task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyDtsJobPassword' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52291',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS task. The DTS task can be a data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The account of the source or destination database.'."\n"
+ ."\n"
+ .'> This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password.'."\n"
+ ."\n"
+ .'> This parameter is required and cannot be set to a value that is the same as the current password.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Test123456',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database to which the password belongs. Valid values:'."\n"
+ ."\n"
+ .'* **src**: source database.'."\n"
+ .'* **dest**: destination database.'."\n"
+ ."\n"
+ .'> This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'src',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeMigrationJobs](~~208139~~), [DescribeSubscriptionInstances](~~49442~~), or [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Synchronization direction, with values:'."\n"
+ .'- **Forward** (default): Forward. - **Reverse**: Reverse.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8C498360-7892-433C-847A-BA71A850****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message that is returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> If the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the return value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** in the request is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyDtsJobPassword',
+ 'summary' => 'Changes the password of the account used to log on to the source or destination database in a Data Transmission Service (DTS) task.',
+ ],
+ 'ResetDtsJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to reset the reverse synchronization task only when the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the DTS instance is located. For more information, see [List of Supported Regions](~~141033~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekzn4iqlbsm7hy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace **%s** in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetDtsJobResponse>\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ResetDtsJobResponse>","errorExample":""}]',
+ 'title' => 'ResetDtsJob',
+ 'summary' => 'Resets a data synchronization or change tracking task.',
+ 'description' => '> If you clear the configurations of a data synchronization or change tracking task, DTS deletes the task. Then, DTS creates another task. The task is in the Not Configured state. You must call the [ConfigureDtsJob](~~208399~~) operation reconfigure the task.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'StartDtsJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52309',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeMigrationJobs](~~208139~~), [DescribeSubscriptionInstances](~~49442~~), or [DescribeSynchronizationJobs](~~49454~~) operation to query the instance ID'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Default value: Forward. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**: Data is synchronized from the source database to the destination database.'."\n"
+ ."\n"
+ .'* **Reverse**: Data is synchronized from the destination database to the source database.'."\n"
+ ."\n"
+ .'>You can set this parameter to **Reverse** to start the reverse synchronization task only if the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Data Transmission Service (DTS) instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2ilvoxlrdcby',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> For example, if the returned value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the returned value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.NotPurchased',
+ 'errorMessage' => 'The instance has not been purchased and the task cannot be started.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</StartDtsJobResponse>","errorExample":""}]',
+ 'title' => 'StartDtsJob',
+ 'summary' => 'Starts a data migration, data synchronization, or change tracking task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'StopDtsJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52314',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to stop the reverse synchronization task only when the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Data Transmission Service (DTS) instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-qingdao',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'Resource group ID.',
+ 'example' => 'rg-aekznwnajjh4d3a',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic error message, which is used to replace **%s** in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StopDtsJobResponse>","errorExample":""}]',
+ 'title' => 'StopDtsJob',
+ 'summary' => 'Stops a data migration, data synchronization, or change tracking task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SuspendDtsJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52318',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Data Transmission Service (DTS) task. The DTS task can be a data migration, data synchronization, or change tracking task.'."\n"
+ ."\n"
+ .'> You can call the [DescribeDtsJobs](~~209702~~) operation to obtain the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ ."\n"
+ .'* You can set this parameter to **Reverse** only if the topology is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '01B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> If the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the return value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** in the request is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter is going to be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"01B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendDtsJobResponse>\\r\\n <RequestId>01B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</SuspendDtsJobResponse>","errorExample":""}]',
+ 'title' => 'SuspendDtsJob',
+ 'summary' => 'Pauses a data migration, data synchronization, or change tracking task.',
+ 'description' => '****',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDtsJobDetail' => [
+ 'summary' => 'The latency of incremental data migration or synchronization. \\\\\\\\\\\\\\\\> If you query data migration tasks, the unit of this parameter is milliseconds. If you query data synchronization tasks, the unit of this parameter is seconds.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '52246',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ta7w132u12h****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsta7w132u12h****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SyncSubJobHistory',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否返回所有的同步子任务',
+ 'description' => 'Specifies whether to return the information about all data synchronization subtasks. Default value: **false**. A value of false indicates that the system returns only the information about a data synchronization subtask that is running or was most recently run.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only zero-extract, transform, load (ETL) integration tasks. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the data migration or synchronization task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **Initializing**: Initial data synchronization is in progress.'."\n"
+ .'* **InitializeFailed**: Initial data synchronization failed.'."\n"
+ .'* **synchronizing**: Data synchronization is in progress.'."\n"
+ .'* **Migrating**: Data migration is in progress.'."\n"
+ .'* **Failed**: Data synchronization failed.'."\n"
+ .'* **MigrationFailed**: Data migration failed.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects of the task are being modified.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'api_test',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T10:34:17Z',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, such as whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'DatabaseCount' => [
+ 'description' => 'The number of ApsaraDB RDS for MySQL instances that are attached to the source PolarDB-X 1.0 instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n"
+ ."\n"
+ .'> For more information about the description and test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization instances](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'xlarge',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-26T14:03:21Z',
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the new change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'DestNetType' => [
+ 'description' => 'The network type of the consumer client. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: classic network.'."\n"
+ .'* **VPC**: virtual private cloud (VPC).'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '29207299-7C41-493A-BA4F-2FAC5DE4****',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1616405159',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **PayType** is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T08:01:19Z',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. The value of this parameter is used to replace **%s** in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> For example, if the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-23T07:30:31Z',
+ ],
+ 'EtlCalculator' => [
+ 'description' => 'The operator information of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter is returned only if you query the details of an ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The returned HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-15T08:25:34Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'DtsJobDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'DemoJob' => [
+ 'description' => 'Indicates whether the task is a subtask. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'OracleSID' => [
+ 'description' => 'The system ID (SID) of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the source instance is **Oracle** and the Oracle database is deployed in a non-Real Application Cluster (RAC) architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The source instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database from which the objects are migrated in the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'CanModifyPassword' => [
+ 'description' => 'Indicates whether the password can be modified. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the objects are migrated in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.XX.XX',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The destination instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'CanModifyPassword' => [
+ 'description' => 'Indicates whether the password can be modified. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'RoleName' => [
+ 'type' => 'string',
+ ],
+ 'AliyunUid' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DataExtractTransformLoad' => [
+ 'description' => 'Indicates whether data transformation is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcHost' => [
+ 'description' => 'The VPC endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-vpc.aliyuncs.com:18003',
+ ],
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ ],
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The type of data for change tracking.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Dml' => [
+ 'description' => 'Indicates whether DML statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Ddl' => [
+ 'description' => 'Indicates whether DDL statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'SubDistributedJob' => [
+ 'description' => 'The information about the subtasks in the current distributed task. If the DTS task is not a distributed task, the value of this parameter is null.'."\n"
+ ."\n"
+ .'> This parameter is available only if the DTS task is a data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SubSyncJob' => [
+ 'description' => 'The information about the subtasks in the current data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Synchronize subtask information.',
+ 'type' => 'any',
+ 'example' => '****',
+ ],
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The DTS instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The DTS task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'm06j1g92124****',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The DTS instance name.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest****',
+ ],
+ 'GroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'DatabaseCount' => [
+ 'description' => 'The number of ApsaraDB RDS for MySQL instances that are attached to the source PolarDB-X 1.0 instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n",
+ 'type' => 'string',
+ 'example' => 'xlarge',
+ ],
+ 'DtsJobDirection' => [
+ 'title' => '请使用',
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **PayType** is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-01-12T08:34:11Z',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T10:34:17Z',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The source instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database from which the objects are migrated in the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The destination instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1f9guj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the objects are migrated in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}',
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataExtractTransformLoad' => [
+ 'description' => 'Indicates whether data transformation is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'title' => '主键',
+ 'description' => 'The primary key of the table.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'GmtCreate' => [
+ 'title' => '创建时间',
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'GmtModified' => [
+ 'title' => '修改时间',
+ 'description' => 'The time when the task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'ResourceId' => [
+ 'title' => 'dts instance id',
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ 'RegionId' => [
+ 'title' => 'region_id',
+ 'description' => 'The ID of the region in which the DTS task resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'AliUid' => [
+ 'title' => '用户id',
+ 'description' => 'The Alibaba Cloud account ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ 'TagKey' => [
+ 'title' => '标签键tagkey',
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'TagValue' => [
+ 'title' => '标签值tagvalue',
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ 'TagCategory' => [
+ 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)',
+ 'description' => 'The type of the tag. Valid values:'."\n"
+ ."\n"
+ .'* **System**: The tag was created by the system.'."\n"
+ .'* **Custom**: The tag was created by a user.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, custom tags and system tags are returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'System',
+ ],
+ 'SrcRegion' => [
+ 'title' => '任务所在region,注意一般是dts的目标端region',
+ 'description' => 'The ID of the region in which the DTS task resides.'."\n"
+ ."\n"
+ .'> In most cases, the ID of the region in which the destination instance resides is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Scope' => [
+ 'title' => '0为public,1为private (Public, Private, All)',
+ 'description' => 'Indicates whether the tag is visible. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The tag is public.'."\n"
+ .'* **1**: The tag is private.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Creator' => [
+ 'title' => '标签操作者',
+ 'description' => 'The operator of the tag.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ ],
+ ],
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1616405159',
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckItem' => [
+ 'title' => '预检查项',
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'CheckItemDescription' => [
+ 'title' => '检查项的描述',
+ 'description' => 'The description of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckResult' => [
+ 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)',
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'FailedReason' => [
+ 'title' => '错误原因',
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'RepairMethod' => [
+ 'title' => '修复方法',
+ 'description' => 'The method used to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'Initialization status of library table structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The initialization status of the library table structure includes:'."\n"
+ .'- NotStarted: Not started.'."\n"
+ .'- Migration: In the process of initialization.'."\n"
+ .'- Failed: Initialization failed.'."\n"
+ .'- Finished: Initialization completed.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'Error message.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'Initialization progress of library table structure, measured in percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of tables that have completed library table structure initialization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Whether to display upgrade specifications, return value:'."\n"
+ .'- True: Yes.'."\n"
+ .'- False: No.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data migration or initial full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of full data migration or initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration or initial full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Checking**: The task is in precheck.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of rows and size of data that is synchronized or migrated to the destination table per second during incremental data synchronization or migration.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00RPS/(0.000MB/s)',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'title' => '每秒同步的记录数',
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'title' => '每秒同步的流量,单位为:MB/s',
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction.'."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DtsInstanceID' => [
+ 'description' => 'The DTS instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The DTS task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'm06j1g92124****',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The DTS instance name.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest****',
+ ],
+ 'GroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'DatabaseCount' => [
+ 'description' => 'The number of ApsaraDB RDS for MySQL instances that are attached to the source PolarDB-X 1.0 instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n",
+ 'type' => 'string',
+ 'example' => 'xlarge',
+ ],
+ 'DtsJobDirection' => [
+ 'title' => '请使用',
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **PayType** is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-01-12T08:34:11Z',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T10:34:17Z',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The source instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp2f3huj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database from which the objects are migrated in the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The destination instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1f9guj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the objects are migrated in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}',
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataExtractTransformLoad' => [
+ 'description' => 'Indicates whether data transformation is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'title' => '主键',
+ 'description' => 'The primary key of the table.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'GmtCreate' => [
+ 'title' => '创建时间',
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'GmtModified' => [
+ 'title' => '修改时间',
+ 'description' => 'The time when the task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'ResourceId' => [
+ 'title' => 'dts instance id',
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ 'RegionId' => [
+ 'title' => 'region_id',
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'AliUid' => [
+ 'title' => '用户id',
+ 'description' => 'The Alibaba Cloud account ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ 'TagKey' => [
+ 'title' => '标签键tagkey',
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'TagValue' => [
+ 'title' => '标签值tagvalue',
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ 'TagCategory' => [
+ 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)',
+ 'description' => 'The type of the tag. Valid values:'."\n"
+ ."\n"
+ .'* **System**: The tag was created by the system.'."\n"
+ .'* **Custom**: The tag was created by a user.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, custom tags and system tags are returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'System',
+ ],
+ 'SrcRegion' => [
+ 'title' => '任务所在region,注意一般是dts的目标端region',
+ 'description' => 'The ID of the region in which the DTS task resides.'."\n"
+ ."\n"
+ .'> In most cases, the ID of the region in which the destination instance resides is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Scope' => [
+ 'title' => '0为public,1为private (Public, Private, All)',
+ 'description' => 'Indicates whether the tag is visible. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The tag is public.'."\n"
+ .'* **1**: The tag is private.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Creator' => [
+ 'title' => '标签操作者',
+ 'description' => 'The operator of the tag.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ ],
+ ],
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1616405159',
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckItem' => [
+ 'title' => '预检查项',
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'CheckItemDescription' => [
+ 'title' => '检查项的描述',
+ 'description' => 'The description of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckResult' => [
+ 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)',
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'FailedReason' => [
+ 'title' => '错误原因',
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'RepairMethod' => [
+ 'title' => '修复方法',
+ 'description' => 'The method used to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'Initialization status of library table structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The initialization status of the library table structure includes:'."\n"
+ .'- NotStarted: Not started.'."\n"
+ .'- Migration: In the process of initialization.'."\n"
+ .'- Failed: Initialization failed.'."\n"
+ .'- Finished: Initialization completed.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'Error message indicating task failure.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'Initialization progress of library table structure, measured in percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of tables that have completed library table structure initialization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Whether to display upgrade specifications, return value:'."\n"
+ .'- True: Yes.'."\n"
+ .'- False: No.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data migration or initial full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of full data migration or initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration or initial full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Checking**: The task is in precheck.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of rows and size of data that is synchronized or migrated to the destination table per second during incremental data synchronization or migration.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00RPS/(0.000MB/s)',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'title' => '每秒同步的记录数',
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'title' => '每秒同步的流量,单位为:MB/s',
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction.'."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.'."\n",
+ 'type' => 'any',
+ 'example' => '****',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, such as whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ 'VpcHost' => [
+ 'description' => 'The VPC endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ ],
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-23T07:30:31Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-15T08:25:34Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-26T14:03:21Z',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'DestNetType' => [
+ 'description' => 'The network type of the consumer client. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: classic network.'."\n"
+ .'* **VPC**: VPC.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The type of data for change tracking.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ddl' => [
+ 'description' => 'Indicates whether DDL statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Dml' => [
+ 'description' => 'Indicates whether DML statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the new change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'EtlCalculator' => [
+ 'description' => 'The operator information of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter is returned only if you query the details of an ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }',
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '任务ID',
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ta7w132u12h****',
+ ],
+ 'MaxRetryTime' => [
+ 'title' => '最大重试时间,单位秒',
+ 'description' => 'The maximum duration of a retry. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'RetryTime' => [
+ 'title' => '已重试时间,单位秒',
+ 'description' => 'The time that has elapsed from the point in time when the first retry starts. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'RetryCount' => [
+ 'title' => '已重试次数',
+ 'description' => 'The number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Retrying' => [
+ 'title' => '是否重试中',
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Module' => [
+ 'title' => '模块名称 reader/store/writer/full/struct',
+ 'description' => 'The progress of the instance when DTS performs retries.'."\n",
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'RetryTarget' => [
+ 'title' => 'srcDB/destDB/metaDB/dstore',
+ 'description' => 'The object on which the retries are performed. Valid values:'."\n"
+ ."\n"
+ .'* **srcDB**: the source database.'."\n"
+ .'* **destDB**: the destination database.'."\n"
+ .'* **inner_module**: an internal module of DTS.'."\n",
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'ErrMsg' => [
+ 'title' => '错误信息',
+ 'description' => 'The error message returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ ],
+ ],
+ 'OriginType' => [
+ 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)',
+ 'description' => 'The source of the task. Valid values:'."\n"
+ ."\n"
+ .'* **PTS**'."\n"
+ .'* **DMS**'."\n"
+ .'* **DTS**'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS',
+ ],
+ 'JobType' => [
+ 'title' => '返回结果中新增jobType字段',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **online**: data migration task.'."\n"
+ .'* **SYNC**: data synchronization task.'."\n"
+ .'* **SUBSCRIBE**: change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYNC',
+ ],
+ 'IsDemoJob' => [
+ 'description' => 'Indicates whether the task is a subtask. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type.'."\n",
+ 'type' => 'string',
+ 'example' => 'rds',
+ ],
+ 'MinDu' => [
+ 'description' => 'The minimum number of DTS Units (DUs).'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'The maximum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, such as whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ 'VpcHost' => [
+ 'description' => 'The VPC endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ ],
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-23T07:30:31Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-15T08:25:34Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-26T14:03:21Z',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'DestNetType' => [
+ 'description' => 'The network type of the consumer client. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: classic network.'."\n"
+ .'* **VPC**: VPC.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The type of data for change tracking.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ddl' => [
+ 'description' => 'Indicates whether DDL statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Dml' => [
+ 'description' => 'Indicates whether DML statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the new change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'EtlCalculator' => [
+ 'description' => 'The operator information of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter is returned only if you query the details of an ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }',
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '任务ID',
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ta7w132u12h****',
+ ],
+ 'MaxRetryTime' => [
+ 'title' => '最大重试时间,单位秒',
+ 'description' => 'The maximum duration of a retry. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'RetryTime' => [
+ 'title' => '已重试时间,单位秒',
+ 'description' => 'The time that has elapsed from the point in time when the first retry starts. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'RetryCount' => [
+ 'title' => '已重试次数',
+ 'description' => 'The number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Retrying' => [
+ 'title' => '是否重试中',
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Module' => [
+ 'title' => '模块名称 reader/store/writer/full/struct',
+ 'description' => 'The progress of the instance when DTS performs retries.'."\n",
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'RetryTarget' => [
+ 'title' => 'srcDB/destDB/metaDB/dstore',
+ 'description' => 'The object on which the retries are performed. Valid values:'."\n"
+ ."\n"
+ .'* **srcDB**: the source database.'."\n"
+ .'* **destDB**: the destination database.'."\n"
+ .'* **inner_module**: an internal module of DTS.'."\n",
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'ErrMsg' => [
+ 'title' => '错误信息',
+ 'description' => 'The error message returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ ],
+ ],
+ 'OriginType' => [
+ 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)',
+ 'description' => 'The source of the task. Valid values:'."\n"
+ ."\n"
+ .'* **PTS**'."\n"
+ .'* **DMS**'."\n"
+ .'* **DTS**'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS',
+ ],
+ 'JobType' => [
+ 'title' => '返回结果中新增jobType字段',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **online**: data migration task.'."\n"
+ .'* **SYNC**: data synchronization task.'."\n"
+ .'* **SUBSCRIBE**: change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYNC',
+ ],
+ 'IsDemoJob' => [
+ 'description' => 'Indicates whether the task is a subtask. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type.'."\n",
+ 'type' => 'string',
+ 'example' => 'rds',
+ ],
+ 'MinDu' => [
+ 'description' => 'The minimum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'The maximum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ ],
+ 'SubSyncJob' => [
+ 'description' => 'The information about the subtasks in the current data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SubSyncJob' => [
+ 'description' => 'The information about the subtasks in the current data synchronization task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Synchronize subtask information.',
+ 'type' => 'any',
+ 'example' => '****',
+ ],
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The DTS instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The DTS task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'm06j1g92124****',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The DTS instance name.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest****',
+ ],
+ 'GroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'DatabaseCount' => [
+ 'description' => 'The number of ApsaraDB RDS for MySQL instances that are attached to the source PolarDB-X 1.0 instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n",
+ 'type' => 'string',
+ 'example' => 'xlarge',
+ ],
+ 'DtsJobDirection' => [
+ 'title' => '请使用',
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **PayType** is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-01-12T08:34:11Z',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T10:34:17Z',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The source instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp2f3huj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database from which the objects are migrated in the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The destination instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1f9guj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the objects are migrated in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}',
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataExtractTransformLoad' => [
+ 'description' => 'Indicates whether data transformation is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'title' => '主键',
+ 'description' => 'The primary key of the table.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'GmtCreate' => [
+ 'title' => '创建时间',
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'GmtModified' => [
+ 'title' => '修改时间',
+ 'description' => 'The time when the task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'ResourceId' => [
+ 'title' => 'dts instance id',
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ 'RegionId' => [
+ 'title' => 'region_id',
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'AliUid' => [
+ 'title' => '用户id',
+ 'description' => 'The Alibaba Cloud account ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ 'TagKey' => [
+ 'title' => '标签键tagkey',
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'TagValue' => [
+ 'title' => '标签值tagvalue',
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ 'TagCategory' => [
+ 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)',
+ 'description' => 'The type of the tag. Valid values:'."\n"
+ ."\n"
+ .'* **System**: The tag was created by the system.'."\n"
+ .'* **Custom**: The tag was created by a user.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, custom tags and system tags are returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'System',
+ ],
+ 'SrcRegion' => [
+ 'title' => '任务所在region,注意一般是dts的目标端region',
+ 'description' => 'The ID of the region in which the DTS task resides.'."\n"
+ ."\n"
+ .'> In most cases, the ID of the region in which the destination instance resides is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Scope' => [
+ 'title' => '0为public,1为private (Public, Private, All)',
+ 'description' => 'Indicates whether the tag is visible. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The tag is public.'."\n"
+ .'* **1**: The tag is private.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Creator' => [
+ 'title' => '标签操作者',
+ 'description' => 'The operator of the tag.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ ],
+ ],
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1616405159',
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckItem' => [
+ 'title' => '预检查项',
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'CheckItemDescription' => [
+ 'title' => '检查项的描述',
+ 'description' => 'The description of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckResult' => [
+ 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)',
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'FailedReason' => [
+ 'title' => '错误原因',
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'RepairMethod' => [
+ 'title' => '修复方法',
+ 'description' => 'The method used to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'Initialization status of library table structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The initialization status of the library table structure includes:'."\n"
+ .'- NotStarted: Not started.'."\n"
+ .'- Migration: In the process of initialization.'."\n"
+ .'- Failed: Initialization failed.'."\n"
+ .'- Finished: Initialization completed.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'Error message indicating task failure.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'Initialization progress of library table structure, measured in percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of tables that have completed library table structure initialization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Whether to display upgrade specifications, return value:'."\n"
+ .'- True: Yes.'."\n"
+ .'- False: No.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data migration or initial full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of full data migration or initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration or initial full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Checking**: The task is in precheck.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of rows and size of data that is synchronized or migrated to the destination table per second during incremental data synchronization or migration.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00RPS/(0.000MB/s)',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'title' => '每秒同步的记录数',
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'title' => '每秒同步的流量,单位为:MB/s',
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction.'."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DtsInstanceID' => [
+ 'description' => 'The DTS instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The DTS task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'm06j1g92124****',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The DTS instance name.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest****',
+ ],
+ 'GroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'DatabaseCount' => [
+ 'description' => 'The number of ApsaraDB RDS for MySQL instances that are attached to the source PolarDB-X 1.0 instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n",
+ 'type' => 'string',
+ 'example' => 'xlarge',
+ ],
+ 'DtsJobDirection' => [
+ 'title' => '请使用',
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'SynchronizationDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**'."\n"
+ .'* **Reverse**'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The default value is **Forward**.'."\n"
+ .'* The value **Reverse** takes effect only if the topology of the data synchronization instance is two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **PayType** is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-01-12T08:34:11Z',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-06-16T10:34:17Z',
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The DTS instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp2f3huj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database from which the objects are migrated in the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceID' => [
+ 'description' => 'The destination instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1f9guj5rhzq****',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX,XX',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the objects are migrated in the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'SslSolutionEnum' => [
+ 'title' => 'DISABLE: 不使用 SSL, ENABLE_WITH_CERTIFICATE: 使用 SSL, 需要用户上传 CA 证书, ENABLE_ONLY_4_MONGODB_ATLAS: 使用 SSL, 但只适用于 AWS MongoDB Altas, 不需要证书, ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256: Kafka SCRAM-SHA-256 支持, 不需要证书',
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role configured for the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ram-for-dts',
+ ],
+ 'AliyunUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '140692647406****',
+ ],
+ ],
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}',
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataExtractTransformLoad' => [
+ 'description' => 'Indicates whether data transformation is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'title' => '主键',
+ 'description' => 'The primary key of the table.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'GmtCreate' => [
+ 'title' => '创建时间',
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'GmtModified' => [
+ 'title' => '修改时间',
+ 'description' => 'The time when the task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'ResourceId' => [
+ 'title' => 'dts instance id',
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsnjuc14kp12u****',
+ ],
+ 'ResourceType' => [
+ 'title' => '资源类型',
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ 'RegionId' => [
+ 'title' => 'region_id',
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'AliUid' => [
+ 'title' => '用户id',
+ 'description' => 'The Alibaba Cloud account ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ 'TagKey' => [
+ 'title' => '标签键tagkey',
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'TagValue' => [
+ 'title' => '标签值tagvalue',
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ 'TagCategory' => [
+ 'title' => '标签类型:系统标签-System,用户标签-Custom (Custom, System, All)',
+ 'description' => 'The type of the tag. Valid values:'."\n"
+ ."\n"
+ .'* **System**: The tag was created by the system.'."\n"
+ .'* **Custom**: The tag was created by a user.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, custom tags and system tags are returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'System',
+ ],
+ 'SrcRegion' => [
+ 'title' => '任务所在region,注意一般是dts的目标端region',
+ 'description' => 'The ID of the region in which the DTS task resides.'."\n"
+ ."\n"
+ .'> In most cases, the ID of the region in which the destination instance resides is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Scope' => [
+ 'title' => '0为public,1为private (Public, Private, All)',
+ 'description' => 'Indicates whether the tag is visible. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The tag is public.'."\n"
+ .'* **1**: The tag is private.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Creator' => [
+ 'title' => '标签操作者',
+ 'description' => 'The operator of the tag.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '191448876515****',
+ ],
+ ],
+ ],
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1616405159',
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckItem' => [
+ 'title' => '预检查项',
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'CheckItemDescription' => [
+ 'title' => '检查项的描述',
+ 'description' => 'The description of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckResult' => [
+ 'title' => '检查结果 (NotStarted: 未启动, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Warning: 警告, Success: 完成)',
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'FailedReason' => [
+ 'title' => '错误原因',
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ 'RepairMethod' => [
+ 'title' => '修复方法',
+ 'description' => 'The method used to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the return value of **CheckResult** is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'Initialization status of library table structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The initialization status of the library table structure includes:'."\n"
+ ."\n"
+ .'- NotStarted: Not started.'."\n"
+ .'- Migration: In the process of initialization.'."\n"
+ .'- Failed: Initialization failed.'."\n"
+ .'- Finished: Initialization completed.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'Error message indicating task failure.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'Initialization progress of library table structure, measured in percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of tables that have completed library table structure initialization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Whether to display upgrade specifications, return value:'."\n"
+ ."\n"
+ .'- True: Yes.'."\n"
+ .'- False: No.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data migration or initial full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of full data migration or initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration or initial full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Checking**: The task is in precheck.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of rows and size of data that is synchronized or migrated to the destination table per second during incremental data synchronization or migration.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00RPS/(0.000MB/s)',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'title' => 'NotStarted: 未启动, Suspending: 暂停中, Checking: 检查中, Migrating: 迁移中, Failed: 失败, Catched: 同步中 | 增量迁移中, Finished: 完成',
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by ****',
+ ],
+ 'Percent' => [
+ 'title' => '迁移进度',
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'title' => '已经完成迁移的表数量',
+ 'description' => 'The number of entries that are migrated or synchronized during full data migration or initial full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '16',
+ ],
+ 'NeedUpgrade' => [
+ 'title' => '是否显示提升升级规格',
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'title' => '每秒同步的记录数',
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'title' => '每秒同步的流量,单位为:MB/s',
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction.'."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.'."\n",
+ 'type' => 'any',
+ 'example' => '****',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, such as whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ 'VpcHost' => [
+ 'description' => 'The VPC endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ ],
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-23T07:30:31Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-15T08:25:34Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-26T14:03:21Z',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'DestNetType' => [
+ 'description' => 'The network type of the consumer client. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: classic network.'."\n"
+ .'* **VPC**: VPC.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The type of data for change tracking.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ddl' => [
+ 'description' => 'Indicates whether DDL statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Dml' => [
+ 'description' => 'Indicates whether DML statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the new change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'EtlCalculator' => [
+ 'description' => 'The operator information of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter is returned only if you query the details of an ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }',
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '任务ID',
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ta7w132u12h****',
+ ],
+ 'MaxRetryTime' => [
+ 'title' => '最大重试时间,单位秒',
+ 'description' => 'The maximum duration of a retry. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'RetryTime' => [
+ 'title' => '已重试时间,单位秒',
+ 'description' => 'The time that has elapsed from the point in time when the first retry starts. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'RetryCount' => [
+ 'title' => '已重试次数',
+ 'description' => 'The number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Retrying' => [
+ 'title' => '是否重试中',
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Module' => [
+ 'title' => '模块名称 reader/store/writer/full/struct',
+ 'description' => 'The progress of the instance when DTS performs retries.'."\n",
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'RetryTarget' => [
+ 'title' => 'srcDB/destDB/metaDB/dstore',
+ 'description' => 'The object on which the retries are performed. Valid values:'."\n"
+ ."\n"
+ .'* **srcDB**: the source database.'."\n"
+ .'* **destDB**: the destination database.'."\n"
+ .'* **inner_module**: an internal module of DTS.'."\n",
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'ErrMsg' => [
+ 'title' => '错误信息',
+ 'description' => 'The error message returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ ],
+ ],
+ 'OriginType' => [
+ 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)',
+ 'description' => 'The source of the task. Valid values:'."\n"
+ ."\n"
+ .'* **PTS**'."\n"
+ .'* **DMS**'."\n"
+ .'* **DTS**'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS',
+ ],
+ 'JobType' => [
+ 'title' => '返回结果中新增jobType字段',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **online**: data migration task.'."\n"
+ .'* **SYNC**: data synchronization task.'."\n"
+ .'* **SUBSCRIBE**: change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYNC',
+ ],
+ 'IsDemoJob' => [
+ 'description' => 'Indicates whether the task is a subtask. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type.'."\n",
+ 'type' => 'string',
+ 'example' => 'rds',
+ ],
+ ],
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, such as whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'SubscriptionHost' => [
+ 'description' => 'The endpoint of the change tracking instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PublicHost' => [
+ 'description' => 'The public endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ 'PrivateHost' => [
+ 'description' => 'The private endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****-internal.aliyuncs.com:18002',
+ ],
+ 'VpcHost' => [
+ 'description' => 'The VPC endpoint of the change tracking instance. The format is `<Address>:<Port number>`.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-****.aliyuncs.com:18001',
+ ],
+ ],
+ ],
+ 'SubscribeTopic' => [
+ 'description' => 'The topic of the change tracking instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if your change tracking instances are of the new version and you have called the [CreateConsumerGroup](~~122863~~) operation to create a consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-23T07:30:31Z',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-15T08:25:34Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-26T14:03:21Z',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114.***.***.**:dts********',
+ ],
+ 'DestNetType' => [
+ 'description' => 'The network type of the consumer client. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: classic network.'."\n"
+ .'* **VPC**: VPC.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'SubscriptionDataType' => [
+ 'description' => 'The type of data for change tracking.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ddl' => [
+ 'description' => 'Indicates whether DDL statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Dml' => [
+ 'description' => 'Indicates whether DML statements are tracked. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the new change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'EtlCalculator' => [
+ 'description' => 'The operator information of the ETL task.'."\n"
+ ."\n"
+ .'> This parameter is returned only if you query the details of an ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "cells ": [{\\"shape\\":\\"edge\\",\\"attrs\\":{\\"line\\":{\\"stroke\\":\\"#b1b1b1\\",\\"strokeWidth\\":1,\\"targetMarker\\":{\\"name\\":\\"block\\",\\"args\\":{\\"size\\":\\"8\\"}},\\"strokeDasharray\\":\\"\\"}},\\"id\\":\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\",\\"source\\":{\\"cell\\":\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\",\\"port\\":\\"out1\\"},\\"target\\":{\\"cell\\":\\"b36770df-f48c-4d6b-9644-54c5e924****\\",\\"port\\":\\"in1\\"},\\"zIndex\\":7 }] }',
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '任务ID',
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ta7w132u12h****',
+ ],
+ 'MaxRetryTime' => [
+ 'title' => '最大重试时间,单位秒',
+ 'description' => 'The maximum duration of a retry. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'RetryTime' => [
+ 'title' => '已重试时间,单位秒',
+ 'description' => 'The time that has elapsed from the point in time when the first retry starts. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'RetryCount' => [
+ 'title' => '已重试次数',
+ 'description' => 'The number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Retrying' => [
+ 'title' => '是否重试中',
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Module' => [
+ 'title' => '模块名称 reader/store/writer/full/struct',
+ 'description' => 'The progress of the instance when DTS performs retries.'."\n",
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'RetryTarget' => [
+ 'title' => 'srcDB/destDB/metaDB/dstore',
+ 'description' => 'The object on which the retries are performed. Valid values:'."\n"
+ ."\n"
+ .'* **srcDB**: the source database.'."\n"
+ .'* **destDB**: the destination database.'."\n"
+ .'* **inner_module**: an internal module of DTS.'."\n",
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'ErrMsg' => [
+ 'title' => '错误信息',
+ 'description' => 'The error message returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ ],
+ ],
+ 'OriginType' => [
+ 'title' => '任务来源 pts任务、dms任务 (PTS, DMS, DTS)',
+ 'description' => 'The source of the task. Valid values:'."\n"
+ ."\n"
+ .'* **PTS**'."\n"
+ .'* **DMS**'."\n"
+ .'* **DTS**'."\n",
+ 'type' => 'string',
+ 'example' => 'PTS',
+ ],
+ 'JobType' => [
+ 'title' => '返回结果中新增jobType字段',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **online**: data migration task.'."\n"
+ .'* **SYNC**: data synchronization task.'."\n"
+ .'* **SUBSCRIBE**: change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYNC',
+ ],
+ 'IsDemoJob' => [
+ 'description' => 'Indicates whether the task is a subtask. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type.'."\n",
+ 'type' => 'string',
+ 'example' => 'rds',
+ ],
+ 'MinDu' => [
+ 'description' => 'The minimum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'The maximum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ ],
+ 'JobType' => [
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **sync**: a data synchronization task.'."\n"
+ .'* **subSync**: a subtask generated when the objects to be synchronized are modified.'."\n"
+ ."\n"
+ .'> In most cases, this parameter is returned together with **TaskType**.'."\n",
+ 'type' => 'string',
+ 'example' => 'sync',
+ ],
+ 'TaskType' => [
+ 'description' => 'The type of the task.'."\n"
+ ."\n"
+ .'> In most cases, this parameter is returned together with **JobType**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Distributed_xxx',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The dedicated cluster ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsxxxxx',
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Checking**: The task is in precheck.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task has no latency.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance class needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data migration or synchronization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of rows and size of data that is synchronized or migrated to the destination table per second during incremental data synchronization or migration.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00RPS/(0.000MB/s)',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data migration or synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ ],
+ ],
+ 'BootTime' => [
+ 'description' => 'The time when the task was started. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-30T03:36:11.000',
+ ],
+ 'Binlog' => [
+ 'description' => 'The binary logs.'."\n",
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ 'BinlogSite' => [
+ 'description' => 'The current offset.'."\n",
+ 'type' => 'string',
+ 'example' => '156629109****',
+ ],
+ 'BinlogTime' => [
+ 'description' => 'The offset range.'."\n",
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ 'LastUpdateTime' => [
+ 'description' => 'The timestamp when the task was last updated.'."\n",
+ 'type' => 'string',
+ 'example' => '156629109****',
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RetryCount' => [
+ 'description' => 'The number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'MaxRetryTime' => [
+ 'description' => 'The maximum duration of a retry. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if these retries failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Unexpected error',
+ ],
+ 'RetryTarget' => [
+ 'description' => 'The object on which the retries are performed. Valid values:'."\n"
+ ."\n"
+ .'* **srcDB**: the source database.'."\n"
+ .'* **destDB**: the destination database.'."\n"
+ .'* **inner_module**: an internal module of DTS.'."\n",
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'RetryTime' => [
+ 'description' => 'The time that has elapsed from the point in time when the first retry starts. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Module' => [
+ 'description' => 'The progress of the instance when DTS performs retries.'."\n",
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'JobId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'bi6e22ay243****',
+ ],
+ 'Retrying' => [
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'ResourceGroupDisplayName' => [
+ 'description' => 'The resource group name.'."\n",
+ 'type' => 'string',
+ 'example' => 'default resource group',
+ ],
+ 'DtsBisLabel' => [
+ 'description' => 'The environment tag of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **normal******'."\n"
+ .'* **online******'."\n",
+ 'type' => 'string',
+ 'example' => 'normal',
+ ],
+ 'DataDeliveryChannelInfo' => [
+ 'description' => 'The information about the data shipping channel.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PublicDproxyUrl' => [
+ 'description' => 'The public endpoint of the data shipping channel.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-****.aliyuncs.com:18***',
+ ],
+ 'VpcDproxyUrl' => [
+ 'description' => 'The VPC endpoint of the data shipping channel.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-****.aliyuncs.com:18***',
+ ],
+ 'Topic' => [
+ 'description' => 'The destination topic of the data shipping instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_******_data_delivery_version2',
+ ],
+ 'Region' => [
+ 'description' => 'The region in which the data shipping channel resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'PartitionNum' => [
+ 'title' => 'partition分片数',
+ 'description' => 'The number of partitions of the destination topic.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'MinDu' => [
+ 'description' => 'The minimum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'The maximum number of DUs.'."\n"
+ ."\n"
+ .'> This parameter is supported only for serverless instances.'."\n",
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ 'InitCheckpoint' => [
+ 'type' => 'string',
+ ],
+ 'InsightModule' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Migrating\\",\\n \\"DtsJobName\\": \\"api_test\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"RequestId\\": \\"29207299-7C41-493A-BA4F-2FAC5DE4****\\",\\n \\"Code\\": 200,\\n \\"Checkpoint\\": 1616405159,\\n \\"Delay\\": 0,\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"EtlCalculator\\": \\"{ \\\\t\\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 \\\\t}] }\\",\\n \\"HttpStatusCode\\": 200,\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"DemoJob\\": false,\\n \\"SourceEndpoint\\": {\\n \\"OracleSID\\": \\"testsid\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"Port\\": \\"3306\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"AliyunUid\\": \\"140692647406****\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"CanModifyPassword\\": false\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"CanModifyPassword\\": false,\\n \\"RoleName\\": \\"\\",\\n \\"AliyunUid\\": \\"\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataExtractTransformLoad\\": false,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"SubscriptionHost\\": {\\n \\"VpcHost\\": \\"dts-cn-****-vpc.aliyuncs.com:18003\\",\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\"\\n },\\n \\"SubscriptionDataType\\": {\\n \\"Dml\\": true,\\n \\"Ddl\\": true\\n },\\n \\"SubDistributedJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"SubSyncJob\\": [\\n {\\n \\"SubSyncJob\\": [\\n \\"****\\"\\n ],\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": {\\n \\"DtsInstanceID\\": \\"dtsnjuc14kp12u****\\",\\n \\"DtsJobId\\": \\"m06j1g92124****\\",\\n \\"DtsJobName\\": \\"dtstest****\\",\\n \\"GroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"DatabaseCount\\": 2,\\n \\"DtsJobClass\\": \\"xlarge\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"SynchronizationDirection\\": \\"Forward\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ExpireTime\\": \\"2023-06-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2023-01-12T08:34:11Z\\",\\n \\"FinishTime\\": \\"2023-06-16T10:34:17Z\\",\\n \\"SourceEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp2f3huj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX.XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"InstanceID\\": \\"rm-bp1f9guj5rhzq****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"EngineName\\": \\"MySQL\\",\\n \\"Ip\\": \\"192.168.XX,XX\\",\\n \\"Port\\": \\"3306\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"RoleName\\": \\"ram-for-dts\\",\\n \\"AliyunUid\\": \\"140692647406****\\"\\n },\\n \\"DbObject\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"state\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"normal\\\\\\\\\\\\\\"}}\\",\\n \\"MigrationMode\\": {\\n \\"StructureInitialization\\": true,\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"DataExtractTransformLoad\\": false\\n },\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Delay\\": 0,\\n \\"TagList\\": [\\n {\\n \\"Id\\": 2,\\n \\"GmtCreate\\": \\"2022-03-16T08:01:19Z\\",\\n \\"GmtModified\\": \\"2022-03-16T08:01:19Z\\",\\n \\"ResourceId\\": \\"dtsnjuc14kp12u****\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"key1\\",\\n \\"TagValue\\": \\"value1\\",\\n \\"TagCategory\\": \\"System\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"Scope\\": \\"0\\",\\n \\"Creator\\": 0\\n }\\n ],\\n \\"Checkpoint\\": \\"1616405159\\",\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Detail\\": [\\n {\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckResult\\": \\"Success\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\"\\n }\\n ]\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"1\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by ****\\",\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"16\\",\\n \\"NeedUpgrade\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"ReverseJob\\": \\"****\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\"\\n },\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"SubscriptionHost\\": {\\n \\"PublicHost\\": \\"dts-cn-****.aliyuncs.com:18001\\",\\n \\"PrivateHost\\": \\"dts-cn-****-internal.aliyuncs.com:18002\\",\\n \\"VpcHost\\": \\"dts-cn-****.aliyuncs.com:18001\\"\\n },\\n \\"SubscribeTopic\\": \\"cn_hangzhou_rm_bp1162kryivb8****_dtstest_version2\\",\\n \\"ConsumptionCheckpoint\\": \\"2022-03-23T07:30:31Z\\",\\n \\"BeginTimestamp\\": \\"2022-03-15T08:25:34Z\\",\\n \\"EndTimestamp\\": \\"2022-03-26T14:03:21Z\\",\\n \\"ConsumptionClient\\": \\"114.***.***.**:dts********\\",\\n \\"DestNetType\\": \\"VPC\\",\\n \\"SubscriptionDataType\\": {\\n \\"Ddl\\": true,\\n \\"Dml\\": true\\n },\\n \\"AppName\\": \\"new\\",\\n \\"EtlCalculator\\": \\"{ \\\\\\"cells \\\\\\": [{\\\\\\\\\\\\\\"shape\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edge\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"attrs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"line\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"stroke\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"#b1b1b1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"strokeWidth\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"targetMarker\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"block\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"strokeDasharray\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cd1ec473-f9b9-4e9b-a742-ac23f442****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"source\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8b261182-bfab-4803-ad8e-6bb08e3e****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"out1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"target\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"b36770df-f48c-4d6b-9644-54c5e924****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"in1\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"zIndex\\\\\\\\\\\\\\":7 }] }\\",\\n \\"RetryState\\": {\\n \\"JobId\\": \\"ta7w132u12h****\\",\\n \\"MaxRetryTime\\": 7200,\\n \\"RetryTime\\": 3600,\\n \\"RetryCount\\": 5,\\n \\"Retrying\\": true,\\n \\"Module\\": \\"03\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\"\\n },\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"JobType\\": \\"SYNC\\",\\n \\"IsDemoJob\\": false,\\n \\"TaskType\\": \\"rds\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16\\n }\\n ],\\n \\"JobType\\": \\"sync\\",\\n \\"TaskType\\": \\"Distributed_xxx\\",\\n \\"DedicatedClusterId\\": \\"dtsxxxxx\\",\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0.00RPS/(0.000MB/s)\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000\\",\\n \\"Binlog\\": \\"****\\",\\n \\"BinlogSite\\": \\"156629109****\\",\\n \\"BinlogTime\\": \\"****\\",\\n \\"LastUpdateTime\\": \\"156629109****\\",\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"DataDeliveryChannelInfo\\": {\\n \\"PublicDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"VpcDproxyUrl\\": \\"dts-****.aliyuncs.com:18***\\",\\n \\"Topic\\": \\"cn_hangzhou_******_data_delivery_version2\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"PartitionNum\\": 3\\n },\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"InitCheckpoint\\": \\"\\",\\n \\"InsightModule\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobDetailResponse>\\n <DtsJobName>api测试</DtsJobName>\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\n <Success>true</Success>\\n <Delay>0</Delay>\\n <MigrationMode>\\n <DataInitialization>true</DataInitialization>\\n <DataSynchronization>true</DataSynchronization>\\n <StructureInitialization>true</StructureInitialization>\\n </MigrationMode>\\n <DtsJobClass>xlarge</DtsJobClass>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Status>Migrating</Status>\\n <RequestId>29207299-7C41-493A-BA4F-2FAC5DE4****</RequestId>\\n <DbObject>{\\"dtstestdata\\":{\\"all\\":true,\\"name\\":\\"dtstestdata\\",\\"state\\":\\"normal\\"}}</DbObject>\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\n <PayType>PostPaid</PayType>\\n <Checkpoint>1616405159</Checkpoint>\\n <DestinationEndpoint>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <DatabaseName>dtstestdata</DatabaseName>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </DestinationEndpoint>\\n <SourceEndpoint>\\n <RoleName/>\\n <UserName>dtstest</UserName>\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\n <Port>3306</Port>\\n <AliyunUid>140692647406****</AliyunUid>\\n <Region>cn-hangzhou</Region>\\n <InstanceType>RDS</InstanceType>\\n <EngineName>MySQL</EngineName>\\n </SourceEndpoint>\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:1****\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\n</DescribeDtsJobDetailResponse>","errorExample":""}]',
+ 'title' => 'DescribeDtsJobDetail',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeDtsJobs' => [
+ 'summary' => 'Queries the list of Data Transmission Service (DTS) tasks and the details of each task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '52248',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsNB7C6E',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the query condition. Valid values:'."\n"
+ ."\n"
+ .'* **instance**: queries DTS tasks based on the ID of a DTS instance.'."\n"
+ .'* **name**: queries DTS tasks based on the name of a DTS instance. Fuzzy match is supported.'."\n"
+ .'* **srcRds**: queries DTS tasks based on the ID of an ApsaraDB RDS instance. The ApsaraDB RDS instance is the source instance of a DTS task.'."\n"
+ .'* **rds**: queries DTS tasks based on the ID of an ApsaraDB RDS instance. The ApsaraDB RDS instance is the destination instance of a DTS task.'."\n"
+ ."\n"
+ .'> You must set the **Params** parameter to specify the content of the query condition.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'instance',
+ ],
+ ],
+ [
+ 'name' => 'Params',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content of the query condition.'."\n"
+ ."\n"
+ .'> You must set the **Type** parameter to specify the type of the query condition.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'dtspk3f13r731m****',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The state of the DTS task.'."\n"
+ ."\n"
+ .'Valid values for a data migration task:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **MigrationFailed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n"
+ ."\n"
+ .'Valid values for a data synchronization task:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **Initializing**: The task is being initialized.'."\n"
+ .'* **InitializeFailed**: Initialization failed.'."\n"
+ .'* **Synchronizing**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects in the task are being modified.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n"
+ ."\n"
+ .'Valid values for a change tracking task:'."\n"
+ ."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is being prechecked.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **Starting**: The task is being started.'."\n"
+ .'* **Normal**: The task is running as expected.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Abnormal**: The task is not running as expected.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Migrating',
+ ],
+ ],
+ [
+ 'name' => 'OrderDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which the returned DTS tasks are sorted. Valid values:'."\n"
+ ."\n"
+ .'* **ASC**: sorts the DTS tasks in ascending order. This is the default value.'."\n"
+ .'* **DESC**: sorts the DTS tasks in descending order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ASC',
+ ],
+ ],
+ [
+ 'name' => 'OrderColumn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The basis on which the returned DTS tasks are sorted. Valid values:'."\n"
+ ."\n"
+ .'* **CreateTime**: sorts the DTS tasks based on the points in time when the DTS tasks are created.'."\n"
+ .'* **FinishTime**: sorts the DTS tasks based on the points in time when the DTS tasks are complete.'."\n"
+ .'* **duLimit** sorts the DTS tasks based on the upper limits on DTS Units (DUs) that the DTS tasks can use. This option applies only to the DTS tasks that are run on a DTS dedicated cluster.'."\n"
+ ."\n"
+ .'> You can also set the **OrderDirection** parameter to specify whether to sort the DTS tasks in ascending or descending order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CreateTime',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tags of the DTS task to be queried. Specify tags in the JSON format.'."\n"
+ ."\n"
+ .'> You can call the **ListTagResources** operation to query the tag key and tag value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[ { \\"key\\": \\"testK\\", \\"value\\": \\"testV\\" } ]',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: **20**, **30**, **50**, and **100**. Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **MIGRATION**: data migration. This is the default value.'."\n"
+ .'* **SYNC**: data synchronization.'."\n"
+ .'* **SUBSCRIBE**: change tracking.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MIGRATION',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is deprecated.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* cn-hangzhou'."\n"
+ .'* cn-shanghai'."\n"
+ .'* cn-beijing'."\n"
+ .'* cn-guangzhou'."\n"
+ .'* cn-shenzhen'."\n"
+ .'* cn-chengdu'."\n"
+ .'* cn-heyuan'."\n"
+ .'* cn-hongkong'."\n"
+ .'* cn-qingdao'."\n"
+ .'* cn-zhangbei'."\n"
+ .'* cn-zhangjiakou'."\n"
+ .'* us-east-1'."\n"
+ .'* us-west-1'."\n"
+ .'* cn-hangzhou-finance'."\n"
+ .'* cn-shanghai-finance'."\n"
+ .'* cn-shanghai-finance-1'."\n"
+ .'* cn-shenzhen-finance'."\n"
+ .'* cn-shenzhen-finance-1'."\n"
+ .'* cn-beijing-finance-1'."\n"
+ .'* cn-huhehaote'."\n"
+ .'* cn-north-2-gov-1'."\n"
+ .'* eu-central-1'."\n"
+ .'* eu-west-1'."\n"
+ .'* me-central-1'."\n"
+ .'* me-east-1'."\n"
+ .'* ap-northeast-1'."\n"
+ .'* ap-northeast-2'."\n"
+ .'* ap-southeast-1'."\n"
+ .'* ap-southeast-2'."\n"
+ .'* ap-southeast-3'."\n"
+ .'* ap-southeast-5'."\n"
+ .'* ap-southeast-6'."\n"
+ .'* ap-southeast-7'."\n"
+ .'* cn-wulanchabu'."\n"
+ .'* cn-zhengzhou-jva'."\n"
+ .'* cn-wuhan-lr'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ 'enum' => [
+ 'cn-hangzhou',
+ 'cn-shanghai',
+ 'cn-beijing',
+ 'cn-guangzhou',
+ 'cn-shenzhen',
+ 'cn-chengdu',
+ 'cn-heyuan',
+ 'cn-hongkong',
+ 'cn-qingdao',
+ 'cn-zhangbei',
+ 'cn-zhangjiakou',
+ 'us-east-1',
+ 'us-west-1',
+ 'cn-hangzhou-finance',
+ 'cn-shanghai-finance',
+ 'cn-shanghai-finance-1',
+ 'cn-shenzhen-finance',
+ 'cn-shenzhen-finance-1',
+ 'cn-beijing-finance-1',
+ 'cn-huhehaote',
+ 'cn-north-2-gov-1',
+ 'eu-central-1',
+ 'eu-west-1',
+ 'me-central-1',
+ 'me-east-1',
+ 'ap-northeast-1',
+ 'ap-northeast-2',
+ 'ap-southeast-1',
+ 'ap-southeast-3',
+ 'ap-southeast-5',
+ 'ap-southeast-6',
+ 'ap-southeast-7',
+ 'cn-wulanchabu',
+ 'cn-zhengzhou-jva',
+ 'cn-wuhan-lr',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the parent task.'."\n"
+ ."\n"
+ .'> In most cases, you do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'pk13r731m****',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which the task runs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_atyl3b5214uk***',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qa110wq5r93hb49',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'WithoutDbList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to skip the **DbObject** parameter in the response. The DbObject parameter specifies the objects of the data migration, data synchronization, or change tracking task. Valid values:'."\n"
+ ."\n"
+ .'- **true**: does not return **DbObject**.'."\n"
+ .'- **false**: returns **DbObject**. If you set this parameter to false, the response time is shortened.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DtsBisLabel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The environment tag of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ .'- **online**',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'normal',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source or target database instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source or target database instance corresponding to the request parameter **InstanceType**.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1966yuut4w3****',
+ ],
+ ],
+ [
+ 'name' => 'DestProductType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the source database instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'SrcProductType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the destination database instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of DTS tasks that meet the query condition.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. The value of this parameter is used to replace the **%s** variable in the value of the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> For example, if the value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the value of the **DynamicMessage** parameter is **Type**, the specified **Type** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DtsJobList' => [
+ 'description' => 'The Data Transmission Service (DTS) tasks and the details of each task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the DTS instance. For more information about the valid values, see the description of the request parameter **Status**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'OriginType' => [
+ 'description' => 'The source of the task. Valid values:'."\n"
+ ."\n"
+ .'* **PTS**'."\n"
+ .'* **DMS**'."\n"
+ .'* **DTS**'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS_TO_RDS_MIGRATION',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data synchronization. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The point in time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the value of the **PayType** parameter is **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The point in time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-16T08:01:19Z',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information, in the following format: \\<IP address of the downstream client>:\\<Random ID generated by DTS>.'."\n",
+ 'type' => 'string',
+ 'example' => '114...:dts******',
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects that you want to synchronize. The value is a JSON string and can contain regular expressions. For more information, see "Objects of DTS tasks".'."\n",
+ 'type' => 'string',
+ 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class.'."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data synchronization instances](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-23T07:30:31Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-26T14:03:21Z',
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the **new** change tracking feature is used.'."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.'."\n",
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-15T08:25:34Z ',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the data synchronization instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'DtsJobDirection' => [
+ 'description' => 'The synchronization direction. The value is **Reverse**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data synchronization. The value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1616899019',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'testvalue',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'testkey',
+ ],
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of full data synchronization. This is expressed as a percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been synchronized during full data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '44755',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task is not delayed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'> To upgrade a DTS instance, call the [TransferInstanceClass](~~281093~~) operation.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been migrated or synchronized during incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '0/0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data migration or synchronization failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the extract, transform, and load (ETL) task. Valid values:'."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Catched**: The task is not delayed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of records that have been processed by the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '0/0',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: SSL encryption is disabled.'."\n"
+ .'* **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled, and the CA certificate is uploaded.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_MONGODB_ALTAS**: SSL encryption is enabled for the connection to an AWS MongoDB Altas database.'."\n"
+ .'* **ENABLE_ONLY\\_4\\_KAFKA_SCRAM_SHA\\_256**: SCRAM-SHA-256 is used to encrypt the connection to a Kafka cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the **EngineName** parameter of the destination instance is set to **Oracle** and the Oracle database is deployed in a non-RAC architecture.'."\n",
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database to which the migration object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ 'Port' => [
+ 'description' => 'The database service port of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database type of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration or synchronization modes.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FullDataCheck' => [
+ 'description' => 'Indicates whether full data verification is performed. Valid values:'."\n"
+ .'- **true**: yes'."\n"
+ .'- **false**: no',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'IncDataCheck' => [
+ 'description' => 'Indicates whether incremental data verification is performed. Valid values:'."\n"
+ .'- **true**: yes'."\n"
+ .'- **false**: no',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureDataCheck' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: MB/s.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck status. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**'."\n"
+ .'* **Suspending**:'."\n"
+ .'* **Checking**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Finished**'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. This is expressed as a percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The cause of the precheck failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ.',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckResult' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'CheckItemDescription' => [
+ 'description' => 'The description of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckItem' => [
+ 'description' => 'The name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the precheck failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the value of the **CheckResult** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ 'FailedReason' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the value of the **CheckResult** parameter is **Failed**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction. '."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the DTS instance. For more information about the valid values, see the description of the request parameter **Status**.',
+ 'type' => 'string',
+ 'example' => 'Synchronizing',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the data synchronization task.',
+ 'type' => 'string',
+ 'example' => 'RDS_TO_RDS_MIGRATION',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data synchronization. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the synchronization task.',
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **PayType** is **PrePaid**.',
+ 'type' => 'string',
+ 'example' => '2023-03-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'- **PrePaid**: subscription'."\n"
+ .'- **PostPaid**: pay-as-you-go',
+ 'type' => 'string',
+ 'example' => 'PostPaid',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).',
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'DbObject' => [
+ 'description' => 'The schema of the objects that you want to synchronize. The value is a JSON string and can contain regular expressions. For more information, see Objects of DTS tasks.',
+ 'type' => 'string',
+ 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class. '."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data synchronization instances](~~26605~~).',
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the data synchronization instance.',
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'DtsJobDirection' => [
+ 'description' => 'The synchronization direction. **Reverse** is returned.',
+ 'type' => 'string',
+ 'example' => 'Reverse',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data synchronization. This value is a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.',
+ 'type' => 'string',
+ 'example' => '1616980369',
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of initial full data synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of initial full data synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial full data synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been synchronized during initial full data synchronization.',
+ 'type' => 'string',
+ 'example' => '43071',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of incremental data synchronization.',
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> To upgrade a DTS instance, call the [TransferInstanceClass](~~281093~~) operation.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been migrated or synchronized during incremental data migration or synchronization.',
+ 'type' => 'string',
+ 'example' => '20001',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [List of supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the synchronized objects in the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the destination instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The initial synchronization types.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data synchronization is performed. Valid values:'."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether initial schema synchronization is performed. Valid values:'."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FullDataCheck' => [
+ 'description' => 'Indicates whether full data verification is performed. Valid values:'."\n"
+ .'- **true**: yes'."\n"
+ .'- **false**: no',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'IncDataCheck' => [
+ 'description' => 'Indicates whether incremental data verification is performed. Valid values:'."\n"
+ .'- **true**: yes'."\n"
+ .'- **false**: no',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureDataCheck' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data synchronization instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'description' => 'The number of times that SQL statements are synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'description' => 'The size of data that is synchronized per second. Unit: MB/s.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The precheck is not started. '."\n"
+ .'- **Suspending**: The precheck is paused. '."\n"
+ .'- **Checking**: The precheck is in progress. '."\n"
+ .'- **Failed**: The precheck failed. '."\n"
+ .'- **Finished**: The precheck is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the precheck failed.',
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ.',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckResult' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'- **Success**'."\n"
+ .'- **Failed**',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'CheckItemDescription' => [
+ 'description' => 'The description of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckItem' => [
+ 'description' => 'The name of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix a precheck failure.',
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ 'FailedReason' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck.',
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the source instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the objects to be migrated from the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the source instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The state of initial schema synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of initial schema synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial schema synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables that have been synchronized during initial schema synchronization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'DuUsage' => [
+ 'description' => 'The number of DUs that have been used.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15',
+ ],
+ 'CpuUsage' => [
+ 'description' => 'The CPU utilization of the instance. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '90',
+ ],
+ 'MemUsage' => [
+ 'description' => 'The memory that has been used. Unit: MB.',
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which a DTS task runs.',
+ 'type' => 'string',
+ 'example' => 'dtscluster_dpwl3**********',
+ ],
+ 'ErrorDetails' => [
+ 'description' => 'The error message returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorCode' => [
+ 'description' => 'The error code returned.',
+ 'type' => 'string',
+ 'example' => 'DTS-31009',
+ ],
+ 'HelpUrl' => [
+ 'description' => 'The URL of the documentation.',
+ 'type' => 'string',
+ 'example' => 'https://**.ali**.com/**',
+ ],
+ ],
+ ],
+ ],
+ 'EtlSafeCheckpoint' => [
+ 'description' => 'The checkpoint of the ETL task.',
+ 'type' => 'string',
+ 'example' => '1610540493',
+ ],
+ 'MinDu' => [
+ 'description' => 'Lower limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'Upper limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ 'FullDataCheckStatus' => [
+ 'description' => 'The state information about the full data verification task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the full data verification task. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The verification is not started. '."\n"
+ .'- **Checking**: The verification is in progress. '."\n"
+ .'- **Failed**: The verification failed. '."\n"
+ .'- **Finished**: The verification is complete.',
+ 'type' => 'string',
+ 'example' => 'Checking',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the full data verification task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the full data verification task.',
+ 'type' => 'string',
+ 'example' => '1 rows/s (row: 5/5, table: 1/1)',
+ ],
+ 'CanSwitch' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'IncDataCheckStatus' => [
+ 'description' => 'The state information about the incremental data verification task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the incremental data verification task. Valid values:'."\n"
+ ."\n"
+ .'- **Catched**: The verification is delayed. '."\n"
+ .'- **NotStarted**: The verification is not started. '."\n"
+ .'- **Checking**: The verification is in progress. '."\n"
+ .'- **Failed**: The verification failed.',
+ 'type' => 'string',
+ 'example' => 'Checking',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the incremental data verification task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the incremental data verification task.',
+ 'type' => 'string',
+ 'example' => '1 rows/s (row: 5/5, table: 1/1)',
+ ],
+ ],
+ ],
+ 'StructureDataCheckStatus' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'type' => 'string',
+ ],
+ 'Percent' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'Progress' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICAT**E: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the source instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the objects to be migrated from the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the source instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The state of schema migration or initial schema synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of schema migration or initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema migration or initial schema synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema migration or initial schema synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables that have been migrated or synchronized during schema migration or initial schema synchronization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RetryCount' => [
+ 'description' => 'The number of retries that have been performed.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'MaxRetryTime' => [
+ 'description' => 'The maximum duration of a retry. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if these retries failed.',
+ 'type' => 'string',
+ 'example' => 'Unexpected error',
+ ],
+ 'RetryTarget' => [
+ 'description' => 'The object on which these retries are performed. Valid values:'."\n"
+ ."\n"
+ .'- **srcDB**: the source database '."\n"
+ .'- **destDB**: the destination database '."\n"
+ .'- **inner_module**: an internal module of DTS',
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'RetryTime' => [
+ 'description' => 'The time that has elapsed from the time when the first retry starts. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Module' => [
+ 'description' => 'The progress of the instance when DTS retries.',
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'JobId' => [
+ 'description' => 'The task ID.',
+ 'type' => 'string',
+ 'example' => 'bi6e22ay243****',
+ ],
+ 'Retrying' => [
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'MigrationErrHelpDocId' => [
+ 'description' => 'The ID of the error code-related documentation.',
+ 'type' => 'string',
+ 'example' => '462133',
+ ],
+ 'MigrationErrHelpDocKey' => [
+ 'description' => 'The key of the error code-related documentation.',
+ 'type' => 'string',
+ 'example' => 'DTS-RETRY-ERR-0046',
+ ],
+ 'MigrationErrCode' => [
+ 'description' => 'The error code.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046',
+ ],
+ 'MigrationErrType' => [
+ 'description' => 'The type of the error code.',
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ 'MigrationErrMsg' => [
+ 'description' => 'The error message.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046.msg',
+ ],
+ 'MigrationErrWorkaround' => [
+ 'description' => 'The solution to the error.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046.workaround',
+ ],
+ ],
+ ],
+ 'JobType' => [
+ 'title' => 'DTS任务类型',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'- **MIGRATION**: data migration task '."\n"
+ .'- **SYNC**: data synchronization task '."\n"
+ .'- **SUBSCRIBE**: change tracking task',
+ 'type' => 'string',
+ 'example' => 'MIGRATION',
+ ],
+ 'DuUsage' => [
+ 'description' => 'The number of DUs that have been used.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15',
+ ],
+ 'CpuUsage' => [
+ 'description' => 'The CPU utilization of the instance. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'MemUsage' => [
+ 'description' => 'The memory that has been used. Unit: MB.',
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which a DTS task runs.',
+ 'type' => 'string',
+ 'example' => 'dtscluster_ft7y3**********',
+ ],
+ 'ErrorDetails' => [
+ 'description' => 'The error message returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorCode' => [
+ 'description' => 'The error code returned.',
+ 'type' => 'string',
+ 'example' => 'DTS-31009',
+ ],
+ 'HelpUrl' => [
+ 'description' => 'The URL of the documentation.',
+ 'type' => 'string',
+ 'example' => 'https://**.ali**.com/**',
+ ],
+ ],
+ ],
+ ],
+ 'DataCloudStatus' => [
+ 'description' => 'The state of the physical gateway-based migration task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the task. For more information about the valid values, see the description of the request parameter **Status**.',
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'- **true** '."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '85',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables that have been migrated.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'framework: DTS-31009: In process of processing data ****',
+ ],
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'ResourceGroupDisplayName' => [
+ 'description' => 'The name of the resource group.',
+ 'type' => 'string',
+ 'example' => 'default resource group',
+ ],
+ 'MigrationErrMsg' => [
+ 'description' => 'The error message.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046.msg',
+ ],
+ 'MigrationErrHelpDocId' => [
+ 'description' => 'The ID of the error code-related documentation.',
+ 'type' => 'string',
+ 'example' => '462133',
+ ],
+ 'MigrationErrWorkaround' => [
+ 'description' => 'The solution to the error.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046.workaround',
+ ],
+ 'MigrationErrCode' => [
+ 'description' => 'The error code.',
+ 'type' => 'string',
+ 'example' => 'dts.retry.err.0046',
+ ],
+ 'MigrationErrHelpDocKey' => [
+ 'description' => 'The key of the error code-related documentation.',
+ 'type' => 'string',
+ 'example' => 'DTS-RETRY-ERR-0046',
+ ],
+ 'MigrationErrType' => [
+ 'description' => 'The type of the error code.',
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ 'EtlSafeCheckpoint' => [
+ 'description' => 'The checkpoint of the ETL task.',
+ 'type' => 'string',
+ 'example' => '1610540493',
+ ],
+ 'FullDataCheckStatus' => [
+ 'description' => 'The state information about the full data verification task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the full data verification task. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The verification is not started. '."\n"
+ .'- **Checking**: The verification is in progress. '."\n"
+ .'- **Failed**: The verification failed. '."\n"
+ .'- **Finished**: The verification is complete.',
+ 'type' => 'string',
+ 'example' => 'Checking',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the full data verification task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the full data verification task.',
+ 'type' => 'string',
+ 'example' => '1 rows/s (row: 5/5, table: 1/1)',
+ ],
+ 'CanSwitch' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'IncDataCheckStatus' => [
+ 'description' => 'The state information about the incremental data verification task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the incremental data verification task. Valid values:'."\n"
+ ."\n"
+ .'- **Catched**: The verification is delayed. '."\n"
+ .'- **NotStarted**: The verification is not started. '."\n"
+ .'- **Checking**: The verification is in progress. '."\n"
+ .'- **Failed**: The verification failed.',
+ 'type' => 'string',
+ 'example' => 'Checking',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the incremental data verification task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the incremental data verification task.',
+ 'type' => 'string',
+ 'example' => '1 rows/s (row: 5/5, table: 1/1)',
+ ],
+ ],
+ ],
+ 'DtsBisLabel' => [
+ 'description' => 'The environment tag of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ .'- **online**',
+ 'type' => 'string',
+ 'example' => 'normal',
+ ],
+ 'MinDu' => [
+ 'description' => 'Lower limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '1',
+ ],
+ 'MaxDu' => [
+ 'description' => 'Upper limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'example' => '16',
+ ],
+ 'DuRealUsage' => [
+ 'description' => 'The DTS Units (DUs) usage of a task in a DTS dedicated cluster.'."\n",
+ 'type' => 'string',
+ 'example' => '12.0%',
+ ],
+ 'StructureDataCheckStatus' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'type' => 'string',
+ ],
+ 'Percent' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'Progress' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ 'EtlDemoList' => [
+ 'description' => 'The DTS tasks and the details of each task.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the DTS instance. For more information about the valid values, see the description of the request parameter **Status**.',
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'OriginType' => [
+ 'description' => 'The source of the task.'."\n"
+ .'- **PTS**'."\n"
+ .'- **DMS**'."\n"
+ .'- **DTS**',
+ 'type' => 'string',
+ 'example' => 'DTS',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the data migration, data synchronization, or change tracking task.',
+ 'type' => 'string',
+ 'example' => 'RDS_TO_RDS_MIGRATION',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data migration or synchronization. '."\n"
+ ."\n"
+ .'> If you query data migration tasks, the unit of this parameter is milliseconds. If you query data synchronization tasks, the unit of this parameter is seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **PayType** is **PrePaid**.',
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.',
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:s*sZ format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-03-16T08:01:19Z',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'- **PrePaid**: subscription '."\n"
+ .'- **PostPaid**: pay-as-you-go',
+ 'type' => 'string',
+ 'example' => 'PrePaid',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).',
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'ConsumptionClient' => [
+ 'description' => 'The downstream client information in the following format: <IP address of the downstream client>:<Random ID generated by DTS>.',
+ 'type' => 'string',
+ 'example' => '114...:dts******',
+ ],
+ 'DbObject' => [
+ 'description' => 'The objects of the data migration, data synchronization, or change tracking task. For more information, see [Objects of DTS tasks](~~209545~~).',
+ 'type' => 'string',
+ 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }}',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class. '."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization instances](~~26605~~).',
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'ConsumptionCheckpoint' => [
+ 'description' => 'The consumption checkpoint of the change tracking instance. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-03-23T07:30:31Z',
+ ],
+ 'EndTimestamp' => [
+ 'description' => 'The end of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-03-26T14:03:21Z',
+ ],
+ 'AppName' => [
+ 'description' => 'Indicates whether the **new** change tracking feature is used. '."\n"
+ ."\n"
+ .'> This parameter is returned only for change tracking instances of the new version.',
+ 'type' => 'string',
+ 'example' => 'new',
+ ],
+ 'BeginTimestamp' => [
+ 'description' => 'The start of the time range for change tracking. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-03-15T08:25:34Z',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance.',
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'DtsJobDirection' => [
+ 'description' => 'The synchronization direction. Valid values:'."\n"
+ ."\n"
+ .'- **Forward**'."\n"
+ .'- **Reverse**'."\n"
+ ."\n"
+ .'> This parameter is returned only if the topology of the data synchronization instance is two-way synchronization.',
+ 'type' => 'string',
+ 'example' => 'Forward',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data migration or data synchronization. This value is a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.',
+ 'type' => 'string',
+ 'example' => '1616899019',
+ ],
+ 'TagList' => [
+ 'description' => 'The tags of the task.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'example' => 'testvalue',
+ ],
+ 'TagKey' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'example' => 'testkey',
+ ],
+ ],
+ ],
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of full data migration or initial full data synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of full data migration or initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of full data migration or initial full data synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if full data migration or initial full data synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: ""',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been migrated or synchronized during full data migration or initial full data synchronization.',
+ 'type' => 'string',
+ 'example' => '44755',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data migration or synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of incremental data migration or synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete. '."\n"
+ .'- **Catched**: The task is not delayed.',
+ 'type' => 'string',
+ 'example' => 'Catched',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> To upgrade a DTS instance, call the [TransferInstanceClass](~~281093~~) operation.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data migration or synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been migrated or synchronized during incremental data migration or synchronization.',
+ 'type' => 'string',
+ 'example' => '0/0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data migration or synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ ],
+ ],
+ 'DataEtlStatus' => [
+ 'description' => 'The state of the ETL task. '."\n"
+ ."\n"
+ .'> This parameter collection is returned only if an ETL task is configured.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the ETL task. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete. '."\n"
+ .'- **Catched**: The task is not delayed.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of the ETL task. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '95',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the ETL task failed.',
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been processed by the ETL task.',
+ 'type' => 'string',
+ 'example' => '0/0',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the migrated objects in the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the destination instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: MB/s.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The precheck is not started. '."\n"
+ .'- **Suspending**: The precheck is paused. '."\n"
+ .'- **Checking**: The precheck is in progress. '."\n"
+ .'- **Failed**: The precheck failed. '."\n"
+ .'- **Finished**: The precheck is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the precheck failed.',
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ.',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckResult' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'- **Success**'."\n"
+ .'- **Failed**',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'CheckItemDescription' => [
+ 'description' => 'The description of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckItem' => [
+ 'description' => 'The name of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix a precheck failure. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **CheckResult** is **Failed**.',
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ 'FailedReason' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **CheckResult** is **Failed**.',
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ReverseJob' => [
+ 'description' => 'The details of the data synchronization task in the reverse direction. '."\n"
+ ."\n"
+ .'> This parameter is returned only for two-way data synchronization tasks.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of the DTS instance. For more information about the valid values, see the description of the request parameter **Status**.',
+ 'type' => 'string',
+ 'example' => 'Synchronizing',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the data synchronization task.',
+ 'type' => 'string',
+ 'example' => 'RDS_TO_RDS_MIGRATION',
+ ],
+ 'Delay' => [
+ 'description' => 'The latency of incremental data synchronization. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the task failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\n\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the synchronization task.',
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance expires. The time follows the ISO 8601 standard in the* yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **PayType** is **PrePaid**.',
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:19Z',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-03-16T08:01:19Z',
+ ],
+ 'PayType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'- **PrePaid**: subscription'."\n"
+ .'- **PostPaid**: pay-as-you-go',
+ 'type' => 'string',
+ 'example' => 'PostPaid',
+ ],
+ 'Reserved' => [
+ 'description' => 'The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to meet specific requirements, for example, whether to automatically start a precheck. For more information, see [MigrationReserved](~~176470~~).',
+ 'type' => 'string',
+ 'example' => '{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}',
+ ],
+ 'DbObject' => [
+ 'description' => 'The schema of the objects that you want to synchronize. The value is a JSON string and can contain regular expressions. For more information, see Objects of DTS tasks.',
+ 'type' => 'string',
+ 'example' => '{"dtstestdata": { "name": "dtstestdata", "all": true }} ',
+ ],
+ 'DtsJobClass' => [
+ 'description' => 'The instance class. '."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data synchronization instances](~~26605~~).',
+ 'type' => 'string',
+ 'example' => 'large',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the data synchronization instance.',
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'DtsJobDirection' => [
+ 'description' => 'The synchronization direction. **Reverse** is returned.',
+ 'type' => 'string',
+ 'example' => 'Reverse',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The start offset of incremental data synchronization. This value is a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.',
+ 'type' => 'string',
+ 'example' => '1616980369',
+ ],
+ 'DataInitializationStatus' => [
+ 'description' => 'The state of initial full data synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of initial full data synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of initial full data synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial full data synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'java.lang.NumberFormatException: For input string: "" ',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been synchronized during initial full data synchronization.',
+ 'type' => 'string',
+ 'example' => '43071',
+ ],
+ ],
+ ],
+ 'DataSynchronizationStatus' => [
+ 'description' => 'The state of incremental data synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of incremental data synchronization.',
+ 'type' => 'string',
+ 'example' => 'Migrating',
+ ],
+ 'NeedUpgrade' => [
+ 'description' => 'Indicates whether the instance needs to be upgraded. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> To upgrade a DTS instance, call the [TransferInstanceClass](~~281093~~) operation.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of incremental data synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of entries that have been migrated or synchronized during incremental data migration or synchronization.',
+ 'type' => 'string',
+ 'example' => '20001',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if incremental data synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'The task has failed for a long time and cannot be recovered.',
+ ],
+ ],
+ ],
+ 'DestinationEndpoint' => [
+ 'description' => 'The connection settings of the destination instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the destination instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the synchronized objects in the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the destination instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.*** ',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the destination instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the destination instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'MigrationMode' => [
+ 'description' => 'The migration types or initial synchronization types.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DataInitialization' => [
+ 'description' => 'Indicates whether full data migration or initial full data synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSynchronization' => [
+ 'description' => 'Indicates whether incremental data migration or synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'StructureInitialization' => [
+ 'description' => 'Indicates whether schema migration or initial schema synchronization is performed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'Performance' => [
+ 'description' => 'The performance of the data migration or synchronization instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Rps' => [
+ 'description' => 'The number of times that SQL statements are migrated or synchronized per second, including BEGIN, COMMIT, DML, and DDL statements. DML statements include INSERT, DELETE, and UPDATE.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Flow' => [
+ 'description' => 'The size of data that is migrated or synchronized per second. Unit: MB/s.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'PrecheckStatus' => [
+ 'description' => 'The precheck state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The precheck state. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The precheck is not started. '."\n"
+ .'- **Suspending**: The precheck is paused. '."\n"
+ .'- **Checking**: The precheck is in progress. '."\n"
+ .'- **Failed**: The precheck failed. '."\n"
+ .'- **Finished**: The precheck is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The precheck progress. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the precheck failed.',
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ 'Detail' => [
+ 'description' => 'The result of each precheck item.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CheckResult' => [
+ 'description' => 'The precheck result. Valid values:'."\n"
+ ."\n"
+ .'- **Success**'."\n"
+ .'- **Failed**',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'CheckItemDescription' => [
+ 'description' => 'The description of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'CheckItem' => [
+ 'description' => 'The name of the precheck item.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix a precheck failure. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **CheckResult** is **Failed**.',
+ 'type' => 'string',
+ 'example' => 'CHECK_ERROR_DEST_CONN_REPAIR2',
+ ],
+ 'FailedReason' => [
+ 'description' => 'The error message returned if the task failed to pass the precheck. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **CheckResult** is **Failed**.',
+ 'type' => 'string',
+ 'example' => 'Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the source instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the objects to be migrated from the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1imrtn6fq7h****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the source instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The state of initial schema synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of initial schema synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if initial schema synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables that have been synchronized during initial schema synchronization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'EtlSafeCheckpoint' => [
+ 'description' => 'The checkpoint of the ETL task.',
+ 'type' => 'string',
+ 'example' => '1610540493',
+ ],
+ ],
+ ],
+ 'SourceEndpoint' => [
+ 'description' => 'The connection settings of the source instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SslSolutionEnum' => [
+ 'description' => 'Indicates whether SSL encryption is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **DISABLE**: SSL encryption is disabled. '."\n"
+ .'- **ENABLE_WITH_CERTIFICATE**: SSL encryption is enabled and the CA certificate is uploaded. '."\n"
+ .'- **ENABLE_ONLY_4_MONGODB_ALTAS**: SSL encryption is enabled for the connection with an AWS MongoDB Altas database. '."\n"
+ .'- **ENABLE_ONLY_4_KAFKA_SCRAM_SHA_256**: SCRAM-SHA-256 is used to encrypt the connection with a Kafka cluster.',
+ 'type' => 'string',
+ 'example' => 'DISABLE',
+ ],
+ 'OracleSID' => [
+ 'description' => 'The SID of the Oracle database. '."\n"
+ ."\n"
+ .'> This parameter is returned only if the returned value of **EngineName** of the source instance is **Oracle** and the Oracle database is deployed in a non-RAC architecture.',
+ 'type' => 'string',
+ 'example' => 'testsid',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [Supported regions](~~141033~~).',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The name of the database that contains the objects to be migrated from the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'Ip' => [
+ 'description' => 'The endpoint of the source instance.',
+ 'type' => 'string',
+ 'example' => '172.16.88.***',
+ ],
+ 'InstanceID' => [
+ 'description' => 'The ID of the source instance.',
+ 'type' => 'string',
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the source instance.',
+ 'type' => 'string',
+ 'example' => '3306',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the source instance.',
+ 'type' => 'string',
+ 'example' => 'RDS',
+ ],
+ 'UserName' => [
+ 'description' => 'The database account of the source instance.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'EngineName' => [
+ 'description' => 'The database engine of the source instance.',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ ],
+ ],
+ 'StructureInitializationStatus' => [
+ 'description' => 'The state of schema migration or initial schema synchronization.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The state of schema migration or initial schema synchronization. Valid values:'."\n"
+ ."\n"
+ .'- **NotStarted**: The task is not started. '."\n"
+ .'- **Migrating**: The task is in progress. '."\n"
+ .'- **Failed**: The task failed. '."\n"
+ .'- **Finished**: The task is complete.',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Percent' => [
+ 'description' => 'The progress of schema migration or initial schema synchronization. Unit: percentage.',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if schema migration or initial schema synchronization failed.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: ERROR: type "geometry" does not exist;',
+ ],
+ 'Progress' => [
+ 'description' => 'The number of tables that have been migrated or synchronized during schema migration or initial schema synchronization.',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'RetryState' => [
+ 'description' => 'The information about the retries performed by DTS due to an exception.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RetryCount' => [
+ 'description' => 'The number of retries that have been performed.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'MaxRetryTime' => [
+ 'description' => 'The maximum duration of a retry. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7200',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if these retries failed.',
+ 'type' => 'string',
+ 'example' => 'Unexpected error',
+ ],
+ 'RetryTarget' => [
+ 'description' => 'The object on which these retries are performed. Valid values:'."\n"
+ ."\n"
+ .'- **srcDB**: the source database '."\n"
+ .'- **destDB**: the destination database '."\n"
+ .'- **inner_module**: an internal module of DTS',
+ 'type' => 'string',
+ 'example' => 'srcDB',
+ ],
+ 'RetryTime' => [
+ 'description' => 'The time that has elapsed from the time when the first retry starts. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Module' => [
+ 'description' => 'The progress of the instance when DTS retries.',
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'JobId' => [
+ 'description' => 'The task ID.',
+ 'type' => 'string',
+ 'example' => 'bi6e22ay243****',
+ ],
+ 'Retrying' => [
+ 'description' => 'Indicates whether the task is being retried. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'JobType' => [
+ 'title' => 'DtsJob类型',
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'- **MIGRATION**: data migration task '."\n"
+ .'- **SYNC**: data synchronization task '."\n"
+ .'- **SUBSCRIBE**: change tracking task',
+ 'type' => 'string',
+ 'example' => 'MIGRATION',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'ResourceGroupDisplayName' => [
+ 'description' => 'The name of the resource group.',
+ 'type' => 'string',
+ 'example' => 'default resource group',
+ ],
+ 'EtlSafeCheckpoint' => [
+ 'description' => 'The checkpoint of the ETL task.',
+ 'type' => 'string',
+ 'example' => '1610540493',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\\\t\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\\\t\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2023-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true,\\n \\"FullDataCheck\\": true,\\n \\"IncDataCheck\\": true,\\n \\"StructureDataCheck\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"90\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_dpwl3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n }\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false,\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\"\\n },\\n \\"JobType\\": \\"online\\",\\n \\"DuUsage\\": 15,\\n \\"CpuUsage\\": \\"1\\",\\n \\"MemUsage\\": \\"500\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_ft7y3**********\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"DTS-31009\\",\\n \\"HelpUrl\\": \\"https://**.ali**.com/**\\"\\n }\\n ],\\n \\"DataCloudStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": false,\\n \\"Percent\\": \\"85\\",\\n \\"Progress\\": \\"1\\",\\n \\"ErrorMessage\\": \\"framework: DTS-31009: In process of processing data ****\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"MigrationErrMsg\\": \\"dts.retry.err.0046.msg\\",\\n \\"MigrationErrHelpDocId\\": \\"462133\\",\\n \\"MigrationErrWorkaround\\": \\"dts.retry.err.0046.workaround\\",\\n \\"MigrationErrCode\\": \\"dts.retry.err.0046\\",\\n \\"MigrationErrHelpDocKey\\": \\"DTS-RETRY-ERR-0046\\",\\n \\"MigrationErrType\\": \\"ForeignKey\\",\\n \\"EtlSafeCheckpoint\\": \\"1610540493\\",\\n \\"FullDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\",\\n \\"CanSwitch\\": false\\n },\\n \\"IncDataCheckStatus\\": {\\n \\"Status\\": \\"Checking\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"1 rows/s (row: 5/5, table: 1/1)\\"\\n },\\n \\"DtsBisLabel\\": \\"normal\\",\\n \\"MinDu\\": 1,\\n \\"MaxDu\\": 16,\\n \\"DuRealUsage\\": \\"12.0%\\",\\n \\"StructureDataCheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"****\\",\\n \\"Progress\\": \\"5\\"\\n }\\n }\\n ],\\n \\"EtlDemoList\\": [\\n {\\n \\"Status\\": \\"Migrating\\",\\n \\"OriginType\\": \\"DTS任务\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"ConsumptionClient\\": \\"114...:dts******\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"ConsumptionCheckpoint\\": \\"2021-03-23T07:30:31Z\\",\\n \\"EndTimestamp\\": \\"2021-03-26T14:03:21Z\\",\\n \\"AppName\\": \\"new\\",\\n \\"BeginTimestamp\\": \\"2021-03-15T08:25:34Z\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Forward\\",\\n \\"Checkpoint\\": \\"1616899019\\",\\n \\"TagList\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ],\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\",\\n \\"Progress\\": \\"44755\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Catched\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"95\\",\\n \\"Progress\\": \\"0/0\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DataEtlStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"95\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\",\\n \\"Progress\\": \\"0/0\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ.\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.***.**\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"ReverseJob\\": {\\n \\"Status\\": \\"Synchronizing\\",\\n \\"DtsJobName\\": \\"RDS间迁移\\",\\n \\"Delay\\": 0,\\n \\"ErrorMessage\\": \\"DTS-070211: Connect Source DB failed. cause by [com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up.][com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure\\\\\\\\n\\\\\\\\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.][java.net.ConnectException:Connection timed out (Connection timed out)] About more information in [https://yq.aliyun.com/articles/499178].\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ExpireTime\\": \\"2022-03-16T08:01:19Z\\",\\n \\"CreateTime\\": \\"2021-03-16T08:01:19Z\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"Reserved\\": \\"{\\\\\\\\\\\\\\"srcHostPorts\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"whitelist.dms.online.ddl.enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"filterDDL\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"sqlparser.dms.original.ddl\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"srcOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxRetryTime\\\\\\\\\\\\\\":43200,\\\\\\\\\\\\\\"destSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destOracleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcSSL\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dbListCaseChangeMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SourceEngineVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.0.18\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destNetType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VPC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:10803\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"destVpcNetMappingInst\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"172.16.1**.**:11077\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useJobTask\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"DbObject\\": \\"{\\\\\\"dtstestdata\\\\\\": { \\\\\\"name\\\\\\": \\\\\\"dtstestdata\\\\\\", \\\\\\"all\\\\\\": true }}\\\\t\\",\\n \\"DtsJobClass\\": \\"large\\",\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DtsJobDirection\\": \\"Reverse\\",\\n \\"Checkpoint\\": \\"1616980369\\",\\n \\"DataInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"java.lang.NumberFormatException: For input string: \\\\\\"\\\\\\"\\\\t\\",\\n \\"Progress\\": \\"43071\\"\\n },\\n \\"DataSynchronizationStatus\\": {\\n \\"Status\\": \\"Migrating\\",\\n \\"NeedUpgrade\\": true,\\n \\"Percent\\": \\"100\\",\\n \\"Progress\\": \\"20001\\",\\n \\"ErrorMessage\\": \\"任务失败太久无法恢复\\"\\n },\\n \\"DestinationEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\\\t\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"MigrationMode\\": {\\n \\"DataInitialization\\": true,\\n \\"DataSynchronization\\": true,\\n \\"StructureInitialization\\": true\\n },\\n \\"Performance\\": {\\n \\"Rps\\": \\"100\\",\\n \\"Flow\\": \\"1\\"\\n },\\n \\"PrecheckStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"CHECK__ERROR_SAME_OBJ\\",\\n \\"Detail\\": [\\n {\\n \\"CheckResult\\": \\"Success\\",\\n \\"CheckItemDescription\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"CheckItem\\": \\"CHECK_CONN_SRC\\",\\n \\"RepairMethod\\": \\"CHECK_ERROR_DEST_CONN_REPAIR2\\",\\n \\"FailedReason\\": \\"Original error: Access denied for user \'dtstest\'@\'100.104.XXX.XX\' (using password: YES)\\"\\n }\\n ]\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.XX.XX\\",\\n \\"InstanceID\\": \\"rm-bp1imrtn6fq7h****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n },\\n \\"SourceEndpoint\\": {\\n \\"SslSolutionEnum\\": \\"DISABLE\\",\\n \\"OracleSID\\": \\"testsid\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"DatabaseName\\": \\"dtstestdata\\",\\n \\"Ip\\": \\"172.16.88.***\\",\\n \\"InstanceID\\": \\"rm-bp1162kryivb8****\\",\\n \\"Port\\": \\"3306\\",\\n \\"InstanceType\\": \\"RDS\\",\\n \\"UserName\\": \\"dtstest\\",\\n \\"EngineName\\": \\"MySQL\\"\\n },\\n \\"StructureInitializationStatus\\": {\\n \\"Status\\": \\"Finished\\",\\n \\"Percent\\": \\"100\\",\\n \\"ErrorMessage\\": \\"DTS-1020042 Execute sql error sql: ERROR: type \\\\\\"geometry\\\\\\" does not exist;\\",\\n \\"Progress\\": \\"1\\"\\n },\\n \\"RetryState\\": {\\n \\"RetryCount\\": 5,\\n \\"MaxRetryTime\\": 7200,\\n \\"ErrMessage\\": \\"Unexpected error\\",\\n \\"RetryTarget\\": \\"srcDB\\",\\n \\"RetryTime\\": 3600,\\n \\"Module\\": \\"03\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"Retrying\\": false\\n },\\n \\"JobType\\": \\"online\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceGroupDisplayName\\": \\"default resource group\\",\\n \\"EtlSafeCheckpoint\\": \\"161054****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsJobsResponse>\\r\\n <TotalRecordCount>15</TotalRecordCount>\\r\\n <PageRecordCount>1</PageRecordCount>\\r\\n <DtsJobList>\\r\\n <Status>Migrating</Status>\\r\\n <DataInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>44755</Progress>\\r\\n <Percent>100</Percent>\\r\\n </DataInitializationStatus>\\r\\n <DbObject>{\\"DTSTEST\\":{\\"name\\":\\"dtstest\\",\\"all\\":true,\\"state\\":\\"normal\\",\\"edit\\":false}}</DbObject>\\r\\n <CreateTime>2021-03-16T08:01:19Z</CreateTime>\\r\\n <DtsJobName>RDS间迁移</DtsJobName>\\r\\n <ReverseJob>\\r\\n <PrecheckStatus/>\\r\\n <DataInitializationStatus/>\\r\\n <DestinationEndpoint/>\\r\\n <SourceEndpoint/>\\r\\n <Performance/>\\r\\n <MigrationMode/>\\r\\n <StructureInitializationStatus/>\\r\\n <DataSynchronizationStatus/>\\r\\n </ReverseJob>\\r\\n <PayType>PrePaid</PayType>\\r\\n <DtsInstanceID>dtsi03e3zty16i****</DtsInstanceID>\\r\\n <Delay>0</Delay>\\r\\n <MigrationMode>\\r\\n <DataInitialization>true</DataInitialization>\\r\\n <DataSynchronization>true</DataSynchronization>\\r\\n <StructureInitialization>true</StructureInitialization>\\r\\n </MigrationMode>\\r\\n <PrecheckStatus>\\r\\n <Status>Finished</Status>\\r\\n <Percent>100</Percent>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_CONN_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_CONN_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_AUTH_DEST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_AUTH_DEST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ON</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ON_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_ROW_IMAGE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_ROW_IMAGE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SERVER_ID</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SERVER_ID_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_BINLOG_EXIST</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_BINLOG_EXIST_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_ENGINE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_ENGINE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_MYSQL_PASSOWRD_FORMAT</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_MYSQL_PASSOWRD_FORMAT_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SRC</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SRC_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_OBJ</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_OBJ_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SQL_MODE</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SQL_MODE_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_SAME_USER</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_SAME_USER_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n <Detail>\\r\\n <CheckItem>CHECK_TOPOLOGY</CheckItem>\\r\\n <CheckResult>Success</CheckResult>\\r\\n <CheckItemDescription>CHECK_TOPOLOGY_DETAIL</CheckItemDescription>\\r\\n </Detail>\\r\\n </PrecheckStatus>\\r\\n <DtsJobClass>large</DtsJobClass>\\r\\n <Checkpoint>1616902385</Checkpoint>\\r\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\r\\n <DestinationEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1imrtn6fq7h****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <DatabaseName/>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </DestinationEndpoint>\\r\\n <SourceEndpoint>\\r\\n <UserName>dtstest</UserName>\\r\\n <InstanceID>rm-bp1162kryivb8****</InstanceID>\\r\\n <SslSolutionEnum>DISABLE</SslSolutionEnum>\\r\\n <Port>3306</Port>\\r\\n <Region>cn-hangzhou</Region>\\r\\n <InstanceType>RDS</InstanceType>\\r\\n <EngineName>MySQL</EngineName>\\r\\n </SourceEndpoint>\\r\\n <TagList>\\r\\n <TagKey>testkey</TagKey>\\r\\n <TagValue>testvalue</TagValue>\\r\\n </TagList>\\r\\n <Performance/>\\r\\n <Reserved>{\\"srcHostPorts\\":\\"\\",\\"whitelist.dms.online.ddl.enable\\":false,\\"filterDDL\\":false,\\"sqlparser.dms.original.ddl\\":true,\\"srcOracleType\\":\\"sid\\",\\"maxRetryTime\\":43200,\\"destSSL\\":\\"0\\",\\"destOracleType\\":\\"sid\\",\\"srcSSL\\":\\"0\\",\\"dbListCaseChangeMode\\":\\"default\\",\\"SourceEngineVersion\\":\\"8.0.18\\",\\"srcNetType\\":\\"VPC\\",\\"destNetType\\":\\"VPC\\",\\"srcVpcNetMappingInst\\":\\"172.16.1**.**:10803\\",\\"destVpcNetMappingInst\\":\\"172.16.1**.**:11077\\",\\"useJobTask\\":\\"1\\"}</Reserved>\\r\\n <StructureInitializationStatus>\\r\\n <Status>Finished</Status>\\r\\n <Progress>1</Progress>\\r\\n <Percent>100</Percent>\\r\\n </StructureInitializationStatus>\\r\\n <DataSynchronizationStatus>\\r\\n <Status>Catched</Status>\\r\\n <Progress>0/0</Progress>\\r\\n <Percent>95</Percent>\\r\\n </DataSynchronizationStatus>\\r\\n </DtsJobList>\\r\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\r\\n <PageNumber>2</PageNumber>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</DescribeDtsJobsResponse>","errorExample":""}]',
+ 'title' => 'DescribeDtsJobs',
+ 'description' => '## Debugging'."\n"
+ ."\n"
+ .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Dts\\&api=DescribeDtsJobs\\&type=RPC\\&version=2020-01-01)',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'ListTagResources' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration, data synchronization, or change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou ',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid value: **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The query token.'."\n"
+ ."\n"
+ .'> If a query does not return all results, you can specify the returned **NextToken** parameter in the next query to obtain more results.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '212db86sca4384811e0b5e8707ec2****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The instance ID for data migration, synchronization, and subscription, which can be obtained by calling [DescribeDtsJobs](~~209702~~). > - N indicates the Nth instance ID being passed. For example, ResourceId.0 represents the first instance ID; ResourceId.1 represents the second instance ID. Up to 50 instance IDs can be queried simultaneously. - At least one of this parameter and **Tag.N.Key** must be provided.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the instance. For example, ResourceId.1 specifies the ID of the first instance and ResourceId.2 specifies the ID of the second instance. You can query 1 to 50 instance IDs at a time.'."\n"
+ .'* You must specify at least one of the ResourceId.N and **Tag.N.Key** parameters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsntk10k6r12v****',
+ ],
+ 'required' => false,
+ 'example' => 'dtsntk10k6r12v****',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The value corresponding to the tag key.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag and Tag.2.Key specifies the key of the second tag. You can specify 1 to 20 tag keys at a time.'."\n"
+ .'* You must specify at least one of the **ResourceId.N** and Tag.N.Key parameters. The parameters cannot be empty strings.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Value specifies the value of the first tag and Tag.2.Value specifies the value of the second tag. You can specify 1 to 20 tag values at a time.'."\n"
+ .'* This parameter can be an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testvalue1 ',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The query token.'."\n"
+ ."\n"
+ .'> If a query does not return all results, you can specify the returned **NextToken** parameter in the next query to obtain more results.'."\n",
+ 'type' => 'string',
+ 'example' => '212db86sca4384811e0b5e8707ec2****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '609AD332-F2B1-48B7-BF43-41FEE641****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'TagResources' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TagResource' => [
+ 'description' => 'The collection of tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The tag value that corresponds to the tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'testvalue1',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The resource type. Valid value: **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsntk10k6r12v****',
+ ],
+ 'TagKey' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'testkey1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 419 => [
+ [
+ 'errorCode' => 'QuotaExceed.TagsPerResource',
+ 'errorMessage' => 'The maximum number of tags for each resource is exceeded.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"212db86sca4384811e0b5e8707ec2****\\",\\n \\"RequestId\\": \\"609AD332-F2B1-48B7-BF43-41FEE641****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"testvalue1\\",\\n \\"ResourceType\\": \\"ALIYUN::DTS::INSTANCE\\",\\n \\"ResourceId\\": \\"dtsntk10k6r12v****\\",\\n \\"TagKey\\": \\"testkey1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>609AD332-F2B1-48B7-BF43-41FEE641****</RequestId>\\n <TagResources>\\n <ResourceId>dtsntk10k6r12v****</ResourceId>\\n <TagKey>testkey1</TagKey>\\n <ResourceType>ALIYUN::DTS::INSTANCE</ResourceType>\\n <TagValue>testvalue1</TagValue>\\n </TagResources>\\n <Success>true</Success>\\n</ListTagResourcesResponse>","errorExample":""}]',
+ 'title' => 'ListTagResources',
+ 'summary' => 'Queries the tags that are bound to specific data migration, data synchronization, or change tracking instances, or queries the instances to which specific tags are bound.',
+ 'description' => '****',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'TagResources' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Data Transmission Service (DTS) instances. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou ',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the data migration, data synchronization, or change tracking instances. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance IDs.'."\n"
+ ."\n"
+ .'> N specifies the serial number of the instance. For example, ResourceId.1 specifies the ID of the first instance and ResourceId.2 specifies the ID of the second instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The instance ID for data migration, synchronization, and subscription. It can be queried by calling the [DescribeDtsJobs](~~209702~~) API. '."\n"
+ ."\n"
+ .'> N indicates the Nth instance ID being passed. For example, ResourceId.0 represents passing the first instance ID; ResourceId.1 represents passing the second instance ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsntk10k6r12v****',
+ ],
+ 'required' => true,
+ 'example' => 'dtsntk10k6r12v****',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags to be added to the instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of tag N.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Key specifies the key of the first tag, and Tag.2.Key specifies the key of the second tag.'."\n"
+ ."\n"
+ .'* The tag key cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testkey1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of tag N.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* N specifies the serial number of the tag. For example, Tag.1.Value specifies the value of the first tag and Tag.2.Value specifies the value of the second tag.'."\n"
+ ."\n"
+ .'* The tag value can be an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testvalue1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '755D7B84-6813-42B0-BC9D-2699CFEA****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 419 => [
+ [
+ 'errorCode' => 'QuotaExceed.TagsPerResource',
+ 'errorMessage' => 'The maximum number of tags for each resource is exceeded.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"755D7B84-6813-42B0-BC9D-2699CFEA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>755D7B84-6813-42B0-BC9D-2699CFEA****</RequestId>\\n <Success>true</Success>\\n</TagResourcesResponse>","errorExample":""}]',
+ 'title' => 'TagResources',
+ 'summary' => 'Adds tags to data migration, data synchronization, or change tracking instances.',
+ 'description' => 'If you have a large number of instances, you can create multiple tags and add these tags to the instances. Then, you can query instances by tag.'."\n"
+ ."\n"
+ .'* A tag consists of a key and a value. Each key must be unique in a region within an Alibaba Cloud account. Different keys can be mapped to the same value.'."\n"
+ .'* If the tag that you specify does not exist, this tag is automatically created and added to the specified instance.'."\n"
+ .'* If the key of the specified tag is the same as that of an existing tag, the specified tag overwrites the existing tag.'."\n"
+ .'* You can add up to 20 tags to an instance.'."\n"
+ .'* You can add tags to up to 50 instances in each request.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'UntagResources' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration, data synchronization, or change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid value: **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to unbind all tags from the specified instances. Valid values:'."\n"
+ ."\n"
+ .'* **true**: unbinds all tags from the specified instances.'."\n"
+ .'* **false**: To unbind only specific tags, you must specify the **TagKey.N** parameter.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* You must specify at least one of the All and **TagKey.N** parameters.'."\n"
+ .'* If you specify both the All parameter and the **TagKey.N** parameter, the All parameter does not take effect.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, synchronization, and subscription instances, which can be queried by calling the [DescribeDtsJobs](~~209702~~) API. > N indicates the Nth instance ID to be passed. For example, ResourceId.0 represents passing the first instance ID; ResourceId.1 represents passing the second instance ID. You can unbind tags for 1 to 50 instances simultaneously.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> N specifies the serial number of the instance. For example, ResourceId.1 specifies the ID of the first instance and ResourceId.2 specifies the ID of the second instance. You can unbind tags from 1 to 50 instances at a time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsntk10k6r12v****',
+ ],
+ 'required' => true,
+ 'example' => 'dtsntk10k6r12v****',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'TagKey',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Tag key. > - N indicates the position of the tag key being passed. For example, TagKey.0 represents the first tag key; TagKey.1 represents the second tag key. Up to 20 tag keys can be unbound simultaneously. - Empty strings are not allowed. - At least one of **All** or this parameter must be provided. - If both **All** and this parameter are provided, only this parameter will take effect.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag key.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* N specifies the serial number of the tag. For example, TagKey.1 specifies the key of the first tag and TagKey.2 specifies the key of the second tag. You can unbind 1 to 20 tags at a time.'."\n"
+ .'* This parameter cannot be an empty string.'."\n"
+ .'* You must specify at least one of the **All** and TagKey.N parameters.'."\n"
+ .'* If you specify both the **All** parameter and the TagKey.N parameter, only the TagKey.N parameter takes effect.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testkey1',
+ ],
+ 'required' => false,
+ 'example' => 'testkey1',
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ED3A8FE0-EEFA-4416-BC42-34D61A52****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ED3A8FE0-EEFA-4416-BC42-34D61A52****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>ED3A8FE0-EEFA-4416-BC42-34D61A52****</RequestId>\\n <Success>true</Success>\\n</UntagResourcesResponse>","errorExample":""}]',
+ 'title' => 'UntagResources',
+ 'summary' => 'Unbinds tags from one or more data migration, data synchronization, or change tracking instances.',
+ 'description' => '> If a tag is unbound from an instance and is not bound to other instances, the tag is deleted.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'ConvertInstanceResourceGroup' => [
+ 'summary' => 'Transfers resource groups of instance resources.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '152991',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This historical parameter does not take effect and is not required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'm4312mab158****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS instance. You can view the ID in the **ID/Name** column on the task page in the console.'."\n"
+ ."\n"
+ .'> This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'dtszhc12zp727o****',
+ ],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of new resource group. You can obtain the ID on the Resource Group page in the Resource Management console. For more information, see [View basic information about a resource group](~~151181~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2r4fkrqw****',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is only for special services and not required.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is only for special services and not required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-3m1213ye7l****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned when the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned when the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned by the backend service. The number is incremented.'."\n",
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If **The Value of Input Parameter %s is not valid** is returned and DtsJobId is returned for DynamicMessage, it indicates that the request parameter DtsJobId is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<ConvertInstanceResourceGroupResponse>\\n <RequestId>AA9B0557-2424-5D56-83DF-CF68F588****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ConvertInstanceResourceGroupResponse>","errorExample":""}]',
+ 'title' => 'ConvertInstanceResourceGroup',
+ ],
+ 'DescribeDocParserJobResult' => [
+ 'summary' => 'Retrieves the result of a document parsing task.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '52309',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsE4ZR2L',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'dts-20250729-y0zz3t13h7d****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'RagInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'FileUrl' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****',
+ ],
+ 'ContentList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNumber' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '* Demo * ** Demo title **',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.NotPurchased',
+ 'errorMessage' => 'The instance has not been purchased and the task cannot be started.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"FileUrl\\": \\"https://oss-cn-hangzhou.aliyuncs.com/806a_209584525031252870_078f1180f27b4c069c0f271758aa****\\",\\n \\"ContentList\\": [\\n {\\n \\"PageNumber\\": 1,\\n \\"Content\\": \\"* Demo * ** Demo title **\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeDocParserJobResult',
+ ],
+ 'CreateDocParserJob' => [
+ 'summary' => 'Creates a document parsing task.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '52309',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsE4ZR2L',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'FileUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://oss-cn-hangzhou.aliyuncs.com/storage/pdf/40184458-fbb0-44cf-a391-350628ceccdd17375122****',
+ 'isFileTransferUrl' => true,
+ ],
+ ],
+ [
+ 'name' => 'FileName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2.pdf',
+ ],
+ ],
+ [
+ 'name' => 'ResultType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zip',
+ ],
+ ],
+ [
+ 'name' => 'RagInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'present environment is not support, so skip',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DtsJobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'dts-20250729-boss6pn1w******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.NotPurchased',
+ 'errorMessage' => 'The instance has not been purchased and the task cannot be started.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support, so skip\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DtsJobId\\": \\"dts-20250729-boss6pn1w******\\"\\n}","type":"json"}]',
+ 'title' => 'CreateDocParserJob',
+ ],
+ 'CountJobByCondition' => [
+ 'summary' => 'Counts tasks by condition.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询类型',
+ 'description' => 'The content of the query condition. Valid values:'."\n"
+ ."\n"
+ .'* **name**: the name of the task'."\n"
+ .'* **rds**: the ID of the destination instance'."\n"
+ .'* **instance**: the ID of the Data Transmission Service (DTS) instance'."\n"
+ .'* **srcRds**: the ID of the source instance'."\n"
+ ."\n"
+ .'> The value of this parameter corresponds to the value of the **JobType** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'name/instance',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'One of the query conditions. The ID of the region. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the DTS task. Valid values:'."\n"
+ ."\n"
+ .'* **MIGRATION**: data migration task'."\n"
+ .'* **SYNC**: data synchronization task'."\n"
+ .'* **SUBSCRIBE**: change tracking task'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYNC',
+ ],
+ ],
+ [
+ 'name' => 'Params',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '查询的值,与Type对应',
+ 'description' => 'The content of the query condition, which corresponds to the value of the JobType parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtspk3f13r731m****',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the DTS task.'."\n"
+ ."\n"
+ .'Valid values for a data migration task:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **Migrating**: The task is in progress.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **MigrationFailed**: The task failed to migrate data.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n"
+ ."\n"
+ .'Valid values for a data synchronization task:'."\n"
+ ."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **Initializing**: The task is performing initial synchronization.'."\n"
+ .'* **InitializeFailed**: Initial synchronization failed.'."\n"
+ .'* **Synchronizing**: The task is in progress.'."\n"
+ .'* **Failed**: The task failed to synchronize data.'."\n"
+ .'* **Suspending**: The task is paused.'."\n"
+ .'* **Modifying**: The objects in the task are being modified.'."\n"
+ .'* **Finished**: The task is complete.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n"
+ ."\n"
+ .'Valid values for a change tracking task:'."\n"
+ ."\n"
+ .'* **NotConfigured**: The task is not configured.'."\n"
+ .'* **NotStarted**: The task is not started.'."\n"
+ .'* **Prechecking**: The task is in precheck.'."\n"
+ .'* **PrecheckFailed**: The task failed to pass the precheck.'."\n"
+ .'* **PreCheckPass**: The task passed the precheck.'."\n"
+ .'* **Starting**: The task is being started.'."\n"
+ .'* **Normal**: The task is running as expected.'."\n"
+ .'* **Retrying**: The task is being retried.'."\n"
+ .'* **Abnormal**: The task is not running as expected.'."\n"
+ .'* **Upgrade**: The task is being upgraded.'."\n"
+ .'* **Locked**: The task is locked.'."\n"
+ .'* **Downgrade**: The task is being downgraded.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Finished',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '父任务id',
+ 'description' => 'The ID of the DTS task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'pk13r731m****',
+ ],
+ ],
+ [
+ 'name' => 'SrcDbType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '源端数据库类型',
+ 'description' => 'The type of the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MongoDB',
+ ],
+ ],
+ [
+ 'name' => 'DestDbType',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '目标端数据库类型',
+ 'description' => 'The type of the destination database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MongoDB',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID, global parameter that does not need to be passed in by the current API.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Resource group ID, global parameter that does not need to be passed in by the current API.',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The schema of the response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FC3BAAF2-74E3-4471-8EB5-96202D6A****',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The internal error code. This parameter will be removed soon.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of data synchronization instances that meet the requirements and belong to your Alibaba Cloud account.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FC3BAAF2-74E3-4471-8EB5-96202D6A****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TotalRecordCount\\": 100\\n}","type":"json"}]',
+ 'title' => 'CountJobByCondition',
+ ],
+ 'CreateDtsInstance' => [
+ 'summary' => 'Purchases a Data Transmission Service (DTS) instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '52216',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task. You can call the **ConfigureDtsJob** operation to obtain the task ID from the **DtsJobId** parameter.'."\n"
+ ."\n"
+ .'> If this parameter is specified, you do not need to specify the **SourceRegion**, **DestinationRegion**, **Type**, **SourceEndpointEngineName**, or **DestinationEndpointEngineName** parameter. Even if these parameters are specified, the value of the **JobId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'bi6e22ay243****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance class.'."\n"
+ ."\n"
+ .'* DTS supports the following instance classes for a data migration instance: **xxlarge**, **xlarge**, **large**, **medium**, and **small**.'."\n"
+ .'* DTS supports the following instance classes for a data synchronization instance: **large**, **medium**, **small**, and **micro**.'."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization instances](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'xxlarge',
+ ],
+ ],
+ [
+ 'name' => 'PayType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n"
+ ."\n"
+ .'> This parameter must be specified.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PrePaid',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unit of the subscription duration. Valid values: **Year** and **Month**.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if the **PayType** parameter is set to **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Month',
+ ],
+ ],
+ [
+ 'name' => 'SyncArchitecture',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization topology. Valid values:'."\n"
+ ."\n"
+ .'* **oneway**: one-way synchronization. This is the default value.'."\n"
+ .'* **bidirectional**: two-way synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oneway',
+ ],
+ ],
+ [
+ 'name' => 'AutoStart',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically start the task after the DTS instance is purchased. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n"
+ ."\n"
+ .'> This parameter can be set to **true** and take effect only if you specify a valid value for **JobId**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'UsedTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription duration.'."\n"
+ ."\n"
+ .'* Valid values if **Period** is set to **Month**: 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n"
+ .'* Valid values if **Period** is set to **Year**: 1, 2, 3, and 5.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is valid and required only if **PayType** is set to **PrePaid**.'."\n"
+ ."\n"
+ .'* You can configure **Period** to specify the unit of the subscription duration.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '5',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Quantity',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of DTS instances that you want to purchase.'."\n"
+ ."\n"
+ .'> You can purchase only one DTS instance each time you call this operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '9999999',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically renew the DTS instance when it expires. Valid values:'."\n"
+ ."\n"
+ .'* **false**: does not automatically renew the DTS instance when it expires. This is the default value.'."\n"
+ .'* **true**: automatically renews the DTS instance when it expires.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **MIGRATION**: data migration instance'."\n"
+ ."\n"
+ .'* **SYNC**: data synchronization instance'."\n"
+ ."\n"
+ .'* **SUBSCRIBE**: change tracking instance'."\n"
+ ."\n"
+ .'> You must specify one of this parameter and the **JobId** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYNC',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of custom ApsaraDB RDS instances in the PolarDB-X instance. Default value: **1**.'."\n"
+ ."\n"
+ .'> This parameter is required only if **SourceEndpointEngineName** is set to **drds**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '3',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SourceRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the source instance resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> You must specify one of this parameter and the **JobId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the destination instance resides. For more information, see [List of supported regions](~~141033~~).'."\n"
+ ."\n"
+ .'> You must specify one of this parameter and the **JobId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database engine of the source instance.'."\n"
+ ."\n"
+ .'* **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster'."\n"
+ .'* **polardb_o**: PolarDB for Oracle cluster'."\n"
+ .'* **polardb_pg**: PolarDB for PostgreSQL cluster'."\n"
+ .'* **Redis**: ApsaraDB for Redis instance or self-managed Redis database'."\n"
+ .'* **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance'."\n"
+ .'* **PostgreSQL**: self-managed PostgreSQL database'."\n"
+ .'* **odps**: MaxCompute project'."\n"
+ .'* **oracle**: self-managed Oracle database'."\n"
+ .'* **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database'."\n"
+ .'* **tidb**: TiDB database'."\n"
+ .'* **ADS**: AnalyticDB for MySQL V2.0 cluster'."\n"
+ .'* **ADB30**: AnalyticDB for MySQL V3.0 cluster'."\n"
+ .'* **Greenplum**: AnalyticDB for PostgreSQL instance'."\n"
+ .'* **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database'."\n"
+ .'* **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster'."\n"
+ .'* **DataHub**: DataHub project'."\n"
+ .'* **DB2**: self-managed Db2 for LUW database'."\n"
+ .'* **as400**: AS/400'."\n"
+ .'* **Tablestore**: Tablestore instance'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The default value is **MySQL**.'."\n"
+ .'* For more information about the supported source and destination databases, see [Overview of data synchronization scenarios](~~130744~~) and [Overview of data migration scenarios](~~26618~~).'."\n"
+ .'* You must specify one of this parameter and the **JobId** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MYSQL',
+ ],
+ ],
+ [
+ 'name' => 'DestinationEndpointEngineName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database engine of the destination instance.'."\n"
+ ."\n"
+ .'* **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database'."\n"
+ .'* **PolarDB**: PolarDB for MySQL cluster'."\n"
+ .'* **polardb_o**: PolarDB for Oracle cluster'."\n"
+ .'* **polardb_pg**: PolarDB for PostgreSQL cluster'."\n"
+ .'* **Redis**: ApsaraDB for Redis instance or self-managed Redis database'."\n"
+ .'* **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance'."\n"
+ .'* **PostgreSQL**: self-managed PostgreSQL database'."\n"
+ .'* **odps**: MaxCompute project'."\n"
+ .'* **oracle**: self-managed Oracle database'."\n"
+ .'* **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database'."\n"
+ .'* **tidb**: TiDB database'."\n"
+ .'* **ADS**: AnalyticDB for MySQL V2.0 cluster'."\n"
+ .'* **ADB30**: AnalyticDB for MySQL V3.0 cluster'."\n"
+ .'* **Greenplum**: AnalyticDB for PostgreSQL instance'."\n"
+ .'* **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database'."\n"
+ .'* **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster'."\n"
+ .'* **DataHub**: DataHub project'."\n"
+ .'* **DB2**: self-managed Db2 for LUW database'."\n"
+ .'* **as400**: AS/400'."\n"
+ .'* **Tablestore**: Tablestore instance'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The default value is **MySQL**.'."\n"
+ .'* For more information about the supported source and destination databases, see [Overview of data synchronization scenarios](~~130744~~) and [Overview of data migration scenarios](~~26618~~).'."\n"
+ .'* You must specify one of this parameter and the **JobId** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MySQL',
+ ],
+ ],
+ [
+ 'name' => 'ComputeUnit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specification of the extract, transform, and load (ETL) instance. The unit is compute unit (CU). One CU is equal to 1 vCPU and 4 GB of memory. The value of this parameter must be an integer greater than or equal to 2.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '999999',
+ 'minimum' => '1',
+ 'example' => '5',
+ 'default' => '2',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'FeeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing type for a change tracking instance. Valid values: ONLY_CONFIGURATION_FEE and CONFIGURATION_FEE_AND_DATA_FEE. ONLY_CONFIGURATION_FEE: charges only configuration fees. CONFIGURATION_FEE_AND_DATA_FEE: charges configuration fees and data traffic fees.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ONLY_CONFIGURATION_FEE',
+ ],
+ ],
+ [
+ 'name' => 'Du',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of DTS units (DUs) that are assigned to a DTS task that is run on a DTS dedicated cluster. Valid values: **1** to **100**.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* The value of this parameter must be within the range of the number of DUs available for the DTS dedicated cluster.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'MinDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Lower limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Upper limit of DU.'."\n"
+ ."\n"
+ .'> Only supported by Serverless instances.',
+ 'type' => 'number',
+ 'format' => 'double',
+ 'required' => false,
+ 'example' => '16',
+ ],
+ ],
+ [
+ 'name' => 'DtsRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. Set this parameter to the value of **RegionId**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InsightModule',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'bi6e22ay243****',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsbi6e22ay243****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'LXCreateOrderError',
+ 'errorMessage' => 'Failed to create order, failure message: The module is invalid',
+ ],
+ [
+ 'errorCode' => 'LXCreateOrder.NotFoundPricePlan',
+ 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.',
+ ],
+ [
+ 'errorCode' => 'LXPayOrder.InsufficientBalance',
+ 'errorMessage' => 'Insufficient balance, order payment failed.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.LXCreateOrderError',
+ 'errorMessage' => 'Failed to create order, failure message: The module is invalid',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.LXCreateOrder.NotFoundPricePlan',
+ 'errorMessage' => 'Pricing plan price result not found, please check the parameters of the task configuration.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.LXPayOrder.InsufficientBalance',
+ 'errorMessage' => 'Insufficient balance, order payment failed.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.LXCreateOrderErrorIntl',
+ 'errorMessage' => 'DTS supports cross-border data synchronization only in specific scenarios. To purchase a data synchronization instance used to synchronize data across countries, application for DTS cross-border data synchronization.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"JobId\\": \\"bi6e22ay243****\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"InstanceId\\": \\"dtsbi6e22ay243****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDtsInstanceResponse>\\n <RequestId>C166D79D-436B-45F0-B5A5-25E1****</RequestId>\\n <InstanceId>dtsmne11yo2j9n****</InstanceId>\\n <Success>true</Success>\\n <JobId>mne11yo2j9n****</JobId>\\n</CreateDtsInstanceResponse>","errorExample":""}]',
+ 'title' => 'CreateDtsInstance',
+ 'description' => '* Before you call this operation, make sure that you fully understand the billing methods and [pricing](https://www.alibabacloud.com/zh/product/apsaradb-for-mongodb/pricing) of DTS.'."\n"
+ .'* If you want to run a DTS task on a DTS dedicated cluster, you must configure the task before you purchase a DTS instance. You can call the [ConfigureDtsJob](~~208399~~) operation to configure a DTS task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'CreateJobMonitorRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i03e3zty16i****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The metric that is used to monitor the task. Valid values:'."\n"
+ ."\n"
+ .'* **delay**: the **Latency** metric.'."\n"
+ .'* **error**: the **Status** metric.'."\n"
+ .'* **full_timeout**: the **Full Timeout** metric.'."\n"
+ ."\n"
+ .'Default value: **error**. You must manually set this value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'delay',
+ ],
+ ],
+ [
+ 'name' => 'State',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the alert rule. Valid values:'."\n"
+ ."\n"
+ .'* **Y**: enables the alert rule.'."\n"
+ .'* **N**: disables the alert rule.'."\n"
+ ."\n"
+ .'Default value: **Y**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Y',
+ ],
+ ],
+ [
+ 'name' => 'Phone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile numbers that receive alert notifications. Separate multiple mobile numbers with commas (,).'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is available only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers.'."\n"
+ ."\n"
+ .'* Users of the international site (alibabacloud.com) cannot receive notifications on alerts by using mobile numbers, but can configure alert rules for DTS tasks in the CloudMonitor console. For more information, see [Configure alert rules for DTS tasks in the CloudMonitor console](~~175876~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1361234****,1371234****',
+ ],
+ ],
+ [
+ 'name' => 'DelayRuleTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The threshold for triggering an alert.'."\n"
+ ."\n"
+ .'* If **Type** is set to **delay**, the threshold must be an integer in units of seconds. You can specify the threshold based on your business requirements. To prevent jitters caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds.'."\n"
+ .'* If **Type** is set to **full_timeout**, the threshold must be an integer in units of hours.'."\n"
+ ."\n"
+ .'> This parameter is required if **Type** is set to **delay** or **full_timeout** and **State** is set to **Y**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '11',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The statistical period of the incremental data verification task. Unit: minutes.'."\n"
+ ."\n"
+ .'> Valid values: 1, 3, 5, and 30.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Times',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of statistical periods of the incremental data verification task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'NoticeValue',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert threshold.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8C498360-7892-433C-847A-BA71A850****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. The value of this parameter is used to replace the \\*\\*%s\\*\\* variable in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> If the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the return value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobMonitorRuleResponse>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <DtsJobId>i03e3zty16i****</DtsJobId>\\n</CreateJobMonitorRuleResponse>","errorExample":""}]',
+ 'title' => 'CreateJobMonitorRule',
+ 'summary' => 'Creates or modifies an alert rule for a Data Transmission Service (DTS) task.',
+ 'description' => 'DTS provides the following metrics for DTS tasks:************'."\n"
+ ."\n"
+ .'* **Latency**: DTS monitors the latency of a DTS task. If the latency of the task exceeds the specified threshold, an alert is triggered. The threshold is specified in units of seconds.'."\n"
+ .'* **Status**: DTS monitors the status of a DTS task. If the state of the task changes to **Error** or **Restore**, an alert is triggered.'."\n"
+ .'* **Full Timeout**: DTS monitors the duration of a DTS task. If the duration of the task exceeds the specified threshold, an alert is triggered. The threshold is specified in units of hours.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DeleteDtsJobs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '52225',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n"
+ ."\n"
+ .'> * Separate multiple task IDs with commas (,).'."\n"
+ .'> * You can call the [DescribeDtsJobs](~~209702~~) operation to query task IDs.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'l5o11f9029c****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Is it ZeroETL task',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed soon.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDtsJobsResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DeleteDtsJobsResponse>","errorExample":""}]',
+ 'title' => 'DeleteDtsJobs',
+ 'summary' => 'Deletes multiple data migration, data synchronization, or change tracking tasks.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDtsServiceLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '52249',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsDW6WLD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'c1yr56py103****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of log entries to return on each page. Valid values: **20**, **50**, **100**, **500**, and **1000**. Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than 0 and less than or equal to the maximum value supported by the integer data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query.'."\n"
+ ."\n"
+ .'> * To obtain the logs that are generated for Data Transmission Service (DTS) subtasks within a specific period of time, you can call the [DescribePreCheckStatus](~~209718~~) operation to query the execution time of the subtasks.'."\n"
+ .'>* Specify the time in the 13-digit UNIX timestamp format. Unit: milliseconds. You can use a search engine to obtain a UNIX timestamp converter.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1620896327000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. You can call the [DescribePreCheckStatus](~~209718~~) operation to query the execution time of the subtasks.'."\n"
+ ."\n"
+ .'> * To obtain the logs that are generated for DTS subtasks within a specific period of time, you can call the [DescribePreCheckStatus](~~209718~~) operation to query the execution time of the subtasks.'."\n"
+ .'>* Specify the time in the 13-digit UNIX timestamp format. Unit: milliseconds. You can use a search engine to obtain a UNIX timestamp converter.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1620897227000',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The log level. Separate multiple log levels with commas (,). Valid values:'."\n"
+ ."\n"
+ .'* **NORMAL**: displays the logs that are generated when the DTS task runs as expected.'."\n"
+ .'* **WARN**: displays the logs about severe issues that stop the DTS task from running.'."\n"
+ .'* **ERROR**: displays the logs about unexpected issues that stop specific processes form running.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NORMAL,WARN,ERROR',
+ ],
+ ],
+ [
+ 'name' => 'SubJobType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of a DTS subtask. Valid values:'."\n"
+ ."\n"
+ .'* **DATA_LOAD**: full migration or full synchronization'."\n"
+ .'* **ONLINE_WRITER**: incremental migration'."\n"
+ .'* **SYNC_WRITER**: incremental synchronization'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYNC_WRITER',
+ ],
+ ],
+ [
+ 'name' => 'Keyword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The keyword that is passed to specify the query content.'."\n"
+ ."\n"
+ .'> Fuzzy match is used and the keyword is case-sensitive.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'state = IDLE',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be: - **true**: Yes. - **false**: No.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code that is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F87DF250-952C-47FE-8A02-69414FAA****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of log entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of logs that meet the query conditions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '35',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed soon.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'ServiceLogContexts' => [
+ 'description' => 'The details of the logs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Context' => [
+ 'description' => 'The log content.'."\n",
+ 'type' => 'string',
+ 'example' => 'Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the logs were collected. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-05-13T09:13:39.443+00:00',
+ ],
+ 'State' => [
+ 'description' => 'The log level.'."\n",
+ 'type' => 'string',
+ 'example' => 'NORMAL',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"F87DF250-952C-47FE-8A02-69414FAA****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 35,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"PageNumber\\": 1,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ServiceLogContexts\\": [\\n {\\n \\"Context\\": \\"Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}\\",\\n \\"Time\\": \\"2021-05-13T09:13:39.443+00:00\\",\\n \\"State\\": \\"NORMAL\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsServiceLogResponse>\\n <requestId>F87DF250-952C-47FE-8A02-69414FAA****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>20</pageRecordCount>\\n <totalRecordCount>35</totalRecordCount>\\n <serviceLogContexts>\\n <context>Statistics: generator = 369173; collector = 470109; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:13:39.443+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368934; collector = 469795; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:10:53.275+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368702; collector = 469492; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:08:08.855+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368456; collector = 469180; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:05:22.343+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 368222; collector = 468877; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T09:02:37.851+00:00</time>\\n </serviceLogContexts>\\n <serviceLogContexts>\\n <context>Statistics: generator = 367988; collector = 468571; replicator = 2470; ping = 2/2/2; execute = 29/29/29; rt = 29/29/29; state = IDLE; queries = -1; exceptions = {connects = 0, replicates = 0}; infos = {}</context>\\n <state>NORMAL</state>\\n <time>2021-05-13T08:59:51.070+00:00</time>\\n </serviceLogContexts>\\n</DescribeDtsServiceLogResponse>","errorExample":""}]',
+ 'title' => 'DescribeDtsServiceLog',
+ 'summary' => 'Queries the logs of a data migration or synchronization task.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeJobMonitorRule' => [
+ 'summary' => 'Queries the monitoring rules of a Data Transmission Service (DTS) task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ta7w132u12h****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shenzhen',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzydi675xfea',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0CA14388-DD89-4A7B-8CDD-884A10CE****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'ta7w132u12h****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**:The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid. ',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the specified **DtsJobId** parameter is invalid, **The Value of Input Parameter %s is not valid** is returned for **ErrMessage** and **DtsJobId** is returned for **DynamicMessage**.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'MonitorRules' => [
+ 'description' => 'The monitoring rules of the DTS task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Monitoring rule information for DTS tasks',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the monitoring rule. Valid values:'."\n"
+ ."\n"
+ .'* **delay**: If the task latency reaches the threshold, an alert is triggered.'."\n"
+ .'* **error**: If an exception occurs, an alert is triggered.'."\n",
+ 'type' => 'string',
+ 'example' => 'delay',
+ ],
+ 'DelayRuleTime' => [
+ 'description' => 'The threshold that triggers the alert.'."\n"
+ ."\n"
+ .'* If the request parameter **Type** of the [CreateJobMonitorRule](~~212332~~) operation is set to **delay**, the unit of DelayRuleTime is seconds.'."\n"
+ .'* If the request parameter **Type** of the [CreateJobMonitorRule](~~212332~~) operation is set to **full_timeout**, the unit of DelayRuleTime is hours.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '11',
+ ],
+ 'State' => [
+ 'description' => 'Indicates whether the monitoring rule is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **Y**: The monitoring rule is enabled.'."\n"
+ .'* **N**: The monitoring rule is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Y',
+ ],
+ 'Phone' => [
+ 'description' => 'The mobile phone numbers that receive alert notifications. Multiple mobile numbers are separated by commas (,).'."\n",
+ 'type' => 'string',
+ 'example' => '1361234****,1371234****',
+ ],
+ 'JobType' => [
+ 'description' => 'The task type of the DTS instance, with values: - **normal**: Migration or synchronization task. - **full_check**: Associated full check task. - **etl_check**: Associated incremental check task.',
+ 'type' => 'string',
+ 'example' => 'normal',
+ ],
+ 'Period' => [
+ 'description' => 'The statistical period for incremental validation tasks, in minutes.'."\n"
+ .'> Currently supported values are 1 minute, 5 minutes, 10 minutes, and 30 minutes.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Times' => [
+ 'description' => 'The number of cycles for the incremental validation task.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'NoticeValue' => [
+ 'description' => 'Alarm threshold.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'JobId' => [
+ 'description' => 'Task ID.',
+ 'type' => 'string',
+ 'example' => 'bi6e22ay243****',
+ ],
+ ],
+ ],
+ ],
+ 'Topics' => [
+ 'description' => 'The topics of all subtasks in the distributed change tracking task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Topic for synchronization or migration to Kafka.',
+ 'type' => 'string',
+ 'example' => '[\'topic_zyjg_prd\']',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"0CA14388-DD89-4A7B-8CDD-884A10CE****\\",\\n \\"DtsJobId\\": \\"ta7w132u12h****\\",\\n \\"ErrCode\\": \\"403\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"MonitorRules\\": [\\n {\\n \\"Type\\": \\"delay\\",\\n \\"DelayRuleTime\\": 60,\\n \\"State\\": \\"Y\\",\\n \\"Phone\\": \\"1361234****,1371234****\\",\\n \\"JobType\\": \\"normal\\",\\n \\"Period\\": 5,\\n \\"Times\\": 2,\\n \\"NoticeValue\\": 2,\\n \\"JobId\\": \\"bi6e22ay243****\\"\\n }\\n ],\\n \\"Topics\\": [\\n \\"[\'topic_zyjg_prd\']\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobMonitorRuleResponse>\\n <DtsJobId>y5il58kzo9n****</DtsJobId>\\n <RequestId>90DB5FA4-8C53-5123-91A9-63A4CA42****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>0</DelayRuleTime>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>full_timeout</Type>\\n <JobType>normal</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>normal</JobType>\\n <State>N</State>\\n <Phone>1361234****</Phone>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>y5il58kzo9n****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>full_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>qm2g550ku9x****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>error</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>0</Times>\\n <Period>0</Period>\\n <NoticeValue>0</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>delay</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>0</NoticeValue>\\n <DelayRuleTime>60</DelayRuleTime>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <MonitorRules>\\n <Type>warn</Type>\\n <JobType>etl_check</JobType>\\n <State>Y</State>\\n <Times>2</Times>\\n <Period>3</Period>\\n <NoticeValue>1</NoticeValue>\\n <JobId>wrdx5a8pc93****</JobId>\\n </MonitorRules>\\n <Success>true</Success>\\n</DescribeJobMonitorRuleResponse>","errorExample":""}]',
+ 'title' => 'DescribeJobMonitorRule',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribePreCheckStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '52265',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i03e3zty16i****',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: **1**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: **20**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'JobCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task code that specifies the type of the DTS subtask. Valid values:'."\n"
+ ."\n"
+ .'* **01**: precheck.'."\n"
+ .'* **02**: schema migration or initial schema synchronization.'."\n"
+ .'* **03**: full data migration or initial full data synchronization.'."\n"
+ .'* **04**: incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '01',
+ ],
+ ],
+ [
+ 'name' => 'StructType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of schema definition. Valid values:'."\n"
+ ."\n"
+ .'* **before**: schema migration or initial schema synchronization.'."\n"
+ .'* **after**: DDL operations performed during incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'before',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ 'name' => 'StructPhase',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter item used to filter tables, views, and functions during schema migration.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'View',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter item used to filter tables in fuzzy match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dewuprop',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'State' => [
+ 'description' => 'The status of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The subtask is not started.'."\n"
+ .'* **Suspending**: The subtask is paused.'."\n"
+ .'* **Checking**: The subtask is being checked.'."\n"
+ .'* **Migrating**: The subtask is in progress. Data is being migrated.'."\n"
+ .'* **Failed**: The subtask failed.'."\n"
+ .'* **Catched**: The subtask is in progress. Incremental data is being migrated or synchronized.'."\n"
+ .'* **Finished**: The subtask is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of subtasks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The status code that is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C096FA97-B6BA-4575-899D-61E12B59****',
+ ],
+ 'JobName' => [
+ 'description' => 'The name of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => ' b4my3zg929a****',
+ ],
+ 'ErrorItem' => [
+ 'description' => 'The total number of subtask failures.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'ErrorAnalysisItem' => [
+ 'description' => 'Number of failed evaluation items',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of entries that are returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'Code' => [
+ 'description' => 'The task code that indicates the type of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **01**: precheck.'."\n"
+ .'* **02**: schema migration or initial schema synchronization.'."\n"
+ .'* **03**: full data migration or initial full data synchronization.'."\n"
+ .'* **04**: incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '01',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'JobProgress' => [
+ 'description' => 'The subtasks and the progress of each subtask.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Skip' => [
+ 'description' => 'Indicates whether the subtask is ignored if it fails. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the subtask was complete. The time is displayed in the yyyy-MM-ddTHH:mm:ssZ format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-16T08:01:34.000+00:00',
+ ],
+ 'IgnoreFlag' => [
+ 'description' => 'Indicates whether DTS ignores the subtask and proceeds with the next subtask. Valid values:'."\n"
+ ."\n"
+ .'* **N**: no.'."\n"
+ .'* **Y**: yes.'."\n",
+ 'type' => 'string',
+ 'example' => 'N',
+ ],
+ 'DelaySeconds' => [
+ 'description' => 'The latency of incremental data migration or synchronization.'."\n"
+ ."\n"
+ .'> If you query data migration tasks, the unit of this parameter is milliseconds. If you query data synchronization tasks, the unit of this parameter is seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DdlSql' => [
+ 'description' => 'The DDL statements.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`order` (\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`ordertime` datetime COMMENT \'\' NULL , \\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\n`phonenumber` int(11) COMMENT \'\' NULL , \\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n',
+ ],
+ 'State' => [
+ 'description' => 'The status of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The subtask is not started.'."\n"
+ .'* **Checking**: The subtask is being checked.'."\n"
+ .'* **Migrating**: The subtask is in progress. Data is being migrated.'."\n"
+ .'* **Failed**: The subtask failed.'."\n"
+ .'* **Warning**: The subtask encounters an exception.'."\n"
+ .'* **Success**: The subtask is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'BootTime' => [
+ 'description' => 'The time when the subtask was started. The time is displayed in the yyyy-MM-ddTHH:mm:ssZ format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-03-16T08:01:31.000+00:00',
+ ],
+ 'Item' => [
+ 'description' => 'The shortened name of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_DEST',
+ ],
+ 'Sub' => [
+ 'description' => 'The sub-item progress of the subtask.'."\n"
+ ."\n"
+ .'> If \\*\\*\\[]\\*\\* is returned, the subtask has no sub-items.'."\n",
+ 'type' => 'string',
+ 'example' => '[]',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of sub-items of the subtask.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TargetNames' => [
+ 'description' => 'The names of the objects that are migrated or synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => 'order',
+ ],
+ 'CanSkip' => [
+ 'description' => 'Indicates whether the subtask can be ignored if it fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Names' => [
+ 'description' => 'The name of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_DEST_DETAIL',
+ ],
+ 'ErrDetail' => [
+ 'description' => 'The error details of the subtask failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL',
+ ],
+ 'DiffRow' => [
+ 'description' => 'This parameter will be removed in the future.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'JobId' => [
+ 'description' => 'The subtask ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'fj1c33ro168****',
+ ],
+ 'SourceSchema' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'DestSchema' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtstestdata_new',
+ ],
+ 'ParentObj' => [
+ 'description' => 'This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'demo',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'The error message of the subtask failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ',
+ ],
+ 'OrderNum' => [
+ 'description' => 'The serial number of the subtask.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix the subtask failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the entry in the metadatabase.'."\n",
+ 'type' => 'string',
+ 'example' => '5632',
+ ],
+ 'Logs' => [
+ 'description' => 'The logs of subtask failures.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrData' => [
+ 'description' => 'The error message.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'The error message that is returned when an error occurs on the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists',
+ ],
+ 'LogLevel' => [
+ 'description' => 'The level of logs.'."\n",
+ 'type' => 'string',
+ 'example' => 'ERROR',
+ ],
+ 'ErrType' => [
+ 'description' => 'The error type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ ],
+ ],
+ ],
+ 'Current' => [
+ 'description' => 'The number of the subtasks that are running.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ 'AnalysisJobProgress' => [
+ 'description' => 'Display list of evaluation tasks',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Skip' => [
+ 'description' => 'If this evaluation item fails, whether you set to skip this item. Return values: * **true**: Yes * **false**: No',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The end time of the evaluation task, formatted as <i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z (UTC time).',
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:31.000+00:00',
+ ],
+ 'IgnoreFlag' => [
+ 'description' => 'Whether to directly ignore this specific item and move to the next one. Return values:'."\n"
+ .'- **N**: No. - **Y**: Yes.',
+ 'type' => 'string',
+ 'example' => 'N',
+ ],
+ 'DelaySeconds' => [
+ 'description' => 'Task delay time',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DdlSql' => [
+ 'description' => 'The DDL operation to be executed.',
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE ****',
+ ],
+ 'State' => [
+ 'description' => 'The result of the evaluation, with return values being: - **Failed**: Failure. - **Success**: Success.',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'BootTime' => [
+ 'description' => 'The specific project start time, formatted as <i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z (UTC time).',
+ 'type' => 'string',
+ 'example' => '2022-03-16T08:01:31.000+00:00',
+ ],
+ 'Item' => [
+ 'description' => 'Name of the evaluation item',
+ 'type' => 'string',
+ 'example' => 'ANALYSIS_MYSQL_4_ITEM',
+ ],
+ 'Sub' => [
+ 'description' => 'Progress of sub-projects under a specific project. > If it returns <b>[]</b>, it indicates there are no sub-projects.',
+ 'type' => 'string',
+ 'example' => '[]',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of specific items in the sub-task.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TargetNames' => [
+ 'description' => 'Name of the target object',
+ 'type' => 'string',
+ 'example' => 'testTable',
+ ],
+ 'CanSkip' => [
+ 'description' => 'Whether to support skipping this sub-item.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Names' => [
+ 'description' => 'Name of the evaluation item',
+ 'type' => 'string',
+ 'example' => 'ANALYSIS_MYSQL_4_DETAIL',
+ ],
+ 'ErrDetail' => [
+ 'description' => 'Error details when the project encounters an error.',
+ 'type' => 'string',
+ 'example' => 'ANALYSIS_MYSQL',
+ ],
+ 'DiffRow' => [
+ 'description' => 'This parameter will be deprecated.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the evaluation task.',
+ 'type' => 'string',
+ 'example' => '11234234xc',
+ ],
+ 'SourceSchema' => [
+ 'description' => 'Name of the database to which the migration objects in the source instance belong.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'DestSchema' => [
+ 'description' => 'Name of the database to which the migration objects in the target instance belong.',
+ 'type' => 'string',
+ 'example' => 'dest',
+ ],
+ 'ParentObj' => [
+ 'description' => 'This parameter will be deprecated.',
+ 'type' => 'string',
+ 'example' => 'demo',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'Specific error message.',
+ 'type' => 'string',
+ 'example' => 'ANALYSIS_',
+ ],
+ 'OrderNum' => [
+ 'description' => 'The number of the evaluation item.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'Remediation method for the evaluation item.',
+ 'type' => 'string',
+ 'example' => 'ANALYSIS_',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of this evaluation item in the database.',
+ 'type' => 'string',
+ 'example' => '123123',
+ ],
+ 'Logs' => [
+ 'description' => 'Sub-assessment item.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrData' => [
+ 'description' => 'Error message',
+ 'type' => 'string',
+ 'example' => 'Please modify this object',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'Error message from DTS when a specific project encounters an error.',
+ 'type' => 'string',
+ 'example' => 'DTS-1020042 Execute sql error sql: Table \'customer\' already exists',
+ ],
+ 'LogLevel' => [
+ 'description' => 'The level of the log.',
+ 'type' => 'string',
+ 'example' => 'ERROR',
+ ],
+ 'ErrType' => [
+ 'description' => 'Error type.',
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ ],
+ ],
+ ],
+ 'Current' => [
+ 'description' => 'The number of currently running subtasks.',
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ 'SubDistributedJobStatus' => [
+ 'description' => 'The information about the distributed subtasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobName' => [
+ 'description' => 'The name of distributed subtasks associated with the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts.step.struct.load',
+ ],
+ 'State' => [
+ 'description' => 'The status of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The subtask is not started.'."\n"
+ .'* **Suspending**: The subtask is paused.'."\n"
+ .'* **Checking**: The subtask is being checked.'."\n"
+ .'* **Migrating**: The subtask is in progress. Data is being migrated.'."\n"
+ .'* **Failed**: The subtask failed.'."\n"
+ .'* **Catched**: The subtask is in progress. Incremental data is being migrated or synchronized.'."\n"
+ .'* **Finished**: The subtask is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'JobId' => [
+ 'description' => 'The subtask ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'n0gm1682j6563np',
+ ],
+ 'ErrorItem' => [
+ 'description' => 'The number of subtasks that failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Code' => [
+ 'description' => 'The task code that indicates the type of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **01**: precheck.'."\n"
+ .'* **02**: schema migration or initial schema synchronization.'."\n"
+ .'* **03**: full data migration or initial full data synchronization.'."\n"
+ .'* **04**: incremental data migration or synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '02',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries that are returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '11',
+ ],
+ 'JobProgress' => [
+ 'description' => 'The subtasks and the progress of each subtask.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Skip' => [
+ 'description' => 'Indicates whether the subtask was ignored. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ 'FinishTime' => [
+ 'description' => 'The time when the subtask was complete. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-31T03:36:11.000+00:00',
+ ],
+ 'IgnoreFlag' => [
+ 'description' => 'Indicates whether DTS ignores the subtask and proceeds with the next subtask. Valid values:'."\n"
+ ."\n"
+ .'* **N**: no.'."\n"
+ .'* **Y**: yes.'."\n",
+ 'type' => 'string',
+ 'example' => 'N',
+ ],
+ 'DelaySeconds' => [
+ 'description' => 'The latency of incremental data migration or synchronization.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DdlSql' => [
+ 'description' => 'The DDL statements.'."\n",
+ 'type' => 'string',
+ 'example' => 'None',
+ ],
+ 'State' => [
+ 'description' => 'The status of the subtask. Valid values:'."\n"
+ ."\n"
+ .'* **NotStarted**: The subtask is not started.'."\n"
+ .'* **Suspending**: The subtask is paused.'."\n"
+ .'* **Checking**: The subtask is being checked.'."\n"
+ .'* **Migrating**: The subtask is in progress. Data is being migrated.'."\n"
+ .'* **Failed**: The subtask failed.'."\n"
+ .'* **Catched**: The subtask is in progress. Incremental data is being migrated or synchronized.'."\n"
+ .'* **Finished**: The subtask is complete.'."\n",
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ 'BootTime' => [
+ 'description' => 'The time when the subtask was started. The time is displayed in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-30T03:36:11.000+00:00',
+ ],
+ 'Item' => [
+ 'description' => 'The name of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'login_common_time',
+ ],
+ 'Sub' => [
+ 'description' => 'The sub-item progress of the subtask.'."\n"
+ ."\n"
+ .'> If \\*\\*\\[]\\*\\* is returned, the subtask has no sub-item.'."\n",
+ 'type' => 'string',
+ 'example' => '[]',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of subtasks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '11',
+ ],
+ 'TargetNames' => [
+ 'description' => 'The names of the objects that are migrated or synchronized.'."\n",
+ 'type' => 'string',
+ 'example' => 'order',
+ ],
+ 'CanSkip' => [
+ 'description' => 'Indicates whether the subtask can be ignored if it fails. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Names' => [
+ 'description' => 'The name of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'metricRuleTargets-20180308houe',
+ ],
+ 'ErrDetail' => [
+ 'description' => 'The error details of the subtask failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL',
+ ],
+ 'DiffRow' => [
+ 'description' => 'This parameter will be removed in the future.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => 'None',
+ ],
+ 'JobId' => [
+ 'description' => 'The subtask ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'l3m1213ye7l****',
+ ],
+ 'SourceSchema' => [
+ 'description' => 'The name of the database to which the object in the source instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'databasetest',
+ ],
+ 'DestSchema' => [
+ 'description' => 'The name of the database to which the object in the destination instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'databasetest',
+ ],
+ 'ParentObj' => [
+ 'description' => 'This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => 'None',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'The error message of the subtask failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'ODPS project does not exist odps.`huijin',
+ ],
+ 'OrderNum' => [
+ 'description' => 'The serial number of the subtask.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The method to fix a precheck failure.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR '."\n",
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the entry in the metadatabase.'."\n",
+ 'type' => 'string',
+ 'example' => '3890',
+ ],
+ 'Logs' => [
+ 'description' => 'The operations logs of errors.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrData' => [
+ 'description' => 'The record of errors.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`customer` (\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\n`submission_date1216` date COMMENT \'\' NULL \\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\n',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'The error message.'."\n",
+ 'type' => 'string',
+ 'example' => 'get metric list fail',
+ ],
+ 'LogLevel' => [
+ 'description' => 'The level of logs.'."\n",
+ 'type' => 'string',
+ 'example' => 'INFO',
+ ],
+ 'ErrType' => [
+ 'description' => 'The error type.'."\n",
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ ],
+ ],
+ ],
+ 'Current' => [
+ 'description' => 'The number of the subtasks that are running.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'FullNetCheckJobStatus' => [
+ 'description' => 'Network-wide inspection results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobName' => [
+ 'description' => 'Task name.',
+ 'type' => 'string',
+ 'example' => 'dts.step.fullnetcheck',
+ ],
+ 'State' => [
+ 'description' => 'Check result, the return value is: - **Failed**: Failure. - **Success**: Completed.',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'JobId' => [
+ 'description' => 'Task ID.',
+ 'type' => 'string',
+ 'example' => 'l3m1213ye7l****',
+ ],
+ 'ErrorItem' => [
+ 'description' => 'Number of pre-check failed items',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Code' => [
+ 'description' => 'Task code, **01** represents pre-check.',
+ 'type' => 'string',
+ 'example' => '01',
+ ],
+ 'Total' => [
+ 'description' => 'Total number of items in the project.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '11',
+ ],
+ 'HostRegion' => [
+ 'description' => 'The region ID of the instance\'s running node.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'SrcRegion' => [
+ 'description' => 'ID of the region to which the source network segment belongs.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DestRegion' => [
+ 'description' => 'ID of the region to which the target network segment belongs.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'SrcRegionCidr' => [
+ 'description' => 'Source network segment.',
+ 'type' => 'string',
+ 'example' => '100.104.XX.XXX/XX',
+ ],
+ 'DestRegionCidr' => [
+ 'description' => 'Destination network segment.',
+ 'type' => 'string',
+ 'example' => '100.104.XX.XXX/XX',
+ ],
+ 'SourceEndpointType' => [
+ 'description' => 'The access method of the source instance, with return values as follows: - **ALIYUN**: Access method is **cloud instance**. - **OTHER**: Access method is **public IP**. - **ECS**: Access method is **ECS self-built database**. - **EXPRESS**: Access method is **dedicated line/VPN gateway/smart gateway**. - **CEN**: Access method is **Cloud Enterprise Network CEN**. - **DG**: Access method is **Database Gateway DG**.',
+ 'type' => 'string',
+ 'example' => 'CEN',
+ ],
+ 'DestinationEndpointType' => [
+ 'description' => 'The access method of the target instance, with return values as follows: - **ALIYUN**: Access method is **cloud instance**. - **OTHER**: Access method is **public IP**. - **ECS**: Access method is **ECS self-built database**. - **EXPRESS**: Access method is **Express Connect / VPN Gateway / Smart Gateway**. - **CEN**: Access method is **Cloud Enterprise Network (CEN)**. - **DG**: Access method is **Database Gateway (DG)**.',
+ 'type' => 'string',
+ 'example' => 'CEN',
+ ],
+ 'JobProgress' => [
+ 'description' => 'A list of specific items for the task and their execution progress.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Skip' => [
+ 'description' => 'After this specific item fails, do you set to skip this item. Return values: * **true**: Yes * **false**: No',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'FinishTime' => [
+ 'description' => 'Task completion time, formatted as yyyy-MM-ddTHH:mm:ssZ (UTC time).',
+ 'type' => 'string',
+ 'example' => '2022-03-31T03:36:11.000+00:00',
+ ],
+ 'IgnoreFlag' => [
+ 'description' => 'Whether to directly ignore this specific item and move to the next one. Return values:'."\n"
+ .'- **N**: No. - **Y**: Yes.',
+ 'type' => 'string',
+ 'example' => 'N',
+ ],
+ 'DelaySeconds' => [
+ 'description' => 'Task delay time',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DdlSql' => [
+ 'description' => 'The DDL operation to be executed.',
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE ****',
+ ],
+ 'State' => [
+ 'description' => 'Check result, the return value is: - **Failed**: Failure. - **Success**: Completed.',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'BootTime' => [
+ 'description' => 'The specific project start time, formatted as <i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z (UTC time).',
+ 'type' => 'string',
+ 'example' => '2022-03-30T03:36:11.000+00:00',
+ ],
+ 'Item' => [
+ 'description' => 'Specific project name.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC',
+ ],
+ 'Sub' => [
+ 'description' => 'Progress of sub-projects under a specific project. > If it returns <b>[]</b>, it indicates there are no sub-projects.',
+ 'type' => 'string',
+ 'example' => '[]',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of projects.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '11',
+ ],
+ 'TargetNames' => [
+ 'description' => 'Name of the target object',
+ 'type' => 'string',
+ 'example' => 'order',
+ ],
+ 'CanSkip' => [
+ 'description' => 'Whether DTS supports skipping a project after it fails. Return values: * **true**: Yes * **false**: No',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Names' => [
+ 'description' => 'Specific project name.',
+ 'type' => 'string',
+ 'example' => 'CHECK_CONN_SRC_DETAIL',
+ ],
+ 'ErrDetail' => [
+ 'description' => 'Details of the error when a specific project fails.',
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_DETAIL',
+ ],
+ 'DiffRow' => [
+ 'description' => 'This parameter will be deprecated.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'JobId' => [
+ 'description' => 'Task ID.',
+ 'type' => 'string',
+ 'example' => 'l3m1213ye7l****',
+ ],
+ 'SourceSchema' => [
+ 'description' => 'Name of the database to which the migration objects in the source instance belong.',
+ 'type' => 'string',
+ 'example' => 'dtstestdata',
+ ],
+ 'DestSchema' => [
+ 'description' => 'Name of the database to which the migration objects in the target instance belong.',
+ 'type' => 'string',
+ 'example' => 'dest',
+ ],
+ 'ParentObj' => [
+ 'description' => 'This parameter will be deprecated.',
+ 'type' => 'string',
+ 'example' => 'demo',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'Error message prompt when a specific project encounters an error.',
+ 'type' => 'string',
+ 'example' => 'ODPS project does not exist odps.`huijin',
+ ],
+ 'OrderNum' => [
+ 'description' => 'Project number.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RepairMethod' => [
+ 'description' => 'The corresponding remediation method when the pre-check fails.',
+ 'type' => 'string',
+ 'example' => 'CHECK__ERROR_SAME_OBJ_REPAIR',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the record in the metadata database.',
+ 'type' => 'string',
+ 'example' => '922305811766881****',
+ ],
+ 'Logs' => [
+ 'description' => 'Error execution log information.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrData' => [
+ 'description' => 'Error record.',
+ 'type' => 'string',
+ 'example' => 'CREATE TABLE `dtstestdata`.`customer` ****',
+ ],
+ 'ErrMsg' => [
+ 'description' => 'Specific error message.',
+ 'type' => 'string',
+ 'example' => 'get metric list fail',
+ ],
+ 'LogLevel' => [
+ 'description' => 'The level of the log.',
+ 'type' => 'string',
+ 'example' => 'INFO',
+ ],
+ 'ErrType' => [
+ 'description' => 'Type of error.',
+ 'type' => 'string',
+ 'example' => 'ForeignKey',
+ ],
+ ],
+ ],
+ ],
+ 'Current' => [
+ 'description' => 'The number of currently running tasks.',
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'NetworkDiagnosisResult' => [
+ 'description' => 'Network diagnosis result',
+ 'type' => 'object',
+ 'properties' => [
+ 'ModelVersion' => [
+ 'description' => 'Diagnose model version.',
+ 'type' => 'string',
+ 'example' => 'network-v0.2',
+ ],
+ 'Diagnosis' => [
+ 'description' => 'Network diagnostic report',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointType' => [
+ 'description' => 'Access point, the return values are: - **source**: source end. - **destination**: destination end. - **unknown**: unknown.',
+ 'type' => 'string',
+ 'example' => 'source',
+ ],
+ 'Code' => [
+ 'description' => 'Diagnostic code.',
+ 'type' => 'string',
+ 'example' => 'dts.kunlun.diagnosis.network.express_doc',
+ ],
+ 'CnDocUrl' => [
+ 'description' => 'Document address for China region.',
+ 'type' => 'string',
+ 'example' => 'https://***.ali***.com/document_detail/470447.html',
+ ],
+ 'InternationalDocUrl' => [
+ 'description' => 'Overseas region document address.',
+ 'type' => 'string',
+ 'example' => 'https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn',
+ ],
+ 'Result' => [
+ 'description' => 'Reserved field for diagnostic results, default is empty.',
+ 'type' => 'string',
+ 'example' => 'none',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"State\\": \\"Finished\\",\\n \\"Success\\": true,\\n \\"PageRecordCount\\": 20,\\n \\"Total\\": 0,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C096FA97-B6BA-4575-899D-61E12B59****\\",\\n \\"JobName\\": \\"预检查\\",\\n \\"JobId\\": \\" b4my3zg929a****\\",\\n \\"ErrorItem\\": 0,\\n \\"ErrorAnalysisItem\\": 0,\\n \\"TotalRecordCount\\": 100,\\n \\"Code\\": \\"01\\",\\n \\"PageNumber\\": 1,\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-16T08:01:34.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE `dtstestdata`.`order` (\\\\\\\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\\\\\\\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\\\\\n`ordertime` datetime COMMENT \'\' NULL , \\\\\\\\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\\\\\n`phonenumber` int(11) COMMENT \'\' NULL , \\\\\\\\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"Item\\": \\"CHECK_CONN_DEST\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 1,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": true,\\n \\"Names\\": \\"CHECK_CONN_DEST_DETAIL\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"fj1c33ro168****\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dtstestdata_new\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"CHECK__ERROR_SAME_OBJ\\",\\n \\"OrderNum\\": 10,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\",\\n \\"Id\\": \\"5632\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ErrMsg\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"LogLevel\\": \\"ERROR\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ],\\n \\"AnalysisJobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE ****\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-16T08:01:31.000+00:00\\",\\n \\"Item\\": \\"ANALYSIS_MYSQL_4_ITEM\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 1,\\n \\"TargetNames\\": \\"testTable\\",\\n \\"CanSkip\\": true,\\n \\"Names\\": \\"ANALYSIS_MYSQL_4_DETAIL\\",\\n \\"ErrDetail\\": \\"ANALYSIS_MYSQL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"11234234xc\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dest\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"ANALYSIS_\\",\\n \\"OrderNum\\": 10,\\n \\"RepairMethod\\": \\"ANALYSIS_\\",\\n \\"Id\\": \\"123123\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"请修改该对象\\",\\n \\"ErrMsg\\": \\"DTS-1020042 Execute sql error sql: Table \'customer\' already exists\\",\\n \\"LogLevel\\": \\"ERROR\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ],\\n \\"SubDistributedJobStatus\\": [\\n {\\n \\"JobName\\": \\"dts.step.struct.load\\",\\n \\"State\\": \\"Finished\\",\\n \\"JobId\\": \\"n0gm1682j6563np\\",\\n \\"ErrorItem\\": 0,\\n \\"Code\\": \\"02\\",\\n \\"Total\\": 11,\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": true,\\n \\"FinishTime\\": \\"2022-03-31T03:36:11.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"None\\",\\n \\"State\\": \\"Finished\\",\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000+00:00\\",\\n \\"Item\\": \\"login_common_time\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 11,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": false,\\n \\"Names\\": \\"metricRuleTargets-20180308houe\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 0,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"SourceSchema\\": \\"databasetest\\",\\n \\"DestSchema\\": \\"databasetest\\",\\n \\"ParentObj\\": \\"None\\",\\n \\"ErrMsg\\": \\"ODPS project does not exist odps.`huijin\\",\\n \\"OrderNum\\": 1,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\\\t\\\\n\\",\\n \\"Id\\": \\"3890****\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` (\\\\\\\\n`runoob_id` int(10) unsigned auto_increment COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_title` varchar(100) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`runoob_author1216` varchar(40) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NOT NULL , \\\\\\\\n`submission_date1216` date COMMENT \'\' NULL \\\\\\\\n, PRIMARY KEY (`runoob_id`)) engine=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\\\\\n\\",\\n \\"ErrMsg\\": \\"get metric list fail\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ]\\n }\\n ],\\n \\"FullNetCheckJobStatus\\": [\\n {\\n \\"JobName\\": \\"dts.step.fullnetcheck\\",\\n \\"State\\": \\"Success\\",\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"ErrorItem\\": 0,\\n \\"Code\\": \\"01\\",\\n \\"Total\\": 11,\\n \\"HostRegion\\": \\"cn-hangzhou\\",\\n \\"SrcRegion\\": \\"cn-hangzhou\\",\\n \\"DestRegion\\": \\"cn-hangzhou\\",\\n \\"SrcRegionCidr\\": \\"100.104.XX.XXX/XX\\",\\n \\"DestRegionCidr\\": \\"100.104.XX.XXX/XX\\",\\n \\"SourceEndpointType\\": \\"CEN\\",\\n \\"DestinationEndpointType\\": \\"CEN\\",\\n \\"JobProgress\\": [\\n {\\n \\"Skip\\": false,\\n \\"FinishTime\\": \\"2022-03-31T03:36:11.000+00:00\\",\\n \\"IgnoreFlag\\": \\"N\\",\\n \\"DelaySeconds\\": 0,\\n \\"DdlSql\\": \\"CREATE TABLE ****\\",\\n \\"State\\": \\"Success\\",\\n \\"BootTime\\": \\"2022-03-30T03:36:11.000+00:00\\",\\n \\"Item\\": \\"CHECK_CONN_SRC\\",\\n \\"Sub\\": \\"[]\\",\\n \\"Total\\": 11,\\n \\"TargetNames\\": \\"order\\",\\n \\"CanSkip\\": false,\\n \\"Names\\": \\"CHECK_CONN_SRC_DETAIL\\",\\n \\"ErrDetail\\": \\"CHECK__ERROR_SAME_OBJ_DETAIL\\",\\n \\"DiffRow\\": 1,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"SourceSchema\\": \\"dtstestdata\\",\\n \\"DestSchema\\": \\"dest\\",\\n \\"ParentObj\\": \\"demo\\",\\n \\"ErrMsg\\": \\"ODPS project does not exist odps.`huijin\\",\\n \\"OrderNum\\": 1,\\n \\"RepairMethod\\": \\"CHECK__ERROR_SAME_OBJ_REPAIR\\",\\n \\"Id\\": \\"922305811766881****\\",\\n \\"Logs\\": [\\n {\\n \\"ErrData\\": \\"CREATE TABLE `dtstestdata`.`customer` ****\\",\\n \\"ErrMsg\\": \\"get metric list fail\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"ErrType\\": \\"ForeignKey\\"\\n }\\n ],\\n \\"Current\\": \\"0\\"\\n }\\n ]\\n }\\n ],\\n \\"NetworkDiagnosisResult\\": {\\n \\"ModelVersion\\": \\"network-v0.2\\",\\n \\"Diagnosis\\": [\\n {\\n \\"EndpointType\\": \\"source\\",\\n \\"Code\\": \\"dts.kunlun.diagnosis.network.express_doc\\",\\n \\"CnDocUrl\\": \\"https://***.ali***.com/document_detail/470447.html\\",\\n \\"InternationalDocUrl\\": \\"https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn\\",\\n \\"Result\\": \\"none\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePreCheckStatusResponse>\\n <State>Finished</State>\\n <Success>true</Success>\\n <PageRecordCount>20</PageRecordCount>\\n <Total>0</Total>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>C096FA97-B6BA-4575-899D-61E12B59****</RequestId>\\n <JobName>预检查</JobName>\\n <JobId> b4my3zg929a****</JobId>\\n <ErrorItem>0</ErrorItem>\\n <ErrorAnalysisItem>0</ErrorAnalysisItem>\\n <TotalRecordCount>100</TotalRecordCount>\\n <Code>01</Code>\\n <PageNumber>1</PageNumber>\\n <JobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-16T08:01:34.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE `dtstestdata`.`order` (\\\\n`orderid` int(11) COMMENT \'\' NOT NULL , \\\\n`username` char(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\n`ordertime` datetime COMMENT \'\' NULL , \\\\n`commodity` varchar(32) CHARSET `utf8` COLLATE `utf8_general_ci` COMMENT \'\' NULL , \\\\n`phonenumber` int(11) COMMENT \'\' NULL , \\\\n`address` text CHARSET `utf8mb4` COLLATE `utf8mb4_general_ci` COMMENT \'\' NULL \\\\n, PRIMARY KEY (`orderid`)) engine=InnoDB DEFAULT CHARSET=`gbk` DEFAULT COLLATE `gbk_chinese_ci` ROW_FORMAT= Dynamic comment = \'\' ;\\\\n</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-16T08:01:31.000+00:00</BootTime>\\n <Item>CHECK_CONN_DEST</Item>\\n <Sub>[]</Sub>\\n <Total>1</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>true</CanSkip>\\n <Names>CHECK_CONN_DEST_DETAIL</Names>\\n <ErrDetail>CHECK__ERROR_SAME_OBJ_DETAIL</ErrDetail>\\n <DiffRow>1</DiffRow>\\n <JobId>fj1c33ro168****</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dtstestdata_new</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <ErrMsg>CHECK__ERROR_SAME_OBJ</ErrMsg>\\n <OrderNum>10</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR</RepairMethod>\\n <Id>5632</Id>\\n <Current>0</Current>\\n </JobProgress>\\n <AnalysisJobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-16T08:01:31.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE ****</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-16T08:01:31.000+00:00</BootTime>\\n <Item>ANALYSIS_MYSQL_4_ITEM</Item>\\n <Sub>[]</Sub>\\n <Total>1</Total>\\n <TargetNames>testTable</TargetNames>\\n <CanSkip>true</CanSkip>\\n <Names>ANALYSIS_MYSQL_4_DETAIL</Names>\\n <ErrDetail>ANALYSIS_MYSQL</ErrDetail>\\n <DiffRow>1</DiffRow>\\n <JobId>11234234xc</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dest</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <ErrMsg>ANALYSIS_</ErrMsg>\\n <OrderNum>10</OrderNum>\\n <RepairMethod>ANALYSIS_</RepairMethod>\\n <Id>123123</Id>\\n <Current>0</Current>\\n </AnalysisJobProgress>\\n <SubDistributedJobStatus>\\n <JobName>dts.step.struct.load</JobName>\\n <State>Finished</State>\\n <JobId>n0gm1682j6563np</JobId>\\n <ErrorItem>0</ErrorItem>\\n <Code>02</Code>\\n <Total>11</Total>\\n <JobProgress>\\n <Skip>true</Skip>\\n <FinishTime>2022-03-31T03:36:11.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>None</DdlSql>\\n <State>Finished</State>\\n <BootTime>2022-03-30T03:36:11.000+00:00</BootTime>\\n <Item>login_common_time</Item>\\n <Sub>[]</Sub>\\n <Total>11</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>false</CanSkip>\\n <Names>metricRuleTargets-20180308houe</Names>\\n <ErrDetail>CHECK__ERROR_SAME_OBJ_DETAIL</ErrDetail>\\n <JobId>l3m1213ye7l****</JobId>\\n <SourceSchema>databasetest</SourceSchema>\\n <DestSchema>databasetest</DestSchema>\\n <ParentObj>None</ParentObj>\\n <ErrMsg>ODPS project does not exist odps.`huijin</ErrMsg>\\n <OrderNum>1</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR\\t\\n</RepairMethod>\\n <Id>3890****</Id>\\n <Current>0</Current>\\n </JobProgress>\\n </SubDistributedJobStatus>\\n <FullNetCheckJobStatus>\\n <JobName>dts.step.fullnetcheck</JobName>\\n <State>Success</State>\\n <JobId>l3m1213ye7l****</JobId>\\n <ErrorItem>0</ErrorItem>\\n <Code>01</Code>\\n <Total>11</Total>\\n <HostRegion>cn-hangzhou</HostRegion>\\n <SrcRegion>cn-hangzhou</SrcRegion>\\n <DestRegion>cn-hangzhou</DestRegion>\\n <SrcRegionCidr>100.104.XX.XXX/XX</SrcRegionCidr>\\n <DestRegionCidr>100.104.XX.XXX/XX</DestRegionCidr>\\n <SourceEndpointType>CEN</SourceEndpointType>\\n <DestinationEndpointType>CEN</DestinationEndpointType>\\n <JobProgress>\\n <Skip>false</Skip>\\n <FinishTime>2022-03-31T03:36:11.000+00:00</FinishTime>\\n <IgnoreFlag>N</IgnoreFlag>\\n <DelaySeconds>0</DelaySeconds>\\n <DdlSql>CREATE TABLE ****</DdlSql>\\n <State>Success</State>\\n <BootTime>2022-03-30T03:36:11.000+00:00</BootTime>\\n <Item>CHECK_CONN_SRC</Item>\\n <Sub>[]</Sub>\\n <Total>11</Total>\\n <TargetNames>order</TargetNames>\\n <CanSkip>false</CanSkip>\\n <Names>CHECK_CONN_SRC_DETAIL</Names>\\n <DiffRow>1</DiffRow>\\n <JobId>l3m1213ye7l****</JobId>\\n <SourceSchema>dtstestdata</SourceSchema>\\n <DestSchema>dest</DestSchema>\\n <ParentObj>demo</ParentObj>\\n <OrderNum>1</OrderNum>\\n <RepairMethod>CHECK__ERROR_SAME_OBJ_REPAIR</RepairMethod>\\n <Id>922305811766881****</Id>\\n <Current>0</Current>\\n </JobProgress>\\n </FullNetCheckJobStatus>\\n <NetworkDiagnosisResult>\\n <ModelVersion>network-v0.2</ModelVersion>\\n <Diagnosis>\\n <EndpointType>source</EndpointType>\\n <Code>dts.kunlun.diagnosis.network.express_doc</Code>\\n <CnDocUrl>https://***.ali***.com/document_detail/470447.html</CnDocUrl>\\n <InternationalDocUrl>https://www.ali***.com/help/en/data-transmission-service/latest/how-to-solve-an-error-when-accessing-a-database-instance-to-dts-using-vpn</InternationalDocUrl>\\n </Diagnosis>\\n </NetworkDiagnosisResult>\\n</DescribePreCheckStatusResponse>","errorExample":""}]',
+ 'title' => 'DescribePreCheckStatus',
+ 'summary' => 'Queries the status of a Data Transmission Service (DTS) subtask that performs precheck, schema migration, initial schema synchronization, full data migration, initial full data synchronization, incremental data migration, or incremental data synchronization.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeSubscriptionMeta' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Sid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'z38m91gg2******',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the distributed change tracking instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsbr4m9luv2******',
+ ],
+ ],
+ [
+ 'name' => 'SubMigrationJobIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of all subtasks in the distributed change tracking task. Separate multiple subtask IDs with commas (,).'."\n"
+ ."\n"
+ .'> You must specify at least one of the SubMigrationJobIds and **Topics** parameters. We recommend that you specify the SubMigrationJobIds parameter.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => 'z38m91gg2******',
+ ],
+ ],
+ [
+ 'name' => 'Topics',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The topics of all subtasks in the distributed change tracking task. Separate multiple topics with commas (,).'."\n"
+ ."\n"
+ .'> You must specify at least one of the **SubMigrationJobIds** and Topics parameters. We recommend that you specify the **SubMigrationJobIds** parameter.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => 'cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the change tracking instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C12E7A51-09A4-5796-94BE-08B6DA******',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'SubscriptionMetaList' => [
+ 'description' => 'The details of the subtasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Sid' => [
+ 'description' => 'The consumer group ID of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'z38m91gg2******',
+ ],
+ 'Checkpoint' => [
+ 'description' => 'The consumer offset of the subtask. It is a UNIX timestamp that is generated when the client consumes the first data record. Unit: seconds.'."\n"
+ ."\n"
+ .'> You can use a search engine to obtain a UNIX timestamp converter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1610524452',
+ ],
+ 'DProxyUrl' => [
+ 'description' => 'The endpoint and port number of the change tracking instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dts-cn-hangzhou.aliyuncs.com:18001',
+ ],
+ 'DBList' => [
+ 'description' => 'The objects of the subtask. For more information, see [Objects of DTS tasks](~~209545~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"dtstestdata\\":{\\"name\\":\\"dtstestdata\\",\\"all\\":false,\\"Table\\":{\\"order\\":{\\"name\\":\\"order\\",\\"all\\":true}}}}',
+ ],
+ 'Topic' => [
+ 'description' => 'The topic of the subtask.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C12E7A51-09A4-5796-94BE-08B6DA******\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"SubscriptionMetaList\\": [\\n {\\n \\"Sid\\": \\"z38m91gg2******\\",\\n \\"Checkpoint\\": 1610524452,\\n \\"DProxyUrl\\": \\"dts-cn-hangzhou.aliyuncs.com:18001\\",\\n \\"DBList\\": \\"{\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"dtstestdata\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"Table\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"order\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"order\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\":true}}}}\\",\\n \\"Topic\\": \\"cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubscriptionMetaResponse>\\n <SubscriptionMetaList>\\n <Checkpoint>1610524452</Checkpoint>\\n <DBList>{\\\\\\"dtstestdata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"dtstestdata\\\\\\",\\\\\\"all\\\\\\":false,\\\\\\"Table\\\\\\":{\\\\\\"order\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"order\\\\\\",\\\\\\"all\\\\\\":true}}}}</DBList>\\n <DProxyUrl>dts-cn-hangzhou.aliyuncs.com:18001</DProxyUrl>\\n <Topic>cn_hangzhou_rm_bp1n0x0x5tz******_dtstestdata_version2</Topic>\\n <Sid>z38m91gg2******</Sid>\\n </SubscriptionMetaList>\\n <RequestId>C12E7A51-09A4-5796-94BE-08B6DA******</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DescribeSubscriptionMetaResponse>","errorExample":""}]',
+ 'title' => 'DescribeSubscriptionMeta',
+ 'summary' => 'Queries the details of the subtasks in a distributed change tracking task for a PolarDB-X 1.0 instance.',
+ 'description' => '* When Data Transmission Service (DTS) tracks data changes from a PolarDB-X 1.0 instance, data is distributed across the attached ApsaraDB RDS for MySQL instances. DTS runs a subtask for each ApsaraDB RDS for MySQL instance. You can call this operation to query the details of the subtasks in a distributed change tracking task.'."\n"
+ .'* You can call the [DescribeDtsJobs](~~209702~~) operation to query the ID of the change tracking instance and the ID of the consumer group.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeTagKeys' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of tags to return on each page if the DTS instance has multiple tags. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '0',
+ 'example' => '20',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1. This parameter is used together with PageSize.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl5o11f9029c****',
+ ],
+ ],
+ [
+ 'name' => 'Category',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the tag. Valid values:'."\n"
+ ."\n"
+ .'* **Custom**: The tag is added by a user.'."\n"
+ .'* **System**: The tag is added by the system.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, custom tags and system tags are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Custom',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Category' => [
+ 'description' => 'The type of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'Custom',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of tags returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The start page of the returned pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned tag keys.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TagKeys' => [
+ 'description' => 'The key of the tag.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The key of the tag.',
+ 'type' => 'string',
+ 'example' => '["a","x"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.Category',
+ 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.ResourceType',
+ 'errorMessage' => 'The ResourceType parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"TagKeys\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagKeysResponse>\\n <TotalCount>10</TotalCount>\\n <Category>Custom</Category>\\n <RequestId>AD110813-9AD6-5F07-BFC8-4C841309****</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <TagKeys>a</TagKeys>\\n <TagKeys>x</TagKeys>\\n</DescribeTagKeysResponse>","errorExample":""}]',
+ 'title' => 'DescribeTagKeys',
+ 'summary' => 'Queries all the tags added to a data migration, data synchronization, or change tracking instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeTagValues' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of tag values to return each time for a tag key that has multiple values. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '0',
+ 'example' => '20',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number of the start page to return for a tag key that has multiple values. The valid value ranges from 1 to the maximum value of the INTEGER data type. This parameter is often used with the PageSize parameter. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **ALIYUN::DTS::INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALIYUN::DTS::INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> If this parameter is left empty, the values of all tag keys of the current user are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl5o11f9029c****',
+ ],
+ ],
+ [
+ 'name' => 'Category',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the tag key. Valid values:'."\n"
+ ."\n"
+ .'* **Custom**: The tag key is created by users.'."\n"
+ .'* **System**: The tag key is created by the system.'."\n"
+ ."\n"
+ .'> By default, if the parameter is left empty, both custom tag keys and system tag keys are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Custom',
+ ],
+ ],
+ [
+ 'name' => 'Key',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tag key.'."\n"
+ ."\n"
+ .'> This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'owner',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Category' => [
+ 'description' => 'The type of the tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'Custom',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD110813-9AD6-5F07-BFC8-4C841309****',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of tag values returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The start page of the returned pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of tag values that are associated with the tag key.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '13',
+ ],
+ 'TagValues' => [
+ 'description' => 'The tag values that are associated with the tag key.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The value corresponding to the tag key.',
+ 'type' => 'string',
+ 'example' => '["a","x"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.Category',
+ 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.ResourceType',
+ 'errorMessage' => 'The ResourceType parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Category\\": \\"Custom\\",\\n \\"RequestId\\": \\"AD110813-9AD6-5F07-BFC8-4C841309****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 13,\\n \\"TagValues\\": [\\n \\"[\\\\\\"a\\\\\\",\\\\\\"x\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagValuesResponse>\\n <pageNumber>1</pageNumber>\\n <tagValues>a</tagValues>\\n <tagValues>b</tagValues>\\n <totalRecordCount>13</totalRecordCount>\\n <pageRecordCount>10</pageRecordCount>\\n <requestId>AD110813-9AD6-5F07-BFC8-4C841309****</requestId>\\n <success>true</success>\\n <httpStatusCode>200</httpStatusCode>\\n</DescribeTagValuesResponse>","errorExample":""}]',
+ 'title' => 'DescribeTagValues',
+ 'summary' => 'Queries all the tag values of a tag bound to a data migration, data synchronization, or change tracking instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'InitDtsRdsInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the active geo-redundancy database cluster resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'EndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the node. Valid values:'."\n"
+ ."\n"
+ .'* **RDS**: an ApsaraDB RDS for MySQL instance'."\n"
+ .'* **CEN**: a self-managed MySQL database that is connected over CEN'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RDS',
+ ],
+ ],
+ [
+ 'name' => 'EndpointRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'If the node is an ApsaraDB RDS for MySQL instance, you must specify the region in which the ApsaraDB RDS for MySQL instance resides.'."\n"
+ ."\n"
+ .'> * You must also specify the **EndpointInstanceId** parameter.'."\n"
+ .'>* You must specify the EndpointRegion parameter or the **EndpointCenId** parameter based on the type of the node.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'EndpointInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'If the node is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance.'."\n"
+ ."\n"
+ .'> * You must also specify the **EndpointRegion** parameter.'."\n"
+ .'>* You must specify the EndpointInstanceId parameter or the **EndpointCenId** parameter based on the type of the node.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ [
+ 'name' => 'EndpointCenId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'If the node is a self-managed MySQL database that is connected over CEN, you must specify the ID of the CEN instance.'."\n"
+ ."\n"
+ .'> You must specify the **EndpointRegion** and **EndpointInstanceId** parameters or the EndpointCenId parameter based on the type of the node.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cen-9kqshqum*******',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtszvxa4qmot6p****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7796ECE0-9C17-5E4D-9CE6-B7EC825A****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid. ',
+ ],
+ 'AdminAccount' => [
+ 'description' => 'The built-in account that is used by DTS to connect to the node.'."\n",
+ 'type' => 'string',
+ 'example' => 'rdsdt_dtsacct',
+ ],
+ 'AdminPassword' => [
+ 'description' => 'The password of the built-in account.'."\n",
+ 'type' => 'string',
+ 'example' => '1jecpqrtc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"7796ECE0-9C17-5E4D-9CE6-B7EC825A****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\\\t\\",\\n \\"AdminAccount\\": \\"rdsdt_dtsacct\\",\\n \\"AdminPassword\\": \\"1jecpqrtc****\\"\\n}","errorExample":""},{"type":"xml","example":"<InitDtsRdsInstanceResponse>\\n <RequestId>7796ECE0-9C17-5E4D-9CE6-B7EC825A****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <AdminAccount>rdsdt_dtsacct</AdminAccount>\\n <Success>true</Success>\\n <AdminPassword>1jecpqrtc****</AdminPassword>\\n</InitDtsRdsInstanceResponse>","errorExample":""}]',
+ 'title' => 'InitDtsRdsInstance',
+ 'summary' => 'Initializes a built-in account on a node of an active geo-redundancy database cluster. Data Transmission Service (DTS) uses the built-in account to connect to the node and perform data synchronization tasks.',
+ 'description' => '* The node must be an ApsaraDB RDS for MySQL instance or a self-managed MySQL database that is connected over Cloud Enterprise Network (CEN).'."\n"
+ .'* This operation is used to initialize the built-in account named rdsdt_dtsacct on a node of an active geo-redundancy database cluster. DTS uses this account to connect to the node and perform data synchronization tasks.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySubscription' => [
+ 'summary' => 'Modifies the information about a change tracking task.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts7755BW',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'dtsboss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'DbList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The objects of the change tracking task. The value is a JSON string. For more information, see [Objects of DTS tasks](~~209545~~).'."\n"
+ ."\n"
+ .'> You can call the [DescribeDtsJobDetail](~~208925~~) operation to query the original objects of the task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '{"dtstest":{"name":"dtstest","all":true}}',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'boss6pn1w******',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataTypeDDL',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to retrieve data definition language (DDL) statements. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscriptionDataTypeDML',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to retrieve data manipulation language (DML) statements. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'Reserved',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ModifyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '068FA72F-4800-4A54-90BB-94806068****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySubscriptionResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</ModifySubscriptionResponse>","errorExample":""}]',
+ 'title' => 'ModifySubscription',
+ 'description' => '> You can preview related API operation parameters when you modify the information about a change tracking task in the Data Transmission Service (DTS) console. This helps you configure the request parameters of this API operation. For more information, see [Preview the request parameters of API operations](~~2851612~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RenewInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization or change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qi0r643lc31****',
+ ],
+ ],
+ [
+ 'name' => 'ChargeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method of the DTS instance. Set the value to **PREPAY**, which specifies the subscription billing method.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PREPAY',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing cycle of the DTS instance after renewal. Valid values:'."\n"
+ ."\n"
+ .'* **Year**'."\n"
+ .'* **Month** (default)'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Month',
+ ],
+ ],
+ [
+ 'name' => 'BuyCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription duration of the DTS instance after renewal. Default value: 1.'."\n"
+ ."\n"
+ .'* If **Period** is set to **Year**, the valid values are **1 to 5**.'."\n"
+ .'* If **Period** is set to **Month**, the valid values are **1 to 60**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'EndTime' => [
+ 'description' => 'The time when the DTS instance expires after renewal. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ssZZZ* format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> **ZZZ** indicates the offset of the time zone, which is displayed in the format of a plus sign (+) or a minus sign (-) followed by hours and minutes, such as **+00:00**.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-08-04T16:00:00.000+00:00',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '1112E255-0C38-4970-8159-1D54AD92****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data synchronization or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'qi0r643lc31****',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'ChargeType' => [
+ 'description' => 'The billing method of the DTS instance. Only **PREPAY** may be returned, which indicates the subscription billing method.'."\n",
+ 'type' => 'string',
+ 'example' => 'PREPAY',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request failed.'."\n"
+ ."\n"
+ .'> This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the value of **ErrMessage**.'."\n"
+ ."\n"
+ .'> If the return value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the return value of **DynamicMessage** is **DtsJobId**, the specified value of **DtsJobId** is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the instance'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsqi0r643lc31****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"RequestId\\": \\"1112E255-0C38-4970-8159-1D54AD92****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"qi0r643lc31****\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsqi0r643lc31****\\"\\n}","errorExample":""},{"type":"xml","example":"<RenewInstanceResponse>\\n<DtsJobId>qi0r643lc31****</DtsJobId>\\n<EndTime>2021-08-04T16:00:00.000+00:00</EndTime>\\n<RequestId>1112E255-0C38-4970-8159-1D54AD92****</RequestId>\\n<InstanceId>dtsqi0r643lc31****</InstanceId>\\n<ChargeType>PREPAY</ChargeType>\\n<HttpStatusCode>200</HttpStatusCode>\\n<Success>true</Success>\\n</RenewInstanceResponse>","errorExample":""}]',
+ 'title' => 'RenewInstance',
+ 'summary' => 'Renews a Data Transmission Service (DTS) instance. This API operation is available only for subscription instances.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SkipPreCheck' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The precheck task ID. You can call the **DescribePreCheckStatus** operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'b4my3zg929a****',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to skip the precheck item. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SkipPreCheckItems',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The shortened name of the precheck item. Valid values:'."\n"
+ ."\n"
+ .'* **\\["CHECK_SAME_OBJ"]**: object name conflict.'."\n"
+ .'* **\\["CHECK_SAME_USER"]**: username conflict.'."\n"
+ .'* **\\["CHECK_SRC"]**: source database version.'."\n"
+ .'* **\\["CHECK_TOPOLOGY"]**: topology. For more information about the topologies supported by Data Transmission Service (DTS), see [Synchronization topologies](~~124115~~).'."\n"
+ .'* **\\["CHECK_SERVER_ID"]**: the server ID of the source database.'."\n"
+ .'* **\\["CHECK_DEST_TABLE_EMPTY"]**: existence of objects in the destination database.'."\n"
+ ."\n"
+ .'> Separate multiple item names with commas (,). Example: **\\["CHECK_SRC","CHECK_SAME_OBJ"]**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '["CHECK_SAME_OBJ"]',
+ ],
+ ],
+ [
+ 'name' => 'SkipPreCheckNames',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The precheck item name. This parameter corresponds to **SkipPreCheckItems**. Valid values:'."\n"
+ ."\n"
+ .'* **\\["CHECK_SAME_OBJ_DETAIL"]**: object name conflict.'."\n"
+ .'* **\\["CHECK_SAME_USER_DETAIL"]**: username conflict.'."\n"
+ .'* **\\["CHECK_SRC_DETAIL"]**: source database version.'."\n"
+ .'* **\\["CHECK_TOPOLOGY_DETAIL"]**: topology. For more information about the topologies supported by DTS, see [Synchronization topologies](~~124115~~).'."\n"
+ .'* **\\["CHECK_SERVER_ID_DETAIL"]**: the server ID of the source database.'."\n"
+ .'* **\\["CHECK_DEST_TABLE_EMPTY_DETAIL"]**: empty tables in the destination database.'."\n"
+ ."\n"
+ .'> Separate multiple item names with commas (,). Example: **\\["CHECK_SRC_DETAIL","CHECK_SAME_OBJ_DETAIL"]**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '["CHECK_SAME_OBJ_DETAIL"]',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'c7412z57g8k****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status codes returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8C498360-7892-433C-847A-BA71A850****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'SkipNames' => [
+ 'description' => 'The precheck item name.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_SAME_OBJ_DETAIL',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'ScheduleJobId' => [
+ 'description' => 'The precheck task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'b4my3zg929a****',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace %s in ErrMessage.'."\n"
+ ."\n"
+ .'> If JobId is invalid, JobId is returned for DynamicMessage, and the following message is returned for ErrMessage: The Value of Input Parameter %s is not valid.'."\n",
+ 'type' => 'string',
+ 'example' => 'JobId',
+ ],
+ 'MigrationJobId' => [
+ 'description' => 'The precheck task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'b4my3zg929a****',
+ ],
+ 'SkipItems' => [
+ 'description' => 'The shortened name of the precheck item.'."\n",
+ 'type' => 'string',
+ 'example' => 'CHECK_SAME_OBJ',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8C498360-7892-433C-847A-BA71A850****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"SkipNames\\": \\"CHECK_SAME_OBJ_DETAIL\\",\\n \\"Code\\": \\"200\\",\\n \\"ScheduleJobId\\": \\"b4my3zg929a****\\",\\n \\"DynamicMessage\\": \\"JobId\\",\\n \\"MigrationJobId\\": \\"b4my3zg929a****\\",\\n \\"SkipItems\\": \\"CHECK_SAME_OBJ\\"\\n}","errorExample":""},{"type":"xml","example":"<SkipPreCheckResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>8C498360-7892-433C-847A-BA71A850****</RequestId>\\n <Success>true</Success>\\n <SkipNames>CHECK_SAME_OBJ_DETAIL</SkipNames>\\n <ScheduleJobId>b4my3zg929a****</ScheduleJobId>\\n <MigrationJobId>b4my3zg929a****</MigrationJobId>\\n <SkipItems>CHECK_SAME_OBJ</SkipItems>\\n</SkipPreCheckResponse>","errorExample":""}]',
+ 'title' => 'SkipPreCheck',
+ 'summary' => 'Skips one or more precheck items.',
+ ],
+ 'StartDtsJobs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52310',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* For multiple tasks, separate them with commas (**,**).'."\n"
+ .'* You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'l5o11f9029c****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the returned value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the returned value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.NotPurchased',
+ 'errorMessage' => 'The instance has not been purchased and the task cannot be started.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]',
+ 'title' => 'StartDtsJobs',
+ 'summary' => 'Starts multiple data migration or data synchronization tasks.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ ],
+ 'StopDtsJobs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52315',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Separate multiple task IDs by **,** (commas).'."\n"
+ .'* You can call the [DescribeDtsJobs](~~209702~~) operation to query task IDs.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'l5o11f9029c****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekzsf6yoxhfpva',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the returned value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the returned value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]',
+ 'title' => 'StopDtsJobs',
+ 'summary' => 'Stops multiple data migration or data synchronization tasks.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ ],
+ 'SummaryJobDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '52317',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n"
+ ."\n"
+ .'> You must specify at least one of the DtsJobId and DtsInstanceId parameters.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'JobCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The phase of the data migration task. Valid values:'."\n"
+ ."\n"
+ .'* **02**: The task is in the schema migration phase.'."\n"
+ .'* **03**: The task is in the incremental migration phase.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '02',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The synchronization direction of the data synchronization task. Valid values:'."\n"
+ ."\n"
+ .'* **Forward**: Data is synchronized from the source database to the destination database.'."\n"
+ .'* **Reverse**: Data is synchronized from the destination database to the source database.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Default value: **Forward**.'."\n"
+ .'* You can set this parameter to **Reverse** to delete the reverse synchronization task only if the topology is two-way synchronization.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization instance.'."\n"
+ ."\n"
+ .'> You must specify at least one of the DtsJobId and DtsInstanceId parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'StructType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of schema definition. Valid values:'."\n"
+ ."\n"
+ .'* **before**: schema migration or initial schema synchronization'."\n"
+ .'* **after**: DDL operations performed during incremental data migration or synchronization'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'before',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'Resource group ID.',
+ 'example' => 'rg-aek25bwhtt22cjq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'Code' => [
+ 'description' => 'The error code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9033138C-5AB3-5EB7-BA78-43131F19297C',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The request was successful.'."\n"
+ .'* **false**: The request failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'l3m1213ye7l****',
+ ],
+ 'ProgressSummaryDetails' => [
+ 'description' => 'The returned information about the migrated or synchronized objects in arrays.'."\n"
+ ."\n"
+ .'> The arrays are in the following format: \\[{"key":"Function","state":5,"totalCount":22},{"key":"Procedure","state":5,"totalCount":26},{"key":"Table","state":0,"totalCount":68},{"key":"View","state":5,"totalCount":100}].'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The type of migrated or synchronized object. Valid values: **Table**, **Constraint**, **Index**, **View**, **Materialize View**, **Type**, **Synonym**, **Trigger**, **Function**, **Procedure**, **Package**, **Default**, **Rule**, **PlanGuide**, and **Sequence**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Table',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of migrated or synchronized objects.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'State' => [
+ 'description' => 'The state of the data migration or data synchronization task. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The task was complete.'."\n"
+ .'* **1**: The task was waiting to start.'."\n"
+ .'* **2**: The task was being initialized.'."\n"
+ .'* **3**: The task was in progress.'."\n"
+ .'* **4**: An error occurred.'."\n"
+ .'* **5**: The task failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"200\\",\\n \\"RequestId\\": \\"9033138C-5AB3-5EB7-BA78-43131F19297C\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"l3m1213ye7l****\\",\\n \\"ProgressSummaryDetails\\": [\\n {\\n \\"Key\\": \\"Table\\",\\n \\"TotalCount\\": 100,\\n \\"State\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<SummaryJobDetailResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Code>200</Code>\\n <RequestId>9033138C-5AB3-5EB7-BA78-43131F19297C</RequestId>\\n <Success>true</Success>\\n <JobId>l3m1213ye7l****</JobId>\\n <ProgressSummaryDetails>\\n <Key>Table</Key>\\n <TotalCount>100</TotalCount>\\n <State>0</State>\\n </ProgressSummaryDetails>\\n</SummaryJobDetailResponse>","errorExample":""}]',
+ 'title' => 'SummaryJobDetail',
+ 'summary' => 'Queries the number of migrated or synchronized objects in a Data Transmission Service (DTS) task.',
+ ],
+ 'SuspendDtsJobs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '52319',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsQYRBZN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* For multiple tasks, separate them with commas (,).'."\n"
+ .'* You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'hfi12iv4z7e****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]',
+ 'title' => 'SuspendDtsJobs',
+ 'summary' => 'Suspends multiple Data Transmission Service (DTS) tasks.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ ],
+ 'TransferInstanceClass' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'OrderType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Set the value to **UPGRADE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'UPGRADE',
+ ],
+ ],
+ [
+ 'name' => 'InstanceClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new instance class of the DTS instance. You can call the [DescribeDtsJobDetail](~~208925~~) operation to query the original instance class of the DTS instance.'."\n"
+ ."\n"
+ .'* DTS supports the following instance classes for a data migration instance: **xxlarge**, **xlarge**, **large**, **medium**, and **small**.'."\n"
+ .'* DTS supports the following instance classes for a data synchronization instance: **large**, **medium**, **small**, and **micro**.'."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization channels](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'large',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'r4yr723m199****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => [
+ 'description' => 'The expiration time of the DTS instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the value of the ChargeType parameter is **PREPAY**.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-08-04T16:00:00.000+00:00',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '716DB03E-2D0B-4DC3-BC4C-F7A9EE21****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration or data synchronization task.'."\n",
+ 'type' => 'string',
+ 'example' => 'r4yr723m199****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ChargeType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **POSTPAY**: pay-as-you-go.'."\n"
+ .'* **PREPAY**: subscription.'."\n",
+ 'type' => 'string',
+ 'example' => 'POSTPAY',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code that is returned.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the value of the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> For example, if the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified value of the **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsr4yr723m199****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2021-08-04T16:00:00.000+00:00\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"716DB03E-2D0B-4DC3-BC4C-F7A9EE21****\\",\\n \\"DtsJobId\\": \\"r4yr723m199****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtsr4yr723m199****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferInstanceClassResponse>\\n <DtsJobId>r4yr723m199****</DtsJobId>\\n <RequestId>716DB03E-2D0B-4DC3-BC4C-F7A9EE21****</RequestId>\\n <InstanceId>dtsr4yr723m199****</InstanceId>\\n <ChargeType>POSTPAY</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success> \\n</TransferInstanceClassResponse>","errorExample":""}]',
+ 'title' => 'TransferInstanceClass',
+ 'summary' => 'Upgrades or downgrades a Data Transmission Service (DTS) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TransferPayType' => [
+ 'summary' => 'Changes the billing method of a Data Transmission Service (DTS) instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '52325',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization or change tracking task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'o4nh3g7jg56****',
+ ],
+ ],
+ [
+ 'name' => 'ChargeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new billing method. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription.'."\n"
+ .'* **PostPaid**: pay-as-you-go.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PostPaid',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing cycle of the subscription instance. Valid values:'."\n"
+ ."\n"
+ .'* **Year**'."\n"
+ .'* **Month** (default value)'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the **ChargeType** parameter to **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Year',
+ ],
+ ],
+ [
+ 'name' => 'BuyCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription length.'."\n"
+ ."\n"
+ .'* If the **Period** parameter is set to **Year**, the value range is **1** to **5**.'."\n"
+ .'* If the **Period** parameter is set to **Month**, the value range is **1** to **60**.'."\n"
+ ."\n"
+ .'> You must specify this parameter only if you set the **ChargeType** parameter to **PrePaid**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the DTS instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MinDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum number of DTS Units (DUs) in a serverless instance. Valid values: 1, 2, 4, 8, and 16.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxDu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of DUs in a serverless instance. Valid values: 2, 4, 8, and 16.'."\n"
+ ."\n"
+ .'> This feature is not supported. Do not specify this parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '16',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => 'Specifies whether to automatically renew the DTS instance when it expires. Valid values:'."\n"
+ ."\n"
+ .'* **false**: does not automatically renew the DTS instance when it expires. This is the default value.'."\n"
+ .'* **true**: automatically renews the DTS instance when it expires.'."\n",
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The new instance class of the DTS instance. You can call the [DescribeDtsJobDetail](~~208925~~) operation to query the original instance class of the DTS instance.'."\n"
+ ."\n"
+ .'* DTS supports the following instance classes for a data migration instance: **xxlarge**, **xlarge**, **large**, **medium**, and **small**.'."\n"
+ .'* DTS supports the following instance classes for a data synchronization instance: **large**, **medium**, **small**, and **micro**.'."\n"
+ ."\n"
+ .'> For more information about the test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization channels](~~26605~~).'."\n",
+ 'example' => 'small',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => [
+ 'description' => 'The expiration time of the subscription instance. The value is a UNIX timestamp.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the DTS instance is a pay-as-you-go instance, the value of this parameter is empty.'."\n"
+ .'* You can use a search engine to obtain a UNIX timestamp converter.',
+ 'type' => 'string',
+ 'example' => '1614916318',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '601B6F25-21E7-4484-99D5-3EF2625C****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the DTS task.'."\n",
+ 'type' => 'string',
+ 'example' => 'o4nh3g7jg56****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ChargeType' => [
+ 'description' => 'The billing method of the DTS instance. Valid values:'."\n"
+ ."\n"
+ .'* **PrePaid**: subscription'."\n"
+ .'* **PostPaid**: pay-as-you-go'."\n",
+ 'type' => 'string',
+ 'example' => 'PostPaid',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtso4nh3g7jg56****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"1614916318\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"601B6F25-21E7-4484-99D5-3EF2625C****\\",\\n \\"DtsJobId\\": \\"o4nh3g7jg56****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"InstanceId\\": \\"dtso4nh3g7jg56****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransferPayTypeResponse>\\n <DtsJobId>o4nh3g7jg56****</DtsJobId>\\n <RequestId>601B6F25-21E7-4484-99D5-3EF2625C****</RequestId>\\n <InstanceId>dtso4nh3g7jg56****</InstanceId>\\n <ChargeType>PostPaid</ChargeType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</TransferPayTypeResponse>","errorExample":""}]',
+ 'title' => 'TransferPayType',
+ 'description' => 'Before you call this operation, make sure that you fully understand the [billing](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing) of DTS.'."\n"
+ ."\n"
+ .'* To prevent resource waste, make sure that the billing method of your DTS instances has to be changed.'."\n"
+ .'* Data migration instances only support the pay-as-you-go billing method.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpgradeTwoWay' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data synchronization instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'dtsh77p49x4k28****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance class of the two-way synchronization task. Valid values: **large**, **medium**, **micro**, and **small**.'."\n"
+ ."\n"
+ .'> For more information, see [Specifications of data synchronization instances](~~26605~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'large',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2D3B4615-923F-49AA-AF21-6D8E3967****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the **%s** variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the return value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and that of the **DynamicMessage** parameter is **InstanceId**, the specified **InstanceId** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"2D3B4615-923F-49AA-AF21-6D8E3967****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"InstanceId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","errorExample":""},{"type":"xml","example":"<StartDtsJobResponse>\\r\\n <RequestId>2D3B4615-923F-49AA-AF21-6D8E3967****</RequestId>\\r\\n <HttpStatusCode>200</HttpStatusCode>\\r\\n <Success>true</Success>\\r\\n</StartDtsJobResponse>","errorExample":""}]',
+ 'title' => 'UpgradeTwoWay',
+ 'summary' => 'Upgrades the synchronization topology of a data synchronization instance from one-way synchronization to two-way synchronization. This operation is supported only for pay-as-you-go synchronization instances.',
+ 'description' => 'Before you call this operation, make sure that you fully understand the billing methods and [pricing](https://www.alibabacloud.com/zh/product/data-transmission-service/pricing) of Data Transmission Service (DTS)'."\n"
+ ."\n"
+ .'When you call this operation, take note of the following information:'."\n"
+ ."\n"
+ .'* The source and destination databases of the data synchronization task are both **MySQL** databases.'."\n"
+ .'* The synchronization topology of the data synchronization task is **one-way synchronization**.'."\n"
+ .'* The data synchronization task is in the **Synchronizing** state.'."\n"
+ .'* The upgrade operation causes data synchronization latency of about 5 seconds. We recommend that you perform this operation during off-peak hours.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'WhiteIpList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '52328',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJGBLR6',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The access method for self built databases or third-party cloud databases, with a value of'."\n"
+ .' - Internet: accessed through the public network.'."\n"
+ .' - VPC: Connected through dedicated line/VPN gateway/intelligent gateway.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vpc',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the change tracking instance. The region ID is the same as that of the source instance. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DestinationRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID to which the target instance belongs, please refer to the supported region list for details.'."\n"
+ .'>>If the target instance is a self built database or third-party cloud database with a public IP address, you can pass in the cn Hangzhou or the region ID closest to the physical distance of the database.'."\n"
+ .' - When the DTS task is migration or synchronization, this parameter must be passed in.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the change tracking instance resides. For more information, see [List of supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether it is a seamless integration (Zero-ETL) task, the value can be:'."\n"
+ .'- **false**: No. - **true**: Yes.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'SrcVpcId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'source vpc id',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcPrimaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT source end main VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcSecondaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT source backup VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestVpcId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'source vpc id',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestPrimaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT destination main VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'DestSecondaryVswId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'VPCNAT destination backup VSW',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'SrcRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'source role Name',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'SrcAliyunUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'source aliyun uid',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1971721963139419',
+ ],
+ ],
+ [
+ 'name' => 'DestRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'destination role name',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts-sq',
+ ],
+ ],
+ [
+ 'name' => 'DestAliyunUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'destination aliyun uid',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek26mat2ldb4oy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AD823BD3-1BA6-4117-A536-165CB280****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'IpList' => [
+ 'description' => 'IP address.',
+ 'type' => 'string',
+ 'example' => '10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic error message. This parameter will be removed in the future.',
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be removed in the future.',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'SrcIpList' => [
+ 'description' => 'Source adaptation to VPC NAT IP whitelist',
+ 'type' => 'string',
+ 'example' => '127.0.0.1',
+ ],
+ 'DestIpList' => [
+ 'description' => 'Target end adaptation to VPCNAT IP whitelist',
+ 'type' => 'string',
+ 'example' => '127.0.0.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"AD823BD3-1BA6-4117-A536-165CB280****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"IpList\\": \\"10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"SrcIpList\\": \\"127.0.0.1\\",\\n \\"DestIpList\\": \\"127.0.0.1\\"\\n}","errorExample":""},{"type":"xml","example":"<WhiteIpListResponse>\\n <RequestId>AD823BD3-1BA6-4117-A536-165CB280****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n <IpList>10.151.12.0/24,47.102.181.0/24,47.101.109.0/24,120.55.129.0/24,11.115.103.0/24,47.102.234.0/24</IpList>\\n</WhiteIpListResponse>","errorExample":""}]',
+ 'title' => 'WhiteIpList',
+ 'summary' => 'If the \\\\\\\\*\\\\\\\\*source or destination instance\\\\\\\\*\\\\\\\\* is a \\\\\\\\*\\\\\\\\*self-managed database\\\\\\\\*\\\\\\\\* or a \\\\\\\\*\\\\\\\\*third-party cloud database\\\\\\\\*\\\\\\\\*, you need to call this operation to query the CIDR blocks of DTS servers. Then, you need to add the CIDR blocks of DTS servers to the security settings of the source or destination instance, for example, the firewall of your database. For more information, see \\\\\\\\[Add the CIDR blocks of DTS servers to the security settings of on-premises databases]\\\\\\(~~176627~~).'."\n"
+ ."\n"
+ .'\\\\\\> If the \\\\\\\\*\\\\\\\\*source or destination database\\\\\\\\*\\\\\\\\* is an \\\\\\\\*\\\\\\\\*ApsaraDB database instance\\\\\\\\*\\\\\\\\* (such as RDS instance and ApsaraDB for MongoDB instance) or a \\\\\\\\*\\\\\\\\*self-managed database hosted on Elastic Compute Service (ECS)\\\\\\\\*\\\\\\\\*, you do not need to add the CIDR blocks. When you click \\\\\\\\*\\\\\\\\*Set Whitelist and Next\\\\\\\\*\\\\\\\\* in the DTS console, DTS automatically adds the CIDR blocks of DTS servers to the security settings of the source o',
+ 'description' => 'The operation that you want to perform. Set the value to **WhiteIpList**.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeDtsEtlJobVersionInfo' => [
+ 'summary' => 'Queries the details of extract, transform, and load (ETL) tasks.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '0',
+ 'example' => '20',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Data Transmission Service (DTS) instance. You can call the [DescribeDtsJobs](~~209702~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtsggk12iwya1a****',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ETL task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'l5512es7w15****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides. You can call the [DescribeRegions](~~25609~~) operation to query the available Alibaba Cloud regions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. If the call failed, false is returned.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code. This example indicates that the specified ETL task ID is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'InvalidJobId',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of records returned on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of records.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message. This example indicates that the specified ETL task ID does not exist. In this case, the ETL task may have been deleted.'."\n",
+ 'type' => 'string',
+ 'example' => 'The specified dts job id %s is not exists.',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message.'."\n",
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip',
+ ],
+ 'DtsEtlJobVersionInfos' => [
+ 'description' => 'The details of ETL tasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The log level. Valid values: ERROR, WARN, INFO, and DEBUG.'."\n",
+ 'type' => 'string',
+ 'example' => 'INFO',
+ ],
+ 'DtsJobName' => [
+ 'description' => 'The name of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => 'test_sql',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => 'l5512es7w15****',
+ ],
+ 'Version' => [
+ 'description' => 'The version number of the ETL task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '9',
+ ],
+ 'DtsInstanceId' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsg******gd',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the ETL task was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1637229315000',
+ ],
+ 'SafeCheckpoint' => [
+ 'description' => 'The safe checkpoint of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => '1637230117000',
+ ],
+ 'Creator' => [
+ 'description' => 'The ID of the creator.'."\n",
+ 'type' => 'string',
+ 'example' => '10000000',
+ ],
+ 'ModifyTime' => [
+ 'description' => 'The time when the ETL task was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1637230117000',
+ ],
+ 'CreatorName' => [
+ 'description' => 'The username of the creator.'."\n",
+ 'type' => 'string',
+ 'example' => '***@****.com',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 200,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip\\",\\n \\"DtsEtlJobVersionInfos\\": [\\n {\\n \\"Status\\": \\"INFO\\",\\n \\"DtsJobName\\": \\"test_sql\\",\\n \\"DtsJobId\\": \\"l5512es7w15****\\",\\n \\"Version\\": 9,\\n \\"DtsInstanceId\\": \\"dtsg******gd\\",\\n \\"CreateTime\\": \\"1637229315000\\",\\n \\"SafeCheckpoint\\": \\"1637230117000\\",\\n \\"Creator\\": \\"10000000\\",\\n \\"ModifyTime\\": \\"1637230117000\\",\\n \\"CreatorName\\": \\"***@****.com\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDtsEtlJobVersionInfoResponse>\\n<requestId>62E37CD4-586B-50A4-99AA-3E60D2485F6C</requestId>\\n<success>true</success>\\n<dtsEtlJobVersionInfos>\\n <createTime>1637229315000</createTime>\\n <creator>10000000</creator>\\n <creatorName>***@****.com</creatorName>\\n <dtsInstanceId>dtsggk12iwya1a****</dtsInstanceId>\\n <dtsJobId>l5512es7w15****</dtsJobId>\\n <dtsJobName>test_sql</dtsJobName>\\n <modifyTime>1637230117000</modifyTime>\\n <status>INFO</status>\\n <version>9</version>\\n</dtsEtlJobVersionInfos>\\n<httpStatusCode>200</httpStatusCode>\\n</DescribeDtsEtlJobVersionInfoResponse>","errorExample":""}]',
+ 'title' => 'DescribeDtsEtlJobVersionInfo',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeEtlJobLogs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ETL task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'l5512es7w15****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides. You can call the [DescribeRegions](~~25609~~) operation to query the available Alibaba Cloud regions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource GroupId',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '224DB9F7-3100-4899-AB9C-C938BCCB43E7',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code. This example indicates that the specified ETL task ID is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'InvalidJobId',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. If the call failed, false is returned.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message. This example indicates that the specified ETL task ID does not exist. In this case, the ETL task may be deleted.'."\n",
+ 'type' => 'string',
+ 'example' => 'The specified dts job id %s is not exists.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message.'."\n",
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'EtlRunningLogs' => [
+ 'description' => 'The logs of ETL tasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'EtlId' => [
+ 'description' => 'The ID of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => 'u**********5',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => '121323*******454512',
+ ],
+ 'ContentKey' => [
+ 'description' => 'The module for which the logs are generated, such as the conversion module of ETL tasks.'."\n",
+ 'type' => 'string',
+ 'example' => 'DTS-ETL',
+ ],
+ 'Content' => [
+ 'description' => 'The state of the ETL task.'."\n",
+ 'type' => 'string',
+ 'example' => 'Starting DTS-ETL...',
+ ],
+ 'Status' => [
+ 'description' => 'The log level. Valid values: ERROR, WARN, INFO, and DEBUG.'."\n",
+ 'type' => 'string',
+ 'example' => 'INFO',
+ ],
+ 'LogDatetime' => [
+ 'description' => 'The time when the log was generated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1637306503000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"224DB9F7-3100-4899-AB9C-C938BCCB43E7\\",\\n \\"ErrCode\\": \\"InvalidJobId\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The specified dts job id %s is not exists.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"EtlRunningLogs\\": [\\n {\\n \\"EtlId\\": \\"u**********5\\",\\n \\"UserId\\": \\"123123******12131\\",\\n \\"ContentKey\\": \\"DTS-ETL\\",\\n \\"Content\\": \\"Starting DTS-ETL...\\",\\n \\"Status\\": \\"INFO\\",\\n \\"LogDatetime\\": \\"1637306503000\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeEtlJobLogs',
+ 'summary' => 'Queries the logs of extract, transform, and load (ETL) tasks.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'CreateDedicatedClusterMonitorRule' => [
+ 'summary' => 'Creates an alert rule.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dts-dasd22******',
+ ],
+ ],
+ [
+ 'name' => 'NoticeSwitch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the alert feature. Valid values:'."\n"
+ ."\n"
+ .'* **1**: enables the alert feature.'."\n"
+ .'* **0**: disables the alert feature.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DuAlarmThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert threshold for DTS Unit (DU) usage. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'CpuAlarmThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert threshold for CPU utilization. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'MemAlarmThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert threshold for memory usage. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '40',
+ ],
+ ],
+ [
+ 'name' => 'DiskAlarmThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert threshold for disk usage. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'Phones',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone number to which alerts are sent. Separate multiple mobile phone numbers with commas (,).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '186****7654',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID. This parameter is a global parameter and not required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'The resource group ID. This parameter is a global parameter and not required.'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <RequestId>C80CF904-73D1-1983-9A1C-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>C80CF904-73D1-1983-9A1C-****</requestId>\\n <successResponse>true</successResponse>\\n</CreateDedicatedClusterMonitorRuleResponse>","errorExample":""}]',
+ 'title' => 'CreateDedicatedClusterMonitorRule',
+ ],
+ 'DescribeClusterOperateLogs' => [
+ 'summary' => 'Queries operation logs of a Data Transmission Service (DTS) dedicated cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '当不传时默认最近返回七天的数据',
+ 'description' => 'The beginning of the time range to query. The value must be in the UNIX timestamp format. Unit: milliseconds. If you do not specify this parameter, the data within the last seven days is returned by default.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1650866955000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value must be in the UNIX timestamp format. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1650866995000',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the DTS dedicated cluster on which a DTS task runs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtsxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Specify the parameter to a positive integer that does not exceed the maximum value of the INTEGER data type. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'migration job id',
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'OwnerID',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'OwnerID',
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等性验证',
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. **The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'callType=AssumedRoleUser',
+ 'description' => 'The ID of the Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DescribeClusterOperateLogsResponse',
+ 'description' => 'DescribeClusterOperateLogsResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DataPoints' => [
+ 'description' => 'The information about the operation logs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The primary key of the log table.'."\n",
+ 'type' => 'string',
+ 'example' => '237827',
+ ],
+ 'LogDatetime' => [
+ 'description' => 'The time when the operation is recorded. The value is in the UNIX timestamp format. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642077211574',
+ ],
+ 'OperationName' => [
+ 'description' => 'The type of the operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'modify-oversold-ratio',
+ ],
+ 'OperationUser' => [
+ 'description' => 'The user who performed the operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'null',
+ ],
+ 'OldValue' => [
+ 'description' => 'The value of the parameter before the operation if the operation is an UPDATE operation.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'NewValue' => [
+ 'description' => 'The value of the parameter after the operation if the operation is an UPDATE operation.'."\n",
+ 'type' => 'string',
+ 'example' => '105',
+ ],
+ 'Content' => [
+ 'description' => 'Other description of the operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'null',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. A value of **1** indicates that the request was successful.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'PageNumber' => [
+ 'title' => '当前页码',
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageRecordCount' => [
+ 'title' => '当前每页显示数量',
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'title' => '总数',
+ 'description' => 'The total number of records.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'Success' => [
+ 'title' => '调用结果',
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'title' => '后端错误码 数字递增',
+ 'description' => 'The error code returned by the backend service. The number is incremented.'."\n",
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'ErrCode' => [
+ 'title' => '错误短码 ps:InternalError',
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'title' => '错误信息(返回给用户)',
+ 'description' => 'The error message returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'title' => '动态错误信息,会替换错误码里的"%s"',
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace %s in the ErrMessage parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'HttpStatusCode' => [
+ 'title' => '异常对应的http code',
+ 'description' => 'The HTTP status code returned for an exception.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataPoints\\": [\\n {\\n \\"Id\\": \\"237827\\",\\n \\"LogDatetime\\": 1642077211574,\\n \\"OperationName\\": \\"modify-oversold-ratio\\",\\n \\"OperationUser\\": \\"null\\",\\n \\"OldValue\\": \\"100\\",\\n \\"NewValue\\": \\"105\\",\\n \\"Content\\": \\"null\\",\\n \\"Success\\": 1\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"Success\\": true,\\n \\"Code\\": \\"500\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterOperateLogsResponse>\\n <requestId>1651135450713-***</requestId>\\n <success>true</success>\\n <code/>\\n <errCode/>\\n <errMessage/>\\n <dynamicMessage/>\\n <httpStatusCode>200</httpStatusCode>\\n <pageNumber>1</pageNumber>\\n <pageRecordCount>3</pageRecordCount>\\n <totalRecordCount>3</totalRecordCount>\\n <dataPoints>\\n <id>2</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>1</oldValue>\\n <newValue>2</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>3</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>2</oldValue>\\n <newValue>3</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n <dataPoints>\\n <id>4</id>\\n <logDatetime>1642077211574</logDatetime>\\n <operationName>modify-network-***</operationName>\\n <operationUser/>\\n <oldValue>3</oldValue>\\n <newValue>4</newValue>\\n <content>ak</content>\\n <success>1</success>\\n </dataPoints>\\n</DescribeClusterOperateLogsResponse>","errorExample":""}]',
+ 'title' => 'DescribeClusterOperateLogs',
+ ],
+ 'DescribeClusterUsedUtilization' => [
+ 'summary' => 'Queries the resource usage of a cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the cluster. If the **MetricType** parameter is set to **CLUSTER**, enter the ID of the exclusive cluster. Otherwise, set this parameter to a node ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nodeid',
+ ],
+ ],
+ [
+ 'name' => 'Env',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The cluster environment. Default value: **ALIYUN**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALIYUN',
+ 'default' => 'ALIYUN',
+ ],
+ ],
+ [
+ 'name' => 'MetricType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Specifies whether to query the metrics of the cluster or a node. Default value: CLUSTER. Valid values:'."\n"
+ ."\n"
+ .'* **CLUSTER**: query the metrics of the cluster.'."\n"
+ .'* **NODE**: query the metrics of a node.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NODE',
+ 'default' => 'CLUSTER',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'migration job id',
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'OwnerID',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'OwnerID',
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等性验证',
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. **The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'callType=AssumedRoleUser',
+ 'description' => 'The ID of the Alibaba Cloud account. You do not need to specify this parameter because this parameter is discontinued.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DescribeClusterUsedUtilizationResponse',
+ 'description' => 'DescribeClusterUsedUtilizationResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtscluster_h3fl1cs217sx952',
+ ],
+ 'CpuTotal' => [
+ 'description' => 'The CPU utilization of the cluster. Unit: percentage.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '50',
+ ],
+ 'MemoryUsed' => [
+ 'description' => 'The memory usage. A value of 0 is temporarily returned.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0',
+ ],
+ 'MemoryTotal' => [
+ 'description' => 'The total amount of memory. A value of 0 is temporarily returned.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0',
+ ],
+ 'DiskTotal' => [
+ 'description' => 'The total disk size of the cluster. Unit: GB.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '1024',
+ ],
+ 'DiskUsed' => [
+ 'description' => 'The disk usage of the cluster. Unit: GB.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '96',
+ ],
+ 'DuTotal' => [
+ 'description' => 'The total number of DTS units (DUs).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'DuUsed' => [
+ 'description' => 'The usage of DUs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'TaskRunning' => [
+ 'description' => 'The number of tasks that are in progress.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Success' => [
+ 'title' => '调用结果',
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'title' => '后端错误码 数字递增',
+ 'description' => 'The error code returned by the backend service. The number is incremented.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'ErrCode' => [
+ 'title' => '错误短码 ps:InternalError',
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'title' => '错误信息(返回给用户)',
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'title' => '动态错误信息,会替换错误码里的 "%s"',
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace %s in the ErrMessage parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'HttpStatusCode' => [
+ 'title' => '异常对应的http code',
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'MemoryUsedPercentage' => [
+ 'description' => 'The memory usage.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '1.0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\",\\n \\"CpuTotal\\": 50,\\n \\"MemoryUsed\\": 0,\\n \\"MemoryTotal\\": 0,\\n \\"DiskTotal\\": 1024,\\n \\"DiskUsed\\": 96,\\n \\"DuTotal\\": 30,\\n \\"DuUsed\\": 2,\\n \\"TaskRunning\\": 3,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"MemoryUsedPercentage\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterUsedUtilizationResponse>\\n <code>200</code>\\n <data>\\n <DedicatedClusterId>dtscluster_****</DedicatedClusterId>\\n <RequestId>E2E2AD3E-B7A4-106C-9063-****</RequestId>\\n <DuUsed>14</DuUsed>\\n <Success>true</Success>\\n <DuTotal>30</DuTotal>\\n <DiskTotal>982.3013</DiskTotal>\\n <HttpStatusCode>200</HttpStatusCode>\\n <MemoryUsedPercentage>5.5200005</MemoryUsedPercentage>\\n <MemoryUsed>0</MemoryUsed>\\n <TaskRunning>3</TaskRunning>\\n <DiskUsed>92.0647</DiskUsed>\\n <MemoryTotal>0</MemoryTotal>\\n <CpuTotal>1.7</CpuTotal>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>E2E2AD3E-B7A4-106C-9063-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeClusterUsedUtilizationResponse>","errorExample":""}]',
+ 'title' => 'DescribeClusterUsedUtilization',
+ ],
+ 'DescribeDedicatedClusterMonitorRule' => [
+ 'summary' => 'Queries the information about an alert rule.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsClustervcwn1oeyu5fx4yf',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsClustervcwn1oeyu5fx4yf',
+ ],
+ 'NoticeSwitch' => [
+ 'description' => 'Indicates whether the alert feature is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The alert feature is enabled.'."\n"
+ .'* **0**: The alert feature is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'DuAlarmThreshold' => [
+ 'description' => 'The alert threshold for DTS Unit (DU) usage. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '46',
+ ],
+ 'CpuAlarmThreshold' => [
+ 'description' => 'The alert threshold for CPU utilization. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'MemAlarmThreshold' => [
+ 'description' => 'The alert threshold for memory usage. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'DiskAlarmThreshold' => [
+ 'description' => 'The alert threshold for disk usage. Unit: percentage.'."\n",
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'Phones' => [
+ 'description' => 'The mobile phone number to which alerts are sent. Separate multiple mobile phone numbers with commas (,).'."\n",
+ 'type' => 'string',
+ 'example' => '186****7653',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsClustervcwn1oeyu5fx4yf\\",\\n \\"NoticeSwitch\\": \\"1\\",\\n \\"DuAlarmThreshold\\": \\"46\\",\\n \\"CpuAlarmThreshold\\": \\"80\\",\\n \\"MemAlarmThreshold\\": \\"80\\",\\n \\"DiskAlarmThreshold\\": \\"80\\",\\n \\"Phones\\": \\"186****7653\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterMonitorRuleResponse>\\n <code>200</code>\\n <data>\\n <NoticeSwitch>0</NoticeSwitch>\\n <RequestId>F3284539-46AC-1BC3-A2A6-****</RequestId>\\n <DedicatedClusterId>dtscluster_w4****</DedicatedClusterId>\\n <Phones>159****2120</Phones>\\n <DuAlarmThreshold>100</DuAlarmThreshold>\\n <CpuAlarmThreshold>85</CpuAlarmThreshold>\\n <MemAlarmThreshold>99</MemAlarmThreshold>\\n <DiskAlarmThreshold>99</DiskAlarmThreshold>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>F3284539-46AC-1BC3-A2A6-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterMonitorRuleResponse>","errorExample":""}]',
+ 'title' => 'DescribeDedicatedClusterMonitorRule',
+ ],
+ 'DescribeDedicatedCluster' => [
+ 'summary' => 'Queries the information about a dedicated cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtsCluster****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsCluster****',
+ ],
+ 'DedicatedClusterName' => [
+ 'description' => 'The name of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'daily_test',
+ ],
+ 'Du' => [
+ 'description' => 'The number of DTS units (DUs).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'OversoldDu' => [
+ 'description' => 'The number of DUs that exceeds the upper limit.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '60',
+ ],
+ 'UsedDu' => [
+ 'description' => 'The number of used DUs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'State' => [
+ 'description' => 'The status of the cluster. Valid values:'."\n"
+ ."\n"
+ .'* **init**: The cluster is being initialized.'."\n"
+ .'* **schedule**: The cluster is pending scheduling.'."\n"
+ .'* **running**: The cluster is running.'."\n"
+ .'* **upgrade**: The cluster is being upgraded.'."\n"
+ .'* **downgrade**: The cluster is being downgraded.'."\n"
+ .'* **locked**: The cluster is locked.'."\n"
+ .'* **releasing**: The cluster is being released.'."\n"
+ .'* **released**: The cluster is released.'."\n",
+ 'type' => 'string',
+ 'example' => 'inti',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'NodeCount' => [
+ 'description' => 'The number of nodes in the cluster.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'DuUtilization' => [
+ 'description' => 'The DU usage. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '16',
+ ],
+ 'CpuUtilization' => [
+ 'description' => 'The CPU utilization. Unit: percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'TotalCpuCore' => [
+ 'description' => 'The total number of CPU cores.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'UsedCpuCore' => [
+ 'description' => 'The number of used CPU cores.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'MemUtilization' => [
+ 'description' => 'The memory usage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ ],
+ 'TotalMemGBSize' => [
+ 'description' => 'The total amount of memory. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '256',
+ ],
+ 'UsedMemGBSize' => [
+ 'description' => 'The amount of used memory. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '128',
+ ],
+ 'DiskUtilization' => [
+ 'description' => 'The disk usage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '50',
+ ],
+ 'TotalDiskGBSize' => [
+ 'description' => 'The total disk size. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2048',
+ ],
+ 'UsedDiskGBSize' => [
+ 'description' => 'The used disk size. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024',
+ ],
+ 'GmtCreated' => [
+ 'description' => 'The time when the cluster was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642476144000',
+ ],
+ 'GmtFinished' => [
+ 'description' => 'The time when the cluster stopped.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1645200000000',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsb8r****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtsCluster****\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"inti\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024,\\n \\"GmtCreated\\": 1642476144000,\\n \\"GmtFinished\\": 1645200000000,\\n \\"DtsInstanceID\\": \\"dtsb8r****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <RequestId>1D1C3EFB-3338-143F-***</RequestId>\\n <DedicatedClusterId>dtscluster_w4iv***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <GmtFinished>1645200000000</GmtFinished>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DedicatedClusterName>dtscluster_w4iv***</DedicatedClusterName>\\n <DtsInstanceID>dtsb84w***</DtsInstanceID>\\n <Success>true</Success>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <MemUtilization>24</MemUtilization>\\n <Du>30</Du>\\n <State>running</State>\\n <HttpStatusCode>200</HttpStatusCode>\\n <UsedCpuCore>64</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>1D1C3EFB-3338-143F-8CF2-***</requestId>\\n <successResponse>true</successResponse>\\n</DescribeDedicatedClusterResponse>","errorExample":""}]',
+ 'title' => 'DescribeDedicatedCluster',
+ ],
+ 'DescribeMetricList' => [
+ 'summary' => 'Queries the metrics of a cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MetricType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'NODE, CLUSTER',
+ 'description' => 'Indicates whether the metrics of the cluster or a node are queried. Valid values:'."\n"
+ ."\n"
+ .'* **CLUSTER**: The metrics of the cluster are queried.'."\n"
+ .'* **NODE**: The metrics of a node are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NODE',
+ 'default' => 'NODE',
+ ],
+ ],
+ [
+ 'name' => 'MetricName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '* **InternetOut**: the outbound traffic over the Internet. Unit: byte.'."\n"
+ .'* **diskusage_utilization**: the disk usage.'."\n"
+ .'* **IntranetInRate**: the inbound traffic over the internal network. Unit: byte.'."\n"
+ .'* **InternetIn**: the inbound traffic from the Internet. Unit: byte.'."\n"
+ .'* **cpu_total**: the CPU utilization.'."\n"
+ .'* **memory_usedutilization**: the memory usage.'."\n"
+ .'* **IntranetOutRate**: the outbound traffic over the internal network. Unit: byte.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cpu_total',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The monitoring interval. Unit: seconds. The minimum value is 15.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '15',
+ 'default' => '15',
+ ],
+ ],
+ [
+ 'name' => 'Param',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The monitored object. If the **MetricType** parameter is set to **NODE**, set this parameter to the ID of the node that is monitored.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nodeid',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The timestamp that indicates the beginning of the time range to query. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1642476144000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The timestamp that indicates the end of the time range to query. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1642476194000',
+ ],
+ ],
+ [
+ 'name' => 'Env',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Default value: **ALIYUN**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALIYUN',
+ 'default' => 'ALIYUN',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'migration job id',
+ 'description' => 'The ID of the data migration or synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'OwnerID',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'OwnerID',
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等性验证',
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. **The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****',
+ ],
+ ],
+ [
+ 'name' => 'AccountId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'callType=AssumedRoleUser',
+ 'description' => 'The ID of the Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12323344****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DescribeMetricListResponse',
+ 'description' => 'DescribeMetricListResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MetricType' => [
+ 'title' => 'NODE, CLUSTER',
+ 'description' => 'Indicates whether the metrics of the cluster or a node are queried. Valid values:'."\n"
+ ."\n"
+ .'* **CLUSTER**: The metrics of the cluster are queried.'."\n"
+ .'* **NODE**: The metrics of a node are queried.'."\n",
+ 'type' => 'string',
+ 'example' => 'CLUSTER',
+ ],
+ 'Param' => [
+ 'description' => 'The monitored object.'."\n"
+ ."\n"
+ .'* If the **MetricType** parameter is set to **NODE**, the value of this parameter is the ID of the node that is monitored.****'."\n"
+ .'* If the **MetricType** parameter is set to **CLUSTER**, the value of this parameter is the ID of the dedicated cluster. You can obtain the ID by calling the ListDedicatedCluster operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs-jhjnjjn',
+ ],
+ 'MetricName' => [
+ 'description' => '* **InternetOut**: the outbound traffic over the Internet. Unit: byte.'."\n"
+ .'* **diskusage_utilization**: the disk usage.'."\n"
+ .'* **IntranetInRate**: the inbound traffic over the internal network. Unit: byte.'."\n"
+ .'* **InternetIn**: the inbound traffic from the Internet. Unit: byte.'."\n"
+ .'* **cpu_total**: the CPU utilization.'."\n"
+ .'* **memory_usedutilization**: the memory usage.'."\n"
+ .'* **IntranetOutRate**: the outbound traffic over the internal network. Unit: byte.'."\n",
+ 'type' => 'string',
+ 'example' => 'cpu_total',
+ ],
+ 'Period' => [
+ 'description' => 'The monitoring interval. Unit: seconds. Minimum value: 15.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15',
+ ],
+ 'DataPoints' => [
+ 'description' => 'The monitoring statistics.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Timestamp' => [
+ 'description' => 'The timestamp of the record. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1650872310000',
+ ],
+ 'Statistics' => [
+ 'description' => 'The statistical value.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '15.25',
+ ],
+ ],
+ ],
+ ],
+ 'Success' => [
+ 'title' => '调用结果',
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'title' => '后端错误码 数字递增',
+ 'description' => 'The error code returned by the backend service. The number is incremented.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'ErrCode' => [
+ 'title' => '错误短码 ps:InternalError',
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'title' => '错误信息(返回给用户)',
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'title' => '动态错误信息,会替换错误码里的"%s"',
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the %s variable in the **ErrMessage** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'HttpStatusCode' => [
+ 'title' => '异常对应的http code',
+ 'description' => 'The HTTP status code returned for an exception.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '403',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"MetricType\\": \\"CLUSTER\\",\\n \\"Param\\": \\"ecs-jhjnjjn\\",\\n \\"MetricName\\": \\"cpu_total\\",\\n \\"Period\\": 15,\\n \\"DataPoints\\": [\\n {\\n \\"Timestamp\\": 1650872310000,\\n \\"Statistics\\": 15.25\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"403\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"HttpStatusCode\\": 403,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeMetricListResponse>\\n <code>200</code>\\n <data>\\n <MetricName>diskusage_utilization</MetricName>\\n <RequestId>36F33F1C-CF13-149E-AB05-****</RequestId>\\n <MetricType>CLUSTER</MetricType>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Period>15</Period>\\n <DataPoints>\\n <Timestamp>1651112970000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651112985000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113000000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113015000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113030000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113045000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113060000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113075000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113090000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113105000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113120000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113135000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113150000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113165000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113180000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113195000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113210000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113225000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113240000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113255000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113270000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113285000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113300000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113315000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113330000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113345000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113360000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113375000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113390000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113405000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113420000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113435000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113450000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113465000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113480000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113495000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113510000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113525000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113540000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <DataPoints>\\n <Timestamp>1651113555000</Timestamp>\\n <Statistics>10.5</Statistics>\\n </DataPoints>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>36F33F1C-CF13-149E-AB05-****</requestId>\\n <successResponse>true</successResponse>\\n</DescribeMetricListResponse>","errorExample":""}]',
+ 'title' => 'DescribeMetricList',
+ ],
+ 'ListDedicatedCluster' => [
+ 'summary' => 'Queries all clusters that are created within an Alibaba Cloud account. You can also query clusters based on the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the query condition. Valid values:'."\n"
+ ."\n"
+ .'* **NAME**: the name of the cluster.'."\n"
+ .'* **INSTANCE**: the ID of a cluster instance.'."\n"
+ .'* **DEDICAETEDCLUSTERID**: the ID of a dedicated cluster.'."\n"
+ ."\n"
+ .'> You must specify the query condition by using the **Params** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NAME',
+ ],
+ ],
+ [
+ 'name' => 'Params',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content of the query condition.'."\n"
+ ."\n"
+ .'> You must set the **Type parameter** to specify the type of the query condition.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtspk3f13r731m****',
+ ],
+ ],
+ [
+ 'name' => 'State',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the cluster. Valid values:'."\n"
+ ."\n"
+ .'* **init**: The cluster is being initialized.'."\n"
+ .'* **schedule**: The cluster is pending scheduling.'."\n"
+ .'* **running**: The cluster is running.'."\n"
+ .'* **upgrade**: The cluster is being upgraded.'."\n"
+ .'* **downgrade**: The cluster is being downgraded.'."\n"
+ .'* **locked**: The cluster is locked.'."\n"
+ .'* **releasing**: The cluster is being released.'."\n"
+ .'* **released**: The cluster is released.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'init',
+ ],
+ ],
+ [
+ 'name' => 'OrderDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which you want to sort the retrieved entries. Valid values:'."\n"
+ ."\n"
+ .'* asc: sorts the retrieved entries in ascending order. This is the default value.'."\n"
+ .'* desc: sorts the retrieved entries in descending order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'asc',
+ ],
+ ],
+ [
+ 'name' => 'OrderColumn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The basis on which the retrieved entries are sorted if multiple DTS dedicated clusters are returned. Valid values:'."\n"
+ ."\n"
+ .'* **gmtCreated**: the time when a cluster was created.'."\n"
+ .'* **orderCount**: the number of nodes in a cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gmtCreated',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of clusters to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value of this parameter must be an integer that is greater than 0. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfntftbiobqyky',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'The total number of clusters that meet the query condition.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. The value must be an integer that is greater than 0. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DedicatedClusterStatusList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DedicatedClusterStatus' => [
+ 'description' => 'The statuses of all clusters.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DtsInstanceID' => [
+ 'description' => 'The ID of the DTS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsi03e3zty16i****',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtscluster*******',
+ ],
+ 'DedicatedClusterName' => [
+ 'description' => 'The name of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'daily_test',
+ ],
+ 'Du' => [
+ 'description' => 'The number of DTS units (DUs).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'OversoldDu' => [
+ 'description' => 'The number of over-provisioned DUs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '60',
+ ],
+ 'UsedDu' => [
+ 'description' => 'The number of used DUs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'State' => [
+ 'description' => 'The status of the cluster. Valid values:'."\n"
+ ."\n"
+ .'* **init**: The cluster is being initialized.'."\n"
+ .'* **schedule**: The cluster is pending scheduling.'."\n"
+ .'* **running**: The cluster is running.'."\n"
+ .'* **upgrade**: The cluster is being upgraded.'."\n"
+ .'* **downgrade**: The cluster is being downgraded.'."\n"
+ .'* **locked**: The cluster is locked.'."\n"
+ .'* **releasing**: The cluster is being released.'."\n"
+ .'* **released**: The cluster is released.'."\n",
+ 'type' => 'string',
+ 'example' => 'init',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region in which the DTS instance resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'GmtCreated' => [
+ 'description' => 'The time when the cluster was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1647424384606',
+ ],
+ 'NodeCount' => [
+ 'description' => 'The number of nodes in the cluster.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'DuUtilization' => [
+ 'description' => 'The DU usage, in percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '16.6667',
+ ],
+ 'CpuUtilization' => [
+ 'description' => 'The CPU utilization, in percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'TotalCpuCore' => [
+ 'description' => 'The total number of CPU cores.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'UsedCpuCore' => [
+ 'description' => 'The number of used CPU cores.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'MemUtilization' => [
+ 'description' => 'The memory usage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ ],
+ 'TotalMemGBSize' => [
+ 'description' => 'The total memory capacity. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '256',
+ ],
+ 'UsedMemGBSize' => [
+ 'description' => 'The used memory capacity. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '128',
+ ],
+ 'DiskUtilization' => [
+ 'description' => 'The disk usage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '50',
+ ],
+ 'TotalDiskGBSize' => [
+ 'description' => 'The total disk capacity. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2048',
+ ],
+ 'UsedDiskGBSize' => [
+ 'description' => 'The used disk capacity. Unit: GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 15,\\n \\"PageNumber\\": 1,\\n \\"DedicatedClusterStatusList\\": {\\n \\"DedicatedClusterStatus\\": [\\n {\\n \\"DtsInstanceID\\": \\"dtsi03e3zty16i****\\",\\n \\"DedicatedClusterId\\": \\"dtscluster*******\\",\\n \\"DedicatedClusterName\\": \\"daily_test\\",\\n \\"Du\\": 30,\\n \\"OversoldDu\\": 60,\\n \\"UsedDu\\": 5,\\n \\"State\\": \\"init\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreated\\": 1647424384606,\\n \\"NodeCount\\": 5,\\n \\"DuUtilization\\": 16.6667,\\n \\"CpuUtilization\\": 30,\\n \\"TotalCpuCore\\": 100,\\n \\"UsedCpuCore\\": 30,\\n \\"MemUtilization\\": 20,\\n \\"TotalMemGBSize\\": 256,\\n \\"UsedMemGBSize\\": 128,\\n \\"DiskUtilization\\": 50,\\n \\"TotalDiskGBSize\\": 2048,\\n \\"UsedDiskGBSize\\": 1024\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <TotalRecordCount>2</TotalRecordCount>\\n <PageRecordCount>20</PageRecordCount>\\n <RequestId>49BCBE1F-3AB4-***</RequestId>\\n <PageNumber>1</PageNumber>\\n <DedicatedClusterStatusList>\\n <DedicatedClusterStatus>\\n <UsedDu>14</UsedDu>\\n <DuUtilization>46</DuUtilization>\\n <DedicatedClusterId>dtscluster_***</DedicatedClusterId>\\n <NodeCount>2</NodeCount>\\n <UsedDiskGBSize>51</UsedDiskGBSize>\\n <OversoldDu>30</OversoldDu>\\n <TotalDiskGBSize>1006</TotalDiskGBSize>\\n <DiskUtilization>6</DiskUtilization>\\n <UsedMemGBSize>63</UsedMemGBSize>\\n <GmtCreated>1642476144000</GmtCreated>\\n <DtsInstanceID>dtsb84w12e2188ya1r</DtsInstanceID>\\n <DedicatedClusterName>dtscluster_***</DedicatedClusterName>\\n <TotalMemGBSize>259</TotalMemGBSize>\\n <Du>30</Du>\\n <MemUtilization>24</MemUtilization>\\n <State>running</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>32</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>2</CpuUtilization>\\n </DedicatedClusterStatus>\\n <DedicatedClusterStatus>\\n <UsedDu>0</UsedDu>\\n <DuUtilization>0</DuUtilization>\\n <DedicatedClusterId>dtsCluster***</DedicatedClusterId>\\n <NodeCount>0</NodeCount>\\n <UsedDiskGBSize>0</UsedDiskGBSize>\\n <OversoldDu>60</OversoldDu>\\n <TotalDiskGBSize>0</TotalDiskGBSize>\\n <DiskUtilization>0</DiskUtilization>\\n <UsedMemGBSize>0</UsedMemGBSize>\\n <GmtCreated>1641377381000</GmtCreated>\\n <DedicatedClusterName>dedicatedCluster_***</DedicatedClusterName>\\n <TotalMemGBSize>0</TotalMemGBSize>\\n <Du>40</Du>\\n <MemUtilization>0</MemUtilization>\\n <State>releasing</State>\\n <UsedCpuCore>0</UsedCpuCore>\\n <TotalCpuCore>0</TotalCpuCore>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUtilization>0</CpuUtilization>\\n </DedicatedClusterStatus>\\n </DedicatedClusterStatusList>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>49BCBE1F-3AB4-****</requestId>\\n <successResponse>true</successResponse>\\n</ListDedicatedClusterResponse>","errorExample":""}]',
+ 'title' => 'ListDedicatedCluster',
+ ],
+ 'ModifyDtsJobDedicatedCluster' => [
+ 'summary' => 'Changes the dedicated cluster on which a Data Transmission Service (DTS) task runs.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DTS task IDs. The value can be a JSON array that consists of multiple DTS task IDs. Separate the IDs with commas (,).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["dtsxxxx01", "dtsxxx02"]',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The dedicated cluster ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsxxxx',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the DTS instance resides.'."\n"
+ ."\n"
+ .'> For information about the regions that support dedicated clusters, see [DTS dedicated cluster](~~417481~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace %s in **ErrMessage**.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned by the backend service.'."\n",
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDedicatedClusterResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJobDedicatedCluster',
+ 'description' => '> After a DTS task is migrated from a dedicated cluster to a shared cluster, the task is billed on a pay-as-you-go basis.'."\n",
+ ],
+ 'ModifyDedicatedCluster' => [
+ 'summary' => 'Modifies the configuration of a cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n"
+ ."\n"
+ .'> You must specify one of the **InstanceId** and **DedicatedClusterId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster.'."\n"
+ ."\n"
+ .'> You must specify one of the **InstanceId** and **DedicatedClusterId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_h3fl1cs217sx952',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_test_001',
+ ],
+ ],
+ [
+ 'name' => 'OversoldRatio',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The overcommit ratio. Unit: %.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '150',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the Data Transmission Service (DTS) instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DedicatedClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtscluster_h3fl1cs217sx952',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DedicatedClusterId\\": \\"dtscluster_h3fl1cs217sx952\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <DedicatedClusterId>dtscluster_w****</DedicatedClusterId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDedicatedClusterResponse>","errorExample":""}]',
+ 'title' => 'ModifyDedicatedCluster',
+ 'description' => 'You can modify only the overcommit ratio.'."\n",
+ ],
+ 'ModifyDtsJobDuLimit' => [
+ 'summary' => 'Modifies the upper limit of DTS units (DUs) for a Data Transmission Service (DTS) task.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtsxxx',
+ ],
+ ],
+ [
+ 'name' => 'DuLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The upper limit of DUs for the DTS task.'."\n"
+ ."\n"
+ .'> Minimum value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the %s variable in the **ErrMessage** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned by the backend service. The number is incremented.'."\n",
+ 'type' => 'string',
+ 'example' => '500',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"Code\\": \\"500\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"InternalError\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobDuLimitResponse>\\n <code>200</code>\\n <data>\\n <RequestId>229866A4-4C4A-1A46-8074-***</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>229866A4-4C4A-1A46-8074-***</requestId>\\n <successResponse>true</successResponse>\\n</ModifyDtsJobDuLimitResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJobDuLimit',
+ 'description' => '* DTS allows you to upgrade or downgrade the configurations of DTS instances in a dedicated cluster. You can adjust the resources that are occupied for task execution to dynamically adjust the number of tasks that can be scheduled in the cluster. This way, you can reduce the total number of DUs required for the cluster or release DUs.'."\n"
+ .'* Before you modify the upper limit of DUs for a DTS task, make sure that sufficient DUs are available.'."\n",
+ ],
+ 'StopDedicatedCluster' => [
+ 'summary' => 'Releases a cluster.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n"
+ ."\n"
+ .'> You must specify one of the **InstanceId** and **DedicatedClusterId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1162kryivb8****',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster.'."\n"
+ ."\n"
+ .'> You must specify one of the **InstanceId** and **DedicatedClusterId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_h3fl1cs217sx952',
+ ],
+ ],
+ [
+ 'name' => 'DedicatedClusterName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtscluster_test_001',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID. This parameter is a global parameter and not required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'The resource group ID. This parameter is a global parameter and not required.'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.q',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.q\\"\\n}","errorExample":""},{"type":"xml","example":"<StopDedicatedClusterResponse>\\n <code>200</code>\\n <data>\\n <RequestId>26EC538C-9E2D-11D5-A55F-****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n </data>\\n <httpStatusCode>200</httpStatusCode>\\n <requestId>26EC538C-9E2D-11D5-A55F-****</requestId>\\n <successResponse>true</successResponse>\\n</StopDedicatedClusterResponse>","errorExample":""}]',
+ 'title' => 'StopDedicatedCluster',
+ ],
+ 'DescribeDataCheckTableDiffDetails' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CheckType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data verification method. Valid values:'."\n"
+ ."\n"
+ .'* **1**: full data verification.'."\n"
+ .'* **2**: incremental data verification.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'DbName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database to which the table that contains inconsistent data belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'db_dtstest',
+ ],
+ ],
+ [
+ 'name' => 'TbName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the table that contains inconsistent data exists.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test_person',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否返回所有的同步子任务',
+ 'description' => 'The page number of the page to return. The value must be an integer greater than 0. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the ID of the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xd4e4xb419q****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InvalidParameter',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The value of the parameter tbName is invalid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> For example, if the value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the value of the **DynamicMessage** parameter is **Type**, the specified **Type** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'TbName' => [
+ 'description' => 'The name of the table that contains inconsistent data in the source database.'."\n",
+ 'type' => 'string',
+ 'example' => 'test_person',
+ ],
+ 'DbName' => [
+ 'description' => 'The name of the source database to which the table that contains inconsistent data belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'db_dtstest',
+ ],
+ 'DiffDetails' => [
+ 'description' => 'The information about the inconsistent data.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The auto-increment primary key that is used to identify the data in a verification result.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '13058****',
+ ],
+ 'GmtCreated' => [
+ 'description' => 'The time when the data verification was performed.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-04-23T10:36:05.000+00:00',
+ ],
+ 'Diff' => [
+ 'description' => 'The details of the inconsistent data, whose value is a JSON string. The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* column: the name of the field.'."\n"
+ .'* source: the value of the field in the source database.'."\n"
+ .'* dest: the value of the field in the destination database.'."\n"
+ .'* isPrimary: indicates whether the field is a primary key.'."\n",
+ 'type' => 'string',
+ 'example' => '[ { "column": "id", "source": "9511", "dest": "9511", "isPrimary": true }, { "column": "state", "source": "3", "dest": "2", "isPrimary": false }, { "column": "create_time", "source": "2023-04-11 14:07:17.0", "dest": "NULL", "isPrimary": false }, { "column": "update_time", "source": "2023-04-11 06:07:17.0", "dest": "2023-04-11 06:02:29.0", "isPrimary": false } ]',
+ ],
+ ],
+ ],
+ ],
+ 'DiffCount' => [
+ 'description' => 'The number of data rows that contain inconsistent data.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'dtsog8q1z3tc9t****"',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"HttpStatusCode\\": 200,\\n \\"ErrCode\\": \\"InvalidParameter\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The value of the parameter tbName is invalid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"TbName\\": \\"test_person\\",\\n \\"DbName\\": \\"db_dtstest\\",\\n \\"DiffDetails\\": [\\n {\\n \\"Id\\": 0,\\n \\"GmtCreated\\": \\"2023-04-23T10:36:05.000+00:00\\",\\n \\"Diff\\": \\"[ { \\\\\\"column\\\\\\": \\\\\\"id\\\\\\", \\\\\\"source\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"9511\\\\\\", \\\\\\"isPrimary\\\\\\": true }, { \\\\\\"column\\\\\\": \\\\\\"state\\\\\\", \\\\\\"source\\\\\\": \\\\\\"3\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"create_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 14:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"NULL\\\\\\", \\\\\\"isPrimary\\\\\\": false }, { \\\\\\"column\\\\\\": \\\\\\"update_time\\\\\\", \\\\\\"source\\\\\\": \\\\\\"2023-04-11 06:07:17.0\\\\\\", \\\\\\"dest\\\\\\": \\\\\\"2023-04-11 06:02:29.0\\\\\\", \\\\\\"isPrimary\\\\\\": false } ]\\"\\n }\\n ],\\n \\"DiffCount\\": 1,\\n \\"InstanceId\\": \\"dtsog8q1z3tc9t****\\\\\\"\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDiffDetailsResponse>\\n <DiffDetails>\\n <Diff>[{\\"column\\":\\"s_id\\",\\"source\\":null,\\"dest\\":\\"9\\",\\"isPrimary\\":true}]</Diff>\\n <Id>130581999</Id>\\n <GmtCreated>2023-04-23T10:36:05.000+00:00</GmtCreated>\\n </DiffDetails>\\n <RequestId>EE2EB5DA-1162-5FE6-AA61-DAED5E38****</RequestId>\\n <InstanceId>dtsnabt4g2r19q****</InstanceId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <TbName>test_person</TbName>\\n <DbName>db_dtstest</DbName>\\n <DiffCount>1</DiffCount>\\n <Success>true</Success>\\n</DescribeDataCheckTableDiffDetailsResponse>","errorExample":""}]',
+ 'title' => 'DescribeDataCheckTableDiffDetails',
+ 'summary' => 'Queries the information about inconsistent data in the data verification task.',
+ ],
+ 'DescribeDataCheckTableDetails' => [
+ 'summary' => 'Queries the details of a data verification task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsMQWIQD',
+ 'FEATUREdtsEGTFKE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the data verification result. Valid values:'."\n"
+ ."\n"
+ .'* **-1** (default): All status.'."\n"
+ .'* **6**: Inconsistent data detected in the table.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '-1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0** and does not exceed the maximum value of the Integer data type. Default value:**1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'CheckType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data verification method. Valid values:'."\n"
+ ."\n"
+ .'* **1**: full data verification.'."\n"
+ .'* **2**: incremental data verification.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'TableName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the table whose data is verified in the source database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'student',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or data synchronization task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xd4e4xb419q****',
+ ],
+ ],
+ [
+ 'name' => 'SchemaName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the schema whose data is verified in the source database.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> For example, if the returned value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the return value of the **DynamicMessage** parameter is **Type**, the specified **Type** parameter is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'Type',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'The dynamic error code. This parameter will be discontinued in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'TableDetails' => [
+ 'description' => 'The details of data verification results.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of data verification results. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The data verification task was complete.'."\n"
+ .'* **2**: The data verification task was being initialized.'."\n"
+ .'* **3**: The data verification task was in progress.'."\n"
+ .'* **5**: The data verification task failed.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Id' => [
+ 'description' => 'The auto-increment primary key that is used to identify the data in a verification result.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '167401241974****',
+ ],
+ 'SourceDbName' => [
+ 'description' => 'The name of the source database.'."\n",
+ 'type' => 'string',
+ 'example' => 'testdb',
+ ],
+ 'TargetDbName' => [
+ 'description' => 'The name of the destination database.'."\n",
+ 'type' => 'string',
+ 'example' => 'testdb',
+ ],
+ 'SourceTbName' => [
+ 'description' => 'The name of the source table.'."\n",
+ 'type' => 'string',
+ 'example' => 'student',
+ ],
+ 'TargetTbName' => [
+ 'description' => 'The name of the destination table.'."\n",
+ 'type' => 'string',
+ 'example' => 'person',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of data rows.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'FinishCount' => [
+ 'description' => 'The number of data rows that were verified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'DiffCount' => [
+ 'description' => 'The number of data rows that contain inconsistent data.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'BootTime' => [
+ 'description' => 'The time when data verification was performed.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-01-18 11:26:59',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned if the data verification task failed. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The number of tables that do not contain primary keys exceeds the limit.'."\n"
+ .'* **2**: The number of data rows that contain inconsistent data exceeds 300.'."\n"
+ .'* **3**: One or more tables to be verified do not exist.'."\n"
+ .'* **4**: The SQL statements used for verifying data contain a syntax error.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of tables on which data verification was performed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'FinishedCount' => [
+ 'description' => 'The total number of data rows that were verified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'DiffTableCount' => [
+ 'description' => 'The number of tables that contain inconsistent data.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'FailedTableCount' => [
+ 'description' => 'The total number of data rows that were failed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"Type\\",\\n \\"PageNumber\\": 2,\\n \\"DynamicCode\\": \\"403\\",\\n \\"TableDetails\\": [\\n {\\n \\"Status\\": \\"0\\",\\n \\"Id\\": 0,\\n \\"SourceDbName\\": \\"testdb\\",\\n \\"TargetDbName\\": \\"testdb\\",\\n \\"SourceTbName\\": \\"student\\",\\n \\"TargetTbName\\": \\"person\\",\\n \\"TotalCount\\": 8,\\n \\"FinishCount\\": 7,\\n \\"DiffCount\\": 1,\\n \\"BootTime\\": \\"2023-01-18 11:26:59\\",\\n \\"ErrorCode\\": 1\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"FinishedCount\\": 7,\\n \\"DiffTableCount\\": 1,\\n \\"FailedTableCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckTableDetailsResponse>\\n <DiffTableCount>1</DiffTableCount>\\n <TableDetails>\\n <Status>0</Status>\\n <SourceTbName>student</SourceTbName>\\n <TotalCount>8</TotalCount>\\n <TargetTbName>person</TargetTbName>\\n <TargetDbName>testdb</TargetDbName>\\n <FinishCount>7</FinishCount>\\n <BootTime>2023-04-23 18:35:05</BootTime>\\n <Id>1682246105030001</Id>\\n <SourceDbName>testdb</SourceDbName>\\n <DiffCount>1</DiffCount>\\n </TableDetails>\\n <TotalCount>1</TotalCount>\\n <RequestId>B8BCB980-CDC2-5628-A6F0-AB1910AA****</RequestId>\\n <PageNumber>1</PageNumber>\\n <FinishedCount>7</FinishedCount>\\n <HttpStatusCode>200</HttpStatusCode>\\n <Success>true</Success>\\n</DescribeDataCheckTableDetailsResponse>","errorExample":""}]',
+ 'title' => 'DescribeDataCheckTableDetails',
+ ],
+ 'DescribeDataCheckReportUrl' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CheckType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data verification method. Valid values:'."\n"
+ ."\n"
+ .'* **1**: full data verification.'."\n"
+ .'* **2**: incremental data verification.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DbName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the verified source database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dtsdb',
+ ],
+ ],
+ [
+ 'name' => 'TbName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the table verified in the source database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'student',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Data Transmission Service (DTS) task. You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f4612nr2182****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AF2DE23-B692-5B85-90B7-44B6F4D8****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The URL for downloading the verification report.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'DTS.Msg.FileExistValidFailError',
+ 'errorMessage' => 'The file has not been generated, please try again later.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AF2DE23-B692-5B85-90B7-44B6F4D8****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"HttpStatusCode\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeDataCheckReportUrlResponse>\\n <RequestId>7DF6862F-E666-5509-AE36-C5E745A1****</RequestId>\\n <HttpStatusCode>200</HttpStatusCode>\\n <DynamicMessage>https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****</DynamicMessage>\\n <ErrMessage/>\\n <Success>true</Success>\\n <ErrCode/>\\n</DescribeDataCheckReportUrlResponse>","errorExample":""}]',
+ 'title' => 'DescribeDataCheckReportUrl',
+ 'summary' => 'Queries the download URL of the data consistency verification report.',
+ ],
+ 'DescribeCheckJobs' => [
+ 'summary' => 'Verifies data migration tasks and data synchronization tasks',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '143962',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsEGTFKE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '30',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. The value must be an integer that is greater than **0**. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '0',
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'CheckType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the check'."\n"
+ .'>>1 full quantity, 2 incremental, 3 all',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Data migration instance ID, which can be queried by calling the **describemigrationjobs** API.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsz9p104ib23e972e',
+ ],
+ ],
+ [
+ 'name' => 'JobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data migration or synchronization job.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zwy_test',
+ ],
+ ],
+ [
+ 'name' => 'CheckJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Check the task job ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'z9p104ib23***',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'Status code.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => 'FC1D920B-AB89-52A9-AA5F-AA724C4205E8',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Error code returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.',
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'Dynamic error code, this parameter will be deprecated soon.',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'Error message returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'Dynamic error message, used to replace the **%s** in the **errmessage** return parameter. If **errmessage** returns **thevalueofinputparameter%sisnotvalid**, and **dynamicmessage** returns *[1,2,3]*, it indicates that the request parameter **dtsjobid** is invalid.',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'PageNumber' => [
+ 'description' => 'Current page number.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageRecordCount' => [
+ 'description' => 'The maximum number of records that can be displayed on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => 'Total number of records.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'CheckJobs' => [
+ 'description' => 'Item information check.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DtsJobId' => [
+ 'description' => 'Migration, synchronization, or subscription task ID.',
+ 'type' => 'string',
+ 'example' => 'n08o6si4q338b1x',
+ ],
+ 'JobStepId' => [
+ 'description' => 'Task ID.',
+ 'type' => 'string',
+ 'example' => 'as0e1ks426bq3z0',
+ ],
+ 'JobName' => [
+ 'description' => 'Check the name of the task.',
+ 'type' => 'string',
+ 'example' => 'dtstest',
+ ],
+ 'Status' => [
+ 'description' => 'Check result, return values: -**0**: Check passed -**1**: Check failed',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'CheckType' => [
+ 'description' => 'Data validation method, with values:'."\n"
+ .'- **1**: Full validation. - **2**: Incremental validation.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'InstanceClass' => [
+ 'description' => 'Instance specification.',
+ 'type' => 'string',
+ 'example' => 'SMALL',
+ ],
+ 'CheckPoint' => [
+ 'description' => 'checkpoint',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1111****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'Verify the total number of rows in the data.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '159',
+ ],
+ 'DiffCount' => [
+ 'description' => 'Number of rows with data inconsistency',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'DiffSum' => [
+ 'description' => 'Synchronization initialization progress, in percentage.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'FinishCount' => [
+ 'description' => 'The number of data rows in the table that have completed validation.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15094',
+ ],
+ 'GroupId' => [
+ 'description' => 'DTS task ID. In most cases, there is no need to set this parameter.',
+ 'type' => 'string',
+ 'example' => 'c3d12dii27t632g',
+ ],
+ 'DtsInstanceID' => [
+ 'description' => 'Migration, synchronization, or subscription instance ID.',
+ 'type' => 'string',
+ 'example' => 'dtsz8tc99sy2158b36',
+ ],
+ 'ChargeType' => [
+ 'description' => 'Billing type, return values: - **POSTPAY**: Pay-as-you-go (postpaid). - **PREPAY**: Subscription (prepaid).',
+ 'type' => 'string',
+ 'example' => 'POSTPAY',
+ ],
+ 'ParentJobType' => [
+ 'description' => 'This parameter will be deprecated.',
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ 'RegionId' => [
+ 'description' => 'Region ID to which it belongs.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FC1D920B-AB89-52A9-AA5F-AA724C4205E8\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"DynamicCode\\": \\"403\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageNumber\\": 1,\\n \\"PageRecordCount\\": 20,\\n \\"TotalRecordCount\\": 100,\\n \\"CheckJobs\\": [\\n {\\n \\"DtsJobId\\": \\"n08o6si4q338b1x\\",\\n \\"JobStepId\\": \\"as0e1ks426bq3z0\\",\\n \\"JobName\\": \\"dtstest\\",\\n \\"Status\\": 0,\\n \\"CheckType\\": 1,\\n \\"InstanceClass\\": \\"SMALL\\",\\n \\"CheckPoint\\": 0,\\n \\"TotalCount\\": 159,\\n \\"DiffCount\\": 0,\\n \\"DiffSum\\": 1,\\n \\"FinishCount\\": 15094,\\n \\"GroupId\\": \\"c3d12dii27t632g\\",\\n \\"DtsInstanceID\\": \\"dtsz8tc99sy2158b36\\",\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"ParentJobType\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeCheckJobs',
+ 'translator' => 'machine',
+ ],
+ 'SwitchPhysicalDtsJobToCloud' => [
+ 'summary' => 'Migrates Microsoft SQL Server (MSSQL) to the cloud by using a physical gateway',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Data migration or synchronization instance ID, which can be queried by calling the **describedtsjobs** interface.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l5512es7w15****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Migration, synchronization, or subscription instance ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsl3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Synchronization direction, values: - **Forward**: Forward. - **Reverse**: Reverse.'."\n"
+ .'> - The default value is **Forward**. - **Reverse** can only be passed when the topology of the data synchronization instance is bidirectional, to release the reverse synchronization link.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Region ID. Pass this parameter to specify the region where the instance is located. For more details, see the list of supported regions.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz4us4iruleja',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'Status code.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'request ID.',
+ 'type' => 'string',
+ 'example' => '659304E3-D44E-5EFA-BDE3-60015E30403B',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Error code returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.',
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'Returns the corresponding error message when an invocation error occurs.',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'Dynamic error message used to replace the **%s** in the **ErrMessage** return parameter. > If **ErrMessage** returns **The Value of Input Parameter %s is not valid**, and **DynamicMessage** returns **DtsJobId**, it indicates that the request parameter **DtsJobId** is invalid.',
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => 'Dynamic error code, this parameter will be deprecated.',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"659304E3-D44E-5EFA-BDE3-60015E30403B\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\"\\n}","type":"json"}]',
+ 'title' => 'SwitchPhysicalDtsJobToCloud',
+ 'translator' => 'machine',
+ ],
+ 'ModifyDynamicConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration or synchronization task.'."\n"
+ ."\n"
+ .'> You can call the [DescribeDtsJobs](~~209702~~) operation to query the task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ta7w132u12h****',
+ ],
+ ],
+ [
+ 'name' => 'JobCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task type. Valid values:'."\n"
+ ."\n"
+ .'* **03**: a full data synchronization or full data migration task.'."\n"
+ .'* **04**: an incremental data migration task.'."\n"
+ .'* **07**: an incremental data synchronization task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '07',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ConfigList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specific throttling configuration.'."\n"
+ ."\n"
+ .'* **dts.datamove.blaster.qps.max**: The rate at which queries are made to the source database per second.'."\n"
+ .'* **dts.datamove.source.rps.max**: The number of rows that are fully synchronized or migrated per second.'."\n"
+ .'* **dts.datamove.source.bps.max**: the amount of data processed per second for full synchronization or migration. Unit: MB.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* If you set the **JobCode** parameter to **03**, you need to specify **true** for the **EnableLimit** parameter. Otherwise, the configuration cannot take effect.'."\n"
+ ."\n"
+ .'* If you set the **JobCode** parameter to **04** or **07**, you only need to specify the **dts.datamove.source.rps.max** and **dts.datamove.source.bps.max** parameters.'."\n"
+ .'* A value of \\*\\*-1\\*\\* indicates no rate limit.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '{\\"dts.datamove.source.rps.max\\":5000,\\"dts.datamove.source.bps.max\\":10485760}',
+ ],
+ ],
+ [
+ 'name' => 'EnableLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable throttling for data synchronization or migration. Valid values: **true** and **false**.'."\n"
+ ."\n"
+ .'> Only needs to be configured when the **JobCode** parameter is set to **03**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz6zsi7ce5rpy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8D81829D-1BBD-5CE8-BE75-1CAD5750****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. This parameter will be removed in the future.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> If the value of the **ErrMessage** parameter is **The Value of Input Parameter %s is not valid** and the value of the **DynamicMessage** parameter is **DtsJobId**, the specified **DtsJobId** value is invalid.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8D81829D-1BBD-5CE8-BE75-1CAD5750****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
+ 'title' => 'ModifyDynamicConfig',
+ 'summary' => 'Enables throttling for data synchronization and data migration.',
+ ],
+ 'ModifyDtsJobConfig' => [
+ 'summary' => 'Modifies the parameters of a Data Transmission Service (DTS) task.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the instance is located. For more details, see [List of Supported Regions](~~141033~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'DTS job ID, which can be queried by calling [DescribeDtsJobs](~~209702~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'lxsn87r328d****',
+ ],
+ ],
+ [
+ 'name' => 'Parameters',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parameters that you want to modify. Specify a JSON string. For more information, see [Parameters](~~2536412~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{\\"module\\":\\"07\\",\\"name\\":\\"sink.connection.idle.second\\",\\"value\\":60},{\\"module\\":\\"07\\",\\"name\\":\\"sink.batch.size.maximum\\",\\"value\\":64}]',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'request ID',
+ 'type' => 'string',
+ 'example' => '068FA72F-4800-4A54-90BB-94806068****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"068FA72F-4800-4A54-90BB-94806068****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobConfigResponse>\\n <RequestId>068FA72F-4800-4A54-90BB-94806068****</RequestId>\\n</ModifyDtsJobConfigResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJobConfig',
+ 'translator' => 'machine',
+ ],
+ 'StartReverseWriter' => [
+ 'summary' => 'Starts the reverse task that is created by calling the CreateReverseDtsJob operation.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsZOB49A',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the reverse task that was created by calling the CreateReverseDtsJob operation.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'n99m9jx822k****',
+ ],
+ ],
+ [
+ 'name' => 'CheckPoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The offset of the Incremental Write module. Specify a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. '."\n"
+ ."\n"
+ .'> The default value is the offset that is automatically saved by DTS when the task is paused.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1695613785',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291BA4F1-2035-3FAA-6D5A-5D2015CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned if the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The value of the parameter %s is invalid.',
+ ],
+ [
+ 'errorCode' => 'Original.Job.Running',
+ 'errorMessage' => 'The parent dts job is running, reverse job cannot been startup.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"291BA4F1-2035-3FAA-6D5A-5D2015CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<StartReverseWriterResponse>\\n <RequestId>291BA4F1-2035-3FAA-6D5A-5D2015CC****</RequestId>\\n <Success>true</Success>\\n</StartReverseWriterResponse>","errorExample":""}]',
+ 'title' => 'StartReverseWriter',
+ 'description' => 'Before you call this operation, make sure that your instance is not released and is paused. You can check the status of the instance in the Data Transmission Service (DTS) console or by calling the [DescribeDtsJobDetail](~~208925~~) operation.'."\n",
+ ],
+ 'CreateReverseDtsJob' => [
+ 'summary' => 'Creates a reverse task for a data synchronization or migration task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '195766',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the synchronization or migration task, which can be queried by calling [DescribeDtsJobs](~~209702~~).',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'n99m9jx822k****',
+ ],
+ ],
+ [
+ 'name' => 'ShardUsername',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'Shard User name',
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'ShardPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'Shard Password',
+ 'example' => 'DTStest****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'Resource GroupId',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'Status code.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Error code returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the generated reverse synchronization task.',
+ 'type' => 'string',
+ 'example' => 'n99m9jx822k****',
+ ],
+ 'DtsInstanceId' => [
+ 'description' => 'The ID of the instance corresponding to the generated reverse task.',
+ 'type' => 'string',
+ 'example' => 'dtsor1f9kr822l****',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'Error message returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'The Value of Input Parameter %s is not valid.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ [
+ 'errorCode' => 'ReverseJob.Exists',
+ 'errorMessage' => 'The operation is not permitted due to reverse Dts job is already exists.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"DtsJobId\\": \\"n99m9jx822k****\\",\\n \\"DtsInstanceId\\": \\"dtsor1f9kr822l****\\",\\n \\"Success\\": \\"true\\",\\n \\"ErrMessage\\": \\"The Value of Input Parameter %s is not valid.\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateReverseDtsJobResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <DtsJobId>n99m9jx822k****</DtsJobId>\\n <DtsInstanceId>dtsor1f9kr822l****</DtsInstanceId>\\n <Success>true</Success>\\n</CreateReverseDtsJobResponse>","errorExample":""}]',
+ 'title' => 'CreateReverseDtsJob',
+ 'description' => '调用接口创建的反向任务会立即进行预检查,预检查通过后会进行增量数据采集,增量数据写入模块不会运行(需要调用**StartReverseWriter**接口运行)。'."\n"
+ ."\n"
+ .'> 创建的反向任务固定为同步任务,且只有增量写入模块。',
+ 'translator' => 'machine',
+ ],
+ 'ModifyDtsJobEndpoint' => [
+ 'summary' => 'Changes the source or destination database instance of a data synchronization or migration task in Data Transmission Service (DTS).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '199390',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the DTS instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'DTS job ID, which can be queried by calling [DescribeDtsJobs](~~209702~~).'."\n"
+ .'> If this parameter is not provided, **DtsInstanceId** must be filled in.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'm4312mab158****',
+ ],
+ ],
+ [
+ 'name' => 'DtsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS instance. If this parameter is not provided, **DtsJobId** must be specified.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtsaw012y2g15q****',
+ ],
+ ],
+ [
+ 'name' => 'SynchronizationDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Synchronization direction, with values:'."\n"
+ .'- **Forward** (default): Forward. - **Reverse**: Reverse.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Forward',
+ ],
+ ],
+ [
+ 'name' => 'Endpoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database instance to be modified, with values:'."\n"
+ .'- **src**: Source database instance. - **dest**: Target database instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'src',
+ ],
+ ],
+ [
+ 'name' => 'EndpointRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the database resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'EndpointInstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the database. Valid values:'."\n"
+ ."\n"
+ .'* **rds**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, or ApsaraDB RDS for PostgreSQL instance.'."\n"
+ .'* **polardb**: PolarDB for MySQL cluster or PolarDB for PostgreSQL cluster.'."\n"
+ .'* **mongodb**: ApsaraDB for MongoDB replica set instance.'."\n"
+ .'* **distributed_mongodb**: ApsaraDB for MongoDB sharded cluster instance.'."\n"
+ .'* **greenplum**: AnalyticDB for PostgreSQL instance.'."\n"
+ .'* **kafka**: ApsaraMQ for Kafka instance.'."\n"
+ .'* **ecs**: self-managed database that is hosted on an Elastic Compute Service (ECS) instance. If you set this parameter to ecs, the database must be the supported one.'."\n"
+ .'* **express**: database that is connected over Express Connect. If you set this parameter to express, the database must be the supported one.'."\n"
+ .'* **other**: database that is connected over Internet. If you set this parameter to other, the database must be the supported one.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* The following types of databases are supported: **MySQL**, **PolarDB for MySQL**, **PostgreSQL**, **PolarDB for PostgreSQL**, **MongoDB**, **SQL Server**, **Kafka**, and **AnalyticDB for PostgreSQL**.'."\n"
+ ."\n"
+ .'* If the original database is an ApsaraDB for MongoDB sharded cluster instance, the new database must have the same number of shards as the original database.'."\n"
+ .'* If the database that you want to change is a source **PostgreSQL** database, you must make sure that the latency of the DTS instance is less than 30 seconds and no data is written to the source database during the change. Otherwise, data inconsistency may occur.'."\n"
+ .'* The value of this parameter is case-insensitive.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'rds',
+ ],
+ ],
+ [
+ 'name' => 'EndpointInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'ID of the database instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp10k50h8374w****',
+ ],
+ ],
+ [
+ 'name' => 'EndpointIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP of the database instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.168.XX.XXX',
+ ],
+ ],
+ [
+ 'name' => 'EndpointPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'port of the database instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ [
+ 'name' => 'Database',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'When the database type is **PostgreSQL**, **PolarDB for PostgreSQL**, or **AnalyticDB PostgreSQL**, it represents the database name; when the database type is **MongoDB**, it represents the authentication database name.'."\n"
+ .'> This parameter is only available and must be provided when the database type is **PostgreSQL**, **PolarDB for PostgreSQL**, **AnalyticDB PostgreSQL**, or **MongoDB**.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'admin',
+ ],
+ ],
+ [
+ 'name' => 'ModifyAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to change the password of the database account. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false** (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database account.'."\n"
+ ."\n"
+ .'> This parameter is valid only if **ModifyAccount** is set to **true**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dtstest',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the database account.'."\n"
+ ."\n"
+ .'> This parameter is valid only if **ModifyAccount** is set to **true**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DTStest****',
+ ],
+ ],
+ [
+ 'name' => 'ShardUsername',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The account username of the shard of the ApsaraDB for MongoDB sharded cluster instance.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is valid and required only if the source database is an ApsaraDB for MongoDB sharded cluster instance.'."\n"
+ ."\n"
+ .'* This parameter is valid only if **ModifyAccount** is set to **true**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'shard',
+ ],
+ ],
+ [
+ 'name' => 'ShardPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The account password of the shard of the ApsaraDB for MongoDB sharded cluster instance.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* This parameter is valid and required only if the source database is an ApsaraDB for MongoDB sharded cluster instance.'."\n"
+ ."\n"
+ .'* This parameter is valid only if **ModifyAccount** is set to **true**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DTStest****',
+ ],
+ ],
+ [
+ 'name' => 'RoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cross Alibaba Cloud account role name. When performing data synchronization across Alibaba Cloud accounts, this parameter must be passed. For the required permissions and authorization methods for this role, please refer to [How to Configure RAM Authorization for Cross-Account Data Migration or Synchronization](~~48468~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ram-for-dts',
+ ],
+ ],
+ [
+ 'name' => 'AliyunUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account (primary account) to which the database instance belongs.'."\n"
+ .'> Passing this parameter indicates that cross-Alibaba Cloud account data synchronization will be performed, and you also need to pass the **RoleName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '150780020300****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform only a precheck. Valid values:'."\n"
+ ."\n"
+ .'* **true**: Yes. After the precheck is passed, the database is not changed.'."\n"
+ .'* **false** (default): No. After the precheck is passed, the system changes the original database of the DTS task and runs the task.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'Status code.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'request ID',
+ 'type' => 'string',
+ 'example' => '3FA98DF2-2F81-51FF-8A38-AA5112DD****',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrCode' => [
+ 'description' => 'Error code returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'DTS.Msg.InvalidEndpoint',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'Error message returned when the call fails.',
+ 'type' => 'string',
+ 'example' => 'The endpoint is invalid.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.TagKey',
+ 'errorMessage' => 'The Tag.N.Key parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.TagValue',
+ 'errorMessage' => 'The Tag.N.Value parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Tags',
+ 'errorMessage' => 'The specified value of parameter Tags is not valid.',
+ ],
+ [
+ 'errorCode' => 'Missing.TagKey',
+ 'errorMessage' => 'You must specify the key for value %s in Tag.N.Key.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.TagOrResourceId',
+ 'errorMessage' => 'Either Tags or ResourceIds must be specified.',
+ ],
+ [
+ 'errorCode' => 'NumberExceed.Tags',
+ 'errorMessage' => 'The maximum number of Tags is exceeded. The maximum value is 20.',
+ ],
+ [
+ 'errorCode' => 'NumberExceed.ResourceIds',
+ 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Category',
+ 'errorMessage' => 'The specified Category is invalid. Valid values are Custom and System.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.NextToken',
+ 'errorMessage' => 'The parameter NextToken is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.ResourceType',
+ 'errorMessage' => 'The ResourceType parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Scope',
+ 'errorMessage' => 'The specified Scope is invalid. Valid value: public, private.',
+ ],
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Duplicate.TagKey',
+ 'errorMessage' => 'The Tag.N.Key contains duplicate keys.',
+ ],
+ [
+ 'errorCode' => 'NoPermission.SystemTag',
+ 'errorMessage' => 'You are not authorized to operate system tag because the product code is invalid.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceed.TagsPerResource',
+ 'errorMessage' => 'The maximum number of tags for each resource is exceeded.',
+ ],
+ [
+ 'errorCode' => 'NoPermission.Operator',
+ 'errorMessage' => 'The user is not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"3FA98DF2-2F81-51FF-8A38-AA5112DD****\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"DTS.Msg.InvalidEndpoint\\",\\n \\"ErrMessage\\": \\"The endpoint is invalid.\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDtsJobEndpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>3FA98DF2-2F81-51FF-8A38-AA5112DD****</RequestId>\\n <Success>true</Success>\\n</ModifyDtsJobEndpointResponse>","errorExample":""}]',
+ 'title' => 'ModifyDtsJobEndpoint',
+ 'description' => '> After the database is changed, Data Transmission Service (DTS) rolls back the incremental write offset for 10 seconds. If the synchronized or migrated data does not have a primary key, make sure that no data is written to the source database while the source or destination database is being replaced. Otherwise, duplicate data may exist.'."\n",
+ 'translator' => 'machine',
+ ],
+ 'SkipFullJobTable' => [
+ 'summary' => 'The tables that do not need to be synchronized in a full data synchronization are skipped.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '142566',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DTS task. The DTS task can be a data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the DTS instance. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'JobProgressId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the primary key.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only zero-extract, transform, load (ETL) integration tasks. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2ilvoxlrdcby',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****',
+ ],
+ 'Code' => [
+ 'description' => 'The error code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"Code\\": \\"200\\"\\n}","type":"json"}]',
+ 'title' => 'SkipFullJobTable',
+ ],
+ 'DescribeFullProcessList' => [
+ 'summary' => 'Queries full data migration tasks.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '156988',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i03e3zty16i****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the data migration instance resides. For more information, see [Supported regions](~~141033~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only zero-extract, transform, load (ETL) integration tasks. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****',
+ ],
+ 'DtsJobId' => [
+ 'description' => 'The ID of the data migration, data synchronization, or change tracking task.'."\n",
+ 'type' => 'string',
+ 'example' => 'i03e3zty16i****',
+ ],
+ 'ErrCode' => [
+ 'description' => 'The error code returned when the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => 'The error message returned when the request failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'ConfigList' => [
+ 'description' => 'The throttling configuration. Valid values:'."\n"
+ ."\n"
+ .'* **dts.datamove.blaster.qps.max**: The rate at which queries are made to the source database per second.'."\n"
+ .'* **dts.datamove.source.rps.max**: the number of rows that are fully synchronized or migrated per second.'."\n"
+ .'* **dts.datamove.source.bps.max**: the amount of data processed per second for full synchronization or migration. Unit: Byte/s.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* When you set the **JobCode** parameter to **03**, you need to specify the **EnableLimit** parameter as **true**. Otherwise, the configuration cannot take effect.'."\n"
+ ."\n"
+ .'* When you set the **JobCode** parameter to **04** or **07**, you only need to specify the **dts.datamove.source.rps.max** and **dts.datamove.source.bps.max** parameters.'."\n"
+ .'* A value of \\*\\*-1\\*\\* indicates no rate limit.'."\n",
+ 'type' => 'object',
+ 'example' => '{'."\n"
+ .' "dts.datamove.source.rps.max": 5000,'."\n"
+ .' "dts.datamove.source.bps.max": 10485760'."\n"
+ .'}',
+ ],
+ 'Code' => [
+ 'description' => 'The error code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => 'The dynamic part in the error message. This parameter is used to replace the \\*\\*%s\\*\\* variable in the **ErrMessage** parameter.'."\n"
+ ."\n"
+ .'> The request parameter **DtsJobId** is invalid if **The Value of Input Parameter %s is not valid** is returned for **ErrMessage** and **DtsJobId** is returned for **DynamicMessage**.'."\n",
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'FullProcessList' => [
+ 'description' => 'The details of the GA instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProcessType' => [
+ 'description' => 'The type of the process. Valid values:'."\n"
+ ."\n"
+ .'* **1**: trusted'."\n"
+ .'* **2**: suspicious'."\n"
+ .'* **3**: malicious'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'ProcessName' => [
+ 'description' => 'The name of the process.'."\n",
+ 'type' => 'string',
+ 'example' => 'universer',
+ ],
+ 'RunningSQL' => [
+ 'description' => 'SQL that is running'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Exception' => [
+ 'description' => 'The abnormal status of the task. Valid values:**notstarted**. -**checking**. -**failed**. -**finished**.'."\n",
+ 'type' => 'string',
+ 'example' => 'notstarted',
+ ],
+ 'TaskID' => [
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'TaskD4E5F6',
+ ],
+ 'Detail' => [
+ 'description' => 'Details'."\n",
+ 'type' => 'string',
+ 'example' => '{}',
+ ],
+ 'State' => [
+ 'description' => 'The log status.'."\n",
+ 'type' => 'string',
+ 'example' => 'running',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the logs were collected. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1729650129452',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"DtsJobId\\": \\"i03e3zty16i****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"ConfigList\\": {\\n \\"dts.datamove.source.rps.max\\": 5000,\\n \\"dts.datamove.source.bps.max\\": 10485760\\n },\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"FullProcessList\\": [\\n {\\n \\"ProcessType\\": \\"1\\",\\n \\"ProcessName\\": \\"universer\\",\\n \\"RunningSQL\\": \\"test\\",\\n \\"Exception\\": \\"notstarted\\",\\n \\"TaskID\\": \\"TaskD4E5F6\\",\\n \\"Detail\\": \\"{}\\",\\n \\"State\\": \\"running\\",\\n \\"Time\\": 1729650129452\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeFullProcessList',
+ ],
+ 'ModifyGadInstanceName' => [
+ 'summary' => 'Modifies the name of a GAD instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '231795',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts05OBVW',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek26mat2ldb4oy',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-uf6b0m001ir8mr9i9',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4D0ADAD5-DD97-41B6-B78F-D1961AB1****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'RegionId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rm-bp162d4tp0500****',
+ ],
+ 'InstanceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rm-2zehh163694qs5c3v',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2021-06-28 17:34:53.0',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.GADInstanceNotFound',
+ 'errorMessage' => 'The GAD instance is not found.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"4D0ADAD5-DD97-41B6-B78F-D1961AB1****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"InstanceName\\": \\"rm-2zehh163694qs5c3v\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyGadInstanceName',
+ ],
+ 'DescribePreCheckCreateGadOrderResult' => [
+ 'summary' => 'Queries the result of a precheck task before a GAD instance is created.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '232362',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts05OBVW',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gad-bp162d4tp0500****',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k71r16fj13g****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '92E1E99D-5224-4AD3-8C94-23A3516B****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'RegionId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'gad-bp1i99e8l7913****',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '11****',
+ ],
+ 'PreCheckResult' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ 'PreCheckItems' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PreCheckItems' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CHECK_MASTER_DB_STATUS',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"92E1E99D-5224-4AD3-8C94-23A3516B****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"TaskId\\": \\"11****\\",\\n \\"PreCheckResult\\": true,\\n \\"PreCheckItems\\": {\\n \\"PreCheckItems\\": [\\n {\\n \\"Code\\": \\"CHECK_MASTER_DB_STATUS\\",\\n \\"Status\\": \\"Running\\",\\n \\"Message\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribePreCheckCreateGadOrderResult',
+ ],
+ 'DetachGadInstanceDbMember' => [
+ 'summary' => 'Removes a secondary instance',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '235864',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts05OBVW',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gad-bp162d4tp0500****',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-sdfghjk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '6063641E-BAD1-4BA7-B70B-26FFFD18****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ 'RegionId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'gad-bp1i99e8l7913****',
+ ],
+ 'InstanceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2021-06-28 17:34:53.0',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ 'SlaveDbInstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rm-bp1i99e8l7913****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ [
+ 'errorCode' => 'DTS.Msg.GADInstanceNotFound',
+ 'errorMessage' => 'The GAD instance is not found.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"6063641E-BAD1-4BA7-B70B-26FFFD18****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"gad-bp1i99e8l7913****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"SlaveDbInstanceId\\": \\"rm-bp1i99e8l7913****\\"\\n}","type":"json"}]',
+ 'title' => 'DetachGadInstanceDbMember',
+ ],
+ 'PreCheckCreateGadOrder' => [
+ 'summary' => 'Prechecks before a GAD instance is created.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '232361',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts05OBVW',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfntftbiobqyky',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gad-bp1i99e8l7913****',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp17562h64****',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDbInstanceRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MasterDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'MasterEngineArchType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'MasterShardAccountName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'MasterShardAccountPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SlaveEngineArchType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****',
+ ],
+ 'RegionId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rm-bp162d4tp0500****',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'z2v12jfo309****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"https://check-result-file-sh.oss-cn-shanghai.aliyuncs.com/dw612cru18e****/dtsdb/diff/student.diff.zip?Expires=****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rm-bp162d4tp0500****\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]',
+ 'title' => 'PreCheckCreateGadOrder',
+ ],
+ 'DescribeGadInstances' => [
+ 'summary' => 'Queries the GAD instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '231735',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts05OBVW',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MasterDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DbEngineTypes',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C166D79D-436B-45F0-B5A5-25E1959F****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'PageRecordCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'TotalRecordCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '22',
+ ],
+ 'PageNumber' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Instances' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Instances' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceRegion' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'InstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rg-a76s8afa****',
+ ],
+ 'InstanceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DbEngineType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MySQL',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'running',
+ ],
+ 'MasterDbInstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rm-sadfasfa****',
+ ],
+ 'MasterDbInstanceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'MasterDbInstanceRegion' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'MasterDbInstanceZoneId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'DbInstanceCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2024-05-29 23:55:58',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'rg-aekzq276dmnaxqa',
+ ],
+ 'InstanceType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DR',
+ ],
+ 'MasterEngineArchType' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": \\"200\\",\\n \\"RequestId\\": \\"C166D79D-436B-45F0-B5A5-25E1959F****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Success\\": \\"true\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"PageRecordCount\\": 30,\\n \\"TotalRecordCount\\": 22,\\n \\"PageNumber\\": 1,\\n \\"Instances\\": {\\n \\"Instances\\": [\\n {\\n \\"InstanceRegion\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"rg-a76s8afa****\\",\\n \\"InstanceName\\": \\"test\\",\\n \\"DbEngineType\\": \\"MySQL\\",\\n \\"Status\\": \\"running\\",\\n \\"MasterDbInstanceId\\": \\"rm-sadfasfa****\\",\\n \\"MasterDbInstanceName\\": \\"test\\",\\n \\"MasterDbInstanceRegion\\": \\"cn-hangzhou\\",\\n \\"MasterDbInstanceZoneId\\": \\"cn-hangzhou\\",\\n \\"DbInstanceCount\\": 2,\\n \\"CreateTime\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aekzq276dmnaxqa\\",\\n \\"InstanceType\\": \\"DR\\",\\n \\"MasterEngineArchType\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeGadInstances',
+ ],
+ 'DescribeDocParserJobStatus' => [
+ 'summary' => 'Queries the execution status of a document parsing task.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '52309',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsE4ZR2L',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'dts-20250729-l3m1213ye7l****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ [
+ 'name' => 'RagInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'FDC111B1-ACBF-457D-9656-247FDEE9****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DtsJobId',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Finished',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied.NotPurchased',
+ 'errorMessage' => 'The instance has not been purchased and the task cannot be started.',
+ ],
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"FDC111B1-ACBF-457D-9656-247FDEE9****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"DtsJobId\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"Status\\": \\"Finished\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeDocParserJobStatus',
+ ],
+ 'ListJobStep' => [
+ 'summary' => '查询JobStep列表。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '142560',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsDW6WLD',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'k2gm967v16f****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ZeroEtlJob',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek3dcgyq7p****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '621BB4F8-3016-4FAA-8D5A-5D3163CC****',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'UseV2API' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ 'JobSteps' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobStepId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'l02c1f7h179****',
+ ],
+ 'JobStepName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '01',
+ ],
+ 'Serial' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'SubJobCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'IncLatencySeconds' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '-1',
+ ],
+ 'State' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '○ Finished',
+ ],
+ 'ErrMsg' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'fullcheck find different records : 2372',
+ ],
+ 'SubJobSteps' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'JobStepId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'mj3z9w9s10am68o_0004_0000',
+ ],
+ 'JobStepName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '03',
+ ],
+ 'Serial' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '123',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'IncLatencySeconds' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'State' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'running',
+ ],
+ 'ErrMsg' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'UncaughtException:java.lang.NullPointerException',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2024-09-20T02:13:12Z',
+ ],
+ 'BootTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2025-01-02T02:00:21Z',
+ ],
+ 'FinishTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2024-03-15T02:15:14Z',
+ ],
+ 'ModifyTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2024-08-22T02:04:35Z',
+ ],
+ 'ErrorDetails' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'HelpUrl' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ ],
+ ],
+ ],
+ 'IncLatencyMilliseconds' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'NeedAcceleration' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2023-11-28T17:13:51Z',
+ ],
+ 'BootTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2024-04-11T09:33:23Z',
+ ],
+ 'FinishTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2024-03-15T02:15:14Z',
+ ],
+ 'ModifyTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2025-01-03T02:26:14Z',
+ ],
+ 'ErrorDetails' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'HelpUrl' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '****',
+ ],
+ ],
+ ],
+ ],
+ 'IncLatencyMilliseconds' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'NeedAcceleration' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'redisPhaseType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'full',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"621BB4F8-3016-4FAA-8D5A-5D3163CC****\\",\\n \\"Code\\": \\"200\\",\\n \\"UseV2API\\": true,\\n \\"JobSteps\\": [\\n {\\n \\"JobStepId\\": \\"l02c1f7h179****\\",\\n \\"JobStepName\\": \\"预检查\\",\\n \\"Code\\": \\"01\\",\\n \\"Serial\\": 1,\\n \\"Progress\\": 100,\\n \\"SubJobCount\\": 1,\\n \\"IncLatencySeconds\\": -1,\\n \\"State\\": \\"○ Finished\\",\\n \\"ErrMsg\\": \\"fullcheck find different records : 2372\\",\\n \\"SubJobSteps\\": [\\n {\\n \\"JobStepId\\": \\"mj3z9w9s10am68o_0004_0000\\",\\n \\"JobStepName\\": \\"test\\",\\n \\"Code\\": \\"03\\",\\n \\"Serial\\": 123,\\n \\"Progress\\": 0,\\n \\"IncLatencySeconds\\": 1,\\n \\"State\\": \\"running\\",\\n \\"ErrMsg\\": \\"UncaughtException:java.lang.NullPointerException\\",\\n \\"CreateTime\\": \\"2024-09-20T02:13:12Z\\",\\n \\"BootTime\\": \\"2025-01-02T02:00:21Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2024-08-22T02:04:35Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"Success\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": \\"1\\",\\n \\"NeedAcceleration\\": true\\n }\\n ],\\n \\"CreateTime\\": \\"2023-11-28T17:13:51Z\\",\\n \\"BootTime\\": \\"2024-04-11T09:33:23Z\\",\\n \\"FinishTime\\": \\"2024-03-15T02:15:14Z\\",\\n \\"ModifyTime\\": \\"2025-01-03T02:26:14Z\\",\\n \\"ErrorDetails\\": [\\n {\\n \\"ErrorCode\\": \\"200\\",\\n \\"HelpUrl\\": \\"****\\"\\n }\\n ],\\n \\"IncLatencyMilliseconds\\": 1,\\n \\"NeedAcceleration\\": true,\\n \\"redisPhaseType\\": \\"full\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListJobStepResponse>\\n <Success>true</Success>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>621BB4F8-3016-4FAA-8D5A-5D3163CC****</RequestId>\\n <Code>200</Code>\\n <UseV2API>true</UseV2API>\\n <JobSteps>\\n <JobStepId>l02c1f7h179****</JobStepId>\\n <JobStepName>预检查</JobStepName>\\n <Code>01</Code>\\n <Serial>1</Serial>\\n <Progress>100</Progress>\\n <SubJobCount>1</SubJobCount>\\n <IncLatencySeconds>-1</IncLatencySeconds>\\n <State>○ Finished</State>\\n <ErrMsg>fullcheck find different records : 2372</ErrMsg>\\n <SubJobSteps>\\n <JobStepId>mj3z9w9s10am68o_0004_0000</JobStepId>\\n <JobStepName>test</JobStepName>\\n <Code>03</Code>\\n <Serial>123</Serial>\\n <Progress>0</Progress>\\n <IncLatencySeconds>1</IncLatencySeconds>\\n <State>running</State>\\n <ErrMsg>UncaughtException:java.lang.NullPointerException</ErrMsg>\\n <CreateTime>2024-09-20T02:13:12Z</CreateTime>\\n <BootTime>2025-01-02T02:00:21Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2024-08-22T02:04:35Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>Success</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </SubJobSteps>\\n <CreateTime>2023-11-28T17:13:51Z</CreateTime>\\n <BootTime>2024-04-11T09:33:23Z</BootTime>\\n <FinishTime>2024-03-15T02:15:14Z</FinishTime>\\n <ModifyTime>2025-01-03T02:26:14Z</ModifyTime>\\n <ErrorDetails>\\n <ErrorCode>200</ErrorCode>\\n <HelpUrl>****</HelpUrl>\\n </ErrorDetails>\\n <IncLatencyMilliseconds>1</IncLatencyMilliseconds>\\n <NeedAcceleration>true</NeedAcceleration>\\n </JobSteps>\\n</ListJobStepResponse>","errorExample":""}]',
+ ],
+ 'ModifyJobStepCheckpoint' => [
+ 'summary' => '修改增量写入的位点。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREdtsJ32CAF',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'DtsJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'l5512es7w15****',
+ ],
+ ],
+ [
+ 'name' => 'JobStepId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wn3z4ukia9wi9xu_0004_0000',
+ ],
+ ],
+ [
+ 'name' => 'NewCheckPoint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1760406***',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2ilvoxlrd***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C306C198-7807-409D-930A-D6CE6C32****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'can not find env: zbyk-pre',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C306C198-7807-409D-930A-D6CE6C32****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"Code\\": \\"200\\",\\n \\"DynamicMessage\\": \\"can not find env: zbyk-pre\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyJobStepCheckpointResponse>\\n <HttpStatusCode>200</HttpStatusCode>\\n <RequestId>C306C198-7807-409D-930A-D6CE6C32****</RequestId>\\n <ErrCode>InternalError</ErrCode>\\n <Success>true</Success>\\n <ErrMessage>The request processing has failed due to some unknown error.</ErrMessage>\\n <Code>200</Code>\\n <DynamicMessage>can not find env: zbyk-pre</DynamicMessage>\\n</ModifyJobStepCheckpointResponse>","errorExample":""}]',
+ ],
+ 'PromoteToMaster' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '236002',
+ 'abilityTreeNodes' => [
+ 'FEATUREdts4VPC0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gad-bp162d4tp0500****',
+ ],
+ ],
+ [
+ 'name' => 'MasterDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1756****',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDbInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rm-bp1756****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmzawhxxc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpStatusCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '210ec2e116055198849072222d****',
+ ],
+ 'ErrCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'InternalError',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'DynamicMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'present environment is not support,so skip.',
+ ],
+ 'DynamicCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '403',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'z2v12jfo309****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Throttling.User',
+ 'errorMessage' => 'Request was denied due to user flow control.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidSecurityToken.Expired',
+ 'errorMessage' => 'Specified SecurityToken is expired.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ServiceUnavailable',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"210ec2e116055198849072222d****\\",\\n \\"ErrCode\\": \\"InternalError\\",\\n \\"Success\\": true,\\n \\"ErrMessage\\": \\"The request processing has failed due to some unknown error.\\",\\n \\"DynamicMessage\\": \\"present environment is not support,so skip.\\",\\n \\"DynamicCode\\": \\"403\\",\\n \\"TaskId\\": \\"z2v12jfo309****\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-qingdao',
+ 'endpoint' => 'dts.cn-qingdao.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'dts.cn-beijing.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'endpoint' => 'dts.cn-zhangjiakou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'endpoint' => 'dts.cn-huhehaote.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'dts.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'dts.cn-shenzhen.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'dts.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'dts.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-2',
+ 'endpoint' => 'dts.ap-southeast-2.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'dts.ap-southeast-3.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'dts.ap-southeast-5.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'endpoint' => 'dts.eu-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'dts.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'dts.us-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'dts.eu-central-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'dts.me-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-south-1',
+ 'endpoint' => 'dts.ap-south-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-finance',
+ 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-finance-1',
+ 'endpoint' => 'dts.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-north-2-gov-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-2-pop',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing-finance-1',
+ 'endpoint' => 'dts.cn-beijing-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing-finance-pop',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing-gov-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing-nu16-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'endpoint' => 'dts.cn-chengdu.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-edge-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-fujian',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-haidian-cm12-c01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-bj-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-internal-prod-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-internal-test-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-internal-test-2',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-internal-test-3',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-test-306',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong-finance-pop',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote-nebula-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-qingdao-nebula',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-et15-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-et2-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-inner',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-internal-test-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-inner',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-st4-d01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-su18-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-wuhan',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-yushanfang',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangbei-na61-b01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou-na62-a01',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhengzhou-nebula-1',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1-oxs',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'rus-west-1-pop',
+ 'endpoint' => 'dts.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'dts.ap-northeast-1.aliyuncs.com',
+ ],
+ ],
+];