aws-sdk-drs 1.13.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -275,6 +275,11 @@ module Aws::Drs
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -368,6 +373,55 @@ module Aws::Drs
368
373
 
369
374
  # @!group API Operations
370
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
+
371
425
  # Create an extended source server in the target Account based on the
372
426
  # source server in staging account.
373
427
  #
@@ -426,6 +480,7 @@ module Aws::Drs
426
480
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
427
481
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
428
482
  # resp.source_server.source_cloud_properties.origin_region #=> String
483
+ # resp.source_server.source_network_id #=> String
429
484
  # resp.source_server.source_properties.cpus #=> Array
430
485
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
431
486
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -471,6 +526,9 @@ module Aws::Drs
471
526
  # @option params [Boolean] :copy_tags
472
527
  # Copy tags.
473
528
  #
529
+ # @option params [String] :export_bucket_arn
530
+ # S3 bucket ARN to export Source Network templates.
531
+ #
474
532
  # @option params [String] :launch_disposition
475
533
  # Launch disposition.
476
534
  #
@@ -493,6 +551,7 @@ module Aws::Drs
493
551
  # resp = client.create_launch_configuration_template({
494
552
  # copy_private_ip: false,
495
553
  # copy_tags: false,
554
+ # export_bucket_arn: "ARN",
496
555
  # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
497
556
  # licensing: {
498
557
  # os_byol: false,
@@ -508,6 +567,7 @@ module Aws::Drs
508
567
  # resp.launch_configuration_template.arn #=> String
509
568
  # resp.launch_configuration_template.copy_private_ip #=> Boolean
510
569
  # resp.launch_configuration_template.copy_tags #=> Boolean
570
+ # resp.launch_configuration_template.export_bucket_arn #=> String
511
571
  # resp.launch_configuration_template.launch_configuration_template_id #=> String
512
572
  # resp.launch_configuration_template.launch_disposition #=> String, one of "STOPPED", "STARTED"
513
573
  # resp.launch_configuration_template.licensing.os_byol #=> Boolean
@@ -608,7 +668,7 @@ module Aws::Drs
608
668
  # create_public_ip: false, # required
609
669
  # data_plane_routing: "PRIVATE_IP", # required, accepts PRIVATE_IP, PUBLIC_IP
610
670
  # default_large_staging_disk_type: "GP2", # required, accepts GP2, GP3, ST1, AUTO
611
- # ebs_encryption: "DEFAULT", # required, accepts DEFAULT, CUSTOM
671
+ # ebs_encryption: "DEFAULT", # required, accepts DEFAULT, CUSTOM, NONE
612
672
  # ebs_encryption_key_arn: "ARN",
613
673
  # pit_policy: [ # required
614
674
  # {
@@ -640,7 +700,7 @@ module Aws::Drs
640
700
  # resp.create_public_ip #=> Boolean
641
701
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
642
702
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
643
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
703
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
644
704
  # resp.ebs_encryption_key_arn #=> String
645
705
  # resp.pit_policy #=> Array
646
706
  # resp.pit_policy[0].enabled #=> Boolean
@@ -668,6 +728,48 @@ module Aws::Drs
668
728
  req.send_request(options)
669
729
  end
670
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
+
671
773
  # Deletes a single Job by ID.
672
774
  #
673
775
  # @option params [required, String] :job_id
@@ -758,6 +860,28 @@ module Aws::Drs
758
860
  req.send_request(options)
759
861
  end
760
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
+
761
885
  # Deletes a single Source Server by ID. The Source Server must be
762
886
  # disconnected first.
763
887
  #
@@ -810,7 +934,7 @@ module Aws::Drs
810
934
  # @example Response structure
811
935
  #
812
936
  # resp.items #=> Array
813
- # 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"
814
938
  # resp.items[0].event_data.conversion_properties.data_timestamp #=> String
815
939
  # resp.items[0].event_data.conversion_properties.force_uefi #=> Boolean
816
940
  # resp.items[0].event_data.conversion_properties.root_volume_name #=> String
@@ -820,6 +944,10 @@ module Aws::Drs
820
944
  # resp.items[0].event_data.conversion_properties.volume_to_volume_size #=> Hash
821
945
  # resp.items[0].event_data.conversion_properties.volume_to_volume_size["LargeBoundedString"] #=> Integer
822
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
823
951
  # resp.items[0].event_data.raw_error #=> String
824
952
  # resp.items[0].event_data.source_server_id #=> String
825
953
  # resp.items[0].event_data.target_instance_id #=> String
@@ -877,8 +1005,11 @@ module Aws::Drs
877
1005
  # resp.items[0].arn #=> String
878
1006
  # resp.items[0].creation_date_time #=> String
879
1007
  # resp.items[0].end_date_time #=> String
880
- # 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"
881
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
882
1013
  # resp.items[0].participating_servers #=> Array
883
1014
  # resp.items[0].participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
884
1015
  # resp.items[0].participating_servers[0].recovery_instance_id #=> String
@@ -933,6 +1064,7 @@ module Aws::Drs
933
1064
  # resp.items[0].arn #=> String
934
1065
  # resp.items[0].copy_private_ip #=> Boolean
935
1066
  # resp.items[0].copy_tags #=> Boolean
1067
+ # resp.items[0].export_bucket_arn #=> String
936
1068
  # resp.items[0].launch_configuration_template_id #=> String
937
1069
  # resp.items[0].launch_disposition #=> String, one of "STOPPED", "STARTED"
938
1070
  # resp.items[0].licensing.os_byol #=> Boolean
@@ -1145,7 +1277,7 @@ module Aws::Drs
1145
1277
  # resp.items[0].create_public_ip #=> Boolean
1146
1278
  # resp.items[0].data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1147
1279
  # resp.items[0].default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
1148
- # resp.items[0].ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
1280
+ # resp.items[0].ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
1149
1281
  # resp.items[0].ebs_encryption_key_arn #=> String
1150
1282
  # resp.items[0].pit_policy #=> Array
1151
1283
  # resp.items[0].pit_policy[0].enabled #=> Boolean
@@ -1174,6 +1306,64 @@ module Aws::Drs
1174
1306
  req.send_request(options)
1175
1307
  end
1176
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
+
1177
1367
  # Lists all Source Servers or multiple Source Servers filtered by ID.
1178
1368
  #
1179
1369
  # @option params [Types::DescribeSourceServersRequestFilters] :filters
@@ -1240,6 +1430,7 @@ module Aws::Drs
1240
1430
  # resp.items[0].source_cloud_properties.origin_account_id #=> String
1241
1431
  # resp.items[0].source_cloud_properties.origin_availability_zone #=> String
1242
1432
  # resp.items[0].source_cloud_properties.origin_region #=> String
1433
+ # resp.items[0].source_network_id #=> String
1243
1434
  # resp.items[0].source_properties.cpus #=> Array
1244
1435
  # resp.items[0].source_properties.cpus[0].cores #=> Integer
1245
1436
  # resp.items[0].source_properties.cpus[0].model_name #=> String
@@ -1340,6 +1531,7 @@ module Aws::Drs
1340
1531
  # * {Types::SourceServer#replication_direction #replication_direction} => String
1341
1532
  # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1342
1533
  # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1534
+ # * {Types::SourceServer#source_network_id #source_network_id} => String
1343
1535
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1344
1536
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1345
1537
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1386,6 +1578,7 @@ module Aws::Drs
1386
1578
  # resp.source_cloud_properties.origin_account_id #=> String
1387
1579
  # resp.source_cloud_properties.origin_availability_zone #=> String
1388
1580
  # resp.source_cloud_properties.origin_region #=> String
1581
+ # resp.source_network_id #=> String
1389
1582
  # resp.source_properties.cpus #=> Array
1390
1583
  # resp.source_properties.cpus[0].cores #=> Integer
1391
1584
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1423,6 +1616,35 @@ module Aws::Drs
1423
1616
  req.send_request(options)
1424
1617
  end
1425
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
+
1426
1648
  # Lists all Failback ReplicationConfigurations, filtered by Recovery
1427
1649
  # Instance ID.
1428
1650
  #
@@ -1541,7 +1763,7 @@ module Aws::Drs
1541
1763
  # resp.create_public_ip #=> Boolean
1542
1764
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1543
1765
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
1544
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
1766
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
1545
1767
  # resp.ebs_encryption_key_arn #=> String
1546
1768
  # resp.name #=> String
1547
1769
  # resp.pit_policy #=> Array
@@ -1722,6 +1944,7 @@ module Aws::Drs
1722
1944
  # * {Types::SourceServer#replication_direction #replication_direction} => String
1723
1945
  # * {Types::SourceServer#reversed_direction_source_server_arn #reversed_direction_source_server_arn} => String
1724
1946
  # * {Types::SourceServer#source_cloud_properties #source_cloud_properties} => Types::SourceCloudProperties
1947
+ # * {Types::SourceServer#source_network_id #source_network_id} => String
1725
1948
  # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1726
1949
  # * {Types::SourceServer#source_server_id #source_server_id} => String
1727
1950
  # * {Types::SourceServer#staging_area #staging_area} => Types::StagingArea
@@ -1768,6 +1991,7 @@ module Aws::Drs
1768
1991
  # resp.source_cloud_properties.origin_account_id #=> String
1769
1992
  # resp.source_cloud_properties.origin_availability_zone #=> String
1770
1993
  # resp.source_cloud_properties.origin_region #=> String
1994
+ # resp.source_network_id #=> String
1771
1995
  # resp.source_properties.cpus #=> Array
1772
1996
  # resp.source_properties.cpus[0].cores #=> Integer
1773
1997
  # resp.source_properties.cpus[0].model_name #=> String
@@ -1868,8 +2092,11 @@ module Aws::Drs
1868
2092
  # resp.job.arn #=> String
1869
2093
  # resp.job.creation_date_time #=> String
1870
2094
  # resp.job.end_date_time #=> String
1871
- # 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"
1872
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
1873
2100
  # resp.job.participating_servers #=> Array
1874
2101
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1875
2102
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -1925,8 +2152,11 @@ module Aws::Drs
1925
2152
  # resp.job.arn #=> String
1926
2153
  # resp.job.creation_date_time #=> String
1927
2154
  # resp.job.end_date_time #=> String
1928
- # 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"
1929
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
1930
2160
  # resp.job.participating_servers #=> Array
1931
2161
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1932
2162
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -1996,6 +2226,7 @@ module Aws::Drs
1996
2226
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
1997
2227
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
1998
2228
  # resp.source_server.source_cloud_properties.origin_region #=> String
2229
+ # resp.source_server.source_network_id #=> String
1999
2230
  # resp.source_server.source_properties.cpus #=> Array
2000
2231
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
2001
2232
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -2033,6 +2264,109 @@ module Aws::Drs
2033
2264
  req.send_request(options)
2034
2265
  end
2035
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
+
2036
2370
  # Stops the failback process for a specified Recovery Instance. This
2037
2371
  # changes the Failback State of the Recovery Instance back to
2038
2372
  # FAILBACK\_NOT\_STARTED.
@@ -2109,6 +2443,7 @@ module Aws::Drs
2109
2443
  # resp.source_server.source_cloud_properties.origin_account_id #=> String
2110
2444
  # resp.source_server.source_cloud_properties.origin_availability_zone #=> String
2111
2445
  # resp.source_server.source_cloud_properties.origin_region #=> String
2446
+ # resp.source_server.source_network_id #=> String
2112
2447
  # resp.source_server.source_properties.cpus #=> Array
2113
2448
  # resp.source_server.source_properties.cpus[0].cores #=> Integer
2114
2449
  # resp.source_server.source_properties.cpus[0].model_name #=> String
@@ -2146,6 +2481,48 @@ module Aws::Drs
2146
2481
  req.send_request(options)
2147
2482
  end
2148
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
+
2149
2526
  # Adds or overwrites only the specified tags for the specified Elastic
2150
2527
  # Disaster Recovery resource or resources. When you specify an existing
2151
2528
  # tag key, the value is overwritten with the new value. Each resource
@@ -2200,8 +2577,11 @@ module Aws::Drs
2200
2577
  # resp.job.arn #=> String
2201
2578
  # resp.job.creation_date_time #=> String
2202
2579
  # resp.job.end_date_time #=> String
2203
- # 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"
2204
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
2205
2585
  # resp.job.participating_servers #=> Array
2206
2586
  # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
2207
2587
  # resp.job.participating_servers[0].recovery_instance_id #=> String
@@ -2366,6 +2746,9 @@ module Aws::Drs
2366
2746
  # @option params [Boolean] :copy_tags
2367
2747
  # Copy tags.
2368
2748
  #
2749
+ # @option params [String] :export_bucket_arn
2750
+ # S3 bucket ARN to export Source Network templates.
2751
+ #
2369
2752
  # @option params [required, String] :launch_configuration_template_id
2370
2753
  # Launch Configuration Template ID.
2371
2754
  #
@@ -2387,6 +2770,7 @@ module Aws::Drs
2387
2770
  # resp = client.update_launch_configuration_template({
2388
2771
  # copy_private_ip: false,
2389
2772
  # copy_tags: false,
2773
+ # export_bucket_arn: "ARN",
2390
2774
  # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
2391
2775
  # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
2392
2776
  # licensing: {
@@ -2400,6 +2784,7 @@ module Aws::Drs
2400
2784
  # resp.launch_configuration_template.arn #=> String
2401
2785
  # resp.launch_configuration_template.copy_private_ip #=> Boolean
2402
2786
  # resp.launch_configuration_template.copy_tags #=> Boolean
2787
+ # resp.launch_configuration_template.export_bucket_arn #=> String
2403
2788
  # resp.launch_configuration_template.launch_configuration_template_id #=> String
2404
2789
  # resp.launch_configuration_template.launch_disposition #=> String, one of "STOPPED", "STARTED"
2405
2790
  # resp.launch_configuration_template.licensing.os_byol #=> Boolean
@@ -2505,7 +2890,7 @@ module Aws::Drs
2505
2890
  # create_public_ip: false,
2506
2891
  # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2507
2892
  # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1, AUTO
2508
- # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
2893
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM, NONE
2509
2894
  # ebs_encryption_key_arn: "ARN",
2510
2895
  # name: "SmallBoundedString",
2511
2896
  # pit_policy: [
@@ -2545,7 +2930,7 @@ module Aws::Drs
2545
2930
  # resp.create_public_ip #=> Boolean
2546
2931
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
2547
2932
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
2548
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
2933
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
2549
2934
  # resp.ebs_encryption_key_arn #=> String
2550
2935
  # resp.name #=> String
2551
2936
  # resp.pit_policy #=> Array
@@ -2666,7 +3051,7 @@ module Aws::Drs
2666
3051
  # create_public_ip: false,
2667
3052
  # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2668
3053
  # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1, AUTO
2669
- # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
3054
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM, NONE
2670
3055
  # ebs_encryption_key_arn: "ARN",
2671
3056
  # pit_policy: [
2672
3057
  # {
@@ -2696,7 +3081,7 @@ module Aws::Drs
2696
3081
  # resp.create_public_ip #=> Boolean
2697
3082
  # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
2698
3083
  # resp.default_large_staging_disk_type #=> String, one of "GP2", "GP3", "ST1", "AUTO"
2699
- # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM"
3084
+ # resp.ebs_encryption #=> String, one of "DEFAULT", "CUSTOM", "NONE"
2700
3085
  # resp.ebs_encryption_key_arn #=> String
2701
3086
  # resp.pit_policy #=> Array
2702
3087
  # resp.pit_policy[0].enabled #=> Boolean
@@ -2737,7 +3122,7 @@ module Aws::Drs
2737
3122
  params: params,
2738
3123
  config: config)
2739
3124
  context[:gem_name] = 'aws-sdk-drs'
2740
- context[:gem_version] = '1.13.0'
3125
+ context[:gem_version] = '1.15.0'
2741
3126
  Seahorse::Client::Request.new(handlers, context)
2742
3127
  end
2743
3128