aws-sdk-drs 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -373,6 +373,55 @@ module Aws::Drs
373
373
 
374
374
  # @!group API Operations
375
375
 
376
+ # Associate a Source Network to an existing CloudFormation Stack and
377
+ # modify launch templates to use this network. Can be used for reverting
378
+ # to previously deployed CloudFormation stacks.
379
+ #
380
+ # @option params [required, String] :cfn_stack_name
381
+ # CloudFormation template to associate with a Source Network.
382
+ #
383
+ # @option params [required, String] :source_network_id
384
+ # The Source Network ID to associate with CloudFormation template.
385
+ #
386
+ # @return [Types::AssociateSourceNetworkStackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
387
+ #
388
+ # * {Types::AssociateSourceNetworkStackResponse#job #job} => Types::Job
389
+ #
390
+ # @example Request syntax with placeholder values
391
+ #
392
+ # resp = client.associate_source_network_stack({
393
+ # cfn_stack_name: "CfnStackName", # required
394
+ # source_network_id: "SourceNetworkID", # required
395
+ # })
396
+ #
397
+ # @example Response structure
398
+ #
399
+ # resp.job.arn #=> String
400
+ # resp.job.creation_date_time #=> String
401
+ # resp.job.end_date_time #=> String
402
+ # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
403
+ # resp.job.job_id #=> String
404
+ # resp.job.participating_resources #=> Array
405
+ # resp.job.participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
406
+ # resp.job.participating_resources[0].participating_resource_id.source_network_id #=> String
407
+ # resp.job.participating_servers #=> Array
408
+ # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
409
+ # resp.job.participating_servers[0].recovery_instance_id #=> String
410
+ # resp.job.participating_servers[0].source_server_id #=> String
411
+ # resp.job.status #=> String, one of "PENDING", "STARTED", "COMPLETED"
412
+ # resp.job.tags #=> Hash
413
+ # resp.job.tags["TagKey"] #=> String
414
+ # resp.job.type #=> String, one of "LAUNCH", "TERMINATE", "CREATE_CONVERTED_SNAPSHOT"
415
+ #
416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/AssociateSourceNetworkStack AWS API Documentation
417
+ #
418
+ # @overload associate_source_network_stack(params = {})
419
+ # @param [Hash] params ({})
420
+ def associate_source_network_stack(params = {}, options = {})
421
+ req = build_request(:associate_source_network_stack, params)
422
+ req.send_request(options)
423
+ end
424
+
376
425
  # Create an extended source server in the target Account based on the
377
426
  # source server in staging account.
378
427
  #
@@ -431,6 +480,7 @@ module Aws::Drs
431
480
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
432
481
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
433
482
  # resp.source_server.source_cloud_properties.origin_region #=> String
483
+ # resp.source_server.source_network_id #=> String
434
484
  # resp.source_server.source_properties.cpus #=> Array
435
485
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
436
486
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -476,6 +526,9 @@ module Aws::Drs
476
526
  # @option params [Boolean] :copy_tags
477
527
  # Copy tags.
478
528
  #
529
+ # @option params [String] :export_bucket_arn
530
+ # S3 bucket ARN to export Source Network templates.
531
+ #
479
532
  # @option params [String] :launch_disposition
480
533
  # Launch disposition.
481
534
  #
@@ -498,6 +551,7 @@ module Aws::Drs
498
551
  # resp = client.create_launch_configuration_template({
499
552
  # copy_private_ip: false,
500
553
  # copy_tags: false,
554
+ # export_bucket_arn: "ARN",
501
555
  # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
502
556
  # licensing: {
503
557
  # os_byol: false,
@@ -513,6 +567,7 @@ module Aws::Drs
513
567
  # resp.launch_configuration_template.arn #=> String
514
568
  # resp.launch_configuration_template.copy_private_ip #=> Boolean
515
569
  # resp.launch_configuration_template.copy_tags #=> Boolean
570
+ # resp.launch_configuration_template.export_bucket_arn #=> String
516
571
  # resp.launch_configuration_template.launch_configuration_template_id #=> String
517
572
  # resp.launch_configuration_template.launch_disposition #=> String, one of "STOPPED", "STARTED"
518
573
  # resp.launch_configuration_template.licensing.os_byol #=> Boolean
@@ -613,7 +668,7 @@ module Aws::Drs
613
668
  # create_public_ip: false, # required
614
669
  # data_plane_routing: "PRIVATE_IP", # required, accepts PRIVATE_IP, PUBLIC_IP
615
670
  # default_large_staging_disk_type: "GP2", # required, accepts GP2, GP3, ST1, AUTO
616
- # ebs_encryption: "DEFAULT", # required, accepts DEFAULT, CUSTOM
671
+ # ebs_encryption: "DEFAULT", # required, accepts DEFAULT, CUSTOM, NONE
617
672
  # ebs_encryption_key_arn: "ARN",
618
673
  # pit_policy: [ # required
619
674
  # {
@@ -645,7 +700,7 @@ module Aws::Drs
645
700
  # resp.create_public_ip #=> Boolean
646
701
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
647
702
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
648
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
703
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
649
704
  # resp.ebs_encryption_key_arn #=> String
650
705
  # resp.pit_policy #=> Array
651
706
  # resp.pit_policy[0].enabled #=> Boolean
@@ -673,6 +728,48 @@ module Aws::Drs
673
728
  req.send_request(options)
674
729
  end
675
730
 
731
+ # Create a new Source Network resource for a provided VPC ID.
732
+ #
733
+ # @option params [required, String] :origin_account_id
734
+ # Account containing the VPC to protect.
735
+ #
736
+ # @option params [required, String] :origin_region
737
+ # Region containing the VPC to protect.
738
+ #
739
+ # @option params [Hash<String,String>] :tags
740
+ # A set of tags to be associated with the Source Network resource.
741
+ #
742
+ # @option params [required, String] :vpc_id
743
+ # Which VPC ID to protect.
744
+ #
745
+ # @return [Types::CreateSourceNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
746
+ #
747
+ # * {Types::CreateSourceNetworkResponse#source_network_id #source_network_id} => String
748
+ #
749
+ # @example Request syntax with placeholder values
750
+ #
751
+ # resp = client.create_source_network({
752
+ # origin_account_id: "AccountID", # required
753
+ # origin_region: "AwsRegion", # required
754
+ # tags: {
755
+ # "TagKey" => "TagValue",
756
+ # },
757
+ # vpc_id: "VpcID", # required
758
+ # })
759
+ #
760
+ # @example Response structure
761
+ #
762
+ # resp.source_network_id #=> String
763
+ #
764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CreateSourceNetwork AWS API Documentation
765
+ #
766
+ # @overload create_source_network(params = {})
767
+ # @param [Hash] params ({})
768
+ def create_source_network(params = {}, options = {})
769
+ req = build_request(:create_source_network, params)
770
+ req.send_request(options)
771
+ end
772
+
676
773
  # Deletes a single Job by ID.
677
774
  #
678
775
  # @option params [required, String] :job_id
@@ -763,6 +860,28 @@ module Aws::Drs
763
860
  req.send_request(options)
764
861
  end
765
862
 
863
+ # Delete Source Network resource.
864
+ #
865
+ # @option params [required, String] :source_network_id
866
+ # ID of the Source Network to delete.
867
+ #
868
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
869
+ #
870
+ # @example Request syntax with placeholder values
871
+ #
872
+ # resp = client.delete_source_network({
873
+ # source_network_id: "SourceNetworkID", # required
874
+ # })
875
+ #
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteSourceNetwork AWS API Documentation
877
+ #
878
+ # @overload delete_source_network(params = {})
879
+ # @param [Hash] params ({})
880
+ def delete_source_network(params = {}, options = {})
881
+ req = build_request(:delete_source_network, params)
882
+ req.send_request(options)
883
+ end
884
+
766
885
  # Deletes a single Source Server by ID. The Source Server must be
767
886
  # disconnected first.
768
887
  #
@@ -815,7 +934,7 @@ module Aws::Drs
815
934
  # @example Response structure
816
935
  #
817
936
  # resp.items #=> Array
818
- # resp.items[0].event #=> String, one of "JOB_START", "SERVER_SKIPPED", "CLEANUP_START", "CLEANUP_END", "CLEANUP_FAIL", "SNAPSHOT_START", "SNAPSHOT_END", "SNAPSHOT_FAIL", "USING_PREVIOUS_SNAPSHOT", "USING_PREVIOUS_SNAPSHOT_FAILED", "CONVERSION_START", "CONVERSION_END", "CONVERSION_FAIL", "LAUNCH_START", "LAUNCH_FAILED", "JOB_CANCEL", "JOB_END"
937
+ # resp.items[0].event #=> String, one of "JOB_START", "SERVER_SKIPPED", "CLEANUP_START", "CLEANUP_END", "CLEANUP_FAIL", "SNAPSHOT_START", "SNAPSHOT_END", "SNAPSHOT_FAIL", "USING_PREVIOUS_SNAPSHOT", "USING_PREVIOUS_SNAPSHOT_FAILED", "CONVERSION_START", "CONVERSION_END", "CONVERSION_FAIL", "LAUNCH_START", "LAUNCH_FAILED", "JOB_CANCEL", "JOB_END", "DEPLOY_NETWORK_CONFIGURATION_START", "DEPLOY_NETWORK_CONFIGURATION_END", "DEPLOY_NETWORK_CONFIGURATION_FAILED", "UPDATE_NETWORK_CONFIGURATION_START", "UPDATE_NETWORK_CONFIGURATION_END", "UPDATE_NETWORK_CONFIGURATION_FAILED", "UPDATE_LAUNCH_TEMPLATE_START", "UPDATE_LAUNCH_TEMPLATE_END", "UPDATE_LAUNCH_TEMPLATE_FAILED", "NETWORK_RECOVERY_FAIL"
819
938
  # resp.items[0].event_data.conversion_properties.data_timestamp #=> String
820
939
  # resp.items[0].event_data.conversion_properties.force_uefi #=> Boolean
821
940
  # resp.items[0].event_data.conversion_properties.root_volume_name #=> String
@@ -825,6 +944,10 @@ module Aws::Drs
825
944
  # resp.items[0].event_data.conversion_properties.volume_to_volume_size #=> Hash
826
945
  # resp.items[0].event_data.conversion_properties.volume_to_volume_size["LargeBoundedString"] #=> Integer
827
946
  # resp.items[0].event_data.conversion_server_id #=> String
947
+ # resp.items[0].event_data.event_resource_data.source_network_data.source_network_id #=> String
948
+ # resp.items[0].event_data.event_resource_data.source_network_data.source_vpc #=> String
949
+ # resp.items[0].event_data.event_resource_data.source_network_data.stack_name #=> String
950
+ # resp.items[0].event_data.event_resource_data.source_network_data.target_vpc #=> String
828
951
  # resp.items[0].event_data.raw_error #=> String
829
952
  # resp.items[0].event_data.source_server_id #=> String
830
953
  # resp.items[0].event_data.target_instance_id #=> String
@@ -882,8 +1005,11 @@ module Aws::Drs
882
1005
  # resp.items[0].arn #=> String
883
1006
  # resp.items[0].creation_date_time #=> String
884
1007
  # resp.items[0].end_date_time #=> String
885
- # resp.items[0].initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT"
1008
+ # resp.items[0].initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
886
1009
  # resp.items[0].job_id #=> String
1010
+ # resp.items[0].participating_resources #=> Array
1011
+ # resp.items[0].participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1012
+ # resp.items[0].participating_resources[0].participating_resource_id.source_network_id #=> String
887
1013
  # resp.items[0].participating_servers #=> Array
888
1014
  # resp.items[0].participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
889
1015
  # resp.items[0].participating_servers[0].recovery_instance_id #=> String
@@ -938,6 +1064,7 @@ module Aws::Drs
938
1064
  # resp.items[0].arn #=> String
939
1065
  # resp.items[0].copy_private_ip #=> Boolean
940
1066
  # resp.items[0].copy_tags #=> Boolean
1067
+ # resp.items[0].export_bucket_arn #=> String
941
1068
  # resp.items[0].launch_configuration_template_id #=> String
942
1069
  # resp.items[0].launch_disposition #=> String, one of "STOPPED", "STARTED"
943
1070
  # resp.items[0].licensing.os_byol #=> Boolean
@@ -1150,7 +1277,7 @@ module Aws::Drs
1150
1277
  # resp.items[0].create_public_ip #=> Boolean
1151
1278
  # resp.items[0].data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1152
1279
  # resp.items[0].default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
1153
- # resp.items[0].ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
1280
+ # resp.items[0].ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
1154
1281
  # resp.items[0].ebs_encryption_key_arn #=> String
1155
1282
  # resp.items[0].pit_policy #=> Array
1156
1283
  # resp.items[0].pit_policy[0].enabled #=> Boolean
@@ -1179,6 +1306,64 @@ module Aws::Drs
1179
1306
  req.send_request(options)
1180
1307
  end
1181
1308
 
1309
+ # Lists all Source Networks or multiple Source Networks filtered by ID.
1310
+ #
1311
+ # @option params [Types::DescribeSourceNetworksRequestFilters] :filters
1312
+ # A set of filters by which to return Source Networks.
1313
+ #
1314
+ # @option params [Integer] :max_results
1315
+ # Maximum number of Source Networks to retrieve.
1316
+ #
1317
+ # @option params [String] :next_token
1318
+ # The token of the next Source Networks to retrieve.
1319
+ #
1320
+ # @return [Types::DescribeSourceNetworksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1321
+ #
1322
+ # * {Types::DescribeSourceNetworksResponse#items #items} => Array&lt;Types::SourceNetwork&gt;
1323
+ # * {Types::DescribeSourceNetworksResponse#next_token #next_token} => String
1324
+ #
1325
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1326
+ #
1327
+ # @example Request syntax with placeholder values
1328
+ #
1329
+ # resp = client.describe_source_networks({
1330
+ # filters: {
1331
+ # origin_account_id: "AccountID",
1332
+ # origin_region: "AwsRegion",
1333
+ # source_network_i_ds: ["SourceNetworkID"],
1334
+ # },
1335
+ # max_results: 1,
1336
+ # next_token: "PaginationToken",
1337
+ # })
1338
+ #
1339
+ # @example Response structure
1340
+ #
1341
+ # resp.items #=> Array
1342
+ # resp.items[0].arn #=> String
1343
+ # resp.items[0].cfn_stack_name #=> String
1344
+ # resp.items[0].last_recovery.api_call_date_time #=> Time
1345
+ # resp.items[0].last_recovery.job_id #=> String
1346
+ # resp.items[0].last_recovery.last_recovery_result #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCESS", "FAIL", "PARTIAL_SUCCESS", "ASSOCIATE_SUCCESS", "ASSOCIATE_FAIL"
1347
+ # resp.items[0].launched_vpc_id #=> String
1348
+ # resp.items[0].replication_status #=> String, one of "STOPPED", "IN_PROGRESS", "PROTECTED", "ERROR"
1349
+ # resp.items[0].replication_status_details #=> String
1350
+ # resp.items[0].source_account_id #=> String
1351
+ # resp.items[0].source_network_id #=> String
1352
+ # resp.items[0].source_region #=> String
1353
+ # resp.items[0].source_vpc_id #=> String
1354
+ # resp.items[0].tags #=> Hash
1355
+ # resp.items[0].tags["TagKey"] #=> String
1356
+ # resp.next_token #=> String
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceNetworks AWS API Documentation
1359
+ #
1360
+ # @overload describe_source_networks(params = {})
1361
+ # @param [Hash] params ({})
1362
+ def describe_source_networks(params = {}, options = {})
1363
+ req = build_request(:describe_source_networks, params)
1364
+ req.send_request(options)
1365
+ end
1366
+
1182
1367
  # Lists all Source Servers or multiple Source Servers filtered by ID.
1183
1368
  #
1184
1369
  # @option params [Types::DescribeSourceServersRequestFilters] :filters
@@ -1245,6 +1430,7 @@ module Aws::Drs
1245
1430
  # resp.items[0].source_cloud_properties.origin_account_id #=> String
1246
1431
  # resp.items[0].source_cloud_properties.origin_availability_zone #=> String
1247
1432
  # resp.items[0].source_cloud_properties.origin_region #=> String
1433
+ # resp.items[0].source_network_id #=> String
1248
1434
  # resp.items[0].source_properties.cpus #=> Array
1249
1435
  # resp.items[0].source_properties.cpus[0].cores #=> Integer
1250
1436
  # resp.items[0].source_properties.cpus[0].model_name #=> String
@@ -1345,6 +1531,7 @@ module Aws::Drs
1345
1531
  # * {Types::SourceServer#replication_direction #replication_direction} => String
1346
1532
  # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1347
1533
  # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1534
+ # * {Types::SourceServer#source_network_id #source_network_id} => String
1348
1535
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1349
1536
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1350
1537
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1391,6 +1578,7 @@ module Aws::Drs
1391
1578
  # resp.source_cloud_properties.origin_account_id #=> String
1392
1579
  # resp.source_cloud_properties.origin_availability_zone #=> String
1393
1580
  # resp.source_cloud_properties.origin_region #=> String
1581
+ # resp.source_network_id #=> String
1394
1582
  # resp.source_properties.cpus #=> Array
1395
1583
  # resp.source_properties.cpus[0].cores #=> Integer
1396
1584
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1428,6 +1616,35 @@ module Aws::Drs
1428
1616
  req.send_request(options)
1429
1617
  end
1430
1618
 
1619
+ # Export the Source Network CloudFormation template to an S3 bucket.
1620
+ #
1621
+ # @option params [required, String] :source_network_id
1622
+ # The Source Network ID to export its CloudFormation template to an S3
1623
+ # bucket.
1624
+ #
1625
+ # @return [Types::ExportSourceNetworkCfnTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1626
+ #
1627
+ # * {Types::ExportSourceNetworkCfnTemplateResponse#s3_destination_url #s3_destination_url} => String
1628
+ #
1629
+ # @example Request syntax with placeholder values
1630
+ #
1631
+ # resp = client.export_source_network_cfn_template({
1632
+ # source_network_id: "SourceNetworkID", # required
1633
+ # })
1634
+ #
1635
+ # @example Response structure
1636
+ #
1637
+ # resp.s3_destination_url #=> String
1638
+ #
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ExportSourceNetworkCfnTemplate AWS API Documentation
1640
+ #
1641
+ # @overload export_source_network_cfn_template(params = {})
1642
+ # @param [Hash] params ({})
1643
+ def export_source_network_cfn_template(params = {}, options = {})
1644
+ req = build_request(:export_source_network_cfn_template, params)
1645
+ req.send_request(options)
1646
+ end
1647
+
1431
1648
  # Lists all Failback ReplicationConfigurations, filtered by Recovery
1432
1649
  # Instance ID.
1433
1650
  #
@@ -1546,7 +1763,7 @@ module Aws::Drs
1546
1763
  # resp.create_public_ip #=> Boolean
1547
1764
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1548
1765
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
1549
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
1766
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
1550
1767
  # resp.ebs_encryption_key_arn #=> String
1551
1768
  # resp.name #=> String
1552
1769
  # resp.pit_policy #=> Array
@@ -1727,6 +1944,7 @@ module Aws::Drs
1727
1944
  # * {Types::SourceServer#replication_direction #replication_direction} => String
1728
1945
  # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1729
1946
  # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1947
+ # * {Types::SourceServer#source_network_id #source_network_id} => String
1730
1948
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1731
1949
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1732
1950
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1773,6 +1991,7 @@ module Aws::Drs
1773
1991
  # resp.source_cloud_properties.origin_account_id #=> String
1774
1992
  # resp.source_cloud_properties.origin_availability_zone #=> String
1775
1993
  # resp.source_cloud_properties.origin_region #=> String
1994
+ # resp.source_network_id #=> String
1776
1995
  # resp.source_properties.cpus #=> Array
1777
1996
  # resp.source_properties.cpus[0].cores #=> Integer
1778
1997
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1873,8 +2092,11 @@ module Aws::Drs
1873
2092
  # resp.job.arn #=> String
1874
2093
  # resp.job.creation_date_time #=> String
1875
2094
  # resp.job.end_date_time #=> String
1876
- # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT"
2095
+ # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
1877
2096
  # resp.job.job_id #=> String
2097
+ # resp.job.participating_resources #=> Array
2098
+ # resp.job.participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2099
+ # resp.job.participating_resources[0].participating_resource_id.source_network_id #=> String
1878
2100
  # resp.job.participating_servers #=> Array
1879
2101
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1880
2102
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -1930,8 +2152,11 @@ module Aws::Drs
1930
2152
  # resp.job.arn #=> String
1931
2153
  # resp.job.creation_date_time #=> String
1932
2154
  # resp.job.end_date_time #=> String
1933
- # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT"
2155
+ # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
1934
2156
  # resp.job.job_id #=> String
2157
+ # resp.job.participating_resources #=> Array
2158
+ # resp.job.participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2159
+ # resp.job.participating_resources[0].participating_resource_id.source_network_id #=> String
1935
2160
  # resp.job.participating_servers #=> Array
1936
2161
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1937
2162
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -2001,6 +2226,7 @@ module Aws::Drs
2001
2226
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
2002
2227
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
2003
2228
  # resp.source_server.source_cloud_properties.origin_region #=> String
2229
+ # resp.source_server.source_network_id #=> String
2004
2230
  # resp.source_server.source_properties.cpus #=> Array
2005
2231
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
2006
2232
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -2038,6 +2264,109 @@ module Aws::Drs
2038
2264
  req.send_request(options)
2039
2265
  end
2040
2266
 
2267
+ # Deploy VPC for the specified Source Network and modify launch
2268
+ # templates to use this network. The VPC will be deployed using a
2269
+ # dedicated CloudFormation stack.
2270
+ #
2271
+ # @option params [Boolean] :deploy_as_new
2272
+ # Don't update existing CloudFormation Stack, recover the network using
2273
+ # a new stack.
2274
+ #
2275
+ # @option params [required, Array<Types::StartSourceNetworkRecoveryRequestNetworkEntry>] :source_networks
2276
+ # The Source Networks that we want to start a Recovery Job for.
2277
+ #
2278
+ # @option params [Hash<String,String>] :tags
2279
+ # The tags to be associated with the Source Network recovery Job.
2280
+ #
2281
+ # @return [Types::StartSourceNetworkRecoveryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2282
+ #
2283
+ # * {Types::StartSourceNetworkRecoveryResponse#job #job} => Types::Job
2284
+ #
2285
+ # @example Request syntax with placeholder values
2286
+ #
2287
+ # resp = client.start_source_network_recovery({
2288
+ # deploy_as_new: false,
2289
+ # source_networks: [ # required
2290
+ # {
2291
+ # cfn_stack_name: "CfnStackName",
2292
+ # source_network_id: "SourceNetworkID", # required
2293
+ # },
2294
+ # ],
2295
+ # tags: {
2296
+ # "TagKey" => "TagValue",
2297
+ # },
2298
+ # })
2299
+ #
2300
+ # @example Response structure
2301
+ #
2302
+ # resp.job.arn #=> String
2303
+ # resp.job.creation_date_time #=> String
2304
+ # resp.job.end_date_time #=> String
2305
+ # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
2306
+ # resp.job.job_id #=> String
2307
+ # resp.job.participating_resources #=> Array
2308
+ # resp.job.participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2309
+ # resp.job.participating_resources[0].participating_resource_id.source_network_id #=> String
2310
+ # resp.job.participating_servers #=> Array
2311
+ # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2312
+ # resp.job.participating_servers[0].recovery_instance_id #=> String
2313
+ # resp.job.participating_servers[0].source_server_id #=> String
2314
+ # resp.job.status #=> String, one of "PENDING", "STARTED", "COMPLETED"
2315
+ # resp.job.tags #=> Hash
2316
+ # resp.job.tags["TagKey"] #=> String
2317
+ # resp.job.type #=> String, one of "LAUNCH", "TERMINATE", "CREATE_CONVERTED_SNAPSHOT"
2318
+ #
2319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartSourceNetworkRecovery AWS API Documentation
2320
+ #
2321
+ # @overload start_source_network_recovery(params = {})
2322
+ # @param [Hash] params ({})
2323
+ def start_source_network_recovery(params = {}, options = {})
2324
+ req = build_request(:start_source_network_recovery, params)
2325
+ req.send_request(options)
2326
+ end
2327
+
2328
+ # Starts replication for a Source Network. This action would make the
2329
+ # Source Network protected.
2330
+ #
2331
+ # @option params [required, String] :source_network_id
2332
+ # ID of the Source Network to replicate.
2333
+ #
2334
+ # @return [Types::StartSourceNetworkReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2335
+ #
2336
+ # * {Types::StartSourceNetworkReplicationResponse#source_network #source_network} => Types::SourceNetwork
2337
+ #
2338
+ # @example Request syntax with placeholder values
2339
+ #
2340
+ # resp = client.start_source_network_replication({
2341
+ # source_network_id: "SourceNetworkID", # required
2342
+ # })
2343
+ #
2344
+ # @example Response structure
2345
+ #
2346
+ # resp.source_network.arn #=> String
2347
+ # resp.source_network.cfn_stack_name #=> String
2348
+ # resp.source_network.last_recovery.api_call_date_time #=> Time
2349
+ # resp.source_network.last_recovery.job_id #=> String
2350
+ # resp.source_network.last_recovery.last_recovery_result #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCESS", "FAIL", "PARTIAL_SUCCESS", "ASSOCIATE_SUCCESS", "ASSOCIATE_FAIL"
2351
+ # resp.source_network.launched_vpc_id #=> String
2352
+ # resp.source_network.replication_status #=> String, one of "STOPPED", "IN_PROGRESS", "PROTECTED", "ERROR"
2353
+ # resp.source_network.replication_status_details #=> String
2354
+ # resp.source_network.source_account_id #=> String
2355
+ # resp.source_network.source_network_id #=> String
2356
+ # resp.source_network.source_region #=> String
2357
+ # resp.source_network.source_vpc_id #=> String
2358
+ # resp.source_network.tags #=> Hash
2359
+ # resp.source_network.tags["TagKey"] #=> String
2360
+ #
2361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartSourceNetworkReplication AWS API Documentation
2362
+ #
2363
+ # @overload start_source_network_replication(params = {})
2364
+ # @param [Hash] params ({})
2365
+ def start_source_network_replication(params = {}, options = {})
2366
+ req = build_request(:start_source_network_replication, params)
2367
+ req.send_request(options)
2368
+ end
2369
+
2041
2370
  # Stops the failback process for a specified Recovery Instance. This
2042
2371
  # changes the Failback State of the Recovery Instance back to
2043
2372
  # FAILBACK\_NOT\_STARTED.
@@ -2114,6 +2443,7 @@ module Aws::Drs
2114
2443
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
2115
2444
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
2116
2445
  # resp.source_server.source_cloud_properties.origin_region #=> String
2446
+ # resp.source_server.source_network_id #=> String
2117
2447
  # resp.source_server.source_properties.cpus #=> Array
2118
2448
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
2119
2449
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -2151,6 +2481,48 @@ module Aws::Drs
2151
2481
  req.send_request(options)
2152
2482
  end
2153
2483
 
2484
+ # Stops replication for a Source Network. This action would make the
2485
+ # Source Network unprotected.
2486
+ #
2487
+ # @option params [required, String] :source_network_id
2488
+ # ID of the Source Network to stop replication.
2489
+ #
2490
+ # @return [Types::StopSourceNetworkReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2491
+ #
2492
+ # * {Types::StopSourceNetworkReplicationResponse#source_network #source_network} => Types::SourceNetwork
2493
+ #
2494
+ # @example Request syntax with placeholder values
2495
+ #
2496
+ # resp = client.stop_source_network_replication({
2497
+ # source_network_id: "SourceNetworkID", # required
2498
+ # })
2499
+ #
2500
+ # @example Response structure
2501
+ #
2502
+ # resp.source_network.arn #=> String
2503
+ # resp.source_network.cfn_stack_name #=> String
2504
+ # resp.source_network.last_recovery.api_call_date_time #=> Time
2505
+ # resp.source_network.last_recovery.job_id #=> String
2506
+ # resp.source_network.last_recovery.last_recovery_result #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCESS", "FAIL", "PARTIAL_SUCCESS", "ASSOCIATE_SUCCESS", "ASSOCIATE_FAIL"
2507
+ # resp.source_network.launched_vpc_id #=> String
2508
+ # resp.source_network.replication_status #=> String, one of "STOPPED", "IN_PROGRESS", "PROTECTED", "ERROR"
2509
+ # resp.source_network.replication_status_details #=> String
2510
+ # resp.source_network.source_account_id #=> String
2511
+ # resp.source_network.source_network_id #=> String
2512
+ # resp.source_network.source_region #=> String
2513
+ # resp.source_network.source_vpc_id #=> String
2514
+ # resp.source_network.tags #=> Hash
2515
+ # resp.source_network.tags["TagKey"] #=> String
2516
+ #
2517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopSourceNetworkReplication AWS API Documentation
2518
+ #
2519
+ # @overload stop_source_network_replication(params = {})
2520
+ # @param [Hash] params ({})
2521
+ def stop_source_network_replication(params = {}, options = {})
2522
+ req = build_request(:stop_source_network_replication, params)
2523
+ req.send_request(options)
2524
+ end
2525
+
2154
2526
  # Adds or overwrites only the specified tags for the specified Elastic
2155
2527
  # Disaster Recovery resource or resources. When you specify an existing
2156
2528
  # tag key, the value is overwritten with the new value. Each resource
@@ -2205,8 +2577,11 @@ module Aws::Drs
2205
2577
  # resp.job.arn #=> String
2206
2578
  # resp.job.creation_date_time #=> String
2207
2579
  # resp.job.end_date_time #=> String
2208
- # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT"
2580
+ # resp.job.initiated_by #=> String, one of "START_RECOVERY", "START_DRILL", "FAILBACK", "DIAGNOSTIC", "TERMINATE_RECOVERY_INSTANCES", "TARGET_ACCOUNT", "CREATE_NETWORK_RECOVERY", "UPDATE_NETWORK_RECOVERY", "ASSOCIATE_NETWORK_RECOVERY"
2209
2581
  # resp.job.job_id #=> String
2582
+ # resp.job.participating_resources #=> Array
2583
+ # resp.job.participating_resources[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2584
+ # resp.job.participating_resources[0].participating_resource_id.source_network_id #=> String
2210
2585
  # resp.job.participating_servers #=> Array
2211
2586
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2212
2587
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -2371,6 +2746,9 @@ module Aws::Drs
2371
2746
  # @option params [Boolean] :copy_tags
2372
2747
  # Copy tags.
2373
2748
  #
2749
+ # @option params [String] :export_bucket_arn
2750
+ # S3 bucket ARN to export Source Network templates.
2751
+ #
2374
2752
  # @option params [required, String] :launch_configuration_template_id
2375
2753
  # Launch Configuration Template ID.
2376
2754
  #
@@ -2392,6 +2770,7 @@ module Aws::Drs
2392
2770
  # resp = client.update_launch_configuration_template({
2393
2771
  # copy_private_ip: false,
2394
2772
  # copy_tags: false,
2773
+ # export_bucket_arn: "ARN",
2395
2774
  # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
2396
2775
  # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
2397
2776
  # licensing: {
@@ -2405,6 +2784,7 @@ module Aws::Drs
2405
2784
  # resp.launch_configuration_template.arn #=> String
2406
2785
  # resp.launch_configuration_template.copy_private_ip #=> Boolean
2407
2786
  # resp.launch_configuration_template.copy_tags #=> Boolean
2787
+ # resp.launch_configuration_template.export_bucket_arn #=> String
2408
2788
  # resp.launch_configuration_template.launch_configuration_template_id #=> String
2409
2789
  # resp.launch_configuration_template.launch_disposition #=> String, one of "STOPPED", "STARTED"
2410
2790
  # resp.launch_configuration_template.licensing.os_byol #=> Boolean
@@ -2510,7 +2890,7 @@ module Aws::Drs
2510
2890
  # create_public_ip: false,
2511
2891
  # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2512
2892
  # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1, AUTO
2513
- # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
2893
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM, NONE
2514
2894
  # ebs_encryption_key_arn: "ARN",
2515
2895
  # name: "SmallBoundedString",
2516
2896
  # pit_policy: [
@@ -2550,7 +2930,7 @@ module Aws::Drs
2550
2930
  # resp.create_public_ip #=> Boolean
2551
2931
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
2552
2932
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
2553
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
2933
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
2554
2934
  # resp.ebs_encryption_key_arn #=> String
2555
2935
  # resp.name #=> String
2556
2936
  # resp.pit_policy #=> Array
@@ -2671,7 +3051,7 @@ module Aws::Drs
2671
3051
  # create_public_ip: false,
2672
3052
  # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2673
3053
  # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1, AUTO
2674
- # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
3054
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM, NONE
2675
3055
  # ebs_encryption_key_arn: "ARN",
2676
3056
  # pit_policy: [
2677
3057
  # {
@@ -2701,7 +3081,7 @@ module Aws::Drs
2701
3081
  # resp.create_public_ip #=> Boolean
2702
3082
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
2703
3083
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
2704
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
3084
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
2705
3085
  # resp.ebs_encryption_key_arn #=> String
2706
3086
  # resp.pit_policy #=> Array
2707
3087
  # resp.pit_policy[0].enabled #=> Boolean
@@ -2742,7 +3122,7 @@ module Aws::Drs
2742
3122
  params: params,
2743
3123
  config: config)
2744
3124
  context[:gem_name] = 'aws-sdk-drs'
2745
- context[:gem_version] = '1.14.0'
3125
+ context[:gem_version] = '1.15.0'
2746
3126
  Seahorse::Client::Request.new(handlers, context)
2747
3127
  end
2748
3128