aws-sdk-drs 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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