aws-sdk-drs 1.7.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 651e72261df86a49e58c6cf387389caaeb7c7e18e8c2a1557e4712a0794104a6
4
- data.tar.gz: f81ebd7a7a7b249c7d957ba2fd39e113a39c42a710072fc9d8568c64765630bd
3
+ metadata.gz: 780696c964422166a982f187b8a9bb59d6a63a637ec0bdf66e89eea640bf1513
4
+ data.tar.gz: 2e4196718632bfa1f8f915ec62fa11ad266d3bda11f1f2678239882e96fc1392
5
5
  SHA512:
6
- metadata.gz: 25adf5cb95675add7d9f532d089c4136ec6edd8cf115cb2bc301e7a40d407b1e442922e77a43398c33879e312a4575c8c878523ec22a4da2bbb947d3c8b35141
7
- data.tar.gz: 4515303b0428d4c58677b1cc493b8a002fc6b3cc393cc44f4e68baa49973fcf6bf9369b243d2681ba2ac9b38dd47f0b05b95d20f3be6bc8d8ebd013bbf430bee
6
+ metadata.gz: b6efde2db0ab951665b7f8bd150f0d76b2dd09bbea2bbd57c6def3bd6b33e4b33e615e503a038bb5be97d76fad3c993fcb193ca761d8b04f0a08b6457b0a748c
7
+ data.tar.gz: c2ee6e026ca05eb27b886727d9050f5a2b1237f531943d40ed9ada16ec1933251e9c82ff676923c5d94ea02307ae2faf552ec4c139343c2d72fca9e4a6df5e75
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.9.0 (2022-11-28)
5
+ ------------------
6
+
7
+ * Feature - Non breaking changes to existing APIs, and additional APIs added to support in-AWS failing back using AWS Elastic Disaster Recovery.
8
+
9
+ 1.8.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.7.0 (2022-09-13)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.0
1
+ 1.9.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:drs)
@@ -79,8 +79,9 @@ module Aws::Drs
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::Drs::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::Drs
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::Drs
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::Drs::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Drs::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -402,6 +419,11 @@ module Aws::Drs
402
419
  # resp.source_server.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
403
420
  # resp.source_server.life_cycle.last_seen_by_service_date_time #=> String
404
421
  # resp.source_server.recovery_instance_id #=> String
422
+ # resp.source_server.replication_direction #=> String, one of "FAILOVER", "FAILBACK"
423
+ # resp.source_server.reversed_direction_source_server_arn #=> String
424
+ # resp.source_server.source_cloud_properties.origin_account_id #=> String
425
+ # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
426
+ # resp.source_server.source_cloud_properties.origin_region #=> String
405
427
  # resp.source_server.source_properties.cpus #=> Array
406
428
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
407
429
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -816,13 +838,13 @@ module Aws::Drs
816
838
  #
817
839
  # resp.items #=> Array
818
840
  # resp.items[0].arn #=> String
819
- # resp.items[0].data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "FAILBACK_CLIENT_NOT_SEEN", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE", "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE", "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"
841
+ # resp.items[0].data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "FAILBACK_CLIENT_NOT_SEEN", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE", "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE", "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION", "FAILED_GETTING_REPLICATION_STATE", "SNAPSHOTS_FAILURE", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
820
842
  # resp.items[0].data_replication_info.data_replication_error.raw_error #=> String
821
843
  # resp.items[0].data_replication_info.data_replication_initiation.start_date_time #=> String
822
844
  # resp.items[0].data_replication_info.data_replication_initiation.steps #=> Array
823
- # resp.items[0].data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE", "COMPLETE_VOLUME_MAPPING", "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", "CONFIGURE_REPLICATION_SOFTWARE", "PAIR_AGENT_WITH_REPLICATION_SOFTWARE", "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"
845
+ # resp.items[0].data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE", "COMPLETE_VOLUME_MAPPING", "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", "CONFIGURE_REPLICATION_SOFTWARE", "PAIR_AGENT_WITH_REPLICATION_SOFTWARE", "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION", "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
824
846
  # resp.items[0].data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
825
- # resp.items[0].data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
847
+ # resp.items[0].data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED", "REPLICATION_STATE_NOT_AVAILABLE", "NOT_STARTED"
826
848
  # resp.items[0].data_replication_info.eta_date_time #=> String
827
849
  # resp.items[0].data_replication_info.lag_duration #=> String
828
850
  # resp.items[0].data_replication_info.replicated_disks #=> Array
@@ -839,11 +861,13 @@ module Aws::Drs
839
861
  # resp.items[0].failback.failback_client_last_seen_by_service_date_time #=> String
840
862
  # resp.items[0].failback.failback_initiation_time #=> String
841
863
  # resp.items[0].failback.failback_job_id #=> String
864
+ # resp.items[0].failback.failback_launch_type #=> String, one of "RECOVERY", "DRILL"
842
865
  # resp.items[0].failback.failback_to_original_server #=> Boolean
843
866
  # resp.items[0].failback.first_byte_date_time #=> String
844
- # resp.items[0].failback.state #=> String, one of "FAILBACK_NOT_STARTED", "FAILBACK_IN_PROGRESS", "FAILBACK_READY_FOR_LAUNCH", "FAILBACK_COMPLETED", "FAILBACK_ERROR"
867
+ # resp.items[0].failback.state #=> String, one of "FAILBACK_NOT_STARTED", "FAILBACK_IN_PROGRESS", "FAILBACK_READY_FOR_LAUNCH", "FAILBACK_COMPLETED", "FAILBACK_ERROR", "FAILBACK_NOT_READY_FOR_LAUNCH", "FAILBACK_LAUNCH_STATE_NOT_AVAILABLE"
845
868
  # resp.items[0].is_drill #=> Boolean
846
869
  # resp.items[0].job_id #=> String
870
+ # resp.items[0].origin_environment #=> String, one of "ON_PREMISES", "AWS"
847
871
  # resp.items[0].point_in_time_snapshot_date_time #=> String
848
872
  # resp.items[0].recovery_instance_id #=> String
849
873
  # resp.items[0].recovery_instance_properties.cpus #=> Array
@@ -1061,6 +1085,11 @@ module Aws::Drs
1061
1085
  # resp.items[0].life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1062
1086
  # resp.items[0].life_cycle.last_seen_by_service_date_time #=> String
1063
1087
  # resp.items[0].recovery_instance_id #=> String
1088
+ # resp.items[0].replication_direction #=> String, one of "FAILOVER", "FAILBACK"
1089
+ # resp.items[0].reversed_direction_source_server_arn #=> String
1090
+ # resp.items[0].source_cloud_properties.origin_account_id #=> String
1091
+ # resp.items[0].source_cloud_properties.origin_availability_zone #=> String
1092
+ # resp.items[0].source_cloud_properties.origin_region #=> String
1064
1093
  # resp.items[0].source_properties.cpus #=> Array
1065
1094
  # resp.items[0].source_properties.cpus[0].cores #=> Integer
1066
1095
  # resp.items[0].source_properties.cpus[0].model_name #=> String
@@ -1157,6 +1186,9 @@ module Aws::Drs
1157
1186
  # * {Types::SourceServer#last_launch_result #last_launch_result} => String
1158
1187
  # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1159
1188
  # * {Types::SourceServer#recovery_instance_id #recovery_instance_id} => String
1189
+ # * {Types::SourceServer#replication_direction #replication_direction} => String
1190
+ # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1191
+ # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1160
1192
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1161
1193
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1162
1194
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1196,6 +1228,11 @@ module Aws::Drs
1196
1228
  # resp.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1197
1229
  # resp.life_cycle.last_seen_by_service_date_time #=> String
1198
1230
  # resp.recovery_instance_id #=> String
1231
+ # resp.replication_direction #=> String, one of "FAILOVER", "FAILBACK"
1232
+ # resp.reversed_direction_source_server_arn #=> String
1233
+ # resp.source_cloud_properties.origin_account_id #=> String
1234
+ # resp.source_cloud_properties.origin_availability_zone #=> String
1235
+ # resp.source_cloud_properties.origin_region #=> String
1199
1236
  # resp.source_properties.cpus #=> Array
1200
1237
  # resp.source_properties.cpus[0].cores #=> Integer
1201
1238
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1525,6 +1562,9 @@ module Aws::Drs
1525
1562
  # * {Types::SourceServer#last_launch_result #last_launch_result} => String
1526
1563
  # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1527
1564
  # * {Types::SourceServer#recovery_instance_id #recovery_instance_id} => String
1565
+ # * {Types::SourceServer#replication_direction #replication_direction} => String
1566
+ # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1567
+ # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1528
1568
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1529
1569
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1530
1570
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1564,6 +1604,11 @@ module Aws::Drs
1564
1604
  # resp.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1565
1605
  # resp.life_cycle.last_seen_by_service_date_time #=> String
1566
1606
  # resp.recovery_instance_id #=> String
1607
+ # resp.replication_direction #=> String, one of "FAILOVER", "FAILBACK"
1608
+ # resp.reversed_direction_source_server_arn #=> String
1609
+ # resp.source_cloud_properties.origin_account_id #=> String
1610
+ # resp.source_cloud_properties.origin_availability_zone #=> String
1611
+ # resp.source_cloud_properties.origin_region #=> String
1567
1612
  # resp.source_properties.cpus #=> Array
1568
1613
  # resp.source_properties.cpus[0].cores #=> Integer
1569
1614
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1600,6 +1645,39 @@ module Aws::Drs
1600
1645
  req.send_request(options)
1601
1646
  end
1602
1647
 
1648
+ # Start replication to origin / target region - applies only to
1649
+ # protected instances that originated in EC2. For recovery instances on
1650
+ # target region - starts replication back to origin region. For failback
1651
+ # instances on origin region - starts replication to target region to
1652
+ # re-protect them.
1653
+ #
1654
+ # @option params [required, String] :recovery_instance_id
1655
+ # The ID of the Recovery Instance that we want to reverse the
1656
+ # replication for.
1657
+ #
1658
+ # @return [Types::ReverseReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1659
+ #
1660
+ # * {Types::ReverseReplicationResponse#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1661
+ #
1662
+ # @example Request syntax with placeholder values
1663
+ #
1664
+ # resp = client.reverse_replication({
1665
+ # recovery_instance_id: "RecoveryInstanceID", # required
1666
+ # })
1667
+ #
1668
+ # @example Response structure
1669
+ #
1670
+ # resp.reversed_direction_source_server_arn #=> String
1671
+ #
1672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReverseReplication AWS API Documentation
1673
+ #
1674
+ # @overload reverse_replication(params = {})
1675
+ # @param [Hash] params ({})
1676
+ def reverse_replication(params = {}, options = {})
1677
+ req = build_request(:reverse_replication, params)
1678
+ req.send_request(options)
1679
+ end
1680
+
1603
1681
  # Initiates a Job for launching the machine that is being failed back to
1604
1682
  # from the specified Recovery Instance. This will run conversion on the
1605
1683
  # failback client and will reboot your machine, thus completing the
@@ -1707,6 +1785,91 @@ module Aws::Drs
1707
1785
  req.send_request(options)
1708
1786
  end
1709
1787
 
1788
+ # Starts replication for a stopped Source Server. This action would make
1789
+ # the Source Server protected again and restart billing for it.
1790
+ #
1791
+ # @option params [required, String] :source_server_id
1792
+ # The ID of the Source Server to start replication for.
1793
+ #
1794
+ # @return [Types::StartReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1795
+ #
1796
+ # * {Types::StartReplicationResponse#source_server #source_server} => Types::SourceServer
1797
+ #
1798
+ # @example Request syntax with placeholder values
1799
+ #
1800
+ # resp = client.start_replication({
1801
+ # source_server_id: "SourceServerID", # required
1802
+ # })
1803
+ #
1804
+ # @example Response structure
1805
+ #
1806
+ # resp.source_server.arn #=> String
1807
+ # resp.source_server.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
1808
+ # resp.source_server.data_replication_info.data_replication_error.raw_error #=> String
1809
+ # resp.source_server.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
1810
+ # resp.source_server.data_replication_info.data_replication_initiation.start_date_time #=> String
1811
+ # resp.source_server.data_replication_info.data_replication_initiation.steps #=> Array
1812
+ # resp.source_server.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
1813
+ # resp.source_server.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
1814
+ # resp.source_server.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
1815
+ # resp.source_server.data_replication_info.eta_date_time #=> String
1816
+ # resp.source_server.data_replication_info.lag_duration #=> String
1817
+ # resp.source_server.data_replication_info.replicated_disks #=> Array
1818
+ # resp.source_server.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
1819
+ # resp.source_server.data_replication_info.replicated_disks[0].device_name #=> String
1820
+ # resp.source_server.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
1821
+ # resp.source_server.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
1822
+ # resp.source_server.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
1823
+ # resp.source_server.last_launch_result #=> String, one of "NOT_STARTED", "PENDING", "SUCCEEDED", "FAILED"
1824
+ # resp.source_server.life_cycle.added_to_service_date_time #=> String
1825
+ # resp.source_server.life_cycle.elapsed_replication_duration #=> String
1826
+ # resp.source_server.life_cycle.first_byte_date_time #=> String
1827
+ # resp.source_server.life_cycle.last_launch.initiated.api_call_date_time #=> String
1828
+ # resp.source_server.life_cycle.last_launch.initiated.job_id #=> String
1829
+ # resp.source_server.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1830
+ # resp.source_server.life_cycle.last_seen_by_service_date_time #=> String
1831
+ # resp.source_server.recovery_instance_id #=> String
1832
+ # resp.source_server.replication_direction #=> String, one of "FAILOVER", "FAILBACK"
1833
+ # resp.source_server.reversed_direction_source_server_arn #=> String
1834
+ # resp.source_server.source_cloud_properties.origin_account_id #=> String
1835
+ # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
1836
+ # resp.source_server.source_cloud_properties.origin_region #=> String
1837
+ # resp.source_server.source_properties.cpus #=> Array
1838
+ # resp.source_server.source_properties.cpus[0].cores #=> Integer
1839
+ # resp.source_server.source_properties.cpus[0].model_name #=> String
1840
+ # resp.source_server.source_properties.disks #=> Array
1841
+ # resp.source_server.source_properties.disks[0].bytes #=> Integer
1842
+ # resp.source_server.source_properties.disks[0].device_name #=> String
1843
+ # resp.source_server.source_properties.identification_hints.aws_instance_id #=> String
1844
+ # resp.source_server.source_properties.identification_hints.fqdn #=> String
1845
+ # resp.source_server.source_properties.identification_hints.hostname #=> String
1846
+ # resp.source_server.source_properties.identification_hints.vm_ware_uuid #=> String
1847
+ # resp.source_server.source_properties.last_updated_date_time #=> String
1848
+ # resp.source_server.source_properties.network_interfaces #=> Array
1849
+ # resp.source_server.source_properties.network_interfaces[0].ips #=> Array
1850
+ # resp.source_server.source_properties.network_interfaces[0].ips[0] #=> String
1851
+ # resp.source_server.source_properties.network_interfaces[0].is_primary #=> Boolean
1852
+ # resp.source_server.source_properties.network_interfaces[0].mac_address #=> String
1853
+ # resp.source_server.source_properties.os.full_string #=> String
1854
+ # resp.source_server.source_properties.ram_bytes #=> Integer
1855
+ # resp.source_server.source_properties.recommended_instance_type #=> String
1856
+ # resp.source_server.source_server_id #=> String
1857
+ # resp.source_server.staging_area.error_message #=> String
1858
+ # resp.source_server.staging_area.staging_account_id #=> String
1859
+ # resp.source_server.staging_area.staging_source_server_arn #=> String
1860
+ # resp.source_server.staging_area.status #=> String, one of "EXTENDED", "EXTENSION_ERROR", "NOT_EXTENDED"
1861
+ # resp.source_server.tags #=> Hash
1862
+ # resp.source_server.tags["TagKey"] #=> String
1863
+ #
1864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartReplication AWS API Documentation
1865
+ #
1866
+ # @overload start_replication(params = {})
1867
+ # @param [Hash] params ({})
1868
+ def start_replication(params = {}, options = {})
1869
+ req = build_request(:start_replication, params)
1870
+ req.send_request(options)
1871
+ end
1872
+
1710
1873
  # Stops the failback process for a specified Recovery Instance. This
1711
1874
  # changes the Failback State of the Recovery Instance back to
1712
1875
  # FAILBACK\_NOT\_STARTED.
@@ -1731,6 +1894,92 @@ module Aws::Drs
1731
1894
  req.send_request(options)
1732
1895
  end
1733
1896
 
1897
+ # Stops replication for a Source Server. This action would make the
1898
+ # Source Server unprotected, delete its existing snapshots and stop
1899
+ # billing for it.
1900
+ #
1901
+ # @option params [required, String] :source_server_id
1902
+ # The ID of the Source Server to stop replication for.
1903
+ #
1904
+ # @return [Types::StopReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1905
+ #
1906
+ # * {Types::StopReplicationResponse#source_server #source_server} => Types::SourceServer
1907
+ #
1908
+ # @example Request syntax with placeholder values
1909
+ #
1910
+ # resp = client.stop_replication({
1911
+ # source_server_id: "SourceServerID", # required
1912
+ # })
1913
+ #
1914
+ # @example Response structure
1915
+ #
1916
+ # resp.source_server.arn #=> String
1917
+ # resp.source_server.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
1918
+ # resp.source_server.data_replication_info.data_replication_error.raw_error #=> String
1919
+ # resp.source_server.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
1920
+ # resp.source_server.data_replication_info.data_replication_initiation.start_date_time #=> String
1921
+ # resp.source_server.data_replication_info.data_replication_initiation.steps #=> Array
1922
+ # resp.source_server.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
1923
+ # resp.source_server.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
1924
+ # resp.source_server.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
1925
+ # resp.source_server.data_replication_info.eta_date_time #=> String
1926
+ # resp.source_server.data_replication_info.lag_duration #=> String
1927
+ # resp.source_server.data_replication_info.replicated_disks #=> Array
1928
+ # resp.source_server.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
1929
+ # resp.source_server.data_replication_info.replicated_disks[0].device_name #=> String
1930
+ # resp.source_server.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
1931
+ # resp.source_server.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
1932
+ # resp.source_server.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
1933
+ # resp.source_server.last_launch_result #=> String, one of "NOT_STARTED", "PENDING", "SUCCEEDED", "FAILED"
1934
+ # resp.source_server.life_cycle.added_to_service_date_time #=> String
1935
+ # resp.source_server.life_cycle.elapsed_replication_duration #=> String
1936
+ # resp.source_server.life_cycle.first_byte_date_time #=> String
1937
+ # resp.source_server.life_cycle.last_launch.initiated.api_call_date_time #=> String
1938
+ # resp.source_server.life_cycle.last_launch.initiated.job_id #=> String
1939
+ # resp.source_server.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1940
+ # resp.source_server.life_cycle.last_seen_by_service_date_time #=> String
1941
+ # resp.source_server.recovery_instance_id #=> String
1942
+ # resp.source_server.replication_direction #=> String, one of "FAILOVER", "FAILBACK"
1943
+ # resp.source_server.reversed_direction_source_server_arn #=> String
1944
+ # resp.source_server.source_cloud_properties.origin_account_id #=> String
1945
+ # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
1946
+ # resp.source_server.source_cloud_properties.origin_region #=> String
1947
+ # resp.source_server.source_properties.cpus #=> Array
1948
+ # resp.source_server.source_properties.cpus[0].cores #=> Integer
1949
+ # resp.source_server.source_properties.cpus[0].model_name #=> String
1950
+ # resp.source_server.source_properties.disks #=> Array
1951
+ # resp.source_server.source_properties.disks[0].bytes #=> Integer
1952
+ # resp.source_server.source_properties.disks[0].device_name #=> String
1953
+ # resp.source_server.source_properties.identification_hints.aws_instance_id #=> String
1954
+ # resp.source_server.source_properties.identification_hints.fqdn #=> String
1955
+ # resp.source_server.source_properties.identification_hints.hostname #=> String
1956
+ # resp.source_server.source_properties.identification_hints.vm_ware_uuid #=> String
1957
+ # resp.source_server.source_properties.last_updated_date_time #=> String
1958
+ # resp.source_server.source_properties.network_interfaces #=> Array
1959
+ # resp.source_server.source_properties.network_interfaces[0].ips #=> Array
1960
+ # resp.source_server.source_properties.network_interfaces[0].ips[0] #=> String
1961
+ # resp.source_server.source_properties.network_interfaces[0].is_primary #=> Boolean
1962
+ # resp.source_server.source_properties.network_interfaces[0].mac_address #=> String
1963
+ # resp.source_server.source_properties.os.full_string #=> String
1964
+ # resp.source_server.source_properties.ram_bytes #=> Integer
1965
+ # resp.source_server.source_properties.recommended_instance_type #=> String
1966
+ # resp.source_server.source_server_id #=> String
1967
+ # resp.source_server.staging_area.error_message #=> String
1968
+ # resp.source_server.staging_area.staging_account_id #=> String
1969
+ # resp.source_server.staging_area.staging_source_server_arn #=> String
1970
+ # resp.source_server.staging_area.status #=> String, one of "EXTENDED", "EXTENSION_ERROR", "NOT_EXTENDED"
1971
+ # resp.source_server.tags #=> Hash
1972
+ # resp.source_server.tags["TagKey"] #=> String
1973
+ #
1974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopReplication AWS API Documentation
1975
+ #
1976
+ # @overload stop_replication(params = {})
1977
+ # @param [Hash] params ({})
1978
+ def stop_replication(params = {}, options = {})
1979
+ req = build_request(:stop_replication, params)
1980
+ req.send_request(options)
1981
+ end
1982
+
1734
1983
  # Adds or overwrites only the specified tags for the specified Elastic
1735
1984
  # Disaster Recovery resource or resources. When you specify an existing
1736
1985
  # tag key, the value is overwritten with the new value. Each resource
@@ -2250,7 +2499,7 @@ module Aws::Drs
2250
2499
  params: params,
2251
2500
  config: config)
2252
2501
  context[:gem_name] = 'aws-sdk-drs'
2253
- context[:gem_version] = '1.7.0'
2502
+ context[:gem_version] = '1.9.0'
2254
2503
  Seahorse::Client::Request.new(handlers, context)
2255
2504
  end
2256
2505
 
@@ -19,6 +19,8 @@ module Aws::Drs
19
19
  AccountID = Shapes::StringShape.new(name: 'AccountID')
20
20
  AccountIDs = Shapes::ListShape.new(name: 'AccountIDs')
21
21
  Accounts = Shapes::ListShape.new(name: 'Accounts')
22
+ AwsAvailabilityZone = Shapes::StringShape.new(name: 'AwsAvailabilityZone')
23
+ AwsRegion = Shapes::StringShape.new(name: 'AwsRegion')
22
24
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
23
25
  BoundedString = Shapes::StringShape.new(name: 'BoundedString')
24
26
  CPU = Shapes::StructureShape.new(name: 'CPU')
@@ -76,6 +78,7 @@ module Aws::Drs
76
78
  EbsSnapshotsList = Shapes::ListShape.new(name: 'EbsSnapshotsList')
77
79
  EbsVolumeID = Shapes::StringShape.new(name: 'EbsVolumeID')
78
80
  ExtensionStatus = Shapes::StringShape.new(name: 'ExtensionStatus')
81
+ FailbackLaunchType = Shapes::StringShape.new(name: 'FailbackLaunchType')
79
82
  FailbackReplicationError = Shapes::StringShape.new(name: 'FailbackReplicationError')
80
83
  FailbackState = Shapes::StringShape.new(name: 'FailbackState')
81
84
  GetFailbackReplicationConfigurationRequest = Shapes::StructureShape.new(name: 'GetFailbackReplicationConfigurationRequest')
@@ -120,6 +123,7 @@ module Aws::Drs
120
123
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
121
124
  NetworkInterfaces = Shapes::ListShape.new(name: 'NetworkInterfaces')
122
125
  OS = Shapes::StructureShape.new(name: 'OS')
126
+ OriginEnvironment = Shapes::StringShape.new(name: 'OriginEnvironment')
123
127
  PITPolicy = Shapes::ListShape.new(name: 'PITPolicy')
124
128
  PITPolicyRule = Shapes::StructureShape.new(name: 'PITPolicyRule')
125
129
  PITPolicyRuleUnits = Shapes::StringShape.new(name: 'PITPolicyRuleUnits')
@@ -160,12 +164,16 @@ module Aws::Drs
160
164
  ReplicationConfigurationTemplateID = Shapes::StringShape.new(name: 'ReplicationConfigurationTemplateID')
161
165
  ReplicationConfigurationTemplateIDs = Shapes::ListShape.new(name: 'ReplicationConfigurationTemplateIDs')
162
166
  ReplicationConfigurationTemplates = Shapes::ListShape.new(name: 'ReplicationConfigurationTemplates')
167
+ ReplicationDirection = Shapes::StringShape.new(name: 'ReplicationDirection')
163
168
  ReplicationServersSecurityGroupsIDs = Shapes::ListShape.new(name: 'ReplicationServersSecurityGroupsIDs')
164
169
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
165
170
  RetryDataReplicationRequest = Shapes::StructureShape.new(name: 'RetryDataReplicationRequest')
171
+ ReverseReplicationRequest = Shapes::StructureShape.new(name: 'ReverseReplicationRequest')
172
+ ReverseReplicationResponse = Shapes::StructureShape.new(name: 'ReverseReplicationResponse')
166
173
  SecurityGroupID = Shapes::StringShape.new(name: 'SecurityGroupID')
167
174
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
168
175
  SmallBoundedString = Shapes::StringShape.new(name: 'SmallBoundedString')
176
+ SourceCloudProperties = Shapes::StructureShape.new(name: 'SourceCloudProperties')
169
177
  SourceProperties = Shapes::StructureShape.new(name: 'SourceProperties')
170
178
  SourceServer = Shapes::StructureShape.new(name: 'SourceServer')
171
179
  SourceServerARN = Shapes::StringShape.new(name: 'SourceServerARN')
@@ -182,7 +190,11 @@ module Aws::Drs
182
190
  StartRecoveryRequestSourceServer = Shapes::StructureShape.new(name: 'StartRecoveryRequestSourceServer')
183
191
  StartRecoveryRequestSourceServers = Shapes::ListShape.new(name: 'StartRecoveryRequestSourceServers')
184
192
  StartRecoveryResponse = Shapes::StructureShape.new(name: 'StartRecoveryResponse')
193
+ StartReplicationRequest = Shapes::StructureShape.new(name: 'StartReplicationRequest')
194
+ StartReplicationResponse = Shapes::StructureShape.new(name: 'StartReplicationResponse')
185
195
  StopFailbackRequest = Shapes::StructureShape.new(name: 'StopFailbackRequest')
196
+ StopReplicationRequest = Shapes::StructureShape.new(name: 'StopReplicationRequest')
197
+ StopReplicationResponse = Shapes::StructureShape.new(name: 'StopReplicationResponse')
186
198
  StrictlyPositiveInteger = Shapes::IntegerShape.new(name: 'StrictlyPositiveInteger')
187
199
  SubnetID = Shapes::StringShape.new(name: 'SubnetID')
188
200
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -550,6 +562,7 @@ module Aws::Drs
550
562
  RecoveryInstance.add_member(:failback, Shapes::ShapeRef.new(shape: RecoveryInstanceFailback, location_name: "failback"))
551
563
  RecoveryInstance.add_member(:is_drill, Shapes::ShapeRef.new(shape: Boolean, location_name: "isDrill"))
552
564
  RecoveryInstance.add_member(:job_id, Shapes::ShapeRef.new(shape: JobID, location_name: "jobID"))
565
+ RecoveryInstance.add_member(:origin_environment, Shapes::ShapeRef.new(shape: OriginEnvironment, location_name: "originEnvironment"))
553
566
  RecoveryInstance.add_member(:point_in_time_snapshot_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "pointInTimeSnapshotDateTime"))
554
567
  RecoveryInstance.add_member(:recovery_instance_id, Shapes::ShapeRef.new(shape: RecoveryInstanceID, location_name: "recoveryInstanceID"))
555
568
  RecoveryInstance.add_member(:recovery_instance_properties, Shapes::ShapeRef.new(shape: RecoveryInstanceProperties, location_name: "recoveryInstanceProperties"))
@@ -601,6 +614,7 @@ module Aws::Drs
601
614
  RecoveryInstanceFailback.add_member(:failback_client_last_seen_by_service_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "failbackClientLastSeenByServiceDateTime"))
602
615
  RecoveryInstanceFailback.add_member(:failback_initiation_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "failbackInitiationTime"))
603
616
  RecoveryInstanceFailback.add_member(:failback_job_id, Shapes::ShapeRef.new(shape: JobID, location_name: "failbackJobID"))
617
+ RecoveryInstanceFailback.add_member(:failback_launch_type, Shapes::ShapeRef.new(shape: FailbackLaunchType, location_name: "failbackLaunchType"))
604
618
  RecoveryInstanceFailback.add_member(:failback_to_original_server, Shapes::ShapeRef.new(shape: Boolean, location_name: "failbackToOriginalServer"))
605
619
  RecoveryInstanceFailback.add_member(:first_byte_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "firstByteDateTime"))
606
620
  RecoveryInstanceFailback.add_member(:state, Shapes::ShapeRef.new(shape: FailbackState, location_name: "state"))
@@ -689,6 +703,12 @@ module Aws::Drs
689
703
  RetryDataReplicationRequest.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
690
704
  RetryDataReplicationRequest.struct_class = Types::RetryDataReplicationRequest
691
705
 
706
+ ReverseReplicationRequest.add_member(:recovery_instance_id, Shapes::ShapeRef.new(shape: RecoveryInstanceID, required: true, location_name: "recoveryInstanceID"))
707
+ ReverseReplicationRequest.struct_class = Types::ReverseReplicationRequest
708
+
709
+ ReverseReplicationResponse.add_member(:reversed_direction_source_server_arn, Shapes::ShapeRef.new(shape: SourceServerARN, location_name: "reversedDirectionSourceServerArn"))
710
+ ReverseReplicationResponse.struct_class = Types::ReverseReplicationResponse
711
+
692
712
  ServiceQuotaExceededException.add_member(:code, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "code"))
693
713
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "message"))
694
714
  ServiceQuotaExceededException.add_member(:quota_code, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "quotaCode"))
@@ -697,6 +717,11 @@ module Aws::Drs
697
717
  ServiceQuotaExceededException.add_member(:service_code, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "serviceCode"))
698
718
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
699
719
 
720
+ SourceCloudProperties.add_member(:origin_account_id, Shapes::ShapeRef.new(shape: AccountID, location_name: "originAccountID"))
721
+ SourceCloudProperties.add_member(:origin_availability_zone, Shapes::ShapeRef.new(shape: AwsAvailabilityZone, location_name: "originAvailabilityZone"))
722
+ SourceCloudProperties.add_member(:origin_region, Shapes::ShapeRef.new(shape: AwsRegion, location_name: "originRegion"))
723
+ SourceCloudProperties.struct_class = Types::SourceCloudProperties
724
+
700
725
  SourceProperties.add_member(:cpus, Shapes::ShapeRef.new(shape: Cpus, location_name: "cpus"))
701
726
  SourceProperties.add_member(:disks, Shapes::ShapeRef.new(shape: Disks, location_name: "disks"))
702
727
  SourceProperties.add_member(:identification_hints, Shapes::ShapeRef.new(shape: IdentificationHints, location_name: "identificationHints"))
@@ -712,6 +737,9 @@ module Aws::Drs
712
737
  SourceServer.add_member(:last_launch_result, Shapes::ShapeRef.new(shape: LastLaunchResult, location_name: "lastLaunchResult"))
713
738
  SourceServer.add_member(:life_cycle, Shapes::ShapeRef.new(shape: LifeCycle, location_name: "lifeCycle"))
714
739
  SourceServer.add_member(:recovery_instance_id, Shapes::ShapeRef.new(shape: RecoveryInstanceID, location_name: "recoveryInstanceId"))
740
+ SourceServer.add_member(:replication_direction, Shapes::ShapeRef.new(shape: ReplicationDirection, location_name: "replicationDirection"))
741
+ SourceServer.add_member(:reversed_direction_source_server_arn, Shapes::ShapeRef.new(shape: SourceServerARN, location_name: "reversedDirectionSourceServerArn"))
742
+ SourceServer.add_member(:source_cloud_properties, Shapes::ShapeRef.new(shape: SourceCloudProperties, location_name: "sourceCloudProperties"))
715
743
  SourceServer.add_member(:source_properties, Shapes::ShapeRef.new(shape: SourceProperties, location_name: "sourceProperties"))
716
744
  SourceServer.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, location_name: "sourceServerID"))
717
745
  SourceServer.add_member(:staging_area, Shapes::ShapeRef.new(shape: StagingArea, location_name: "stagingArea"))
@@ -758,9 +786,21 @@ module Aws::Drs
758
786
  StartRecoveryResponse.add_member(:job, Shapes::ShapeRef.new(shape: Job, location_name: "job"))
759
787
  StartRecoveryResponse.struct_class = Types::StartRecoveryResponse
760
788
 
789
+ StartReplicationRequest.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
790
+ StartReplicationRequest.struct_class = Types::StartReplicationRequest
791
+
792
+ StartReplicationResponse.add_member(:source_server, Shapes::ShapeRef.new(shape: SourceServer, location_name: "sourceServer"))
793
+ StartReplicationResponse.struct_class = Types::StartReplicationResponse
794
+
761
795
  StopFailbackRequest.add_member(:recovery_instance_id, Shapes::ShapeRef.new(shape: RecoveryInstanceID, required: true, location_name: "recoveryInstanceID"))
762
796
  StopFailbackRequest.struct_class = Types::StopFailbackRequest
763
797
 
798
+ StopReplicationRequest.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
799
+ StopReplicationRequest.struct_class = Types::StopReplicationRequest
800
+
801
+ StopReplicationResponse.add_member(:source_server, Shapes::ShapeRef.new(shape: SourceServer, location_name: "sourceServer"))
802
+ StopReplicationResponse.struct_class = Types::StopReplicationResponse
803
+
764
804
  TagKeys.member = Shapes::ShapeRef.new(shape: TagKey)
765
805
 
766
806
  TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
@@ -1208,6 +1248,21 @@ module Aws::Drs
1208
1248
  o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1209
1249
  end)
1210
1250
 
1251
+ api.add_operation(:reverse_replication, Seahorse::Model::Operation.new.tap do |o|
1252
+ o.name = "ReverseReplication"
1253
+ o.http_method = "POST"
1254
+ o.http_request_uri = "/ReverseReplication"
1255
+ o.input = Shapes::ShapeRef.new(shape: ReverseReplicationRequest)
1256
+ o.output = Shapes::ShapeRef.new(shape: ReverseReplicationResponse)
1257
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1258
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1259
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1260
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1261
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1262
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1263
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1264
+ end)
1265
+
1211
1266
  api.add_operation(:start_failback_launch, Seahorse::Model::Operation.new.tap do |o|
1212
1267
  o.name = "StartFailbackLaunch"
1213
1268
  o.http_method = "POST"
@@ -1235,6 +1290,19 @@ module Aws::Drs
1235
1290
  o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1236
1291
  end)
1237
1292
 
1293
+ api.add_operation(:start_replication, Seahorse::Model::Operation.new.tap do |o|
1294
+ o.name = "StartReplication"
1295
+ o.http_method = "POST"
1296
+ o.http_request_uri = "/StartReplication"
1297
+ o.input = Shapes::ShapeRef.new(shape: StartReplicationRequest)
1298
+ o.output = Shapes::ShapeRef.new(shape: StartReplicationResponse)
1299
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1300
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1301
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1302
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1303
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1304
+ end)
1305
+
1238
1306
  api.add_operation(:stop_failback, Seahorse::Model::Operation.new.tap do |o|
1239
1307
  o.name = "StopFailback"
1240
1308
  o.http_method = "POST"
@@ -1247,6 +1315,19 @@ module Aws::Drs
1247
1315
  o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1248
1316
  end)
1249
1317
 
1318
+ api.add_operation(:stop_replication, Seahorse::Model::Operation.new.tap do |o|
1319
+ o.name = "StopReplication"
1320
+ o.http_method = "POST"
1321
+ o.http_request_uri = "/StopReplication"
1322
+ o.input = Shapes::ShapeRef.new(shape: StopReplicationRequest)
1323
+ o.output = Shapes::ShapeRef.new(shape: StopReplicationResponse)
1324
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1325
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1326
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1327
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1328
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1329
+ end)
1330
+
1250
1331
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1251
1332
  o.name = "TagResource"
1252
1333
  o.http_method = "POST"