aws-sdk-drs 1.8.0 → 1.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: baa435d6162667b20d8c4d20a1ff89a5e7b57890de873a694614ba9e82e6b36a
4
- data.tar.gz: fde57490c65683422a294a3430f40410018ac366c7b5b5e105096cce019c4263
3
+ metadata.gz: 780696c964422166a982f187b8a9bb59d6a63a637ec0bdf66e89eea640bf1513
4
+ data.tar.gz: 2e4196718632bfa1f8f915ec62fa11ad266d3bda11f1f2678239882e96fc1392
5
5
  SHA512:
6
- metadata.gz: 88a5955bcb6c093a278ad51eddd67d14f973cdd7474ed324d7248ec3c6d2856aa0142e3a95112e531320267c953d04c2af489e24e61e283fb461300c9783cabb
7
- data.tar.gz: c34d5713975e1c085dc9e8c8c727fc30b0963d3cadff56cbb32f45c4ddcf5bb5564ddfb7e27b3d06a6f4c779bcbecf658db781db19551af77ec250fea02449e1
6
+ metadata.gz: b6efde2db0ab951665b7f8bd150f0d76b2dd09bbea2bbd57c6def3bd6b33e4b33e615e503a038bb5be97d76fad3c993fcb193ca761d8b04f0a08b6457b0a748c
7
+ data.tar.gz: c2ee6e026ca05eb27b886727d9050f5a2b1237f531943d40ed9ada16ec1933251e9c82ff676923c5d94ea02307ae2faf552ec4c139343c2d72fca9e4a6df5e75
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.8.0 (2022-10-25)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.0
1
+ 1.9.0
@@ -419,6 +419,11 @@ module Aws::Drs
419
419
  # resp.source_server.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
420
420
  # resp.source_server.life_cycle.last_seen_by_service_date_time #=> String
421
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
422
427
  # resp.source_server.source_properties.cpus #=> Array
423
428
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
424
429
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -833,13 +838,13 @@ module Aws::Drs
833
838
  #
834
839
  # resp.items #=> Array
835
840
  # resp.items[0].arn #=> String
836
- # 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"
837
842
  # resp.items[0].data_replication_info.data_replication_error.raw_error #=> String
838
843
  # resp.items[0].data_replication_info.data_replication_initiation.start_date_time #=> String
839
844
  # resp.items[0].data_replication_info.data_replication_initiation.steps #=> Array
840
- # 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"
841
846
  # resp.items[0].data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
842
- # 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"
843
848
  # resp.items[0].data_replication_info.eta_date_time #=> String
844
849
  # resp.items[0].data_replication_info.lag_duration #=> String
845
850
  # resp.items[0].data_replication_info.replicated_disks #=> Array
@@ -856,11 +861,13 @@ module Aws::Drs
856
861
  # resp.items[0].failback.failback_client_last_seen_by_service_date_time #=> String
857
862
  # resp.items[0].failback.failback_initiation_time #=> String
858
863
  # resp.items[0].failback.failback_job_id #=> String
864
+ # resp.items[0].failback.failback_launch_type #=> String, one of "RECOVERY", "DRILL"
859
865
  # resp.items[0].failback.failback_to_original_server #=> Boolean
860
866
  # resp.items[0].failback.first_byte_date_time #=> String
861
- # 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"
862
868
  # resp.items[0].is_drill #=> Boolean
863
869
  # resp.items[0].job_id #=> String
870
+ # resp.items[0].origin_environment #=> String, one of "ON_PREMISES", "AWS"
864
871
  # resp.items[0].point_in_time_snapshot_date_time #=> String
865
872
  # resp.items[0].recovery_instance_id #=> String
866
873
  # resp.items[0].recovery_instance_properties.cpus #=> Array
@@ -1078,6 +1085,11 @@ module Aws::Drs
1078
1085
  # resp.items[0].life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1079
1086
  # resp.items[0].life_cycle.last_seen_by_service_date_time #=> String
1080
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
1081
1093
  # resp.items[0].source_properties.cpus #=> Array
1082
1094
  # resp.items[0].source_properties.cpus[0].cores #=> Integer
1083
1095
  # resp.items[0].source_properties.cpus[0].model_name #=> String
@@ -1174,6 +1186,9 @@ module Aws::Drs
1174
1186
  # * {Types::SourceServer#last_launch_result #last_launch_result} => String
1175
1187
  # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1176
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
1177
1192
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1178
1193
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1179
1194
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1213,6 +1228,11 @@ module Aws::Drs
1213
1228
  # resp.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1214
1229
  # resp.life_cycle.last_seen_by_service_date_time #=> String
1215
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
1216
1236
  # resp.source_properties.cpus #=> Array
1217
1237
  # resp.source_properties.cpus[0].cores #=> Integer
1218
1238
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1542,6 +1562,9 @@ module Aws::Drs
1542
1562
  # * {Types::SourceServer#last_launch_result #last_launch_result} => String
1543
1563
  # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1544
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
1545
1568
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1546
1569
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1547
1570
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1581,6 +1604,11 @@ module Aws::Drs
1581
1604
  # resp.life_cycle.last_launch.initiated.type #=> String, one of "RECOVERY", "DRILL"
1582
1605
  # resp.life_cycle.last_seen_by_service_date_time #=> String
1583
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
1584
1612
  # resp.source_properties.cpus #=> Array
1585
1613
  # resp.source_properties.cpus[0].cores #=> Integer
1586
1614
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1617,6 +1645,39 @@ module Aws::Drs
1617
1645
  req.send_request(options)
1618
1646
  end
1619
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
+
1620
1681
  # Initiates a Job for launching the machine that is being failed back to
1621
1682
  # from the specified Recovery Instance. This will run conversion on the
1622
1683
  # failback client and will reboot your machine, thus completing the
@@ -1724,6 +1785,91 @@ module Aws::Drs
1724
1785
  req.send_request(options)
1725
1786
  end
1726
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
+
1727
1873
  # Stops the failback process for a specified Recovery Instance. This
1728
1874
  # changes the Failback State of the Recovery Instance back to
1729
1875
  # FAILBACK\_NOT\_STARTED.
@@ -1748,6 +1894,92 @@ module Aws::Drs
1748
1894
  req.send_request(options)
1749
1895
  end
1750
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
+
1751
1983
  # Adds or overwrites only the specified tags for the specified Elastic
1752
1984
  # Disaster Recovery resource or resources. When you specify an existing
1753
1985
  # tag key, the value is overwritten with the new value. Each resource
@@ -2267,7 +2499,7 @@ module Aws::Drs
2267
2499
  params: params,
2268
2500
  config: config)
2269
2501
  context[:gem_name] = 'aws-sdk-drs'
2270
- context[:gem_version] = '1.8.0'
2502
+ context[:gem_version] = '1.9.0'
2271
2503
  Seahorse::Client::Request.new(handlers, context)
2272
2504
  end
2273
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"
@@ -319,6 +319,20 @@ module Aws::Drs
319
319
  end
320
320
  end
321
321
 
322
+ class ReverseReplication
323
+ def self.build(context)
324
+ unless context.config.regional_endpoint
325
+ endpoint = context.config.endpoint.to_s
326
+ end
327
+ Aws::Drs::EndpointParameters.new(
328
+ region: context.config.region,
329
+ use_dual_stack: context.config.use_dualstack_endpoint,
330
+ use_fips: context.config.use_fips_endpoint,
331
+ endpoint: endpoint,
332
+ )
333
+ end
334
+ end
335
+
322
336
  class StartFailbackLaunch
323
337
  def self.build(context)
324
338
  unless context.config.regional_endpoint
@@ -347,6 +361,20 @@ module Aws::Drs
347
361
  end
348
362
  end
349
363
 
364
+ class StartReplication
365
+ def self.build(context)
366
+ unless context.config.regional_endpoint
367
+ endpoint = context.config.endpoint.to_s
368
+ end
369
+ Aws::Drs::EndpointParameters.new(
370
+ region: context.config.region,
371
+ use_dual_stack: context.config.use_dualstack_endpoint,
372
+ use_fips: context.config.use_fips_endpoint,
373
+ endpoint: endpoint,
374
+ )
375
+ end
376
+ end
377
+
350
378
  class StopFailback
351
379
  def self.build(context)
352
380
  unless context.config.regional_endpoint
@@ -361,6 +389,20 @@ module Aws::Drs
361
389
  end
362
390
  end
363
391
 
392
+ class StopReplication
393
+ def self.build(context)
394
+ unless context.config.regional_endpoint
395
+ endpoint = context.config.endpoint.to_s
396
+ end
397
+ Aws::Drs::EndpointParameters.new(
398
+ region: context.config.region,
399
+ use_dual_stack: context.config.use_dualstack_endpoint,
400
+ use_fips: context.config.use_fips_endpoint,
401
+ endpoint: endpoint,
402
+ )
403
+ end
404
+ end
405
+
364
406
  class TagResource
365
407
  def self.build(context)
366
408
  unless context.config.regional_endpoint
@@ -100,12 +100,18 @@ module Aws::Drs
100
100
  Aws::Drs::Endpoints::ListTagsForResource.build(context)
101
101
  when :retry_data_replication
102
102
  Aws::Drs::Endpoints::RetryDataReplication.build(context)
103
+ when :reverse_replication
104
+ Aws::Drs::Endpoints::ReverseReplication.build(context)
103
105
  when :start_failback_launch
104
106
  Aws::Drs::Endpoints::StartFailbackLaunch.build(context)
105
107
  when :start_recovery
106
108
  Aws::Drs::Endpoints::StartRecovery.build(context)
109
+ when :start_replication
110
+ Aws::Drs::Endpoints::StartReplication.build(context)
107
111
  when :stop_failback
108
112
  Aws::Drs::Endpoints::StopFailback.build(context)
113
+ when :stop_replication
114
+ Aws::Drs::Endpoints::StopReplication.build(context)
109
115
  when :tag_resource
110
116
  Aws::Drs::Endpoints::TagResource.build(context)
111
117
  when :terminate_recovery_instances
@@ -1676,6 +1676,11 @@ module Aws::Drs
1676
1676
  # The ID of the Job that created the Recovery Instance.
1677
1677
  # @return [String]
1678
1678
  #
1679
+ # @!attribute [rw] origin_environment
1680
+ # Environment (On Premises / AWS) of the instance that the recovery
1681
+ # instance originated from.
1682
+ # @return [String]
1683
+ #
1679
1684
  # @!attribute [rw] point_in_time_snapshot_date_time
1680
1685
  # The date and time of the Point in Time (PIT) snapshot that this
1681
1686
  # Recovery Instance was launched from.
@@ -1707,6 +1712,7 @@ module Aws::Drs
1707
1712
  :failback,
1708
1713
  :is_drill,
1709
1714
  :job_id,
1715
+ :origin_environment,
1710
1716
  :point_in_time_snapshot_date_time,
1711
1717
  :recovery_instance_id,
1712
1718
  :recovery_instance_properties,
@@ -1904,6 +1910,11 @@ module Aws::Drs
1904
1910
  # The Job ID of the last failback log for this Recovery Instance.
1905
1911
  # @return [String]
1906
1912
  #
1913
+ # @!attribute [rw] failback_launch_type
1914
+ # The launch type (Recovery / Drill) of the last launch for the
1915
+ # failback replication of this recovery instance.
1916
+ # @return [String]
1917
+ #
1907
1918
  # @!attribute [rw] failback_to_original_server
1908
1919
  # Whether we are failing back to the original Source Server for this
1909
1920
  # Recovery Instance.
@@ -1927,6 +1938,7 @@ module Aws::Drs
1927
1938
  :failback_client_last_seen_by_service_date_time,
1928
1939
  :failback_initiation_time,
1929
1940
  :failback_job_id,
1941
+ :failback_launch_type,
1930
1942
  :failback_to_original_server,
1931
1943
  :first_byte_date_time,
1932
1944
  :state)
@@ -2134,8 +2146,9 @@ module Aws::Drs
2134
2146
  # @return [Boolean]
2135
2147
  #
2136
2148
  # @!attribute [rw] optimized_staging_disk_type
2137
- # The Staging Disk EBS volume type to be used during replication when
2138
- # `stagingDiskType` is set to Auto. This is a read-only field.
2149
+ # When `stagingDiskType` is set to Auto, this field shows the current
2150
+ # staging disk EBS volume type as it is constantly updated by the
2151
+ # service. This is a read-only field.
2139
2152
  # @return [String]
2140
2153
  #
2141
2154
  # @!attribute [rw] staging_disk_type
@@ -2301,6 +2314,38 @@ module Aws::Drs
2301
2314
  include Aws::Structure
2302
2315
  end
2303
2316
 
2317
+ # @note When making an API call, you may pass ReverseReplicationRequest
2318
+ # data as a hash:
2319
+ #
2320
+ # {
2321
+ # recovery_instance_id: "RecoveryInstanceID", # required
2322
+ # }
2323
+ #
2324
+ # @!attribute [rw] recovery_instance_id
2325
+ # The ID of the Recovery Instance that we want to reverse the
2326
+ # replication for.
2327
+ # @return [String]
2328
+ #
2329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReverseReplicationRequest AWS API Documentation
2330
+ #
2331
+ class ReverseReplicationRequest < Struct.new(
2332
+ :recovery_instance_id)
2333
+ SENSITIVE = []
2334
+ include Aws::Structure
2335
+ end
2336
+
2337
+ # @!attribute [rw] reversed_direction_source_server_arn
2338
+ # ARN of created SourceServer.
2339
+ # @return [String]
2340
+ #
2341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReverseReplicationResponse AWS API Documentation
2342
+ #
2343
+ class ReverseReplicationResponse < Struct.new(
2344
+ :reversed_direction_source_server_arn)
2345
+ SENSITIVE = []
2346
+ include Aws::Structure
2347
+ end
2348
+
2304
2349
  # The request could not be completed because its exceeded the service
2305
2350
  # quota.
2306
2351
  #
@@ -2339,6 +2384,31 @@ module Aws::Drs
2339
2384
  include Aws::Structure
2340
2385
  end
2341
2386
 
2387
+ # Properties of the cloud environment where this Source Server
2388
+ # originated from.
2389
+ #
2390
+ # @!attribute [rw] origin_account_id
2391
+ # AWS Account ID for an EC2-originated Source Server.
2392
+ # @return [String]
2393
+ #
2394
+ # @!attribute [rw] origin_availability_zone
2395
+ # AWS Availability Zone for an EC2-originated Source Server.
2396
+ # @return [String]
2397
+ #
2398
+ # @!attribute [rw] origin_region
2399
+ # AWS Region for an EC2-originated Source Server.
2400
+ # @return [String]
2401
+ #
2402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/SourceCloudProperties AWS API Documentation
2403
+ #
2404
+ class SourceCloudProperties < Struct.new(
2405
+ :origin_account_id,
2406
+ :origin_availability_zone,
2407
+ :origin_region)
2408
+ SENSITIVE = []
2409
+ include Aws::Structure
2410
+ end
2411
+
2342
2412
  # Properties of the Source Server machine.
2343
2413
  #
2344
2414
  # @!attribute [rw] cpus
@@ -2409,6 +2479,20 @@ module Aws::Drs
2409
2479
  # The ID of the Recovery Instance associated with this Source Server.
2410
2480
  # @return [String]
2411
2481
  #
2482
+ # @!attribute [rw] replication_direction
2483
+ # Replication direction of the Source Server.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] reversed_direction_source_server_arn
2487
+ # For EC2-originated Source Servers which have been failed over and
2488
+ # then failed back, this value will mean the ARN of the Source Server
2489
+ # on the opposite replication direction.
2490
+ # @return [String]
2491
+ #
2492
+ # @!attribute [rw] source_cloud_properties
2493
+ # Source cloud properties of the Source Server.
2494
+ # @return [Types::SourceCloudProperties]
2495
+ #
2412
2496
  # @!attribute [rw] source_properties
2413
2497
  # The source properties of the Source Server.
2414
2498
  # @return [Types::SourceProperties]
@@ -2433,6 +2517,9 @@ module Aws::Drs
2433
2517
  :last_launch_result,
2434
2518
  :life_cycle,
2435
2519
  :recovery_instance_id,
2520
+ :replication_direction,
2521
+ :reversed_direction_source_server_arn,
2522
+ :source_cloud_properties,
2436
2523
  :source_properties,
2437
2524
  :source_server_id,
2438
2525
  :staging_area,
@@ -2625,6 +2712,37 @@ module Aws::Drs
2625
2712
  include Aws::Structure
2626
2713
  end
2627
2714
 
2715
+ # @note When making an API call, you may pass StartReplicationRequest
2716
+ # data as a hash:
2717
+ #
2718
+ # {
2719
+ # source_server_id: "SourceServerID", # required
2720
+ # }
2721
+ #
2722
+ # @!attribute [rw] source_server_id
2723
+ # The ID of the Source Server to start replication for.
2724
+ # @return [String]
2725
+ #
2726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartReplicationRequest AWS API Documentation
2727
+ #
2728
+ class StartReplicationRequest < Struct.new(
2729
+ :source_server_id)
2730
+ SENSITIVE = []
2731
+ include Aws::Structure
2732
+ end
2733
+
2734
+ # @!attribute [rw] source_server
2735
+ # The Source Server that this action was targeted on.
2736
+ # @return [Types::SourceServer]
2737
+ #
2738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartReplicationResponse AWS API Documentation
2739
+ #
2740
+ class StartReplicationResponse < Struct.new(
2741
+ :source_server)
2742
+ SENSITIVE = []
2743
+ include Aws::Structure
2744
+ end
2745
+
2628
2746
  # @note When making an API call, you may pass StopFailbackRequest
2629
2747
  # data as a hash:
2630
2748
  #
@@ -2644,6 +2762,37 @@ module Aws::Drs
2644
2762
  include Aws::Structure
2645
2763
  end
2646
2764
 
2765
+ # @note When making an API call, you may pass StopReplicationRequest
2766
+ # data as a hash:
2767
+ #
2768
+ # {
2769
+ # source_server_id: "SourceServerID", # required
2770
+ # }
2771
+ #
2772
+ # @!attribute [rw] source_server_id
2773
+ # The ID of the Source Server to stop replication for.
2774
+ # @return [String]
2775
+ #
2776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopReplicationRequest AWS API Documentation
2777
+ #
2778
+ class StopReplicationRequest < Struct.new(
2779
+ :source_server_id)
2780
+ SENSITIVE = []
2781
+ include Aws::Structure
2782
+ end
2783
+
2784
+ # @!attribute [rw] source_server
2785
+ # The Source Server that this action was targeted on.
2786
+ # @return [Types::SourceServer]
2787
+ #
2788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopReplicationResponse AWS API Documentation
2789
+ #
2790
+ class StopReplicationResponse < Struct.new(
2791
+ :source_server)
2792
+ SENSITIVE = []
2793
+ include Aws::Structure
2794
+ end
2795
+
2647
2796
  # @note When making an API call, you may pass TagResourceRequest
2648
2797
  # data as a hash:
2649
2798
  #
data/lib/aws-sdk-drs.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-drs/customizations'
52
52
  # @!group service
53
53
  module Aws::Drs
54
54
 
55
- GEM_VERSION = '1.8.0'
55
+ GEM_VERSION = '1.9.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-drs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-25 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core