aws-sdk-mgn 1.14.0 → 1.16.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.
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:mgn)
@@ -79,8 +79,9 @@ module Aws::Mgn
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::Mgn::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::Mgn
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::Mgn
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::Mgn::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Mgn::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -351,6 +368,157 @@ module Aws::Mgn
351
368
 
352
369
  # @!group API Operations
353
370
 
371
+ # Archive application.
372
+ #
373
+ # @option params [required, String] :application_id
374
+ # Application ID.
375
+ #
376
+ # @return [Types::Application] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
377
+ #
378
+ # * {Types::Application#application_aggregated_status #application_aggregated_status} => Types::ApplicationAggregatedStatus
379
+ # * {Types::Application#application_id #application_id} => String
380
+ # * {Types::Application#arn #arn} => String
381
+ # * {Types::Application#creation_date_time #creation_date_time} => String
382
+ # * {Types::Application#description #description} => String
383
+ # * {Types::Application#is_archived #is_archived} => Boolean
384
+ # * {Types::Application#last_modified_date_time #last_modified_date_time} => String
385
+ # * {Types::Application#name #name} => String
386
+ # * {Types::Application#tags #tags} => Hash<String,String>
387
+ # * {Types::Application#wave_id #wave_id} => String
388
+ #
389
+ # @example Request syntax with placeholder values
390
+ #
391
+ # resp = client.archive_application({
392
+ # application_id: "ApplicationID", # required
393
+ # })
394
+ #
395
+ # @example Response structure
396
+ #
397
+ # resp.application_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
398
+ # resp.application_aggregated_status.last_update_date_time #=> String
399
+ # resp.application_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
400
+ # resp.application_aggregated_status.total_source_servers #=> Integer
401
+ # resp.application_id #=> String
402
+ # resp.arn #=> String
403
+ # resp.creation_date_time #=> String
404
+ # resp.description #=> String
405
+ # resp.is_archived #=> Boolean
406
+ # resp.last_modified_date_time #=> String
407
+ # resp.name #=> String
408
+ # resp.tags #=> Hash
409
+ # resp.tags["TagKey"] #=> String
410
+ # resp.wave_id #=> String
411
+ #
412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ArchiveApplication AWS API Documentation
413
+ #
414
+ # @overload archive_application(params = {})
415
+ # @param [Hash] params ({})
416
+ def archive_application(params = {}, options = {})
417
+ req = build_request(:archive_application, params)
418
+ req.send_request(options)
419
+ end
420
+
421
+ # Archive wave.
422
+ #
423
+ # @option params [required, String] :wave_id
424
+ # Wave ID.
425
+ #
426
+ # @return [Types::Wave] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
427
+ #
428
+ # * {Types::Wave#arn #arn} => String
429
+ # * {Types::Wave#creation_date_time #creation_date_time} => String
430
+ # * {Types::Wave#description #description} => String
431
+ # * {Types::Wave#is_archived #is_archived} => Boolean
432
+ # * {Types::Wave#last_modified_date_time #last_modified_date_time} => String
433
+ # * {Types::Wave#name #name} => String
434
+ # * {Types::Wave#tags #tags} => Hash<String,String>
435
+ # * {Types::Wave#wave_aggregated_status #wave_aggregated_status} => Types::WaveAggregatedStatus
436
+ # * {Types::Wave#wave_id #wave_id} => String
437
+ #
438
+ # @example Request syntax with placeholder values
439
+ #
440
+ # resp = client.archive_wave({
441
+ # wave_id: "WaveID", # required
442
+ # })
443
+ #
444
+ # @example Response structure
445
+ #
446
+ # resp.arn #=> String
447
+ # resp.creation_date_time #=> String
448
+ # resp.description #=> String
449
+ # resp.is_archived #=> Boolean
450
+ # resp.last_modified_date_time #=> String
451
+ # resp.name #=> String
452
+ # resp.tags #=> Hash
453
+ # resp.tags["TagKey"] #=> String
454
+ # resp.wave_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
455
+ # resp.wave_aggregated_status.last_update_date_time #=> String
456
+ # resp.wave_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
457
+ # resp.wave_aggregated_status.replication_started_date_time #=> String
458
+ # resp.wave_aggregated_status.total_applications #=> Integer
459
+ # resp.wave_id #=> String
460
+ #
461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ArchiveWave AWS API Documentation
462
+ #
463
+ # @overload archive_wave(params = {})
464
+ # @param [Hash] params ({})
465
+ def archive_wave(params = {}, options = {})
466
+ req = build_request(:archive_wave, params)
467
+ req.send_request(options)
468
+ end
469
+
470
+ # Associate applications to wave.
471
+ #
472
+ # @option params [required, Array<String>] :application_i_ds
473
+ # Application IDs list.
474
+ #
475
+ # @option params [required, String] :wave_id
476
+ # Wave ID.
477
+ #
478
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
479
+ #
480
+ # @example Request syntax with placeholder values
481
+ #
482
+ # resp = client.associate_applications({
483
+ # application_i_ds: ["ApplicationID"], # required
484
+ # wave_id: "WaveID", # required
485
+ # })
486
+ #
487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/AssociateApplications AWS API Documentation
488
+ #
489
+ # @overload associate_applications(params = {})
490
+ # @param [Hash] params ({})
491
+ def associate_applications(params = {}, options = {})
492
+ req = build_request(:associate_applications, params)
493
+ req.send_request(options)
494
+ end
495
+
496
+ # Associate source servers to application.
497
+ #
498
+ # @option params [required, String] :application_id
499
+ # Application ID.
500
+ #
501
+ # @option params [required, Array<String>] :source_server_i_ds
502
+ # Source server IDs list.
503
+ #
504
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
505
+ #
506
+ # @example Request syntax with placeholder values
507
+ #
508
+ # resp = client.associate_source_servers({
509
+ # application_id: "ApplicationID", # required
510
+ # source_server_i_ds: ["SourceServerID"], # required
511
+ # })
512
+ #
513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/AssociateSourceServers AWS API Documentation
514
+ #
515
+ # @overload associate_source_servers(params = {})
516
+ # @param [Hash] params ({})
517
+ def associate_source_servers(params = {}, options = {})
518
+ req = build_request(:associate_source_servers, params)
519
+ req.send_request(options)
520
+ end
521
+
354
522
  # Allows the user to set the SourceServer.LifeCycle.state property for
355
523
  # specific Source Server IDs to one of the following: READY\_FOR\_TEST
356
524
  # or READY\_FOR\_CUTOVER. This command only works if the Source Server
@@ -365,6 +533,7 @@ module Aws::Mgn
365
533
  #
366
534
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
367
535
  #
536
+ # * {Types::SourceServer#application_id #application_id} => String
368
537
  # * {Types::SourceServer#arn #arn} => String
369
538
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
370
539
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -387,6 +556,7 @@ module Aws::Mgn
387
556
  #
388
557
  # @example Response structure
389
558
  #
559
+ # resp.application_id #=> String
390
560
  # resp.arn #=> String
391
561
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
392
562
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -457,29 +627,152 @@ module Aws::Mgn
457
627
  req.send_request(options)
458
628
  end
459
629
 
460
- # Creates a new ReplicationConfigurationTemplate.
630
+ # Create application.
631
+ #
632
+ # @option params [String] :description
633
+ # Application description.
634
+ #
635
+ # @option params [required, String] :name
636
+ # Application name.
637
+ #
638
+ # @option params [Hash<String,String>] :tags
639
+ # Application tags.
640
+ #
641
+ # @return [Types::Application] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
642
+ #
643
+ # * {Types::Application#application_aggregated_status #application_aggregated_status} => Types::ApplicationAggregatedStatus
644
+ # * {Types::Application#application_id #application_id} => String
645
+ # * {Types::Application#arn #arn} => String
646
+ # * {Types::Application#creation_date_time #creation_date_time} => String
647
+ # * {Types::Application#description #description} => String
648
+ # * {Types::Application#is_archived #is_archived} => Boolean
649
+ # * {Types::Application#last_modified_date_time #last_modified_date_time} => String
650
+ # * {Types::Application#name #name} => String
651
+ # * {Types::Application#tags #tags} => Hash&lt;String,String&gt;
652
+ # * {Types::Application#wave_id #wave_id} => String
653
+ #
654
+ # @example Request syntax with placeholder values
655
+ #
656
+ # resp = client.create_application({
657
+ # description: "ApplicationDescription",
658
+ # name: "ApplicationName", # required
659
+ # tags: {
660
+ # "TagKey" => "TagValue",
661
+ # },
662
+ # })
663
+ #
664
+ # @example Response structure
665
+ #
666
+ # resp.application_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
667
+ # resp.application_aggregated_status.last_update_date_time #=> String
668
+ # resp.application_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
669
+ # resp.application_aggregated_status.total_source_servers #=> Integer
670
+ # resp.application_id #=> String
671
+ # resp.arn #=> String
672
+ # resp.creation_date_time #=> String
673
+ # resp.description #=> String
674
+ # resp.is_archived #=> Boolean
675
+ # resp.last_modified_date_time #=> String
676
+ # resp.name #=> String
677
+ # resp.tags #=> Hash
678
+ # resp.tags["TagKey"] #=> String
679
+ # resp.wave_id #=> String
680
+ #
681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateApplication AWS API Documentation
682
+ #
683
+ # @overload create_application(params = {})
684
+ # @param [Hash] params ({})
685
+ def create_application(params = {}, options = {})
686
+ req = build_request(:create_application, params)
687
+ req.send_request(options)
688
+ end
689
+
690
+ # Creates a new Launch Configuration Template.
691
+ #
692
+ # @option params [Boolean] :associate_public_ip_address
693
+ # Associate public Ip address.
694
+ #
695
+ # @option params [String] :boot_mode
696
+ # Launch configuration template boot mode.
697
+ #
698
+ # @option params [Boolean] :copy_private_ip
699
+ # Copy private Ip.
700
+ #
701
+ # @option params [Boolean] :copy_tags
702
+ # Copy tags.
703
+ #
704
+ # @option params [Boolean] :enable_map_auto_tagging
705
+ # Enable map auto tagging.
706
+ #
707
+ # @option params [Types::LaunchTemplateDiskConf] :large_volume_conf
708
+ # Large volume config.
709
+ #
710
+ # @option params [String] :launch_disposition
711
+ # Launch disposition.
712
+ #
713
+ # @option params [Types::Licensing] :licensing
714
+ # Configure Licensing.
715
+ #
716
+ # @option params [String] :map_auto_tagging_mpe_id
717
+ # Launch configuration template map auto tagging MPE ID.
461
718
  #
462
719
  # @option params [Types::PostLaunchActions] :post_launch_actions
463
- # Request to associate the default Application Migration Service
464
- # Security group with the Replication Settings template.
720
+ # Launch configuration template post launch actions.
721
+ #
722
+ # @option params [Types::LaunchTemplateDiskConf] :small_volume_conf
723
+ # Small volume config.
724
+ #
725
+ # @option params [Integer] :small_volume_max_size
726
+ # Small volume maximum size.
465
727
  #
466
728
  # @option params [Hash<String,String>] :tags
467
- # Request to associate the default Application Migration Service
468
- # Security group with the Replication Settings template.
729
+ # Request to associate tags during creation of a Launch Configuration
730
+ # Template.
731
+ #
732
+ # @option params [String] :target_instance_type_right_sizing_method
733
+ # Target instance type right-sizing method.
469
734
  #
470
735
  # @return [Types::LaunchConfigurationTemplate] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
471
736
  #
472
737
  # * {Types::LaunchConfigurationTemplate#arn #arn} => String
738
+ # * {Types::LaunchConfigurationTemplate#associate_public_ip_address #associate_public_ip_address} => Boolean
739
+ # * {Types::LaunchConfigurationTemplate#boot_mode #boot_mode} => String
740
+ # * {Types::LaunchConfigurationTemplate#copy_private_ip #copy_private_ip} => Boolean
741
+ # * {Types::LaunchConfigurationTemplate#copy_tags #copy_tags} => Boolean
742
+ # * {Types::LaunchConfigurationTemplate#ec2_launch_template_id #ec2_launch_template_id} => String
743
+ # * {Types::LaunchConfigurationTemplate#enable_map_auto_tagging #enable_map_auto_tagging} => Boolean
744
+ # * {Types::LaunchConfigurationTemplate#large_volume_conf #large_volume_conf} => Types::LaunchTemplateDiskConf
473
745
  # * {Types::LaunchConfigurationTemplate#launch_configuration_template_id #launch_configuration_template_id} => String
746
+ # * {Types::LaunchConfigurationTemplate#launch_disposition #launch_disposition} => String
747
+ # * {Types::LaunchConfigurationTemplate#licensing #licensing} => Types::Licensing
748
+ # * {Types::LaunchConfigurationTemplate#map_auto_tagging_mpe_id #map_auto_tagging_mpe_id} => String
474
749
  # * {Types::LaunchConfigurationTemplate#post_launch_actions #post_launch_actions} => Types::PostLaunchActions
750
+ # * {Types::LaunchConfigurationTemplate#small_volume_conf #small_volume_conf} => Types::LaunchTemplateDiskConf
751
+ # * {Types::LaunchConfigurationTemplate#small_volume_max_size #small_volume_max_size} => Integer
475
752
  # * {Types::LaunchConfigurationTemplate#tags #tags} => Hash&lt;String,String&gt;
753
+ # * {Types::LaunchConfigurationTemplate#target_instance_type_right_sizing_method #target_instance_type_right_sizing_method} => String
476
754
  #
477
755
  # @example Request syntax with placeholder values
478
756
  #
479
757
  # resp = client.create_launch_configuration_template({
758
+ # associate_public_ip_address: false,
759
+ # boot_mode: "LEGACY_BIOS", # accepts LEGACY_BIOS, UEFI
760
+ # copy_private_ip: false,
761
+ # copy_tags: false,
762
+ # enable_map_auto_tagging: false,
763
+ # large_volume_conf: {
764
+ # iops: 1,
765
+ # throughput: 1,
766
+ # volume_type: "io1", # accepts io1, io2, gp3, gp2, st1, sc1, standard
767
+ # },
768
+ # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
769
+ # licensing: {
770
+ # os_byol: false,
771
+ # },
772
+ # map_auto_tagging_mpe_id: "TagValue",
480
773
  # post_launch_actions: {
481
774
  # cloud_watch_log_group_name: "CloudWatchLogGroupName",
482
- # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY
775
+ # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY, TEST_ONLY
483
776
  # s3_log_bucket: "S3LogBucketName",
484
777
  # s3_output_key_prefix: "BoundedString",
485
778
  # ssm_documents: [
@@ -499,17 +792,36 @@ module Aws::Mgn
499
792
  # },
500
793
  # ],
501
794
  # },
795
+ # small_volume_conf: {
796
+ # iops: 1,
797
+ # throughput: 1,
798
+ # volume_type: "io1", # accepts io1, io2, gp3, gp2, st1, sc1, standard
799
+ # },
800
+ # small_volume_max_size: 1,
502
801
  # tags: {
503
802
  # "TagKey" => "TagValue",
504
803
  # },
804
+ # target_instance_type_right_sizing_method: "NONE", # accepts NONE, BASIC
505
805
  # })
506
806
  #
507
807
  # @example Response structure
508
808
  #
509
809
  # resp.arn #=> String
810
+ # resp.associate_public_ip_address #=> Boolean
811
+ # resp.boot_mode #=> String, one of "LEGACY_BIOS", "UEFI"
812
+ # resp.copy_private_ip #=> Boolean
813
+ # resp.copy_tags #=> Boolean
814
+ # resp.ec2_launch_template_id #=> String
815
+ # resp.enable_map_auto_tagging #=> Boolean
816
+ # resp.large_volume_conf.iops #=> Integer
817
+ # resp.large_volume_conf.throughput #=> Integer
818
+ # resp.large_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
510
819
  # resp.launch_configuration_template_id #=> String
820
+ # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
821
+ # resp.licensing.os_byol #=> Boolean
822
+ # resp.map_auto_tagging_mpe_id #=> String
511
823
  # resp.post_launch_actions.cloud_watch_log_group_name #=> String
512
- # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY"
824
+ # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY", "TEST_ONLY"
513
825
  # resp.post_launch_actions.s3_log_bucket #=> String
514
826
  # resp.post_launch_actions.s3_output_key_prefix #=> String
515
827
  # resp.post_launch_actions.ssm_documents #=> Array
@@ -521,8 +833,13 @@ module Aws::Mgn
521
833
  # resp.post_launch_actions.ssm_documents[0].parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
522
834
  # resp.post_launch_actions.ssm_documents[0].ssm_document_name #=> String
523
835
  # resp.post_launch_actions.ssm_documents[0].timeout_seconds #=> Integer
836
+ # resp.small_volume_conf.iops #=> Integer
837
+ # resp.small_volume_conf.throughput #=> Integer
838
+ # resp.small_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
839
+ # resp.small_volume_max_size #=> Integer
524
840
  # resp.tags #=> Hash
525
841
  # resp.tags["TagKey"] #=> String
842
+ # resp.target_instance_type_right_sizing_method #=> String, one of "NONE", "BASIC"
526
843
  #
527
844
  # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateLaunchConfigurationTemplate AWS API Documentation
528
845
  #
@@ -657,6 +974,87 @@ module Aws::Mgn
657
974
  req.send_request(options)
658
975
  end
659
976
 
977
+ # Create wave.
978
+ #
979
+ # @option params [String] :description
980
+ # Wave description.
981
+ #
982
+ # @option params [required, String] :name
983
+ # Wave name.
984
+ #
985
+ # @option params [Hash<String,String>] :tags
986
+ # Wave tags.
987
+ #
988
+ # @return [Types::Wave] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
989
+ #
990
+ # * {Types::Wave#arn #arn} => String
991
+ # * {Types::Wave#creation_date_time #creation_date_time} => String
992
+ # * {Types::Wave#description #description} => String
993
+ # * {Types::Wave#is_archived #is_archived} => Boolean
994
+ # * {Types::Wave#last_modified_date_time #last_modified_date_time} => String
995
+ # * {Types::Wave#name #name} => String
996
+ # * {Types::Wave#tags #tags} => Hash&lt;String,String&gt;
997
+ # * {Types::Wave#wave_aggregated_status #wave_aggregated_status} => Types::WaveAggregatedStatus
998
+ # * {Types::Wave#wave_id #wave_id} => String
999
+ #
1000
+ # @example Request syntax with placeholder values
1001
+ #
1002
+ # resp = client.create_wave({
1003
+ # description: "WaveDescription",
1004
+ # name: "WaveName", # required
1005
+ # tags: {
1006
+ # "TagKey" => "TagValue",
1007
+ # },
1008
+ # })
1009
+ #
1010
+ # @example Response structure
1011
+ #
1012
+ # resp.arn #=> String
1013
+ # resp.creation_date_time #=> String
1014
+ # resp.description #=> String
1015
+ # resp.is_archived #=> Boolean
1016
+ # resp.last_modified_date_time #=> String
1017
+ # resp.name #=> String
1018
+ # resp.tags #=> Hash
1019
+ # resp.tags["TagKey"] #=> String
1020
+ # resp.wave_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
1021
+ # resp.wave_aggregated_status.last_update_date_time #=> String
1022
+ # resp.wave_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
1023
+ # resp.wave_aggregated_status.replication_started_date_time #=> String
1024
+ # resp.wave_aggregated_status.total_applications #=> Integer
1025
+ # resp.wave_id #=> String
1026
+ #
1027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateWave AWS API Documentation
1028
+ #
1029
+ # @overload create_wave(params = {})
1030
+ # @param [Hash] params ({})
1031
+ def create_wave(params = {}, options = {})
1032
+ req = build_request(:create_wave, params)
1033
+ req.send_request(options)
1034
+ end
1035
+
1036
+ # Delete application.
1037
+ #
1038
+ # @option params [required, String] :application_id
1039
+ # Application ID.
1040
+ #
1041
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1042
+ #
1043
+ # @example Request syntax with placeholder values
1044
+ #
1045
+ # resp = client.delete_application({
1046
+ # application_id: "ApplicationID", # required
1047
+ # })
1048
+ #
1049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteApplication AWS API Documentation
1050
+ #
1051
+ # @overload delete_application(params = {})
1052
+ # @param [Hash] params ({})
1053
+ def delete_application(params = {}, options = {})
1054
+ req = build_request(:delete_application, params)
1055
+ req.send_request(options)
1056
+ end
1057
+
660
1058
  # Deletes a single Job by ID.
661
1059
  #
662
1060
  # @option params [required, String] :job_id
@@ -679,7 +1077,7 @@ module Aws::Mgn
679
1077
  req.send_request(options)
680
1078
  end
681
1079
 
682
- # Creates a new ReplicationConfigurationTemplate.
1080
+ # Deletes a single Launch Configuration Template by ID.
683
1081
  #
684
1082
  # @option params [required, String] :launch_configuration_template_id
685
1083
  # ID of resource to be deleted.
@@ -768,6 +1166,28 @@ module Aws::Mgn
768
1166
  req.send_request(options)
769
1167
  end
770
1168
 
1169
+ # Delete wave.
1170
+ #
1171
+ # @option params [required, String] :wave_id
1172
+ # Wave ID.
1173
+ #
1174
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1175
+ #
1176
+ # @example Request syntax with placeholder values
1177
+ #
1178
+ # resp = client.delete_wave({
1179
+ # wave_id: "WaveID", # required
1180
+ # })
1181
+ #
1182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteWave AWS API Documentation
1183
+ #
1184
+ # @overload delete_wave(params = {})
1185
+ # @param [Hash] params ({})
1186
+ def delete_wave(params = {}, options = {})
1187
+ req = build_request(:delete_wave, params)
1188
+ req.send_request(options)
1189
+ end
1190
+
771
1191
  # Retrieves detailed job log items with paging.
772
1192
  #
773
1193
  # @option params [required, String] :job_id
@@ -891,16 +1311,20 @@ module Aws::Mgn
891
1311
  req.send_request(options)
892
1312
  end
893
1313
 
894
- # Creates a new ReplicationConfigurationTemplate.
1314
+ # Lists all Launch Configuration Templates, filtered by Launch
1315
+ # Configuration Template IDs
895
1316
  #
896
1317
  # @option params [Array<String>] :launch_configuration_template_i_ds
897
- # Request to disconnect Source Server from service by Server ID.
1318
+ # Request to filter Launch Configuration Templates list by Launch
1319
+ # Configuration Template ID.
898
1320
  #
899
1321
  # @option params [Integer] :max_results
900
- # Request to disconnect Source Server from service by Server ID.
1322
+ # Maximum results to be returned in
1323
+ # DescribeLaunchConfigurationTemplates.
901
1324
  #
902
1325
  # @option params [String] :next_token
903
- # Request to disconnect Source Server from service by Server ID.
1326
+ # Next pagination token returned from
1327
+ # DescribeLaunchConfigurationTemplates.
904
1328
  #
905
1329
  # @return [Types::DescribeLaunchConfigurationTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
906
1330
  #
@@ -921,9 +1345,21 @@ module Aws::Mgn
921
1345
  #
922
1346
  # resp.items #=> Array
923
1347
  # resp.items[0].arn #=> String
1348
+ # resp.items[0].associate_public_ip_address #=> Boolean
1349
+ # resp.items[0].boot_mode #=> String, one of "LEGACY_BIOS", "UEFI"
1350
+ # resp.items[0].copy_private_ip #=> Boolean
1351
+ # resp.items[0].copy_tags #=> Boolean
1352
+ # resp.items[0].ec2_launch_template_id #=> String
1353
+ # resp.items[0].enable_map_auto_tagging #=> Boolean
1354
+ # resp.items[0].large_volume_conf.iops #=> Integer
1355
+ # resp.items[0].large_volume_conf.throughput #=> Integer
1356
+ # resp.items[0].large_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
924
1357
  # resp.items[0].launch_configuration_template_id #=> String
1358
+ # resp.items[0].launch_disposition #=> String, one of "STOPPED", "STARTED"
1359
+ # resp.items[0].licensing.os_byol #=> Boolean
1360
+ # resp.items[0].map_auto_tagging_mpe_id #=> String
925
1361
  # resp.items[0].post_launch_actions.cloud_watch_log_group_name #=> String
926
- # resp.items[0].post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY"
1362
+ # resp.items[0].post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY", "TEST_ONLY"
927
1363
  # resp.items[0].post_launch_actions.s3_log_bucket #=> String
928
1364
  # resp.items[0].post_launch_actions.s3_output_key_prefix #=> String
929
1365
  # resp.items[0].post_launch_actions.ssm_documents #=> Array
@@ -935,8 +1371,13 @@ module Aws::Mgn
935
1371
  # resp.items[0].post_launch_actions.ssm_documents[0].parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
936
1372
  # resp.items[0].post_launch_actions.ssm_documents[0].ssm_document_name #=> String
937
1373
  # resp.items[0].post_launch_actions.ssm_documents[0].timeout_seconds #=> Integer
1374
+ # resp.items[0].small_volume_conf.iops #=> Integer
1375
+ # resp.items[0].small_volume_conf.throughput #=> Integer
1376
+ # resp.items[0].small_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
1377
+ # resp.items[0].small_volume_max_size #=> Integer
938
1378
  # resp.items[0].tags #=> Hash
939
1379
  # resp.items[0].tags["TagKey"] #=> String
1380
+ # resp.items[0].target_instance_type_right_sizing_method #=> String, one of "NONE", "BASIC"
940
1381
  # resp.next_token #=> String
941
1382
  #
942
1383
  # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeLaunchConfigurationTemplates AWS API Documentation
@@ -1030,6 +1471,7 @@ module Aws::Mgn
1030
1471
  #
1031
1472
  # resp = client.describe_source_servers({
1032
1473
  # filters: {
1474
+ # application_i_ds: ["ApplicationID"],
1033
1475
  # is_archived: false,
1034
1476
  # life_cycle_states: ["STOPPED"], # accepts STOPPED, NOT_READY, READY_FOR_TEST, TESTING, READY_FOR_CUTOVER, CUTTING_OVER, CUTOVER, DISCONNECTED, DISCOVERED
1035
1477
  # replication_types: ["AGENT_BASED"], # accepts AGENT_BASED, SNAPSHOT_SHIPPING
@@ -1042,6 +1484,7 @@ module Aws::Mgn
1042
1484
  # @example Response structure
1043
1485
  #
1044
1486
  # resp.items #=> Array
1487
+ # resp.items[0].application_id #=> String
1045
1488
  # resp.items[0].arn #=> String
1046
1489
  # resp.items[0].data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1047
1490
  # resp.items[0].data_replication_info.data_replication_error.raw_error #=> String
@@ -1159,6 +1602,58 @@ module Aws::Mgn
1159
1602
  req.send_request(options)
1160
1603
  end
1161
1604
 
1605
+ # Disassociate applications from wave.
1606
+ #
1607
+ # @option params [required, Array<String>] :application_i_ds
1608
+ # Application IDs list.
1609
+ #
1610
+ # @option params [required, String] :wave_id
1611
+ # Wave ID.
1612
+ #
1613
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1614
+ #
1615
+ # @example Request syntax with placeholder values
1616
+ #
1617
+ # resp = client.disassociate_applications({
1618
+ # application_i_ds: ["ApplicationID"], # required
1619
+ # wave_id: "WaveID", # required
1620
+ # })
1621
+ #
1622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DisassociateApplications AWS API Documentation
1623
+ #
1624
+ # @overload disassociate_applications(params = {})
1625
+ # @param [Hash] params ({})
1626
+ def disassociate_applications(params = {}, options = {})
1627
+ req = build_request(:disassociate_applications, params)
1628
+ req.send_request(options)
1629
+ end
1630
+
1631
+ # Disassociate source servers from application.
1632
+ #
1633
+ # @option params [required, String] :application_id
1634
+ # Application ID.
1635
+ #
1636
+ # @option params [required, Array<String>] :source_server_i_ds
1637
+ # Source server IDs list.
1638
+ #
1639
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1640
+ #
1641
+ # @example Request syntax with placeholder values
1642
+ #
1643
+ # resp = client.disassociate_source_servers({
1644
+ # application_id: "ApplicationID", # required
1645
+ # source_server_i_ds: ["SourceServerID"], # required
1646
+ # })
1647
+ #
1648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DisassociateSourceServers AWS API Documentation
1649
+ #
1650
+ # @overload disassociate_source_servers(params = {})
1651
+ # @param [Hash] params ({})
1652
+ def disassociate_source_servers(params = {}, options = {})
1653
+ req = build_request(:disassociate_source_servers, params)
1654
+ req.send_request(options)
1655
+ end
1656
+
1162
1657
  # Disconnects specific Source Servers from Application Migration
1163
1658
  # Service. Data replication is stopped immediately. All AWS resources
1164
1659
  # created by Application Migration Service for enabling the replication
@@ -1179,6 +1674,7 @@ module Aws::Mgn
1179
1674
  #
1180
1675
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1181
1676
  #
1677
+ # * {Types::SourceServer#application_id #application_id} => String
1182
1678
  # * {Types::SourceServer#arn #arn} => String
1183
1679
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1184
1680
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -1198,6 +1694,7 @@ module Aws::Mgn
1198
1694
  #
1199
1695
  # @example Response structure
1200
1696
  #
1697
+ # resp.application_id #=> String
1201
1698
  # resp.arn #=> String
1202
1699
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1203
1700
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -1287,6 +1784,7 @@ module Aws::Mgn
1287
1784
  #
1288
1785
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1289
1786
  #
1787
+ # * {Types::SourceServer#application_id #application_id} => String
1290
1788
  # * {Types::SourceServer#arn #arn} => String
1291
1789
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1292
1790
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -1306,6 +1804,7 @@ module Aws::Mgn
1306
1804
  #
1307
1805
  # @example Response structure
1308
1806
  #
1807
+ # resp.application_id #=> String
1309
1808
  # resp.arn #=> String
1310
1809
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1311
1810
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -1388,8 +1887,10 @@ module Aws::Mgn
1388
1887
  # * {Types::LaunchConfiguration#copy_private_ip #copy_private_ip} => Boolean
1389
1888
  # * {Types::LaunchConfiguration#copy_tags #copy_tags} => Boolean
1390
1889
  # * {Types::LaunchConfiguration#ec2_launch_template_id #ec2_launch_template_id} => String
1890
+ # * {Types::LaunchConfiguration#enable_map_auto_tagging #enable_map_auto_tagging} => Boolean
1391
1891
  # * {Types::LaunchConfiguration#launch_disposition #launch_disposition} => String
1392
1892
  # * {Types::LaunchConfiguration#licensing #licensing} => Types::Licensing
1893
+ # * {Types::LaunchConfiguration#map_auto_tagging_mpe_id #map_auto_tagging_mpe_id} => String
1393
1894
  # * {Types::LaunchConfiguration#name #name} => String
1394
1895
  # * {Types::LaunchConfiguration#post_launch_actions #post_launch_actions} => Types::PostLaunchActions
1395
1896
  # * {Types::LaunchConfiguration#source_server_id #source_server_id} => String
@@ -1407,11 +1908,13 @@ module Aws::Mgn
1407
1908
  # resp.copy_private_ip #=> Boolean
1408
1909
  # resp.copy_tags #=> Boolean
1409
1910
  # resp.ec2_launch_template_id #=> String
1911
+ # resp.enable_map_auto_tagging #=> Boolean
1410
1912
  # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
1411
1913
  # resp.licensing.os_byol #=> Boolean
1914
+ # resp.map_auto_tagging_mpe_id #=> String
1412
1915
  # resp.name #=> String
1413
1916
  # resp.post_launch_actions.cloud_watch_log_group_name #=> String
1414
- # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY"
1917
+ # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY", "TEST_ONLY"
1415
1918
  # resp.post_launch_actions.s3_log_bucket #=> String
1416
1919
  # resp.post_launch_actions.s3_output_key_prefix #=> String
1417
1920
  # resp.post_launch_actions.ssm_documents #=> Array
@@ -1511,27 +2014,146 @@ module Aws::Mgn
1511
2014
  req.send_request(options)
1512
2015
  end
1513
2016
 
1514
- # List all tags for your Application Migration Service resources.
2017
+ # Retrieves all applications or multiple applications by ID.
1515
2018
  #
1516
- # @option params [required, String] :resource_arn
1517
- # List tags for resource request by ARN.
2019
+ # @option params [Types::ListApplicationsRequestFilters] :filters
2020
+ # Applications list filters.
1518
2021
  #
1519
- # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2022
+ # @option params [Integer] :max_results
2023
+ # Maximum results to return when listing applications.
1520
2024
  #
1521
- # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2025
+ # @option params [String] :next_token
2026
+ # Request next token.
2027
+ #
2028
+ # @return [Types::ListApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2029
+ #
2030
+ # * {Types::ListApplicationsResponse#items #items} => Array&lt;Types::Application&gt;
2031
+ # * {Types::ListApplicationsResponse#next_token #next_token} => String
2032
+ #
2033
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1522
2034
  #
1523
2035
  # @example Request syntax with placeholder values
1524
2036
  #
1525
- # resp = client.list_tags_for_resource({
1526
- # resource_arn: "ARN", # required
2037
+ # resp = client.list_applications({
2038
+ # filters: {
2039
+ # application_i_ds: ["ApplicationID"],
2040
+ # is_archived: false,
2041
+ # wave_i_ds: ["WaveID"],
2042
+ # },
2043
+ # max_results: 1,
2044
+ # next_token: "PaginationToken",
1527
2045
  # })
1528
2046
  #
1529
2047
  # @example Response structure
1530
2048
  #
1531
- # resp.tags #=> Hash
1532
- # resp.tags["TagKey"] #=> String
1533
- #
1534
- # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTagsForResource AWS API Documentation
2049
+ # resp.items #=> Array
2050
+ # resp.items[0].application_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
2051
+ # resp.items[0].application_aggregated_status.last_update_date_time #=> String
2052
+ # resp.items[0].application_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
2053
+ # resp.items[0].application_aggregated_status.total_source_servers #=> Integer
2054
+ # resp.items[0].application_id #=> String
2055
+ # resp.items[0].arn #=> String
2056
+ # resp.items[0].creation_date_time #=> String
2057
+ # resp.items[0].description #=> String
2058
+ # resp.items[0].is_archived #=> Boolean
2059
+ # resp.items[0].last_modified_date_time #=> String
2060
+ # resp.items[0].name #=> String
2061
+ # resp.items[0].tags #=> Hash
2062
+ # resp.items[0].tags["TagKey"] #=> String
2063
+ # resp.items[0].wave_id #=> String
2064
+ # resp.next_token #=> String
2065
+ #
2066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListApplications AWS API Documentation
2067
+ #
2068
+ # @overload list_applications(params = {})
2069
+ # @param [Hash] params ({})
2070
+ def list_applications(params = {}, options = {})
2071
+ req = build_request(:list_applications, params)
2072
+ req.send_request(options)
2073
+ end
2074
+
2075
+ # List source server post migration custom actions.
2076
+ #
2077
+ # @option params [Types::SourceServerActionsRequestFilters] :filters
2078
+ # Filters to apply when listing source server post migration custom
2079
+ # actions.
2080
+ #
2081
+ # @option params [Integer] :max_results
2082
+ # Maximum amount of items to return when listing source server post
2083
+ # migration custom actions.
2084
+ #
2085
+ # @option params [String] :next_token
2086
+ # Next token to use when listing source server post migration custom
2087
+ # actions.
2088
+ #
2089
+ # @option params [required, String] :source_server_id
2090
+ # Source server ID.
2091
+ #
2092
+ # @return [Types::ListSourceServerActionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2093
+ #
2094
+ # * {Types::ListSourceServerActionsResponse#items #items} => Array&lt;Types::SourceServerActionDocument&gt;
2095
+ # * {Types::ListSourceServerActionsResponse#next_token #next_token} => String
2096
+ #
2097
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2098
+ #
2099
+ # @example Request syntax with placeholder values
2100
+ #
2101
+ # resp = client.list_source_server_actions({
2102
+ # filters: {
2103
+ # action_i_ds: ["ActionID"],
2104
+ # },
2105
+ # max_results: 1,
2106
+ # next_token: "PaginationToken",
2107
+ # source_server_id: "SourceServerID", # required
2108
+ # })
2109
+ #
2110
+ # @example Response structure
2111
+ #
2112
+ # resp.items #=> Array
2113
+ # resp.items[0].action_id #=> String
2114
+ # resp.items[0].action_name #=> String
2115
+ # resp.items[0].active #=> Boolean
2116
+ # resp.items[0].document_identifier #=> String
2117
+ # resp.items[0].document_version #=> String
2118
+ # resp.items[0].must_succeed_for_cutover #=> Boolean
2119
+ # resp.items[0].order #=> Integer
2120
+ # resp.items[0].parameters #=> Hash
2121
+ # resp.items[0].parameters["SsmDocumentParameterName"] #=> Array
2122
+ # resp.items[0].parameters["SsmDocumentParameterName"][0].parameter_name #=> String
2123
+ # resp.items[0].parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
2124
+ # resp.items[0].timeout_seconds #=> Integer
2125
+ # resp.next_token #=> String
2126
+ #
2127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListSourceServerActions AWS API Documentation
2128
+ #
2129
+ # @overload list_source_server_actions(params = {})
2130
+ # @param [Hash] params ({})
2131
+ def list_source_server_actions(params = {}, options = {})
2132
+ req = build_request(:list_source_server_actions, params)
2133
+ req.send_request(options)
2134
+ end
2135
+
2136
+ # List all tags for your Application Migration Service resources.
2137
+ #
2138
+ # @option params [required, String] :resource_arn
2139
+ # List tags for resource request by ARN.
2140
+ #
2141
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2142
+ #
2143
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2144
+ #
2145
+ # @example Request syntax with placeholder values
2146
+ #
2147
+ # resp = client.list_tags_for_resource({
2148
+ # resource_arn: "ARN", # required
2149
+ # })
2150
+ #
2151
+ # @example Response structure
2152
+ #
2153
+ # resp.tags #=> Hash
2154
+ # resp.tags["TagKey"] #=> String
2155
+ #
2156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTagsForResource AWS API Documentation
1535
2157
  #
1536
2158
  # @overload list_tags_for_resource(params = {})
1537
2159
  # @param [Hash] params ({})
@@ -1540,6 +2162,123 @@ module Aws::Mgn
1540
2162
  req.send_request(options)
1541
2163
  end
1542
2164
 
2165
+ # List template post migration custom actions.
2166
+ #
2167
+ # @option params [Types::TemplateActionsRequestFilters] :filters
2168
+ # Filters to apply when listing template post migration custom actions.
2169
+ #
2170
+ # @option params [required, String] :launch_configuration_template_id
2171
+ # Launch configuration template ID.
2172
+ #
2173
+ # @option params [Integer] :max_results
2174
+ # Maximum amount of items to return when listing template post migration
2175
+ # custom actions.
2176
+ #
2177
+ # @option params [String] :next_token
2178
+ # Next token to use when listing template post migration custom actions.
2179
+ #
2180
+ # @return [Types::ListTemplateActionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2181
+ #
2182
+ # * {Types::ListTemplateActionsResponse#items #items} => Array&lt;Types::TemplateActionDocument&gt;
2183
+ # * {Types::ListTemplateActionsResponse#next_token #next_token} => String
2184
+ #
2185
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2186
+ #
2187
+ # @example Request syntax with placeholder values
2188
+ #
2189
+ # resp = client.list_template_actions({
2190
+ # filters: {
2191
+ # action_i_ds: ["ActionID"],
2192
+ # },
2193
+ # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
2194
+ # max_results: 1,
2195
+ # next_token: "PaginationToken",
2196
+ # })
2197
+ #
2198
+ # @example Response structure
2199
+ #
2200
+ # resp.items #=> Array
2201
+ # resp.items[0].action_id #=> String
2202
+ # resp.items[0].action_name #=> String
2203
+ # resp.items[0].active #=> Boolean
2204
+ # resp.items[0].document_identifier #=> String
2205
+ # resp.items[0].document_version #=> String
2206
+ # resp.items[0].must_succeed_for_cutover #=> Boolean
2207
+ # resp.items[0].operating_system #=> String
2208
+ # resp.items[0].order #=> Integer
2209
+ # resp.items[0].parameters #=> Hash
2210
+ # resp.items[0].parameters["SsmDocumentParameterName"] #=> Array
2211
+ # resp.items[0].parameters["SsmDocumentParameterName"][0].parameter_name #=> String
2212
+ # resp.items[0].parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
2213
+ # resp.items[0].timeout_seconds #=> Integer
2214
+ # resp.next_token #=> String
2215
+ #
2216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTemplateActions AWS API Documentation
2217
+ #
2218
+ # @overload list_template_actions(params = {})
2219
+ # @param [Hash] params ({})
2220
+ def list_template_actions(params = {}, options = {})
2221
+ req = build_request(:list_template_actions, params)
2222
+ req.send_request(options)
2223
+ end
2224
+
2225
+ # Retrieves all waves or multiple waves by ID.
2226
+ #
2227
+ # @option params [Types::ListWavesRequestFilters] :filters
2228
+ # Waves list filters.
2229
+ #
2230
+ # @option params [Integer] :max_results
2231
+ # Maximum results to return when listing waves.
2232
+ #
2233
+ # @option params [String] :next_token
2234
+ # Request next token.
2235
+ #
2236
+ # @return [Types::ListWavesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2237
+ #
2238
+ # * {Types::ListWavesResponse#items #items} => Array&lt;Types::Wave&gt;
2239
+ # * {Types::ListWavesResponse#next_token #next_token} => String
2240
+ #
2241
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2242
+ #
2243
+ # @example Request syntax with placeholder values
2244
+ #
2245
+ # resp = client.list_waves({
2246
+ # filters: {
2247
+ # is_archived: false,
2248
+ # wave_i_ds: ["WaveID"],
2249
+ # },
2250
+ # max_results: 1,
2251
+ # next_token: "PaginationToken",
2252
+ # })
2253
+ #
2254
+ # @example Response structure
2255
+ #
2256
+ # resp.items #=> Array
2257
+ # resp.items[0].arn #=> String
2258
+ # resp.items[0].creation_date_time #=> String
2259
+ # resp.items[0].description #=> String
2260
+ # resp.items[0].is_archived #=> Boolean
2261
+ # resp.items[0].last_modified_date_time #=> String
2262
+ # resp.items[0].name #=> String
2263
+ # resp.items[0].tags #=> Hash
2264
+ # resp.items[0].tags["TagKey"] #=> String
2265
+ # resp.items[0].wave_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
2266
+ # resp.items[0].wave_aggregated_status.last_update_date_time #=> String
2267
+ # resp.items[0].wave_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
2268
+ # resp.items[0].wave_aggregated_status.replication_started_date_time #=> String
2269
+ # resp.items[0].wave_aggregated_status.total_applications #=> Integer
2270
+ # resp.items[0].wave_id #=> String
2271
+ # resp.next_token #=> String
2272
+ #
2273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListWaves AWS API Documentation
2274
+ #
2275
+ # @overload list_waves(params = {})
2276
+ # @param [Hash] params ({})
2277
+ def list_waves(params = {}, options = {})
2278
+ req = build_request(:list_waves, params)
2279
+ req.send_request(options)
2280
+ end
2281
+
1543
2282
  # Archives specific Source Servers by setting the
1544
2283
  # SourceServer.isArchived property to true for specified SourceServers
1545
2284
  # by ID. This command only works for SourceServers with a lifecycle.
@@ -1550,6 +2289,7 @@ module Aws::Mgn
1550
2289
  #
1551
2290
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1552
2291
  #
2292
+ # * {Types::SourceServer#application_id #application_id} => String
1553
2293
  # * {Types::SourceServer#arn #arn} => String
1554
2294
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1555
2295
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -1569,6 +2309,7 @@ module Aws::Mgn
1569
2309
  #
1570
2310
  # @example Response structure
1571
2311
  #
2312
+ # resp.application_id #=> String
1572
2313
  # resp.arn #=> String
1573
2314
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1574
2315
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -1639,6 +2380,246 @@ module Aws::Mgn
1639
2380
  req.send_request(options)
1640
2381
  end
1641
2382
 
2383
+ # Put source server post migration custom action.
2384
+ #
2385
+ # @option params [required, String] :action_id
2386
+ # Source server post migration custom action ID.
2387
+ #
2388
+ # @option params [required, String] :action_name
2389
+ # Source server post migration custom action name.
2390
+ #
2391
+ # @option params [Boolean] :active
2392
+ # Source server post migration custom action active status.
2393
+ #
2394
+ # @option params [required, String] :document_identifier
2395
+ # Source server post migration custom action document identifier.
2396
+ #
2397
+ # @option params [String] :document_version
2398
+ # Source server post migration custom action document version.
2399
+ #
2400
+ # @option params [Boolean] :must_succeed_for_cutover
2401
+ # Source server post migration custom action must succeed for cutover.
2402
+ #
2403
+ # @option params [required, Integer] :order
2404
+ # Source server post migration custom action order.
2405
+ #
2406
+ # @option params [Hash<String,Array>] :parameters
2407
+ # Source server post migration custom action parameters.
2408
+ #
2409
+ # @option params [required, String] :source_server_id
2410
+ # Source server ID.
2411
+ #
2412
+ # @option params [Integer] :timeout_seconds
2413
+ # Source server post migration custom action timeout in seconds.
2414
+ #
2415
+ # @return [Types::SourceServerActionDocument] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2416
+ #
2417
+ # * {Types::SourceServerActionDocument#action_id #action_id} => String
2418
+ # * {Types::SourceServerActionDocument#action_name #action_name} => String
2419
+ # * {Types::SourceServerActionDocument#active #active} => Boolean
2420
+ # * {Types::SourceServerActionDocument#document_identifier #document_identifier} => String
2421
+ # * {Types::SourceServerActionDocument#document_version #document_version} => String
2422
+ # * {Types::SourceServerActionDocument#must_succeed_for_cutover #must_succeed_for_cutover} => Boolean
2423
+ # * {Types::SourceServerActionDocument#order #order} => Integer
2424
+ # * {Types::SourceServerActionDocument#parameters #parameters} => Hash&lt;String,Array&lt;Types::SsmParameterStoreParameter&gt;&gt;
2425
+ # * {Types::SourceServerActionDocument#timeout_seconds #timeout_seconds} => Integer
2426
+ #
2427
+ # @example Request syntax with placeholder values
2428
+ #
2429
+ # resp = client.put_source_server_action({
2430
+ # action_id: "ActionID", # required
2431
+ # action_name: "ActionName", # required
2432
+ # active: false,
2433
+ # document_identifier: "BoundedString", # required
2434
+ # document_version: "DocumentVersion",
2435
+ # must_succeed_for_cutover: false,
2436
+ # order: 1, # required
2437
+ # parameters: {
2438
+ # "SsmDocumentParameterName" => [
2439
+ # {
2440
+ # parameter_name: "SsmParameterStoreParameterName", # required
2441
+ # parameter_type: "STRING", # required, accepts STRING
2442
+ # },
2443
+ # ],
2444
+ # },
2445
+ # source_server_id: "SourceServerID", # required
2446
+ # timeout_seconds: 1,
2447
+ # })
2448
+ #
2449
+ # @example Response structure
2450
+ #
2451
+ # resp.action_id #=> String
2452
+ # resp.action_name #=> String
2453
+ # resp.active #=> Boolean
2454
+ # resp.document_identifier #=> String
2455
+ # resp.document_version #=> String
2456
+ # resp.must_succeed_for_cutover #=> Boolean
2457
+ # resp.order #=> Integer
2458
+ # resp.parameters #=> Hash
2459
+ # resp.parameters["SsmDocumentParameterName"] #=> Array
2460
+ # resp.parameters["SsmDocumentParameterName"][0].parameter_name #=> String
2461
+ # resp.parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
2462
+ # resp.timeout_seconds #=> Integer
2463
+ #
2464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/PutSourceServerAction AWS API Documentation
2465
+ #
2466
+ # @overload put_source_server_action(params = {})
2467
+ # @param [Hash] params ({})
2468
+ def put_source_server_action(params = {}, options = {})
2469
+ req = build_request(:put_source_server_action, params)
2470
+ req.send_request(options)
2471
+ end
2472
+
2473
+ # Put template post migration custom action.
2474
+ #
2475
+ # @option params [required, String] :action_id
2476
+ # Template post migration custom action ID.
2477
+ #
2478
+ # @option params [required, String] :action_name
2479
+ # Template post migration custom action name.
2480
+ #
2481
+ # @option params [Boolean] :active
2482
+ # Template post migration custom action active status.
2483
+ #
2484
+ # @option params [required, String] :document_identifier
2485
+ # Template post migration custom action document identifier.
2486
+ #
2487
+ # @option params [String] :document_version
2488
+ # Template post migration custom action document version.
2489
+ #
2490
+ # @option params [required, String] :launch_configuration_template_id
2491
+ # Launch configuration template ID.
2492
+ #
2493
+ # @option params [Boolean] :must_succeed_for_cutover
2494
+ # Template post migration custom action must succeed for cutover.
2495
+ #
2496
+ # @option params [String] :operating_system
2497
+ # Operating system eligible for this template post migration custom
2498
+ # action.
2499
+ #
2500
+ # @option params [required, Integer] :order
2501
+ # Template post migration custom action order.
2502
+ #
2503
+ # @option params [Hash<String,Array>] :parameters
2504
+ # Template post migration custom action parameters.
2505
+ #
2506
+ # @option params [Integer] :timeout_seconds
2507
+ # Template post migration custom action timeout in seconds.
2508
+ #
2509
+ # @return [Types::TemplateActionDocument] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2510
+ #
2511
+ # * {Types::TemplateActionDocument#action_id #action_id} => String
2512
+ # * {Types::TemplateActionDocument#action_name #action_name} => String
2513
+ # * {Types::TemplateActionDocument#active #active} => Boolean
2514
+ # * {Types::TemplateActionDocument#document_identifier #document_identifier} => String
2515
+ # * {Types::TemplateActionDocument#document_version #document_version} => String
2516
+ # * {Types::TemplateActionDocument#must_succeed_for_cutover #must_succeed_for_cutover} => Boolean
2517
+ # * {Types::TemplateActionDocument#operating_system #operating_system} => String
2518
+ # * {Types::TemplateActionDocument#order #order} => Integer
2519
+ # * {Types::TemplateActionDocument#parameters #parameters} => Hash&lt;String,Array&lt;Types::SsmParameterStoreParameter&gt;&gt;
2520
+ # * {Types::TemplateActionDocument#timeout_seconds #timeout_seconds} => Integer
2521
+ #
2522
+ # @example Request syntax with placeholder values
2523
+ #
2524
+ # resp = client.put_template_action({
2525
+ # action_id: "ActionID", # required
2526
+ # action_name: "BoundedString", # required
2527
+ # active: false,
2528
+ # document_identifier: "BoundedString", # required
2529
+ # document_version: "DocumentVersion",
2530
+ # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
2531
+ # must_succeed_for_cutover: false,
2532
+ # operating_system: "OperatingSystemString",
2533
+ # order: 1, # required
2534
+ # parameters: {
2535
+ # "SsmDocumentParameterName" => [
2536
+ # {
2537
+ # parameter_name: "SsmParameterStoreParameterName", # required
2538
+ # parameter_type: "STRING", # required, accepts STRING
2539
+ # },
2540
+ # ],
2541
+ # },
2542
+ # timeout_seconds: 1,
2543
+ # })
2544
+ #
2545
+ # @example Response structure
2546
+ #
2547
+ # resp.action_id #=> String
2548
+ # resp.action_name #=> String
2549
+ # resp.active #=> Boolean
2550
+ # resp.document_identifier #=> String
2551
+ # resp.document_version #=> String
2552
+ # resp.must_succeed_for_cutover #=> Boolean
2553
+ # resp.operating_system #=> String
2554
+ # resp.order #=> Integer
2555
+ # resp.parameters #=> Hash
2556
+ # resp.parameters["SsmDocumentParameterName"] #=> Array
2557
+ # resp.parameters["SsmDocumentParameterName"][0].parameter_name #=> String
2558
+ # resp.parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
2559
+ # resp.timeout_seconds #=> Integer
2560
+ #
2561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/PutTemplateAction AWS API Documentation
2562
+ #
2563
+ # @overload put_template_action(params = {})
2564
+ # @param [Hash] params ({})
2565
+ def put_template_action(params = {}, options = {})
2566
+ req = build_request(:put_template_action, params)
2567
+ req.send_request(options)
2568
+ end
2569
+
2570
+ # Remove source server post migration custom action.
2571
+ #
2572
+ # @option params [required, String] :action_id
2573
+ # Source server post migration custom action ID to remove.
2574
+ #
2575
+ # @option params [required, String] :source_server_id
2576
+ # Source server ID of the post migration custom action to remove.
2577
+ #
2578
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2579
+ #
2580
+ # @example Request syntax with placeholder values
2581
+ #
2582
+ # resp = client.remove_source_server_action({
2583
+ # action_id: "ActionID", # required
2584
+ # source_server_id: "SourceServerID", # required
2585
+ # })
2586
+ #
2587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/RemoveSourceServerAction AWS API Documentation
2588
+ #
2589
+ # @overload remove_source_server_action(params = {})
2590
+ # @param [Hash] params ({})
2591
+ def remove_source_server_action(params = {}, options = {})
2592
+ req = build_request(:remove_source_server_action, params)
2593
+ req.send_request(options)
2594
+ end
2595
+
2596
+ # Remove template post migration custom action.
2597
+ #
2598
+ # @option params [required, String] :action_id
2599
+ # Template post migration custom action ID to remove.
2600
+ #
2601
+ # @option params [required, String] :launch_configuration_template_id
2602
+ # Launch configuration template ID of the post migration custom action
2603
+ # to remove.
2604
+ #
2605
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2606
+ #
2607
+ # @example Request syntax with placeholder values
2608
+ #
2609
+ # resp = client.remove_template_action({
2610
+ # action_id: "ActionID", # required
2611
+ # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
2612
+ # })
2613
+ #
2614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/RemoveTemplateAction AWS API Documentation
2615
+ #
2616
+ # @overload remove_template_action(params = {})
2617
+ # @param [Hash] params ({})
2618
+ def remove_template_action(params = {}, options = {})
2619
+ req = build_request(:remove_template_action, params)
2620
+ req.send_request(options)
2621
+ end
2622
+
1642
2623
  # Causes the data replication initiation sequence to begin immediately
1643
2624
  # upon next Handshake for specified SourceServer IDs, regardless of when
1644
2625
  # the previous initiation started. This command will not work if the
@@ -1649,6 +2630,7 @@ module Aws::Mgn
1649
2630
  #
1650
2631
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1651
2632
  #
2633
+ # * {Types::SourceServer#application_id #application_id} => String
1652
2634
  # * {Types::SourceServer#arn #arn} => String
1653
2635
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1654
2636
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -1668,6 +2650,7 @@ module Aws::Mgn
1668
2650
  #
1669
2651
  # @example Response structure
1670
2652
  #
2653
+ # resp.application_id #=> String
1671
2654
  # resp.arn #=> String
1672
2655
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1673
2656
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -1807,6 +2790,7 @@ module Aws::Mgn
1807
2790
  #
1808
2791
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1809
2792
  #
2793
+ # * {Types::SourceServer#application_id #application_id} => String
1810
2794
  # * {Types::SourceServer#arn #arn} => String
1811
2795
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1812
2796
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -1826,6 +2810,7 @@ module Aws::Mgn
1826
2810
  #
1827
2811
  # @example Response structure
1828
2812
  #
2813
+ # resp.application_id #=> String
1829
2814
  # resp.arn #=> String
1830
2815
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
1831
2816
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -2052,6 +3037,105 @@ module Aws::Mgn
2052
3037
  req.send_request(options)
2053
3038
  end
2054
3039
 
3040
+ # Unarchive application.
3041
+ #
3042
+ # @option params [required, String] :application_id
3043
+ # Application ID.
3044
+ #
3045
+ # @return [Types::Application] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3046
+ #
3047
+ # * {Types::Application#application_aggregated_status #application_aggregated_status} => Types::ApplicationAggregatedStatus
3048
+ # * {Types::Application#application_id #application_id} => String
3049
+ # * {Types::Application#arn #arn} => String
3050
+ # * {Types::Application#creation_date_time #creation_date_time} => String
3051
+ # * {Types::Application#description #description} => String
3052
+ # * {Types::Application#is_archived #is_archived} => Boolean
3053
+ # * {Types::Application#last_modified_date_time #last_modified_date_time} => String
3054
+ # * {Types::Application#name #name} => String
3055
+ # * {Types::Application#tags #tags} => Hash&lt;String,String&gt;
3056
+ # * {Types::Application#wave_id #wave_id} => String
3057
+ #
3058
+ # @example Request syntax with placeholder values
3059
+ #
3060
+ # resp = client.unarchive_application({
3061
+ # application_id: "ApplicationID", # required
3062
+ # })
3063
+ #
3064
+ # @example Response structure
3065
+ #
3066
+ # resp.application_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
3067
+ # resp.application_aggregated_status.last_update_date_time #=> String
3068
+ # resp.application_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
3069
+ # resp.application_aggregated_status.total_source_servers #=> Integer
3070
+ # resp.application_id #=> String
3071
+ # resp.arn #=> String
3072
+ # resp.creation_date_time #=> String
3073
+ # resp.description #=> String
3074
+ # resp.is_archived #=> Boolean
3075
+ # resp.last_modified_date_time #=> String
3076
+ # resp.name #=> String
3077
+ # resp.tags #=> Hash
3078
+ # resp.tags["TagKey"] #=> String
3079
+ # resp.wave_id #=> String
3080
+ #
3081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UnarchiveApplication AWS API Documentation
3082
+ #
3083
+ # @overload unarchive_application(params = {})
3084
+ # @param [Hash] params ({})
3085
+ def unarchive_application(params = {}, options = {})
3086
+ req = build_request(:unarchive_application, params)
3087
+ req.send_request(options)
3088
+ end
3089
+
3090
+ # Unarchive wave.
3091
+ #
3092
+ # @option params [required, String] :wave_id
3093
+ # Wave ID.
3094
+ #
3095
+ # @return [Types::Wave] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3096
+ #
3097
+ # * {Types::Wave#arn #arn} => String
3098
+ # * {Types::Wave#creation_date_time #creation_date_time} => String
3099
+ # * {Types::Wave#description #description} => String
3100
+ # * {Types::Wave#is_archived #is_archived} => Boolean
3101
+ # * {Types::Wave#last_modified_date_time #last_modified_date_time} => String
3102
+ # * {Types::Wave#name #name} => String
3103
+ # * {Types::Wave#tags #tags} => Hash&lt;String,String&gt;
3104
+ # * {Types::Wave#wave_aggregated_status #wave_aggregated_status} => Types::WaveAggregatedStatus
3105
+ # * {Types::Wave#wave_id #wave_id} => String
3106
+ #
3107
+ # @example Request syntax with placeholder values
3108
+ #
3109
+ # resp = client.unarchive_wave({
3110
+ # wave_id: "WaveID", # required
3111
+ # })
3112
+ #
3113
+ # @example Response structure
3114
+ #
3115
+ # resp.arn #=> String
3116
+ # resp.creation_date_time #=> String
3117
+ # resp.description #=> String
3118
+ # resp.is_archived #=> Boolean
3119
+ # resp.last_modified_date_time #=> String
3120
+ # resp.name #=> String
3121
+ # resp.tags #=> Hash
3122
+ # resp.tags["TagKey"] #=> String
3123
+ # resp.wave_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
3124
+ # resp.wave_aggregated_status.last_update_date_time #=> String
3125
+ # resp.wave_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
3126
+ # resp.wave_aggregated_status.replication_started_date_time #=> String
3127
+ # resp.wave_aggregated_status.total_applications #=> Integer
3128
+ # resp.wave_id #=> String
3129
+ #
3130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UnarchiveWave AWS API Documentation
3131
+ #
3132
+ # @overload unarchive_wave(params = {})
3133
+ # @param [Hash] params ({})
3134
+ def unarchive_wave(params = {}, options = {})
3135
+ req = build_request(:unarchive_wave, params)
3136
+ req.send_request(options)
3137
+ end
3138
+
2055
3139
  # Deletes the specified set of tags from the specified set of
2056
3140
  # Application Migration Service resources.
2057
3141
  #
@@ -2079,6 +3163,64 @@ module Aws::Mgn
2079
3163
  req.send_request(options)
2080
3164
  end
2081
3165
 
3166
+ # Update application.
3167
+ #
3168
+ # @option params [required, String] :application_id
3169
+ # Application ID.
3170
+ #
3171
+ # @option params [String] :description
3172
+ # Application description.
3173
+ #
3174
+ # @option params [String] :name
3175
+ # Application name.
3176
+ #
3177
+ # @return [Types::Application] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3178
+ #
3179
+ # * {Types::Application#application_aggregated_status #application_aggregated_status} => Types::ApplicationAggregatedStatus
3180
+ # * {Types::Application#application_id #application_id} => String
3181
+ # * {Types::Application#arn #arn} => String
3182
+ # * {Types::Application#creation_date_time #creation_date_time} => String
3183
+ # * {Types::Application#description #description} => String
3184
+ # * {Types::Application#is_archived #is_archived} => Boolean
3185
+ # * {Types::Application#last_modified_date_time #last_modified_date_time} => String
3186
+ # * {Types::Application#name #name} => String
3187
+ # * {Types::Application#tags #tags} => Hash&lt;String,String&gt;
3188
+ # * {Types::Application#wave_id #wave_id} => String
3189
+ #
3190
+ # @example Request syntax with placeholder values
3191
+ #
3192
+ # resp = client.update_application({
3193
+ # application_id: "ApplicationID", # required
3194
+ # description: "ApplicationDescription",
3195
+ # name: "ApplicationName",
3196
+ # })
3197
+ #
3198
+ # @example Response structure
3199
+ #
3200
+ # resp.application_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
3201
+ # resp.application_aggregated_status.last_update_date_time #=> String
3202
+ # resp.application_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
3203
+ # resp.application_aggregated_status.total_source_servers #=> Integer
3204
+ # resp.application_id #=> String
3205
+ # resp.arn #=> String
3206
+ # resp.creation_date_time #=> String
3207
+ # resp.description #=> String
3208
+ # resp.is_archived #=> Boolean
3209
+ # resp.last_modified_date_time #=> String
3210
+ # resp.name #=> String
3211
+ # resp.tags #=> Hash
3212
+ # resp.tags["TagKey"] #=> String
3213
+ # resp.wave_id #=> String
3214
+ #
3215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateApplication AWS API Documentation
3216
+ #
3217
+ # @overload update_application(params = {})
3218
+ # @param [Hash] params ({})
3219
+ def update_application(params = {}, options = {})
3220
+ req = build_request(:update_application, params)
3221
+ req.send_request(options)
3222
+ end
3223
+
2082
3224
  # Updates multiple LaunchConfigurations by Source Server ID.
2083
3225
  #
2084
3226
  # @option params [String] :boot_mode
@@ -2090,17 +3232,23 @@ module Aws::Mgn
2090
3232
  # @option params [Boolean] :copy_tags
2091
3233
  # Update Launch configuration copy Tags request.
2092
3234
  #
3235
+ # @option params [Boolean] :enable_map_auto_tagging
3236
+ # Enable map auto tagging.
3237
+ #
2093
3238
  # @option params [String] :launch_disposition
2094
3239
  # Update Launch configuration launch disposition request.
2095
3240
  #
2096
3241
  # @option params [Types::Licensing] :licensing
2097
3242
  # Update Launch configuration licensing request.
2098
3243
  #
3244
+ # @option params [String] :map_auto_tagging_mpe_id
3245
+ # Launch configuration map auto tagging MPE ID.
3246
+ #
2099
3247
  # @option params [String] :name
2100
3248
  # Update Launch configuration name request.
2101
3249
  #
2102
3250
  # @option params [Types::PostLaunchActions] :post_launch_actions
2103
- # Server participating in Job.
3251
+ # Post Launch Actions to executed on the Test or Cutover instance.
2104
3252
  #
2105
3253
  # @option params [required, String] :source_server_id
2106
3254
  # Update Launch configuration by Source Server ID request.
@@ -2114,8 +3262,10 @@ module Aws::Mgn
2114
3262
  # * {Types::LaunchConfiguration#copy_private_ip #copy_private_ip} => Boolean
2115
3263
  # * {Types::LaunchConfiguration#copy_tags #copy_tags} => Boolean
2116
3264
  # * {Types::LaunchConfiguration#ec2_launch_template_id #ec2_launch_template_id} => String
3265
+ # * {Types::LaunchConfiguration#enable_map_auto_tagging #enable_map_auto_tagging} => Boolean
2117
3266
  # * {Types::LaunchConfiguration#launch_disposition #launch_disposition} => String
2118
3267
  # * {Types::LaunchConfiguration#licensing #licensing} => Types::Licensing
3268
+ # * {Types::LaunchConfiguration#map_auto_tagging_mpe_id #map_auto_tagging_mpe_id} => String
2119
3269
  # * {Types::LaunchConfiguration#name #name} => String
2120
3270
  # * {Types::LaunchConfiguration#post_launch_actions #post_launch_actions} => Types::PostLaunchActions
2121
3271
  # * {Types::LaunchConfiguration#source_server_id #source_server_id} => String
@@ -2127,14 +3277,16 @@ module Aws::Mgn
2127
3277
  # boot_mode: "LEGACY_BIOS", # accepts LEGACY_BIOS, UEFI
2128
3278
  # copy_private_ip: false,
2129
3279
  # copy_tags: false,
3280
+ # enable_map_auto_tagging: false,
2130
3281
  # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
2131
3282
  # licensing: {
2132
3283
  # os_byol: false,
2133
3284
  # },
3285
+ # map_auto_tagging_mpe_id: "TagValue",
2134
3286
  # name: "SmallBoundedString",
2135
3287
  # post_launch_actions: {
2136
3288
  # cloud_watch_log_group_name: "CloudWatchLogGroupName",
2137
- # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY
3289
+ # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY, TEST_ONLY
2138
3290
  # s3_log_bucket: "S3LogBucketName",
2139
3291
  # s3_output_key_prefix: "BoundedString",
2140
3292
  # ssm_documents: [
@@ -2164,11 +3316,13 @@ module Aws::Mgn
2164
3316
  # resp.copy_private_ip #=> Boolean
2165
3317
  # resp.copy_tags #=> Boolean
2166
3318
  # resp.ec2_launch_template_id #=> String
3319
+ # resp.enable_map_auto_tagging #=> Boolean
2167
3320
  # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
2168
3321
  # resp.licensing.os_byol #=> Boolean
3322
+ # resp.map_auto_tagging_mpe_id #=> String
2169
3323
  # resp.name #=> String
2170
3324
  # resp.post_launch_actions.cloud_watch_log_group_name #=> String
2171
- # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY"
3325
+ # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY", "TEST_ONLY"
2172
3326
  # resp.post_launch_actions.s3_log_bucket #=> String
2173
3327
  # resp.post_launch_actions.s3_output_key_prefix #=> String
2174
3328
  # resp.post_launch_actions.ssm_documents #=> Array
@@ -2192,28 +3346,92 @@ module Aws::Mgn
2192
3346
  req.send_request(options)
2193
3347
  end
2194
3348
 
2195
- # Creates a new ReplicationConfigurationTemplate.
3349
+ # Updates an existing Launch Configuration Template by ID.
3350
+ #
3351
+ # @option params [Boolean] :associate_public_ip_address
3352
+ # Associate public Ip address.
3353
+ #
3354
+ # @option params [String] :boot_mode
3355
+ # Launch configuration template boot mode.
3356
+ #
3357
+ # @option params [Boolean] :copy_private_ip
3358
+ # Copy private Ip.
3359
+ #
3360
+ # @option params [Boolean] :copy_tags
3361
+ # Copy tags.
3362
+ #
3363
+ # @option params [Boolean] :enable_map_auto_tagging
3364
+ # Enable map auto tagging.
3365
+ #
3366
+ # @option params [Types::LaunchTemplateDiskConf] :large_volume_conf
3367
+ # Large volume config.
2196
3368
  #
2197
3369
  # @option params [required, String] :launch_configuration_template_id
2198
- # Update Launch configuration Target instance right sizing request.
3370
+ # Launch Configuration Template ID.
3371
+ #
3372
+ # @option params [String] :launch_disposition
3373
+ # Launch disposition.
3374
+ #
3375
+ # @option params [Types::Licensing] :licensing
3376
+ # Configure Licensing.
3377
+ #
3378
+ # @option params [String] :map_auto_tagging_mpe_id
3379
+ # Launch configuration template map auto tagging MPE ID.
2199
3380
  #
2200
3381
  # @option params [Types::PostLaunchActions] :post_launch_actions
2201
- # Update Launch configuration Target instance right sizing request.
3382
+ # Post Launch Action to execute on the Test or Cutover instance.
3383
+ #
3384
+ # @option params [Types::LaunchTemplateDiskConf] :small_volume_conf
3385
+ # Small volume config.
3386
+ #
3387
+ # @option params [Integer] :small_volume_max_size
3388
+ # Small volume maximum size.
3389
+ #
3390
+ # @option params [String] :target_instance_type_right_sizing_method
3391
+ # Target instance type right-sizing method.
2202
3392
  #
2203
3393
  # @return [Types::LaunchConfigurationTemplate] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2204
3394
  #
2205
3395
  # * {Types::LaunchConfigurationTemplate#arn #arn} => String
3396
+ # * {Types::LaunchConfigurationTemplate#associate_public_ip_address #associate_public_ip_address} => Boolean
3397
+ # * {Types::LaunchConfigurationTemplate#boot_mode #boot_mode} => String
3398
+ # * {Types::LaunchConfigurationTemplate#copy_private_ip #copy_private_ip} => Boolean
3399
+ # * {Types::LaunchConfigurationTemplate#copy_tags #copy_tags} => Boolean
3400
+ # * {Types::LaunchConfigurationTemplate#ec2_launch_template_id #ec2_launch_template_id} => String
3401
+ # * {Types::LaunchConfigurationTemplate#enable_map_auto_tagging #enable_map_auto_tagging} => Boolean
3402
+ # * {Types::LaunchConfigurationTemplate#large_volume_conf #large_volume_conf} => Types::LaunchTemplateDiskConf
2206
3403
  # * {Types::LaunchConfigurationTemplate#launch_configuration_template_id #launch_configuration_template_id} => String
3404
+ # * {Types::LaunchConfigurationTemplate#launch_disposition #launch_disposition} => String
3405
+ # * {Types::LaunchConfigurationTemplate#licensing #licensing} => Types::Licensing
3406
+ # * {Types::LaunchConfigurationTemplate#map_auto_tagging_mpe_id #map_auto_tagging_mpe_id} => String
2207
3407
  # * {Types::LaunchConfigurationTemplate#post_launch_actions #post_launch_actions} => Types::PostLaunchActions
3408
+ # * {Types::LaunchConfigurationTemplate#small_volume_conf #small_volume_conf} => Types::LaunchTemplateDiskConf
3409
+ # * {Types::LaunchConfigurationTemplate#small_volume_max_size #small_volume_max_size} => Integer
2208
3410
  # * {Types::LaunchConfigurationTemplate#tags #tags} => Hash&lt;String,String&gt;
3411
+ # * {Types::LaunchConfigurationTemplate#target_instance_type_right_sizing_method #target_instance_type_right_sizing_method} => String
2209
3412
  #
2210
3413
  # @example Request syntax with placeholder values
2211
3414
  #
2212
3415
  # resp = client.update_launch_configuration_template({
3416
+ # associate_public_ip_address: false,
3417
+ # boot_mode: "LEGACY_BIOS", # accepts LEGACY_BIOS, UEFI
3418
+ # copy_private_ip: false,
3419
+ # copy_tags: false,
3420
+ # enable_map_auto_tagging: false,
3421
+ # large_volume_conf: {
3422
+ # iops: 1,
3423
+ # throughput: 1,
3424
+ # volume_type: "io1", # accepts io1, io2, gp3, gp2, st1, sc1, standard
3425
+ # },
2213
3426
  # launch_configuration_template_id: "LaunchConfigurationTemplateID", # required
3427
+ # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
3428
+ # licensing: {
3429
+ # os_byol: false,
3430
+ # },
3431
+ # map_auto_tagging_mpe_id: "TagValue",
2214
3432
  # post_launch_actions: {
2215
3433
  # cloud_watch_log_group_name: "CloudWatchLogGroupName",
2216
- # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY
3434
+ # deployment: "TEST_AND_CUTOVER", # accepts TEST_AND_CUTOVER, CUTOVER_ONLY, TEST_ONLY
2217
3435
  # s3_log_bucket: "S3LogBucketName",
2218
3436
  # s3_output_key_prefix: "BoundedString",
2219
3437
  # ssm_documents: [
@@ -2233,14 +3451,33 @@ module Aws::Mgn
2233
3451
  # },
2234
3452
  # ],
2235
3453
  # },
3454
+ # small_volume_conf: {
3455
+ # iops: 1,
3456
+ # throughput: 1,
3457
+ # volume_type: "io1", # accepts io1, io2, gp3, gp2, st1, sc1, standard
3458
+ # },
3459
+ # small_volume_max_size: 1,
3460
+ # target_instance_type_right_sizing_method: "NONE", # accepts NONE, BASIC
2236
3461
  # })
2237
3462
  #
2238
3463
  # @example Response structure
2239
3464
  #
2240
3465
  # resp.arn #=> String
3466
+ # resp.associate_public_ip_address #=> Boolean
3467
+ # resp.boot_mode #=> String, one of "LEGACY_BIOS", "UEFI"
3468
+ # resp.copy_private_ip #=> Boolean
3469
+ # resp.copy_tags #=> Boolean
3470
+ # resp.ec2_launch_template_id #=> String
3471
+ # resp.enable_map_auto_tagging #=> Boolean
3472
+ # resp.large_volume_conf.iops #=> Integer
3473
+ # resp.large_volume_conf.throughput #=> Integer
3474
+ # resp.large_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
2241
3475
  # resp.launch_configuration_template_id #=> String
3476
+ # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
3477
+ # resp.licensing.os_byol #=> Boolean
3478
+ # resp.map_auto_tagging_mpe_id #=> String
2242
3479
  # resp.post_launch_actions.cloud_watch_log_group_name #=> String
2243
- # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY"
3480
+ # resp.post_launch_actions.deployment #=> String, one of "TEST_AND_CUTOVER", "CUTOVER_ONLY", "TEST_ONLY"
2244
3481
  # resp.post_launch_actions.s3_log_bucket #=> String
2245
3482
  # resp.post_launch_actions.s3_output_key_prefix #=> String
2246
3483
  # resp.post_launch_actions.ssm_documents #=> Array
@@ -2252,8 +3489,13 @@ module Aws::Mgn
2252
3489
  # resp.post_launch_actions.ssm_documents[0].parameters["SsmDocumentParameterName"][0].parameter_type #=> String, one of "STRING"
2253
3490
  # resp.post_launch_actions.ssm_documents[0].ssm_document_name #=> String
2254
3491
  # resp.post_launch_actions.ssm_documents[0].timeout_seconds #=> Integer
3492
+ # resp.small_volume_conf.iops #=> Integer
3493
+ # resp.small_volume_conf.throughput #=> Integer
3494
+ # resp.small_volume_conf.volume_type #=> String, one of "io1", "io2", "gp3", "gp2", "st1", "sc1", "standard"
3495
+ # resp.small_volume_max_size #=> Integer
2255
3496
  # resp.tags #=> Hash
2256
3497
  # resp.tags["TagKey"] #=> String
3498
+ # resp.target_instance_type_right_sizing_method #=> String, one of "NONE", "BASIC"
2257
3499
  #
2258
3500
  # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateLaunchConfigurationTemplate AWS API Documentation
2259
3501
  #
@@ -2531,6 +3773,7 @@ module Aws::Mgn
2531
3773
  #
2532
3774
  # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2533
3775
  #
3776
+ # * {Types::SourceServer#application_id #application_id} => String
2534
3777
  # * {Types::SourceServer#arn #arn} => String
2535
3778
  # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
2536
3779
  # * {Types::SourceServer#is_archived #is_archived} => Boolean
@@ -2551,6 +3794,7 @@ module Aws::Mgn
2551
3794
  #
2552
3795
  # @example Response structure
2553
3796
  #
3797
+ # resp.application_id #=> String
2554
3798
  # resp.arn #=> String
2555
3799
  # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER", "UNSUPPORTED_VM_CONFIGURATION", "LAST_SNAPSHOT_JOB_FAILED"
2556
3800
  # resp.data_replication_info.data_replication_error.raw_error #=> String
@@ -2621,6 +3865,63 @@ module Aws::Mgn
2621
3865
  req.send_request(options)
2622
3866
  end
2623
3867
 
3868
+ # Update wave.
3869
+ #
3870
+ # @option params [String] :description
3871
+ # Wave description.
3872
+ #
3873
+ # @option params [String] :name
3874
+ # Wave name.
3875
+ #
3876
+ # @option params [required, String] :wave_id
3877
+ # Wave ID.
3878
+ #
3879
+ # @return [Types::Wave] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3880
+ #
3881
+ # * {Types::Wave#arn #arn} => String
3882
+ # * {Types::Wave#creation_date_time #creation_date_time} => String
3883
+ # * {Types::Wave#description #description} => String
3884
+ # * {Types::Wave#is_archived #is_archived} => Boolean
3885
+ # * {Types::Wave#last_modified_date_time #last_modified_date_time} => String
3886
+ # * {Types::Wave#name #name} => String
3887
+ # * {Types::Wave#tags #tags} => Hash&lt;String,String&gt;
3888
+ # * {Types::Wave#wave_aggregated_status #wave_aggregated_status} => Types::WaveAggregatedStatus
3889
+ # * {Types::Wave#wave_id #wave_id} => String
3890
+ #
3891
+ # @example Request syntax with placeholder values
3892
+ #
3893
+ # resp = client.update_wave({
3894
+ # description: "WaveDescription",
3895
+ # name: "WaveName",
3896
+ # wave_id: "WaveID", # required
3897
+ # })
3898
+ #
3899
+ # @example Response structure
3900
+ #
3901
+ # resp.arn #=> String
3902
+ # resp.creation_date_time #=> String
3903
+ # resp.description #=> String
3904
+ # resp.is_archived #=> Boolean
3905
+ # resp.last_modified_date_time #=> String
3906
+ # resp.name #=> String
3907
+ # resp.tags #=> Hash
3908
+ # resp.tags["TagKey"] #=> String
3909
+ # resp.wave_aggregated_status.health_status #=> String, one of "HEALTHY", "LAGGING", "ERROR"
3910
+ # resp.wave_aggregated_status.last_update_date_time #=> String
3911
+ # resp.wave_aggregated_status.progress_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
3912
+ # resp.wave_aggregated_status.replication_started_date_time #=> String
3913
+ # resp.wave_aggregated_status.total_applications #=> Integer
3914
+ # resp.wave_id #=> String
3915
+ #
3916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateWave AWS API Documentation
3917
+ #
3918
+ # @overload update_wave(params = {})
3919
+ # @param [Hash] params ({})
3920
+ def update_wave(params = {}, options = {})
3921
+ req = build_request(:update_wave, params)
3922
+ req.send_request(options)
3923
+ end
3924
+
2624
3925
  # @!endgroup
2625
3926
 
2626
3927
  # @param params ({})
@@ -2634,7 +3935,7 @@ module Aws::Mgn
2634
3935
  params: params,
2635
3936
  config: config)
2636
3937
  context[:gem_name] = 'aws-sdk-mgn'
2637
- context[:gem_version] = '1.14.0'
3938
+ context[:gem_version] = '1.16.0'
2638
3939
  Seahorse::Client::Request.new(handlers, context)
2639
3940
  end
2640
3941