@aws-sdk/client-drs 3.215.0 → 3.218.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.
Files changed (31) hide show
  1. package/dist-cjs/Drs.js +45 -0
  2. package/dist-cjs/commands/ReverseReplicationCommand.js +46 -0
  3. package/dist-cjs/commands/StartReplicationCommand.js +46 -0
  4. package/dist-cjs/commands/StopReplicationCommand.js +46 -0
  5. package/dist-cjs/commands/index.js +3 -0
  6. package/dist-cjs/models/models_0.js +75 -3
  7. package/dist-cjs/protocols/Aws_restJson1.js +245 -3
  8. package/dist-es/Drs.js +45 -0
  9. package/dist-es/commands/ReverseReplicationCommand.js +42 -0
  10. package/dist-es/commands/StartReplicationCommand.js +42 -0
  11. package/dist-es/commands/StopReplicationCommand.js +42 -0
  12. package/dist-es/commands/index.js +3 -0
  13. package/dist-es/models/models_0.js +65 -0
  14. package/dist-es/protocols/Aws_restJson1.js +237 -1
  15. package/dist-types/Drs.d.ts +24 -0
  16. package/dist-types/DrsClient.d.ts +5 -2
  17. package/dist-types/commands/ReverseReplicationCommand.d.ts +40 -0
  18. package/dist-types/commands/StartReplicationCommand.d.ts +37 -0
  19. package/dist-types/commands/StopReplicationCommand.d.ts +37 -0
  20. package/dist-types/commands/index.d.ts +3 -0
  21. package/dist-types/models/models_0.d.ts +142 -2
  22. package/dist-types/protocols/Aws_restJson1.d.ts +9 -0
  23. package/dist-types/ts3.4/Drs.d.ts +51 -0
  24. package/dist-types/ts3.4/DrsClient.d.ts +18 -0
  25. package/dist-types/ts3.4/commands/ReverseReplicationCommand.d.ts +38 -0
  26. package/dist-types/ts3.4/commands/StartReplicationCommand.d.ts +37 -0
  27. package/dist-types/ts3.4/commands/StopReplicationCommand.d.ts +37 -0
  28. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  29. package/dist-types/ts3.4/models/models_0.d.ts +88 -0
  30. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +36 -0
  31. package/package.json +4 -4
@@ -92,6 +92,11 @@ export var LastLaunchType;
92
92
  LastLaunchType["DRILL"] = "DRILL";
93
93
  LastLaunchType["RECOVERY"] = "RECOVERY";
94
94
  })(LastLaunchType || (LastLaunchType = {}));
95
+ export var ReplicationDirection;
96
+ (function (ReplicationDirection) {
97
+ ReplicationDirection["FAILBACK"] = "FAILBACK";
98
+ ReplicationDirection["FAILOVER"] = "FAILOVER";
99
+ })(ReplicationDirection || (ReplicationDirection = {}));
95
100
  export var ExtensionStatus;
96
101
  (function (ExtensionStatus) {
97
102
  ExtensionStatus["EXTENDED"] = "EXTENDED";
@@ -269,23 +274,46 @@ export var FailbackReplicationError;
269
274
  (function (FailbackReplicationError) {
270
275
  FailbackReplicationError["AGENT_NOT_SEEN"] = "AGENT_NOT_SEEN";
271
276
  FailbackReplicationError["FAILBACK_CLIENT_NOT_SEEN"] = "FAILBACK_CLIENT_NOT_SEEN";
277
+ FailbackReplicationError["FAILED_GETTING_REPLICATION_STATE"] = "FAILED_GETTING_REPLICATION_STATE";
278
+ FailbackReplicationError["FAILED_TO_ATTACH_STAGING_DISKS"] = "FAILED_TO_ATTACH_STAGING_DISKS";
279
+ FailbackReplicationError["FAILED_TO_AUTHENTICATE_WITH_SERVICE"] = "FAILED_TO_AUTHENTICATE_WITH_SERVICE";
280
+ FailbackReplicationError["FAILED_TO_BOOT_REPLICATION_SERVER"] = "FAILED_TO_BOOT_REPLICATION_SERVER";
272
281
  FailbackReplicationError["FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE"] = "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE";
282
+ FailbackReplicationError["FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"] = "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER";
283
+ FailbackReplicationError["FAILED_TO_CREATE_SECURITY_GROUP"] = "FAILED_TO_CREATE_SECURITY_GROUP";
284
+ FailbackReplicationError["FAILED_TO_CREATE_STAGING_DISKS"] = "FAILED_TO_CREATE_STAGING_DISKS";
285
+ FailbackReplicationError["FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"] = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE";
273
286
  FailbackReplicationError["FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT"] = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT";
274
287
  FailbackReplicationError["FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"] = "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION";
275
288
  FailbackReplicationError["FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION"] = "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION";
289
+ FailbackReplicationError["FAILED_TO_LAUNCH_REPLICATION_SERVER"] = "FAILED_TO_LAUNCH_REPLICATION_SERVER";
276
290
  FailbackReplicationError["FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE"] = "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE";
291
+ FailbackReplicationError["FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"] = "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT";
292
+ FailbackReplicationError["FAILED_TO_START_DATA_TRANSFER"] = "FAILED_TO_START_DATA_TRANSFER";
277
293
  FailbackReplicationError["NOT_CONVERGING"] = "NOT_CONVERGING";
294
+ FailbackReplicationError["SNAPSHOTS_FAILURE"] = "SNAPSHOTS_FAILURE";
278
295
  FailbackReplicationError["UNSTABLE_NETWORK"] = "UNSTABLE_NETWORK";
279
296
  })(FailbackReplicationError || (FailbackReplicationError = {}));
280
297
  export var RecoveryInstanceDataReplicationInitiationStepName;
281
298
  (function (RecoveryInstanceDataReplicationInitiationStepName) {
299
+ RecoveryInstanceDataReplicationInitiationStepName["ATTACH_STAGING_DISKS"] = "ATTACH_STAGING_DISKS";
300
+ RecoveryInstanceDataReplicationInitiationStepName["AUTHENTICATE_WITH_SERVICE"] = "AUTHENTICATE_WITH_SERVICE";
301
+ RecoveryInstanceDataReplicationInitiationStepName["BOOT_REPLICATION_SERVER"] = "BOOT_REPLICATION_SERVER";
282
302
  RecoveryInstanceDataReplicationInitiationStepName["COMPLETE_VOLUME_MAPPING"] = "COMPLETE_VOLUME_MAPPING";
283
303
  RecoveryInstanceDataReplicationInitiationStepName["CONFIGURE_REPLICATION_SOFTWARE"] = "CONFIGURE_REPLICATION_SOFTWARE";
304
+ RecoveryInstanceDataReplicationInitiationStepName["CONNECT_AGENT_TO_REPLICATION_SERVER"] = "CONNECT_AGENT_TO_REPLICATION_SERVER";
305
+ RecoveryInstanceDataReplicationInitiationStepName["CREATE_SECURITY_GROUP"] = "CREATE_SECURITY_GROUP";
306
+ RecoveryInstanceDataReplicationInitiationStepName["CREATE_STAGING_DISKS"] = "CREATE_STAGING_DISKS";
307
+ RecoveryInstanceDataReplicationInitiationStepName["DOWNLOAD_REPLICATION_SOFTWARE"] = "DOWNLOAD_REPLICATION_SOFTWARE";
284
308
  RecoveryInstanceDataReplicationInitiationStepName["DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT"] = "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT";
285
309
  RecoveryInstanceDataReplicationInitiationStepName["ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"] = "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION";
286
310
  RecoveryInstanceDataReplicationInitiationStepName["ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION"] = "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION";
311
+ RecoveryInstanceDataReplicationInitiationStepName["LAUNCH_REPLICATION_SERVER"] = "LAUNCH_REPLICATION_SERVER";
287
312
  RecoveryInstanceDataReplicationInitiationStepName["LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE"] = "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE";
288
313
  RecoveryInstanceDataReplicationInitiationStepName["PAIR_AGENT_WITH_REPLICATION_SOFTWARE"] = "PAIR_AGENT_WITH_REPLICATION_SOFTWARE";
314
+ RecoveryInstanceDataReplicationInitiationStepName["PAIR_REPLICATION_SERVER_WITH_AGENT"] = "PAIR_REPLICATION_SERVER_WITH_AGENT";
315
+ RecoveryInstanceDataReplicationInitiationStepName["START_DATA_TRANSFER"] = "START_DATA_TRANSFER";
316
+ RecoveryInstanceDataReplicationInitiationStepName["WAIT"] = "WAIT";
289
317
  })(RecoveryInstanceDataReplicationInitiationStepName || (RecoveryInstanceDataReplicationInitiationStepName = {}));
290
318
  export var RecoveryInstanceDataReplicationInitiationStepStatus;
291
319
  (function (RecoveryInstanceDataReplicationInitiationStepStatus) {
@@ -303,7 +331,9 @@ export var RecoveryInstanceDataReplicationState;
303
331
  RecoveryInstanceDataReplicationState["DISCONNECTED"] = "DISCONNECTED";
304
332
  RecoveryInstanceDataReplicationState["INITIAL_SYNC"] = "INITIAL_SYNC";
305
333
  RecoveryInstanceDataReplicationState["INITIATING"] = "INITIATING";
334
+ RecoveryInstanceDataReplicationState["NOT_STARTED"] = "NOT_STARTED";
306
335
  RecoveryInstanceDataReplicationState["PAUSED"] = "PAUSED";
336
+ RecoveryInstanceDataReplicationState["REPLICATION_STATE_NOT_AVAILABLE"] = "REPLICATION_STATE_NOT_AVAILABLE";
307
337
  RecoveryInstanceDataReplicationState["RESCAN"] = "RESCAN";
308
338
  RecoveryInstanceDataReplicationState["STALLED"] = "STALLED";
309
339
  RecoveryInstanceDataReplicationState["STOPPED"] = "STOPPED";
@@ -318,14 +348,26 @@ export var EC2InstanceState;
318
348
  EC2InstanceState["STOPPING"] = "STOPPING";
319
349
  EC2InstanceState["TERMINATED"] = "TERMINATED";
320
350
  })(EC2InstanceState || (EC2InstanceState = {}));
351
+ export var FailbackLaunchType;
352
+ (function (FailbackLaunchType) {
353
+ FailbackLaunchType["DRILL"] = "DRILL";
354
+ FailbackLaunchType["RECOVERY"] = "RECOVERY";
355
+ })(FailbackLaunchType || (FailbackLaunchType = {}));
321
356
  export var FailbackState;
322
357
  (function (FailbackState) {
323
358
  FailbackState["FAILBACK_COMPLETED"] = "FAILBACK_COMPLETED";
324
359
  FailbackState["FAILBACK_ERROR"] = "FAILBACK_ERROR";
325
360
  FailbackState["FAILBACK_IN_PROGRESS"] = "FAILBACK_IN_PROGRESS";
361
+ FailbackState["FAILBACK_LAUNCH_STATE_NOT_AVAILABLE"] = "FAILBACK_LAUNCH_STATE_NOT_AVAILABLE";
362
+ FailbackState["FAILBACK_NOT_READY_FOR_LAUNCH"] = "FAILBACK_NOT_READY_FOR_LAUNCH";
326
363
  FailbackState["FAILBACK_NOT_STARTED"] = "FAILBACK_NOT_STARTED";
327
364
  FailbackState["FAILBACK_READY_FOR_LAUNCH"] = "FAILBACK_READY_FOR_LAUNCH";
328
365
  })(FailbackState || (FailbackState = {}));
366
+ export var OriginEnvironment;
367
+ (function (OriginEnvironment) {
368
+ OriginEnvironment["AWS"] = "AWS";
369
+ OriginEnvironment["ON_PREMISES"] = "ON_PREMISES";
370
+ })(OriginEnvironment || (OriginEnvironment = {}));
329
371
  export var RecoverySnapshotsOrder;
330
372
  (function (RecoverySnapshotsOrder) {
331
373
  RecoverySnapshotsOrder["ASC"] = "ASC";
@@ -388,6 +430,9 @@ export const LifeCycleLastLaunchFilterSensitiveLog = (obj) => ({
388
430
  export const LifeCycleFilterSensitiveLog = (obj) => ({
389
431
  ...obj,
390
432
  });
433
+ export const SourceCloudPropertiesFilterSensitiveLog = (obj) => ({
434
+ ...obj,
435
+ });
391
436
  export const DiskFilterSensitiveLog = (obj) => ({
392
437
  ...obj,
393
438
  });
@@ -589,6 +634,12 @@ export const GetFailbackReplicationConfigurationRequestFilterSensitiveLog = (obj
589
634
  export const GetFailbackReplicationConfigurationResponseFilterSensitiveLog = (obj) => ({
590
635
  ...obj,
591
636
  });
637
+ export const ReverseReplicationRequestFilterSensitiveLog = (obj) => ({
638
+ ...obj,
639
+ });
640
+ export const ReverseReplicationResponseFilterSensitiveLog = (obj) => ({
641
+ ...obj,
642
+ });
592
643
  export const StartFailbackLaunchRequestFilterSensitiveLog = (obj) => ({
593
644
  ...obj,
594
645
  ...(obj.tags && { tags: SENSITIVE_STRING }),
@@ -647,6 +698,20 @@ export const StartRecoveryResponseFilterSensitiveLog = (obj) => ({
647
698
  ...obj,
648
699
  ...(obj.job && { job: JobFilterSensitiveLog(obj.job) }),
649
700
  });
701
+ export const StartReplicationRequestFilterSensitiveLog = (obj) => ({
702
+ ...obj,
703
+ });
704
+ export const StartReplicationResponseFilterSensitiveLog = (obj) => ({
705
+ ...obj,
706
+ ...(obj.sourceServer && { sourceServer: SourceServerFilterSensitiveLog(obj.sourceServer) }),
707
+ });
708
+ export const StopReplicationRequestFilterSensitiveLog = (obj) => ({
709
+ ...obj,
710
+ });
711
+ export const StopReplicationResponseFilterSensitiveLog = (obj) => ({
712
+ ...obj,
713
+ ...(obj.sourceServer && { sourceServer: SourceServerFilterSensitiveLog(obj.sourceServer) }),
714
+ });
650
715
  export const UpdateLaunchConfigurationRequestFilterSensitiveLog = (obj) => ({
651
716
  ...obj,
652
717
  });
@@ -489,6 +489,26 @@ export const serializeAws_restJson1RetryDataReplicationCommand = async (input, c
489
489
  body,
490
490
  });
491
491
  };
492
+ export const serializeAws_restJson1ReverseReplicationCommand = async (input, context) => {
493
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
494
+ const headers = {
495
+ "content-type": "application/json",
496
+ };
497
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ReverseReplication";
498
+ let body;
499
+ body = JSON.stringify({
500
+ ...(input.recoveryInstanceID != null && { recoveryInstanceID: input.recoveryInstanceID }),
501
+ });
502
+ return new __HttpRequest({
503
+ protocol,
504
+ hostname,
505
+ port,
506
+ method: "POST",
507
+ headers,
508
+ path: resolvedPath,
509
+ body,
510
+ });
511
+ };
492
512
  export const serializeAws_restJson1StartFailbackLaunchCommand = async (input, context) => {
493
513
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
494
514
  const headers = {
@@ -536,6 +556,26 @@ export const serializeAws_restJson1StartRecoveryCommand = async (input, context)
536
556
  body,
537
557
  });
538
558
  };
559
+ export const serializeAws_restJson1StartReplicationCommand = async (input, context) => {
560
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
561
+ const headers = {
562
+ "content-type": "application/json",
563
+ };
564
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartReplication";
565
+ let body;
566
+ body = JSON.stringify({
567
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
568
+ });
569
+ return new __HttpRequest({
570
+ protocol,
571
+ hostname,
572
+ port,
573
+ method: "POST",
574
+ headers,
575
+ path: resolvedPath,
576
+ body,
577
+ });
578
+ };
539
579
  export const serializeAws_restJson1StopFailbackCommand = async (input, context) => {
540
580
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
541
581
  const headers = {
@@ -556,6 +596,26 @@ export const serializeAws_restJson1StopFailbackCommand = async (input, context)
556
596
  body,
557
597
  });
558
598
  };
599
+ export const serializeAws_restJson1StopReplicationCommand = async (input, context) => {
600
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
601
+ const headers = {
602
+ "content-type": "application/json",
603
+ };
604
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StopReplication";
605
+ let body;
606
+ body = JSON.stringify({
607
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
608
+ });
609
+ return new __HttpRequest({
610
+ protocol,
611
+ hostname,
612
+ port,
613
+ method: "POST",
614
+ headers,
615
+ path: resolvedPath,
616
+ body,
617
+ });
618
+ };
559
619
  export const serializeAws_restJson1TagResourceCommand = async (input, context) => {
560
620
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
561
621
  const headers = {
@@ -605,7 +665,10 @@ export const serializeAws_restJson1UntagResourceCommand = async (input, context)
605
665
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
606
666
  resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
607
667
  const query = map({
608
- tagKeys: [() => input.tagKeys !== void 0, () => (input.tagKeys || []).map((_entry) => _entry)],
668
+ tagKeys: [
669
+ __expectNonNull(input.tagKeys, `tagKeys`) != null,
670
+ () => (input.tagKeys || []).map((_entry) => _entry),
671
+ ],
609
672
  });
610
673
  let body;
611
674
  return new __HttpRequest({
@@ -1423,6 +1486,15 @@ export const deserializeAws_restJson1DisconnectSourceServerCommand = async (outp
1423
1486
  if (data.recoveryInstanceId != null) {
1424
1487
  contents.recoveryInstanceId = __expectString(data.recoveryInstanceId);
1425
1488
  }
1489
+ if (data.replicationDirection != null) {
1490
+ contents.replicationDirection = __expectString(data.replicationDirection);
1491
+ }
1492
+ if (data.reversedDirectionSourceServerArn != null) {
1493
+ contents.reversedDirectionSourceServerArn = __expectString(data.reversedDirectionSourceServerArn);
1494
+ }
1495
+ if (data.sourceCloudProperties != null) {
1496
+ contents.sourceCloudProperties = deserializeAws_restJson1SourceCloudProperties(data.sourceCloudProperties, context);
1497
+ }
1426
1498
  if (data.sourceProperties != null) {
1427
1499
  contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
1428
1500
  }
@@ -1876,6 +1948,15 @@ export const deserializeAws_restJson1RetryDataReplicationCommand = async (output
1876
1948
  if (data.recoveryInstanceId != null) {
1877
1949
  contents.recoveryInstanceId = __expectString(data.recoveryInstanceId);
1878
1950
  }
1951
+ if (data.replicationDirection != null) {
1952
+ contents.replicationDirection = __expectString(data.replicationDirection);
1953
+ }
1954
+ if (data.reversedDirectionSourceServerArn != null) {
1955
+ contents.reversedDirectionSourceServerArn = __expectString(data.reversedDirectionSourceServerArn);
1956
+ }
1957
+ if (data.sourceCloudProperties != null) {
1958
+ contents.sourceCloudProperties = deserializeAws_restJson1SourceCloudProperties(data.sourceCloudProperties, context);
1959
+ }
1879
1960
  if (data.sourceProperties != null) {
1880
1961
  contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
1881
1962
  }
@@ -1922,6 +2003,57 @@ const deserializeAws_restJson1RetryDataReplicationCommandError = async (output,
1922
2003
  });
1923
2004
  }
1924
2005
  };
2006
+ export const deserializeAws_restJson1ReverseReplicationCommand = async (output, context) => {
2007
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2008
+ return deserializeAws_restJson1ReverseReplicationCommandError(output, context);
2009
+ }
2010
+ const contents = map({
2011
+ $metadata: deserializeMetadata(output),
2012
+ });
2013
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2014
+ if (data.reversedDirectionSourceServerArn != null) {
2015
+ contents.reversedDirectionSourceServerArn = __expectString(data.reversedDirectionSourceServerArn);
2016
+ }
2017
+ return contents;
2018
+ };
2019
+ const deserializeAws_restJson1ReverseReplicationCommandError = async (output, context) => {
2020
+ const parsedOutput = {
2021
+ ...output,
2022
+ body: await parseErrorBody(output.body, context),
2023
+ };
2024
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2025
+ switch (errorCode) {
2026
+ case "AccessDeniedException":
2027
+ case "com.amazonaws.drs#AccessDeniedException":
2028
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
2029
+ case "ConflictException":
2030
+ case "com.amazonaws.drs#ConflictException":
2031
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2032
+ case "InternalServerException":
2033
+ case "com.amazonaws.drs#InternalServerException":
2034
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
2035
+ case "ResourceNotFoundException":
2036
+ case "com.amazonaws.drs#ResourceNotFoundException":
2037
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2038
+ case "ThrottlingException":
2039
+ case "com.amazonaws.drs#ThrottlingException":
2040
+ throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
2041
+ case "UninitializedAccountException":
2042
+ case "com.amazonaws.drs#UninitializedAccountException":
2043
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2044
+ case "ValidationException":
2045
+ case "com.amazonaws.drs#ValidationException":
2046
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2047
+ default:
2048
+ const parsedBody = parsedOutput.body;
2049
+ throwDefaultError({
2050
+ output,
2051
+ parsedBody,
2052
+ exceptionCtor: __BaseException,
2053
+ errorCode,
2054
+ });
2055
+ }
2056
+ };
1925
2057
  export const deserializeAws_restJson1StartFailbackLaunchCommand = async (output, context) => {
1926
2058
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1927
2059
  return deserializeAws_restJson1StartFailbackLaunchCommandError(output, context);
@@ -2015,6 +2147,51 @@ const deserializeAws_restJson1StartRecoveryCommandError = async (output, context
2015
2147
  });
2016
2148
  }
2017
2149
  };
2150
+ export const deserializeAws_restJson1StartReplicationCommand = async (output, context) => {
2151
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2152
+ return deserializeAws_restJson1StartReplicationCommandError(output, context);
2153
+ }
2154
+ const contents = map({
2155
+ $metadata: deserializeMetadata(output),
2156
+ });
2157
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2158
+ if (data.sourceServer != null) {
2159
+ contents.sourceServer = deserializeAws_restJson1SourceServer(data.sourceServer, context);
2160
+ }
2161
+ return contents;
2162
+ };
2163
+ const deserializeAws_restJson1StartReplicationCommandError = async (output, context) => {
2164
+ const parsedOutput = {
2165
+ ...output,
2166
+ body: await parseErrorBody(output.body, context),
2167
+ };
2168
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2169
+ switch (errorCode) {
2170
+ case "ConflictException":
2171
+ case "com.amazonaws.drs#ConflictException":
2172
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2173
+ case "InternalServerException":
2174
+ case "com.amazonaws.drs#InternalServerException":
2175
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
2176
+ case "ResourceNotFoundException":
2177
+ case "com.amazonaws.drs#ResourceNotFoundException":
2178
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2179
+ case "ThrottlingException":
2180
+ case "com.amazonaws.drs#ThrottlingException":
2181
+ throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
2182
+ case "UninitializedAccountException":
2183
+ case "com.amazonaws.drs#UninitializedAccountException":
2184
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2185
+ default:
2186
+ const parsedBody = parsedOutput.body;
2187
+ throwDefaultError({
2188
+ output,
2189
+ parsedBody,
2190
+ exceptionCtor: __BaseException,
2191
+ errorCode,
2192
+ });
2193
+ }
2194
+ };
2018
2195
  export const deserializeAws_restJson1StopFailbackCommand = async (output, context) => {
2019
2196
  if (output.statusCode !== 200 && output.statusCode >= 300) {
2020
2197
  return deserializeAws_restJson1StopFailbackCommandError(output, context);
@@ -2054,6 +2231,51 @@ const deserializeAws_restJson1StopFailbackCommandError = async (output, context)
2054
2231
  });
2055
2232
  }
2056
2233
  };
2234
+ export const deserializeAws_restJson1StopReplicationCommand = async (output, context) => {
2235
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2236
+ return deserializeAws_restJson1StopReplicationCommandError(output, context);
2237
+ }
2238
+ const contents = map({
2239
+ $metadata: deserializeMetadata(output),
2240
+ });
2241
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2242
+ if (data.sourceServer != null) {
2243
+ contents.sourceServer = deserializeAws_restJson1SourceServer(data.sourceServer, context);
2244
+ }
2245
+ return contents;
2246
+ };
2247
+ const deserializeAws_restJson1StopReplicationCommandError = async (output, context) => {
2248
+ const parsedOutput = {
2249
+ ...output,
2250
+ body: await parseErrorBody(output.body, context),
2251
+ };
2252
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2253
+ switch (errorCode) {
2254
+ case "ConflictException":
2255
+ case "com.amazonaws.drs#ConflictException":
2256
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2257
+ case "InternalServerException":
2258
+ case "com.amazonaws.drs#InternalServerException":
2259
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
2260
+ case "ResourceNotFoundException":
2261
+ case "com.amazonaws.drs#ResourceNotFoundException":
2262
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2263
+ case "ThrottlingException":
2264
+ case "com.amazonaws.drs#ThrottlingException":
2265
+ throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
2266
+ case "UninitializedAccountException":
2267
+ case "com.amazonaws.drs#UninitializedAccountException":
2268
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2269
+ default:
2270
+ const parsedBody = parsedOutput.body;
2271
+ throwDefaultError({
2272
+ output,
2273
+ parsedBody,
2274
+ exceptionCtor: __BaseException,
2275
+ errorCode,
2276
+ });
2277
+ }
2278
+ };
2057
2279
  export const deserializeAws_restJson1TagResourceCommand = async (output, context) => {
2058
2280
  if (output.statusCode !== 200 && output.statusCode >= 300) {
2059
2281
  return deserializeAws_restJson1TagResourceCommandError(output, context);
@@ -3134,6 +3356,7 @@ const deserializeAws_restJson1RecoveryInstance = (output, context) => {
3134
3356
  failback: output.failback != null ? deserializeAws_restJson1RecoveryInstanceFailback(output.failback, context) : undefined,
3135
3357
  isDrill: __expectBoolean(output.isDrill),
3136
3358
  jobID: __expectString(output.jobID),
3359
+ originEnvironment: __expectString(output.originEnvironment),
3137
3360
  pointInTimeSnapshotDateTime: __expectString(output.pointInTimeSnapshotDateTime),
3138
3361
  recoveryInstanceID: __expectString(output.recoveryInstanceID),
3139
3362
  recoveryInstanceProperties: output.recoveryInstanceProperties != null
@@ -3236,6 +3459,7 @@ const deserializeAws_restJson1RecoveryInstanceFailback = (output, context) => {
3236
3459
  failbackClientLastSeenByServiceDateTime: __expectString(output.failbackClientLastSeenByServiceDateTime),
3237
3460
  failbackInitiationTime: __expectString(output.failbackInitiationTime),
3238
3461
  failbackJobID: __expectString(output.failbackJobID),
3462
+ failbackLaunchType: __expectString(output.failbackLaunchType),
3239
3463
  failbackToOriginalServer: __expectBoolean(output.failbackToOriginalServer),
3240
3464
  firstByteDateTime: __expectString(output.firstByteDateTime),
3241
3465
  state: __expectString(output.state),
@@ -3341,6 +3565,13 @@ const deserializeAws_restJson1ReplicationServersSecurityGroupsIDs = (output, con
3341
3565
  });
3342
3566
  return retVal;
3343
3567
  };
3568
+ const deserializeAws_restJson1SourceCloudProperties = (output, context) => {
3569
+ return {
3570
+ originAccountID: __expectString(output.originAccountID),
3571
+ originAvailabilityZone: __expectString(output.originAvailabilityZone),
3572
+ originRegion: __expectString(output.originRegion),
3573
+ };
3574
+ };
3344
3575
  const deserializeAws_restJson1SourceProperties = (output, context) => {
3345
3576
  return {
3346
3577
  cpus: output.cpus != null ? deserializeAws_restJson1Cpus(output.cpus, context) : undefined,
@@ -3366,6 +3597,11 @@ const deserializeAws_restJson1SourceServer = (output, context) => {
3366
3597
  lastLaunchResult: __expectString(output.lastLaunchResult),
3367
3598
  lifeCycle: output.lifeCycle != null ? deserializeAws_restJson1LifeCycle(output.lifeCycle, context) : undefined,
3368
3599
  recoveryInstanceId: __expectString(output.recoveryInstanceId),
3600
+ replicationDirection: __expectString(output.replicationDirection),
3601
+ reversedDirectionSourceServerArn: __expectString(output.reversedDirectionSourceServerArn),
3602
+ sourceCloudProperties: output.sourceCloudProperties != null
3603
+ ? deserializeAws_restJson1SourceCloudProperties(output.sourceCloudProperties, context)
3604
+ : undefined,
3369
3605
  sourceProperties: output.sourceProperties != null
3370
3606
  ? deserializeAws_restJson1SourceProperties(output.sourceProperties, context)
3371
3607
  : undefined,
@@ -21,9 +21,12 @@ import { ListExtensibleSourceServersCommandInput, ListExtensibleSourceServersCom
21
21
  import { ListStagingAccountsCommandInput, ListStagingAccountsCommandOutput } from "./commands/ListStagingAccountsCommand";
22
22
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
23
23
  import { RetryDataReplicationCommandInput, RetryDataReplicationCommandOutput } from "./commands/RetryDataReplicationCommand";
24
+ import { ReverseReplicationCommandInput, ReverseReplicationCommandOutput } from "./commands/ReverseReplicationCommand";
24
25
  import { StartFailbackLaunchCommandInput, StartFailbackLaunchCommandOutput } from "./commands/StartFailbackLaunchCommand";
25
26
  import { StartRecoveryCommandInput, StartRecoveryCommandOutput } from "./commands/StartRecoveryCommand";
27
+ import { StartReplicationCommandInput, StartReplicationCommandOutput } from "./commands/StartReplicationCommand";
26
28
  import { StopFailbackCommandInput, StopFailbackCommandOutput } from "./commands/StopFailbackCommand";
29
+ import { StopReplicationCommandInput, StopReplicationCommandOutput } from "./commands/StopReplicationCommand";
27
30
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
28
31
  import { TerminateRecoveryInstancesCommandInput, TerminateRecoveryInstancesCommandOutput } from "./commands/TerminateRecoveryInstancesCommand";
29
32
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -171,6 +174,15 @@ export declare class Drs extends DrsClient {
171
174
  retryDataReplication(args: RetryDataReplicationCommandInput, options?: __HttpHandlerOptions): Promise<RetryDataReplicationCommandOutput>;
172
175
  retryDataReplication(args: RetryDataReplicationCommandInput, cb: (err: any, data?: RetryDataReplicationCommandOutput) => void): void;
173
176
  retryDataReplication(args: RetryDataReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RetryDataReplicationCommandOutput) => void): void;
177
+ /**
178
+ * <p>Start replication to origin / target region - applies only to protected instances that originated in EC2.
179
+ * For recovery instances on target region - starts replication back to origin region.
180
+ * For failback instances on origin region - starts replication to target region to re-protect them.
181
+ * </p>
182
+ */
183
+ reverseReplication(args: ReverseReplicationCommandInput, options?: __HttpHandlerOptions): Promise<ReverseReplicationCommandOutput>;
184
+ reverseReplication(args: ReverseReplicationCommandInput, cb: (err: any, data?: ReverseReplicationCommandOutput) => void): void;
185
+ reverseReplication(args: ReverseReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ReverseReplicationCommandOutput) => void): void;
174
186
  /**
175
187
  * <p>Initiates a Job for launching the machine that is being failed back to from the specified Recovery Instance. This will run conversion on the failback client and will reboot your machine, thus completing the failback process.</p>
176
188
  */
@@ -183,12 +195,24 @@ export declare class Drs extends DrsClient {
183
195
  startRecovery(args: StartRecoveryCommandInput, options?: __HttpHandlerOptions): Promise<StartRecoveryCommandOutput>;
184
196
  startRecovery(args: StartRecoveryCommandInput, cb: (err: any, data?: StartRecoveryCommandOutput) => void): void;
185
197
  startRecovery(args: StartRecoveryCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartRecoveryCommandOutput) => void): void;
198
+ /**
199
+ * <p>Starts replication for a stopped Source Server. This action would make the Source Server protected again and restart billing for it.</p>
200
+ */
201
+ startReplication(args: StartReplicationCommandInput, options?: __HttpHandlerOptions): Promise<StartReplicationCommandOutput>;
202
+ startReplication(args: StartReplicationCommandInput, cb: (err: any, data?: StartReplicationCommandOutput) => void): void;
203
+ startReplication(args: StartReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartReplicationCommandOutput) => void): void;
186
204
  /**
187
205
  * <p>Stops the failback process for a specified Recovery Instance. This changes the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED.</p>
188
206
  */
189
207
  stopFailback(args: StopFailbackCommandInput, options?: __HttpHandlerOptions): Promise<StopFailbackCommandOutput>;
190
208
  stopFailback(args: StopFailbackCommandInput, cb: (err: any, data?: StopFailbackCommandOutput) => void): void;
191
209
  stopFailback(args: StopFailbackCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StopFailbackCommandOutput) => void): void;
210
+ /**
211
+ * <p>Stops replication for a Source Server. This action would make the Source Server unprotected, delete its existing snapshots and stop billing for it.</p>
212
+ */
213
+ stopReplication(args: StopReplicationCommandInput, options?: __HttpHandlerOptions): Promise<StopReplicationCommandOutput>;
214
+ stopReplication(args: StopReplicationCommandInput, cb: (err: any, data?: StopReplicationCommandOutput) => void): void;
215
+ stopReplication(args: StopReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StopReplicationCommandOutput) => void): void;
192
216
  /**
193
217
  * <p>Adds or overwrites only the specified tags for the specified Elastic Disaster Recovery resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value.</p>
194
218
  */
@@ -29,9 +29,12 @@ import { ListExtensibleSourceServersCommandInput, ListExtensibleSourceServersCom
29
29
  import { ListStagingAccountsCommandInput, ListStagingAccountsCommandOutput } from "./commands/ListStagingAccountsCommand";
30
30
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
31
31
  import { RetryDataReplicationCommandInput, RetryDataReplicationCommandOutput } from "./commands/RetryDataReplicationCommand";
32
+ import { ReverseReplicationCommandInput, ReverseReplicationCommandOutput } from "./commands/ReverseReplicationCommand";
32
33
  import { StartFailbackLaunchCommandInput, StartFailbackLaunchCommandOutput } from "./commands/StartFailbackLaunchCommand";
33
34
  import { StartRecoveryCommandInput, StartRecoveryCommandOutput } from "./commands/StartRecoveryCommand";
35
+ import { StartReplicationCommandInput, StartReplicationCommandOutput } from "./commands/StartReplicationCommand";
34
36
  import { StopFailbackCommandInput, StopFailbackCommandOutput } from "./commands/StopFailbackCommand";
37
+ import { StopReplicationCommandInput, StopReplicationCommandOutput } from "./commands/StopReplicationCommand";
35
38
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
36
39
  import { TerminateRecoveryInstancesCommandInput, TerminateRecoveryInstancesCommandOutput } from "./commands/TerminateRecoveryInstancesCommand";
37
40
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -40,8 +43,8 @@ import { UpdateLaunchConfigurationCommandInput, UpdateLaunchConfigurationCommand
40
43
  import { UpdateReplicationConfigurationCommandInput, UpdateReplicationConfigurationCommandOutput } from "./commands/UpdateReplicationConfigurationCommand";
41
44
  import { UpdateReplicationConfigurationTemplateCommandInput, UpdateReplicationConfigurationTemplateCommandOutput } from "./commands/UpdateReplicationConfigurationTemplateCommand";
42
45
  import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
43
- export declare type ServiceInputTypes = CreateExtendedSourceServerCommandInput | CreateReplicationConfigurationTemplateCommandInput | DeleteJobCommandInput | DeleteRecoveryInstanceCommandInput | DeleteReplicationConfigurationTemplateCommandInput | DeleteSourceServerCommandInput | DescribeJobLogItemsCommandInput | DescribeJobsCommandInput | DescribeRecoveryInstancesCommandInput | DescribeRecoverySnapshotsCommandInput | DescribeReplicationConfigurationTemplatesCommandInput | DescribeSourceServersCommandInput | DisconnectRecoveryInstanceCommandInput | DisconnectSourceServerCommandInput | GetFailbackReplicationConfigurationCommandInput | GetLaunchConfigurationCommandInput | GetReplicationConfigurationCommandInput | InitializeServiceCommandInput | ListExtensibleSourceServersCommandInput | ListStagingAccountsCommandInput | ListTagsForResourceCommandInput | RetryDataReplicationCommandInput | StartFailbackLaunchCommandInput | StartRecoveryCommandInput | StopFailbackCommandInput | TagResourceCommandInput | TerminateRecoveryInstancesCommandInput | UntagResourceCommandInput | UpdateFailbackReplicationConfigurationCommandInput | UpdateLaunchConfigurationCommandInput | UpdateReplicationConfigurationCommandInput | UpdateReplicationConfigurationTemplateCommandInput;
44
- export declare type ServiceOutputTypes = CreateExtendedSourceServerCommandOutput | CreateReplicationConfigurationTemplateCommandOutput | DeleteJobCommandOutput | DeleteRecoveryInstanceCommandOutput | DeleteReplicationConfigurationTemplateCommandOutput | DeleteSourceServerCommandOutput | DescribeJobLogItemsCommandOutput | DescribeJobsCommandOutput | DescribeRecoveryInstancesCommandOutput | DescribeRecoverySnapshotsCommandOutput | DescribeReplicationConfigurationTemplatesCommandOutput | DescribeSourceServersCommandOutput | DisconnectRecoveryInstanceCommandOutput | DisconnectSourceServerCommandOutput | GetFailbackReplicationConfigurationCommandOutput | GetLaunchConfigurationCommandOutput | GetReplicationConfigurationCommandOutput | InitializeServiceCommandOutput | ListExtensibleSourceServersCommandOutput | ListStagingAccountsCommandOutput | ListTagsForResourceCommandOutput | RetryDataReplicationCommandOutput | StartFailbackLaunchCommandOutput | StartRecoveryCommandOutput | StopFailbackCommandOutput | TagResourceCommandOutput | TerminateRecoveryInstancesCommandOutput | UntagResourceCommandOutput | UpdateFailbackReplicationConfigurationCommandOutput | UpdateLaunchConfigurationCommandOutput | UpdateReplicationConfigurationCommandOutput | UpdateReplicationConfigurationTemplateCommandOutput;
46
+ export declare type ServiceInputTypes = CreateExtendedSourceServerCommandInput | CreateReplicationConfigurationTemplateCommandInput | DeleteJobCommandInput | DeleteRecoveryInstanceCommandInput | DeleteReplicationConfigurationTemplateCommandInput | DeleteSourceServerCommandInput | DescribeJobLogItemsCommandInput | DescribeJobsCommandInput | DescribeRecoveryInstancesCommandInput | DescribeRecoverySnapshotsCommandInput | DescribeReplicationConfigurationTemplatesCommandInput | DescribeSourceServersCommandInput | DisconnectRecoveryInstanceCommandInput | DisconnectSourceServerCommandInput | GetFailbackReplicationConfigurationCommandInput | GetLaunchConfigurationCommandInput | GetReplicationConfigurationCommandInput | InitializeServiceCommandInput | ListExtensibleSourceServersCommandInput | ListStagingAccountsCommandInput | ListTagsForResourceCommandInput | RetryDataReplicationCommandInput | ReverseReplicationCommandInput | StartFailbackLaunchCommandInput | StartRecoveryCommandInput | StartReplicationCommandInput | StopFailbackCommandInput | StopReplicationCommandInput | TagResourceCommandInput | TerminateRecoveryInstancesCommandInput | UntagResourceCommandInput | UpdateFailbackReplicationConfigurationCommandInput | UpdateLaunchConfigurationCommandInput | UpdateReplicationConfigurationCommandInput | UpdateReplicationConfigurationTemplateCommandInput;
47
+ export declare type ServiceOutputTypes = CreateExtendedSourceServerCommandOutput | CreateReplicationConfigurationTemplateCommandOutput | DeleteJobCommandOutput | DeleteRecoveryInstanceCommandOutput | DeleteReplicationConfigurationTemplateCommandOutput | DeleteSourceServerCommandOutput | DescribeJobLogItemsCommandOutput | DescribeJobsCommandOutput | DescribeRecoveryInstancesCommandOutput | DescribeRecoverySnapshotsCommandOutput | DescribeReplicationConfigurationTemplatesCommandOutput | DescribeSourceServersCommandOutput | DisconnectRecoveryInstanceCommandOutput | DisconnectSourceServerCommandOutput | GetFailbackReplicationConfigurationCommandOutput | GetLaunchConfigurationCommandOutput | GetReplicationConfigurationCommandOutput | InitializeServiceCommandOutput | ListExtensibleSourceServersCommandOutput | ListStagingAccountsCommandOutput | ListTagsForResourceCommandOutput | RetryDataReplicationCommandOutput | ReverseReplicationCommandOutput | StartFailbackLaunchCommandOutput | StartRecoveryCommandOutput | StartReplicationCommandOutput | StopFailbackCommandOutput | StopReplicationCommandOutput | TagResourceCommandOutput | TerminateRecoveryInstancesCommandOutput | UntagResourceCommandOutput | UpdateFailbackReplicationConfigurationCommandOutput | UpdateLaunchConfigurationCommandOutput | UpdateReplicationConfigurationCommandOutput | UpdateReplicationConfigurationTemplateCommandOutput;
45
48
  export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
46
49
  /**
47
50
  * The HTTP handler to use. Fetch in browser and Https in Nodejs.
@@ -0,0 +1,40 @@
1
+ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
+ import { Command as $Command } from "@aws-sdk/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
+ import { DrsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DrsClient";
5
+ import { ReverseReplicationRequest, ReverseReplicationResponse } from "../models/models_0";
6
+ export interface ReverseReplicationCommandInput extends ReverseReplicationRequest {
7
+ }
8
+ export interface ReverseReplicationCommandOutput extends ReverseReplicationResponse, __MetadataBearer {
9
+ }
10
+ /**
11
+ * <p>Start replication to origin / target region - applies only to protected instances that originated in EC2.
12
+ * For recovery instances on target region - starts replication back to origin region.
13
+ * For failback instances on origin region - starts replication to target region to re-protect them.
14
+ * </p>
15
+ * @example
16
+ * Use a bare-bones client and the command you need to make an API call.
17
+ * ```javascript
18
+ * import { DrsClient, ReverseReplicationCommand } from "@aws-sdk/client-drs"; // ES Modules import
19
+ * // const { DrsClient, ReverseReplicationCommand } = require("@aws-sdk/client-drs"); // CommonJS import
20
+ * const client = new DrsClient(config);
21
+ * const command = new ReverseReplicationCommand(input);
22
+ * const response = await client.send(command);
23
+ * ```
24
+ *
25
+ * @see {@link ReverseReplicationCommandInput} for command's `input` shape.
26
+ * @see {@link ReverseReplicationCommandOutput} for command's `response` shape.
27
+ * @see {@link DrsClientResolvedConfig | config} for DrsClient's `config` shape.
28
+ *
29
+ */
30
+ export declare class ReverseReplicationCommand extends $Command<ReverseReplicationCommandInput, ReverseReplicationCommandOutput, DrsClientResolvedConfig> {
31
+ readonly input: ReverseReplicationCommandInput;
32
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
33
+ constructor(input: ReverseReplicationCommandInput);
34
+ /**
35
+ * @internal
36
+ */
37
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: DrsClientResolvedConfig, options?: __HttpHandlerOptions): Handler<ReverseReplicationCommandInput, ReverseReplicationCommandOutput>;
38
+ private serialize;
39
+ private deserialize;
40
+ }
@@ -0,0 +1,37 @@
1
+ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
+ import { Command as $Command } from "@aws-sdk/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
+ import { DrsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DrsClient";
5
+ import { StartReplicationRequest, StartReplicationResponse } from "../models/models_0";
6
+ export interface StartReplicationCommandInput extends StartReplicationRequest {
7
+ }
8
+ export interface StartReplicationCommandOutput extends StartReplicationResponse, __MetadataBearer {
9
+ }
10
+ /**
11
+ * <p>Starts replication for a stopped Source Server. This action would make the Source Server protected again and restart billing for it.</p>
12
+ * @example
13
+ * Use a bare-bones client and the command you need to make an API call.
14
+ * ```javascript
15
+ * import { DrsClient, StartReplicationCommand } from "@aws-sdk/client-drs"; // ES Modules import
16
+ * // const { DrsClient, StartReplicationCommand } = require("@aws-sdk/client-drs"); // CommonJS import
17
+ * const client = new DrsClient(config);
18
+ * const command = new StartReplicationCommand(input);
19
+ * const response = await client.send(command);
20
+ * ```
21
+ *
22
+ * @see {@link StartReplicationCommandInput} for command's `input` shape.
23
+ * @see {@link StartReplicationCommandOutput} for command's `response` shape.
24
+ * @see {@link DrsClientResolvedConfig | config} for DrsClient's `config` shape.
25
+ *
26
+ */
27
+ export declare class StartReplicationCommand extends $Command<StartReplicationCommandInput, StartReplicationCommandOutput, DrsClientResolvedConfig> {
28
+ readonly input: StartReplicationCommandInput;
29
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
30
+ constructor(input: StartReplicationCommandInput);
31
+ /**
32
+ * @internal
33
+ */
34
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: DrsClientResolvedConfig, options?: __HttpHandlerOptions): Handler<StartReplicationCommandInput, StartReplicationCommandOutput>;
35
+ private serialize;
36
+ private deserialize;
37
+ }