@alicloud/dts20200101 1.2.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -1519,6 +1519,70 @@ class CreateMigrationJobResponse extends $tea.Model {
1519
1519
  }
1520
1520
  }
1521
1521
  exports.CreateMigrationJobResponse = CreateMigrationJobResponse;
1522
+ class CreateReverseDtsJobRequest extends $tea.Model {
1523
+ constructor(map) {
1524
+ super(map);
1525
+ }
1526
+ static names() {
1527
+ return {
1528
+ dtsJobId: 'DtsJobId',
1529
+ };
1530
+ }
1531
+ static types() {
1532
+ return {
1533
+ dtsJobId: 'string',
1534
+ };
1535
+ }
1536
+ }
1537
+ exports.CreateReverseDtsJobRequest = CreateReverseDtsJobRequest;
1538
+ class CreateReverseDtsJobResponseBody extends $tea.Model {
1539
+ constructor(map) {
1540
+ super(map);
1541
+ }
1542
+ static names() {
1543
+ return {
1544
+ dtsInstanceId: 'DtsInstanceId',
1545
+ dtsJobId: 'DtsJobId',
1546
+ errCode: 'ErrCode',
1547
+ errMessage: 'ErrMessage',
1548
+ httpStatusCode: 'HttpStatusCode',
1549
+ requestId: 'RequestId',
1550
+ success: 'Success',
1551
+ };
1552
+ }
1553
+ static types() {
1554
+ return {
1555
+ dtsInstanceId: 'string',
1556
+ dtsJobId: 'string',
1557
+ errCode: 'string',
1558
+ errMessage: 'string',
1559
+ httpStatusCode: 'string',
1560
+ requestId: 'string',
1561
+ success: 'string',
1562
+ };
1563
+ }
1564
+ }
1565
+ exports.CreateReverseDtsJobResponseBody = CreateReverseDtsJobResponseBody;
1566
+ class CreateReverseDtsJobResponse extends $tea.Model {
1567
+ constructor(map) {
1568
+ super(map);
1569
+ }
1570
+ static names() {
1571
+ return {
1572
+ headers: 'headers',
1573
+ statusCode: 'statusCode',
1574
+ body: 'body',
1575
+ };
1576
+ }
1577
+ static types() {
1578
+ return {
1579
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
1580
+ statusCode: 'number',
1581
+ body: CreateReverseDtsJobResponseBody,
1582
+ };
1583
+ }
1584
+ }
1585
+ exports.CreateReverseDtsJobResponse = CreateReverseDtsJobResponse;
1522
1586
  class CreateSubscriptionInstanceRequest extends $tea.Model {
1523
1587
  constructor(map) {
1524
1588
  super(map);
@@ -6008,6 +6072,7 @@ class ModifyDtsJobRequest extends $tea.Model {
6008
6072
  dataSynchronization: 'DataSynchronization',
6009
6073
  dbList: 'DbList',
6010
6074
  dtsInstanceId: 'DtsInstanceId',
6075
+ dtsJobId: 'DtsJobId',
6011
6076
  etlOperatorColumnReference: 'EtlOperatorColumnReference',
6012
6077
  fileOssUrl: 'FileOssUrl',
6013
6078
  filterTableName: 'FilterTableName',
@@ -6025,6 +6090,7 @@ class ModifyDtsJobRequest extends $tea.Model {
6025
6090
  dataSynchronization: 'boolean',
6026
6091
  dbList: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
6027
6092
  dtsInstanceId: 'string',
6093
+ dtsJobId: 'string',
6028
6094
  etlOperatorColumnReference: 'string',
6029
6095
  fileOssUrl: 'string',
6030
6096
  filterTableName: 'string',
@@ -6048,6 +6114,7 @@ class ModifyDtsJobAdvanceRequest extends $tea.Model {
6048
6114
  dataSynchronization: 'DataSynchronization',
6049
6115
  dbList: 'DbList',
6050
6116
  dtsInstanceId: 'DtsInstanceId',
6117
+ dtsJobId: 'DtsJobId',
6051
6118
  etlOperatorColumnReference: 'EtlOperatorColumnReference',
6052
6119
  fileOssUrlObject: 'FileOssUrl',
6053
6120
  filterTableName: 'FilterTableName',
@@ -6065,6 +6132,7 @@ class ModifyDtsJobAdvanceRequest extends $tea.Model {
6065
6132
  dataSynchronization: 'boolean',
6066
6133
  dbList: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
6067
6134
  dtsInstanceId: 'string',
6135
+ dtsJobId: 'string',
6068
6136
  etlOperatorColumnReference: 'string',
6069
6137
  fileOssUrlObject: 'Readable',
6070
6138
  filterTableName: 'string',
@@ -6088,6 +6156,7 @@ class ModifyDtsJobShrinkRequest extends $tea.Model {
6088
6156
  dataSynchronization: 'DataSynchronization',
6089
6157
  dbListShrink: 'DbList',
6090
6158
  dtsInstanceId: 'DtsInstanceId',
6159
+ dtsJobId: 'DtsJobId',
6091
6160
  etlOperatorColumnReference: 'EtlOperatorColumnReference',
6092
6161
  fileOssUrl: 'FileOssUrl',
6093
6162
  filterTableName: 'FilterTableName',
@@ -6105,6 +6174,7 @@ class ModifyDtsJobShrinkRequest extends $tea.Model {
6105
6174
  dataSynchronization: 'boolean',
6106
6175
  dbListShrink: 'string',
6107
6176
  dtsInstanceId: 'string',
6177
+ dtsJobId: 'string',
6108
6178
  etlOperatorColumnReference: 'string',
6109
6179
  fileOssUrl: 'string',
6110
6180
  filterTableName: 'string',
@@ -6361,6 +6431,98 @@ class ModifyDtsJobDuLimitResponse extends $tea.Model {
6361
6431
  }
6362
6432
  }
6363
6433
  exports.ModifyDtsJobDuLimitResponse = ModifyDtsJobDuLimitResponse;
6434
+ class ModifyDtsJobEndpointRequest extends $tea.Model {
6435
+ constructor(map) {
6436
+ super(map);
6437
+ }
6438
+ static names() {
6439
+ return {
6440
+ aliyunUid: 'AliyunUid',
6441
+ database: 'Database',
6442
+ dryRun: 'DryRun',
6443
+ dtsInstanceId: 'DtsInstanceId',
6444
+ dtsJobId: 'DtsJobId',
6445
+ endpoint: 'Endpoint',
6446
+ endpointInstanceId: 'EndpointInstanceId',
6447
+ endpointInstanceType: 'EndpointInstanceType',
6448
+ endpointIp: 'EndpointIp',
6449
+ endpointPort: 'EndpointPort',
6450
+ password: 'Password',
6451
+ regionId: 'RegionId',
6452
+ roleName: 'RoleName',
6453
+ shardPassword: 'ShardPassword',
6454
+ shardUsername: 'ShardUsername',
6455
+ synchronizationDirection: 'SynchronizationDirection',
6456
+ username: 'Username',
6457
+ };
6458
+ }
6459
+ static types() {
6460
+ return {
6461
+ aliyunUid: 'string',
6462
+ database: 'string',
6463
+ dryRun: 'boolean',
6464
+ dtsInstanceId: 'string',
6465
+ dtsJobId: 'string',
6466
+ endpoint: 'string',
6467
+ endpointInstanceId: 'string',
6468
+ endpointInstanceType: 'string',
6469
+ endpointIp: 'string',
6470
+ endpointPort: 'string',
6471
+ password: 'string',
6472
+ regionId: 'string',
6473
+ roleName: 'string',
6474
+ shardPassword: 'string',
6475
+ shardUsername: 'string',
6476
+ synchronizationDirection: 'string',
6477
+ username: 'string',
6478
+ };
6479
+ }
6480
+ }
6481
+ exports.ModifyDtsJobEndpointRequest = ModifyDtsJobEndpointRequest;
6482
+ class ModifyDtsJobEndpointResponseBody extends $tea.Model {
6483
+ constructor(map) {
6484
+ super(map);
6485
+ }
6486
+ static names() {
6487
+ return {
6488
+ errCode: 'ErrCode',
6489
+ errMessage: 'ErrMessage',
6490
+ httpStatusCode: 'HttpStatusCode',
6491
+ requestId: 'RequestId',
6492
+ success: 'Success',
6493
+ };
6494
+ }
6495
+ static types() {
6496
+ return {
6497
+ errCode: 'string',
6498
+ errMessage: 'string',
6499
+ httpStatusCode: 'string',
6500
+ requestId: 'string',
6501
+ success: 'boolean',
6502
+ };
6503
+ }
6504
+ }
6505
+ exports.ModifyDtsJobEndpointResponseBody = ModifyDtsJobEndpointResponseBody;
6506
+ class ModifyDtsJobEndpointResponse extends $tea.Model {
6507
+ constructor(map) {
6508
+ super(map);
6509
+ }
6510
+ static names() {
6511
+ return {
6512
+ headers: 'headers',
6513
+ statusCode: 'statusCode',
6514
+ body: 'body',
6515
+ };
6516
+ }
6517
+ static types() {
6518
+ return {
6519
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
6520
+ statusCode: 'number',
6521
+ body: ModifyDtsJobEndpointResponseBody,
6522
+ };
6523
+ }
6524
+ }
6525
+ exports.ModifyDtsJobEndpointResponse = ModifyDtsJobEndpointResponse;
6364
6526
  class ModifyDtsJobNameRequest extends $tea.Model {
6365
6527
  constructor(map) {
6366
6528
  super(map);
@@ -7407,6 +7569,66 @@ class StartMigrationJobResponse extends $tea.Model {
7407
7569
  }
7408
7570
  }
7409
7571
  exports.StartMigrationJobResponse = StartMigrationJobResponse;
7572
+ class StartReverseWriterRequest extends $tea.Model {
7573
+ constructor(map) {
7574
+ super(map);
7575
+ }
7576
+ static names() {
7577
+ return {
7578
+ checkPoint: 'CheckPoint',
7579
+ dtsJobId: 'DtsJobId',
7580
+ };
7581
+ }
7582
+ static types() {
7583
+ return {
7584
+ checkPoint: 'string',
7585
+ dtsJobId: 'string',
7586
+ };
7587
+ }
7588
+ }
7589
+ exports.StartReverseWriterRequest = StartReverseWriterRequest;
7590
+ class StartReverseWriterResponseBody extends $tea.Model {
7591
+ constructor(map) {
7592
+ super(map);
7593
+ }
7594
+ static names() {
7595
+ return {
7596
+ errCode: 'ErrCode',
7597
+ errMessage: 'ErrMessage',
7598
+ requestId: 'RequestId',
7599
+ success: 'Success',
7600
+ };
7601
+ }
7602
+ static types() {
7603
+ return {
7604
+ errCode: 'string',
7605
+ errMessage: 'string',
7606
+ requestId: 'string',
7607
+ success: 'string',
7608
+ };
7609
+ }
7610
+ }
7611
+ exports.StartReverseWriterResponseBody = StartReverseWriterResponseBody;
7612
+ class StartReverseWriterResponse extends $tea.Model {
7613
+ constructor(map) {
7614
+ super(map);
7615
+ }
7616
+ static names() {
7617
+ return {
7618
+ headers: 'headers',
7619
+ statusCode: 'statusCode',
7620
+ body: 'body',
7621
+ };
7622
+ }
7623
+ static types() {
7624
+ return {
7625
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
7626
+ statusCode: 'number',
7627
+ body: StartReverseWriterResponseBody,
7628
+ };
7629
+ }
7630
+ }
7631
+ exports.StartReverseWriterResponse = StartReverseWriterResponse;
7410
7632
  class StartSubscriptionInstanceRequest extends $tea.Model {
7411
7633
  constructor(map) {
7412
7634
  super(map);
@@ -11753,6 +11975,50 @@ class DescribeDtsJobsResponseBodyDtsJobListReverseJobErrorDetails extends $tea.M
11753
11975
  }
11754
11976
  }
11755
11977
  exports.DescribeDtsJobsResponseBodyDtsJobListReverseJobErrorDetails = DescribeDtsJobsResponseBodyDtsJobListReverseJobErrorDetails;
11978
+ class DescribeDtsJobsResponseBodyDtsJobListReverseJobFullDataCheckStatus extends $tea.Model {
11979
+ constructor(map) {
11980
+ super(map);
11981
+ }
11982
+ static names() {
11983
+ return {
11984
+ errorMessage: 'ErrorMessage',
11985
+ percent: 'Percent',
11986
+ progress: 'Progress',
11987
+ status: 'Status',
11988
+ };
11989
+ }
11990
+ static types() {
11991
+ return {
11992
+ errorMessage: 'string',
11993
+ percent: 'string',
11994
+ progress: 'string',
11995
+ status: 'string',
11996
+ };
11997
+ }
11998
+ }
11999
+ exports.DescribeDtsJobsResponseBodyDtsJobListReverseJobFullDataCheckStatus = DescribeDtsJobsResponseBodyDtsJobListReverseJobFullDataCheckStatus;
12000
+ class DescribeDtsJobsResponseBodyDtsJobListReverseJobIncDataCheckStatus extends $tea.Model {
12001
+ constructor(map) {
12002
+ super(map);
12003
+ }
12004
+ static names() {
12005
+ return {
12006
+ errorMessage: 'ErrorMessage',
12007
+ percent: 'Percent',
12008
+ progress: 'Progress',
12009
+ status: 'Status',
12010
+ };
12011
+ }
12012
+ static types() {
12013
+ return {
12014
+ errorMessage: 'string',
12015
+ percent: 'string',
12016
+ progress: 'string',
12017
+ status: 'string',
12018
+ };
12019
+ }
12020
+ }
12021
+ exports.DescribeDtsJobsResponseBodyDtsJobListReverseJobIncDataCheckStatus = DescribeDtsJobsResponseBodyDtsJobListReverseJobIncDataCheckStatus;
11756
12022
  class DescribeDtsJobsResponseBodyDtsJobListReverseJobMigrationMode extends $tea.Model {
11757
12023
  constructor(map) {
11758
12024
  super(map);
@@ -11761,6 +12027,8 @@ class DescribeDtsJobsResponseBodyDtsJobListReverseJobMigrationMode extends $tea.
11761
12027
  return {
11762
12028
  dataInitialization: 'DataInitialization',
11763
12029
  dataSynchronization: 'DataSynchronization',
12030
+ fullDataCheck: 'FullDataCheck',
12031
+ incDataCheck: 'IncDataCheck',
11764
12032
  structureInitialization: 'StructureInitialization',
11765
12033
  };
11766
12034
  }
@@ -11768,6 +12036,8 @@ class DescribeDtsJobsResponseBodyDtsJobListReverseJobMigrationMode extends $tea.
11768
12036
  return {
11769
12037
  dataInitialization: 'boolean',
11770
12038
  dataSynchronization: 'boolean',
12039
+ fullDataCheck: 'boolean',
12040
+ incDataCheck: 'boolean',
11771
12041
  structureInitialization: 'boolean',
11772
12042
  };
11773
12043
  }
@@ -11918,6 +12188,8 @@ class DescribeDtsJobsResponseBodyDtsJobListReverseJob extends $tea.Model {
11918
12188
  errorMessage: 'ErrorMessage',
11919
12189
  etlSafeCheckpoint: 'EtlSafeCheckpoint',
11920
12190
  expireTime: 'ExpireTime',
12191
+ fullDataCheckStatus: 'FullDataCheckStatus',
12192
+ incDataCheckStatus: 'IncDataCheckStatus',
11921
12193
  memUsage: 'MemUsage',
11922
12194
  migrationMode: 'MigrationMode',
11923
12195
  payType: 'PayType',
@@ -11950,6 +12222,8 @@ class DescribeDtsJobsResponseBodyDtsJobListReverseJob extends $tea.Model {
11950
12222
  errorMessage: 'string',
11951
12223
  etlSafeCheckpoint: 'string',
11952
12224
  expireTime: 'string',
12225
+ fullDataCheckStatus: DescribeDtsJobsResponseBodyDtsJobListReverseJobFullDataCheckStatus,
12226
+ incDataCheckStatus: DescribeDtsJobsResponseBodyDtsJobListReverseJobIncDataCheckStatus,
11953
12227
  memUsage: 'string',
11954
12228
  migrationMode: DescribeDtsJobsResponseBodyDtsJobListReverseJobMigrationMode,
11955
12229
  payType: 'string',
@@ -16782,6 +17056,32 @@ class Client extends openapi_client_1.default {
16782
17056
  let runtime = new $Util.RuntimeOptions({});
16783
17057
  return await this.createMigrationJobWithOptions(request, runtime);
16784
17058
  }
17059
+ async createReverseDtsJobWithOptions(request, runtime) {
17060
+ tea_util_1.default.validateModel(request);
17061
+ let query = {};
17062
+ if (!tea_util_1.default.isUnset(request.dtsJobId)) {
17063
+ query["DtsJobId"] = request.dtsJobId;
17064
+ }
17065
+ let req = new $OpenApi.OpenApiRequest({
17066
+ query: openapi_util_1.default.query(query),
17067
+ });
17068
+ let params = new $OpenApi.Params({
17069
+ action: "CreateReverseDtsJob",
17070
+ version: "2020-01-01",
17071
+ protocol: "HTTPS",
17072
+ pathname: "/",
17073
+ method: "POST",
17074
+ authType: "AK",
17075
+ style: "RPC",
17076
+ reqBodyType: "formData",
17077
+ bodyType: "json",
17078
+ });
17079
+ return $tea.cast(await this.callApi(params, req, runtime), new CreateReverseDtsJobResponse({}));
17080
+ }
17081
+ async createReverseDtsJob(request) {
17082
+ let runtime = new $Util.RuntimeOptions({});
17083
+ return await this.createReverseDtsJobWithOptions(request, runtime);
17084
+ }
16785
17085
  /**
16786
17086
  * 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).
16787
17087
  *
@@ -19377,6 +19677,9 @@ class Client extends openapi_client_1.default {
19377
19677
  if (!tea_util_1.default.isUnset(request.dtsInstanceId)) {
19378
19678
  query["DtsInstanceId"] = request.dtsInstanceId;
19379
19679
  }
19680
+ if (!tea_util_1.default.isUnset(request.dtsJobId)) {
19681
+ query["DtsJobId"] = request.dtsJobId;
19682
+ }
19380
19683
  if (!tea_util_1.default.isUnset(request.fileOssUrl)) {
19381
19684
  query["FileOssUrl"] = request.fileOssUrl;
19382
19685
  }
@@ -19616,6 +19919,80 @@ class Client extends openapi_client_1.default {
19616
19919
  let runtime = new $Util.RuntimeOptions({});
19617
19920
  return await this.modifyDtsJobDuLimitWithOptions(request, runtime);
19618
19921
  }
19922
+ async modifyDtsJobEndpointWithOptions(request, runtime) {
19923
+ tea_util_1.default.validateModel(request);
19924
+ let query = {};
19925
+ if (!tea_util_1.default.isUnset(request.aliyunUid)) {
19926
+ query["AliyunUid"] = request.aliyunUid;
19927
+ }
19928
+ if (!tea_util_1.default.isUnset(request.database)) {
19929
+ query["Database"] = request.database;
19930
+ }
19931
+ if (!tea_util_1.default.isUnset(request.dryRun)) {
19932
+ query["DryRun"] = request.dryRun;
19933
+ }
19934
+ if (!tea_util_1.default.isUnset(request.dtsInstanceId)) {
19935
+ query["DtsInstanceId"] = request.dtsInstanceId;
19936
+ }
19937
+ if (!tea_util_1.default.isUnset(request.dtsJobId)) {
19938
+ query["DtsJobId"] = request.dtsJobId;
19939
+ }
19940
+ if (!tea_util_1.default.isUnset(request.endpoint)) {
19941
+ query["Endpoint"] = request.endpoint;
19942
+ }
19943
+ if (!tea_util_1.default.isUnset(request.endpointInstanceId)) {
19944
+ query["EndpointInstanceId"] = request.endpointInstanceId;
19945
+ }
19946
+ if (!tea_util_1.default.isUnset(request.endpointInstanceType)) {
19947
+ query["EndpointInstanceType"] = request.endpointInstanceType;
19948
+ }
19949
+ if (!tea_util_1.default.isUnset(request.endpointIp)) {
19950
+ query["EndpointIp"] = request.endpointIp;
19951
+ }
19952
+ if (!tea_util_1.default.isUnset(request.endpointPort)) {
19953
+ query["EndpointPort"] = request.endpointPort;
19954
+ }
19955
+ if (!tea_util_1.default.isUnset(request.password)) {
19956
+ query["Password"] = request.password;
19957
+ }
19958
+ if (!tea_util_1.default.isUnset(request.regionId)) {
19959
+ query["RegionId"] = request.regionId;
19960
+ }
19961
+ if (!tea_util_1.default.isUnset(request.roleName)) {
19962
+ query["RoleName"] = request.roleName;
19963
+ }
19964
+ if (!tea_util_1.default.isUnset(request.shardPassword)) {
19965
+ query["ShardPassword"] = request.shardPassword;
19966
+ }
19967
+ if (!tea_util_1.default.isUnset(request.shardUsername)) {
19968
+ query["ShardUsername"] = request.shardUsername;
19969
+ }
19970
+ if (!tea_util_1.default.isUnset(request.synchronizationDirection)) {
19971
+ query["SynchronizationDirection"] = request.synchronizationDirection;
19972
+ }
19973
+ if (!tea_util_1.default.isUnset(request.username)) {
19974
+ query["Username"] = request.username;
19975
+ }
19976
+ let req = new $OpenApi.OpenApiRequest({
19977
+ query: openapi_util_1.default.query(query),
19978
+ });
19979
+ let params = new $OpenApi.Params({
19980
+ action: "ModifyDtsJobEndpoint",
19981
+ version: "2020-01-01",
19982
+ protocol: "HTTPS",
19983
+ pathname: "/",
19984
+ method: "POST",
19985
+ authType: "AK",
19986
+ style: "RPC",
19987
+ reqBodyType: "formData",
19988
+ bodyType: "json",
19989
+ });
19990
+ return $tea.cast(await this.callApi(params, req, runtime), new ModifyDtsJobEndpointResponse({}));
19991
+ }
19992
+ async modifyDtsJobEndpoint(request) {
19993
+ let runtime = new $Util.RuntimeOptions({});
19994
+ return await this.modifyDtsJobEndpointWithOptions(request, runtime);
19995
+ }
19619
19996
  async modifyDtsJobNameWithOptions(request, runtime) {
19620
19997
  tea_util_1.default.validateModel(request);
19621
19998
  let query = {};
@@ -20245,6 +20622,35 @@ class Client extends openapi_client_1.default {
20245
20622
  let runtime = new $Util.RuntimeOptions({});
20246
20623
  return await this.startMigrationJobWithOptions(request, runtime);
20247
20624
  }
20625
+ async startReverseWriterWithOptions(request, runtime) {
20626
+ tea_util_1.default.validateModel(request);
20627
+ let query = {};
20628
+ if (!tea_util_1.default.isUnset(request.checkPoint)) {
20629
+ query["CheckPoint"] = request.checkPoint;
20630
+ }
20631
+ if (!tea_util_1.default.isUnset(request.dtsJobId)) {
20632
+ query["DtsJobId"] = request.dtsJobId;
20633
+ }
20634
+ let req = new $OpenApi.OpenApiRequest({
20635
+ query: openapi_util_1.default.query(query),
20636
+ });
20637
+ let params = new $OpenApi.Params({
20638
+ action: "StartReverseWriter",
20639
+ version: "2020-01-01",
20640
+ protocol: "HTTPS",
20641
+ pathname: "/",
20642
+ method: "POST",
20643
+ authType: "AK",
20644
+ style: "RPC",
20645
+ reqBodyType: "formData",
20646
+ bodyType: "json",
20647
+ });
20648
+ return $tea.cast(await this.callApi(params, req, runtime), new StartReverseWriterResponse({}));
20649
+ }
20650
+ async startReverseWriter(request) {
20651
+ let runtime = new $Util.RuntimeOptions({});
20652
+ return await this.startReverseWriterWithOptions(request, runtime);
20653
+ }
20248
20654
  /**
20249
20655
  * When you call this operation, the change tracking task must be in the NotStarted or Failed state.
20250
20656
  *