aws-sdk-drs 1.8.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: 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