/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the mgn-2020-02-26.normal.json service model.
 */
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Mgn.Model;
namespace Amazon.Mgn
{
    /// 
    /// Interface for accessing Mgn
    ///
    /// The Application Migration Service service.
    /// 
    public partial interface IAmazonMgn : IAmazonService, IDisposable
    {
        /// 
        /// Paginators for the service
        /// 
        IMgnPaginatorFactory Paginators { get; }
        
        #region  ArchiveApplication
        /// 
        /// Archive application.
        /// 
        /// Container for the necessary parameters to execute the ArchiveApplication service method.
        /// 
        /// The response from the ArchiveApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ArchiveApplication Operation
        ArchiveApplicationResponse ArchiveApplication(ArchiveApplicationRequest request);
        /// 
        /// Archive application.
        /// 
        /// Container for the necessary parameters to execute the ArchiveApplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ArchiveApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ArchiveApplication Operation
        Task ArchiveApplicationAsync(ArchiveApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ArchiveWave
        /// 
        /// Archive wave.
        /// 
        /// Container for the necessary parameters to execute the ArchiveWave service method.
        /// 
        /// The response from the ArchiveWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ArchiveWave Operation
        ArchiveWaveResponse ArchiveWave(ArchiveWaveRequest request);
        /// 
        /// Archive wave.
        /// 
        /// Container for the necessary parameters to execute the ArchiveWave service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ArchiveWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ArchiveWave Operation
        Task ArchiveWaveAsync(ArchiveWaveRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  AssociateApplications
        /// 
        /// Associate applications to wave.
        /// 
        /// Container for the necessary parameters to execute the AssociateApplications service method.
        /// 
        /// The response from the AssociateApplications service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for AssociateApplications Operation
        AssociateApplicationsResponse AssociateApplications(AssociateApplicationsRequest request);
        /// 
        /// Associate applications to wave.
        /// 
        /// Container for the necessary parameters to execute the AssociateApplications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateApplications service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for AssociateApplications Operation
        Task AssociateApplicationsAsync(AssociateApplicationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  AssociateSourceServers
        /// 
        /// Associate source servers to application.
        /// 
        /// Container for the necessary parameters to execute the AssociateSourceServers service method.
        /// 
        /// The response from the AssociateSourceServers service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for AssociateSourceServers Operation
        AssociateSourceServersResponse AssociateSourceServers(AssociateSourceServersRequest request);
        /// 
        /// Associate source servers to application.
        /// 
        /// Container for the necessary parameters to execute the AssociateSourceServers service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateSourceServers service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for AssociateSourceServers Operation
        Task AssociateSourceServersAsync(AssociateSourceServersRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ChangeServerLifeCycleState
        /// 
        /// Allows the user to set the SourceServer.LifeCycle.state property for specific Source
        /// Server IDs to one of the following: READY_FOR_TEST or READY_FOR_CUTOVER. This command
        /// only works if the Source Server is already launchable (dataReplicationInfo.lagDuration
        /// is not null.)
        /// 
        /// Container for the necessary parameters to execute the ChangeServerLifeCycleState service method.
        /// 
        /// The response from the ChangeServerLifeCycleState service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ChangeServerLifeCycleState Operation
        ChangeServerLifeCycleStateResponse ChangeServerLifeCycleState(ChangeServerLifeCycleStateRequest request);
        /// 
        /// Allows the user to set the SourceServer.LifeCycle.state property for specific Source
        /// Server IDs to one of the following: READY_FOR_TEST or READY_FOR_CUTOVER. This command
        /// only works if the Source Server is already launchable (dataReplicationInfo.lagDuration
        /// is not null.)
        /// 
        /// Container for the necessary parameters to execute the ChangeServerLifeCycleState service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ChangeServerLifeCycleState service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ChangeServerLifeCycleState Operation
        Task ChangeServerLifeCycleStateAsync(ChangeServerLifeCycleStateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateApplication
        /// 
        /// Create application.
        /// 
        /// Container for the necessary parameters to execute the CreateApplication service method.
        /// 
        /// The response from the CreateApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for CreateApplication Operation
        CreateApplicationResponse CreateApplication(CreateApplicationRequest request);
        /// 
        /// Create application.
        /// 
        /// Container for the necessary parameters to execute the CreateApplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for CreateApplication Operation
        Task CreateApplicationAsync(CreateApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateLaunchConfigurationTemplate
        /// 
        /// Creates a new Launch Configuration Template.
        /// 
        /// Container for the necessary parameters to execute the CreateLaunchConfigurationTemplate service method.
        /// 
        /// The response from the CreateLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for CreateLaunchConfigurationTemplate Operation
        CreateLaunchConfigurationTemplateResponse CreateLaunchConfigurationTemplate(CreateLaunchConfigurationTemplateRequest request);
        /// 
        /// Creates a new Launch Configuration Template.
        /// 
        /// Container for the necessary parameters to execute the CreateLaunchConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for CreateLaunchConfigurationTemplate Operation
        Task CreateLaunchConfigurationTemplateAsync(CreateLaunchConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateReplicationConfigurationTemplate
        /// 
        /// Creates a new ReplicationConfigurationTemplate.
        /// 
        /// Container for the necessary parameters to execute the CreateReplicationConfigurationTemplate service method.
        /// 
        /// The response from the CreateReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for CreateReplicationConfigurationTemplate Operation
        CreateReplicationConfigurationTemplateResponse CreateReplicationConfigurationTemplate(CreateReplicationConfigurationTemplateRequest request);
        /// 
        /// Creates a new ReplicationConfigurationTemplate.
        /// 
        /// Container for the necessary parameters to execute the CreateReplicationConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for CreateReplicationConfigurationTemplate Operation
        Task CreateReplicationConfigurationTemplateAsync(CreateReplicationConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateWave
        /// 
        /// Create wave.
        /// 
        /// Container for the necessary parameters to execute the CreateWave service method.
        /// 
        /// The response from the CreateWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for CreateWave Operation
        CreateWaveResponse CreateWave(CreateWaveRequest request);
        /// 
        /// Create wave.
        /// 
        /// Container for the necessary parameters to execute the CreateWave service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for CreateWave Operation
        Task CreateWaveAsync(CreateWaveRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteApplication
        /// 
        /// Delete application.
        /// 
        /// Container for the necessary parameters to execute the DeleteApplication service method.
        /// 
        /// The response from the DeleteApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteApplication Operation
        DeleteApplicationResponse DeleteApplication(DeleteApplicationRequest request);
        /// 
        /// Delete application.
        /// 
        /// Container for the necessary parameters to execute the DeleteApplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteApplication Operation
        Task DeleteApplicationAsync(DeleteApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteJob
        /// 
        /// Deletes a single Job by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteJob service method.
        /// 
        /// The response from the DeleteJob service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteJob Operation
        DeleteJobResponse DeleteJob(DeleteJobRequest request);
        /// 
        /// Deletes a single Job by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteJob service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteJob Operation
        Task DeleteJobAsync(DeleteJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteLaunchConfigurationTemplate
        /// 
        /// Deletes a single Launch Configuration Template by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteLaunchConfigurationTemplate service method.
        /// 
        /// The response from the DeleteLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteLaunchConfigurationTemplate Operation
        DeleteLaunchConfigurationTemplateResponse DeleteLaunchConfigurationTemplate(DeleteLaunchConfigurationTemplateRequest request);
        /// 
        /// Deletes a single Launch Configuration Template by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteLaunchConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteLaunchConfigurationTemplate Operation
        Task DeleteLaunchConfigurationTemplateAsync(DeleteLaunchConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteReplicationConfigurationTemplate
        /// 
        /// Deletes a single Replication Configuration Template by ID
        /// 
        /// Container for the necessary parameters to execute the DeleteReplicationConfigurationTemplate service method.
        /// 
        /// The response from the DeleteReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteReplicationConfigurationTemplate Operation
        DeleteReplicationConfigurationTemplateResponse DeleteReplicationConfigurationTemplate(DeleteReplicationConfigurationTemplateRequest request);
        /// 
        /// Deletes a single Replication Configuration Template by ID
        /// 
        /// Container for the necessary parameters to execute the DeleteReplicationConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteReplicationConfigurationTemplate Operation
        Task DeleteReplicationConfigurationTemplateAsync(DeleteReplicationConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteSourceServer
        /// 
        /// Deletes a single source server by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteSourceServer service method.
        /// 
        /// The response from the DeleteSourceServer service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteSourceServer Operation
        DeleteSourceServerResponse DeleteSourceServer(DeleteSourceServerRequest request);
        /// 
        /// Deletes a single source server by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteSourceServer service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteSourceServer service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteSourceServer Operation
        Task DeleteSourceServerAsync(DeleteSourceServerRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteVcenterClient
        /// 
        /// Deletes a given vCenter client by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteVcenterClient service method.
        /// 
        /// The response from the DeleteVcenterClient service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DeleteVcenterClient Operation
        DeleteVcenterClientResponse DeleteVcenterClient(DeleteVcenterClientRequest request);
        /// 
        /// Deletes a given vCenter client by ID.
        /// 
        /// Container for the necessary parameters to execute the DeleteVcenterClient service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteVcenterClient service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DeleteVcenterClient Operation
        Task DeleteVcenterClientAsync(DeleteVcenterClientRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteWave
        /// 
        /// Delete wave.
        /// 
        /// Container for the necessary parameters to execute the DeleteWave service method.
        /// 
        /// The response from the DeleteWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteWave Operation
        DeleteWaveResponse DeleteWave(DeleteWaveRequest request);
        /// 
        /// Delete wave.
        /// 
        /// Container for the necessary parameters to execute the DeleteWave service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DeleteWave Operation
        Task DeleteWaveAsync(DeleteWaveRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeJobLogItems
        /// 
        /// Retrieves detailed job log items with paging.
        /// 
        /// Container for the necessary parameters to execute the DescribeJobLogItems service method.
        /// 
        /// The response from the DescribeJobLogItems service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeJobLogItems Operation
        DescribeJobLogItemsResponse DescribeJobLogItems(DescribeJobLogItemsRequest request);
        /// 
        /// Retrieves detailed job log items with paging.
        /// 
        /// Container for the necessary parameters to execute the DescribeJobLogItems service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeJobLogItems service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeJobLogItems Operation
        Task DescribeJobLogItemsAsync(DescribeJobLogItemsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeJobs
        /// 
        /// Returns a list of Jobs. Use the JobsID and fromDate and toData filters to limit which
        /// jobs are returned. The response is sorted by creationDataTime - latest date first.
        /// Jobs are normally created by the StartTest, StartCutover, and TerminateTargetInstances
        /// APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances,
        /// which are APIs available only to *Support* and only used in response to relevant support
        /// tickets.
        /// 
        /// Container for the necessary parameters to execute the DescribeJobs service method.
        /// 
        /// The response from the DescribeJobs service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeJobs Operation
        DescribeJobsResponse DescribeJobs(DescribeJobsRequest request);
        /// 
        /// Returns a list of Jobs. Use the JobsID and fromDate and toData filters to limit which
        /// jobs are returned. The response is sorted by creationDataTime - latest date first.
        /// Jobs are normally created by the StartTest, StartCutover, and TerminateTargetInstances
        /// APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances,
        /// which are APIs available only to *Support* and only used in response to relevant support
        /// tickets.
        /// 
        /// Container for the necessary parameters to execute the DescribeJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeJobs service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeJobs Operation
        Task DescribeJobsAsync(DescribeJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeLaunchConfigurationTemplates
        /// 
        /// Lists all Launch Configuration Templates, filtered by Launch Configuration Template
        /// IDs
        /// 
        /// Container for the necessary parameters to execute the DescribeLaunchConfigurationTemplates service method.
        /// 
        /// The response from the DescribeLaunchConfigurationTemplates service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeLaunchConfigurationTemplates Operation
        DescribeLaunchConfigurationTemplatesResponse DescribeLaunchConfigurationTemplates(DescribeLaunchConfigurationTemplatesRequest request);
        /// 
        /// Lists all Launch Configuration Templates, filtered by Launch Configuration Template
        /// IDs
        /// 
        /// Container for the necessary parameters to execute the DescribeLaunchConfigurationTemplates service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeLaunchConfigurationTemplates service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeLaunchConfigurationTemplates Operation
        Task DescribeLaunchConfigurationTemplatesAsync(DescribeLaunchConfigurationTemplatesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeReplicationConfigurationTemplates
        /// 
        /// Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
        /// 
        /// Container for the necessary parameters to execute the DescribeReplicationConfigurationTemplates service method.
        /// 
        /// The response from the DescribeReplicationConfigurationTemplates service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeReplicationConfigurationTemplates Operation
        DescribeReplicationConfigurationTemplatesResponse DescribeReplicationConfigurationTemplates(DescribeReplicationConfigurationTemplatesRequest request);
        /// 
        /// Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
        /// 
        /// Container for the necessary parameters to execute the DescribeReplicationConfigurationTemplates service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeReplicationConfigurationTemplates service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeReplicationConfigurationTemplates Operation
        Task DescribeReplicationConfigurationTemplatesAsync(DescribeReplicationConfigurationTemplatesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeSourceServers
        /// 
        /// Retrieves all SourceServers or multiple SourceServers by ID.
        /// 
        /// Container for the necessary parameters to execute the DescribeSourceServers service method.
        /// 
        /// The response from the DescribeSourceServers service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeSourceServers Operation
        DescribeSourceServersResponse DescribeSourceServers(DescribeSourceServersRequest request);
        /// 
        /// Retrieves all SourceServers or multiple SourceServers by ID.
        /// 
        /// Container for the necessary parameters to execute the DescribeSourceServers service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeSourceServers service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeSourceServers Operation
        Task DescribeSourceServersAsync(DescribeSourceServersRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeVcenterClients
        /// 
        /// Returns a list of the installed vCenter clients.
        /// 
        /// Container for the necessary parameters to execute the DescribeVcenterClients service method.
        /// 
        /// The response from the DescribeVcenterClients service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeVcenterClients Operation
        DescribeVcenterClientsResponse DescribeVcenterClients(DescribeVcenterClientsRequest request);
        /// 
        /// Returns a list of the installed vCenter clients.
        /// 
        /// Container for the necessary parameters to execute the DescribeVcenterClients service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeVcenterClients service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for DescribeVcenterClients Operation
        Task DescribeVcenterClientsAsync(DescribeVcenterClientsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DisassociateApplications
        /// 
        /// Disassociate applications from wave.
        /// 
        /// Container for the necessary parameters to execute the DisassociateApplications service method.
        /// 
        /// The response from the DisassociateApplications service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisassociateApplications Operation
        DisassociateApplicationsResponse DisassociateApplications(DisassociateApplicationsRequest request);
        /// 
        /// Disassociate applications from wave.
        /// 
        /// Container for the necessary parameters to execute the DisassociateApplications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateApplications service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisassociateApplications Operation
        Task DisassociateApplicationsAsync(DisassociateApplicationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DisassociateSourceServers
        /// 
        /// Disassociate source servers from application.
        /// 
        /// Container for the necessary parameters to execute the DisassociateSourceServers service method.
        /// 
        /// The response from the DisassociateSourceServers service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisassociateSourceServers Operation
        DisassociateSourceServersResponse DisassociateSourceServers(DisassociateSourceServersRequest request);
        /// 
        /// Disassociate source servers from application.
        /// 
        /// Container for the necessary parameters to execute the DisassociateSourceServers service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateSourceServers service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisassociateSourceServers Operation
        Task DisassociateSourceServersAsync(DisassociateSourceServersRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DisconnectFromService
        /// 
        /// Disconnects specific Source Servers from Application Migration Service. Data replication
        /// is stopped immediately. All AWS resources created by Application Migration Service
        /// for enabling the replication of these source servers will be terminated / deleted
        /// within 90 minutes. Launched Test or Cutover instances will NOT be terminated. If the
        /// agent on the source server has not been prevented from communicating with the Application
        /// Migration Service service, then it will receive a command to uninstall itself (within
        /// approximately 10 minutes). The following properties of the SourceServer will be changed
        /// immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED;
        /// The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will
        /// be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration
        /// will be nullified.
        /// 
        /// Container for the necessary parameters to execute the DisconnectFromService service method.
        /// 
        /// The response from the DisconnectFromService service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisconnectFromService Operation
        DisconnectFromServiceResponse DisconnectFromService(DisconnectFromServiceRequest request);
        /// 
        /// Disconnects specific Source Servers from Application Migration Service. Data replication
        /// is stopped immediately. All AWS resources created by Application Migration Service
        /// for enabling the replication of these source servers will be terminated / deleted
        /// within 90 minutes. Launched Test or Cutover instances will NOT be terminated. If the
        /// agent on the source server has not been prevented from communicating with the Application
        /// Migration Service service, then it will receive a command to uninstall itself (within
        /// approximately 10 minutes). The following properties of the SourceServer will be changed
        /// immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED;
        /// The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will
        /// be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration
        /// will be nullified.
        /// 
        /// Container for the necessary parameters to execute the DisconnectFromService service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisconnectFromService service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for DisconnectFromService Operation
        Task DisconnectFromServiceAsync(DisconnectFromServiceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  FinalizeCutover
        /// 
        /// Finalizes the cutover immediately for specific Source Servers. All AWS resources created
        /// by Application Migration Service for enabling the replication of these source servers
        /// will be terminated / deleted within 90 minutes. Launched Test or Cutover instances
        /// will NOT be terminated. The AWS Replication Agent will receive a command to uninstall
        /// itself (within 10 minutes). The following properties of the SourceServer will be changed
        /// immediately: dataReplicationInfo.dataReplicationState will be changed to DISCONNECTED;
        /// The SourceServer.lifeCycle.state will be changed to CUTOVER; The totalStorageBytes
        /// property fo each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration
        /// and dataReplicationInfo.lagDuration will be nullified.
        /// 
        /// Container for the necessary parameters to execute the FinalizeCutover service method.
        /// 
        /// The response from the FinalizeCutover service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for FinalizeCutover Operation
        FinalizeCutoverResponse FinalizeCutover(FinalizeCutoverRequest request);
        /// 
        /// Finalizes the cutover immediately for specific Source Servers. All AWS resources created
        /// by Application Migration Service for enabling the replication of these source servers
        /// will be terminated / deleted within 90 minutes. Launched Test or Cutover instances
        /// will NOT be terminated. The AWS Replication Agent will receive a command to uninstall
        /// itself (within 10 minutes). The following properties of the SourceServer will be changed
        /// immediately: dataReplicationInfo.dataReplicationState will be changed to DISCONNECTED;
        /// The SourceServer.lifeCycle.state will be changed to CUTOVER; The totalStorageBytes
        /// property fo each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration
        /// and dataReplicationInfo.lagDuration will be nullified.
        /// 
        /// Container for the necessary parameters to execute the FinalizeCutover service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the FinalizeCutover service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for FinalizeCutover Operation
        Task FinalizeCutoverAsync(FinalizeCutoverRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetLaunchConfiguration
        /// 
        /// Lists all LaunchConfigurations available, filtered by Source Server IDs.
        /// 
        /// Container for the necessary parameters to execute the GetLaunchConfiguration service method.
        /// 
        /// The response from the GetLaunchConfiguration service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for GetLaunchConfiguration Operation
        GetLaunchConfigurationResponse GetLaunchConfiguration(GetLaunchConfigurationRequest request);
        /// 
        /// Lists all LaunchConfigurations available, filtered by Source Server IDs.
        /// 
        /// Container for the necessary parameters to execute the GetLaunchConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetLaunchConfiguration service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for GetLaunchConfiguration Operation
        Task GetLaunchConfigurationAsync(GetLaunchConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetReplicationConfiguration
        /// 
        /// Lists all ReplicationConfigurations, filtered by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the GetReplicationConfiguration service method.
        /// 
        /// The response from the GetReplicationConfiguration service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for GetReplicationConfiguration Operation
        GetReplicationConfigurationResponse GetReplicationConfiguration(GetReplicationConfigurationRequest request);
        /// 
        /// Lists all ReplicationConfigurations, filtered by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the GetReplicationConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetReplicationConfiguration service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for GetReplicationConfiguration Operation
        Task GetReplicationConfigurationAsync(GetReplicationConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  InitializeService
        /// 
        /// Initialize Application Migration Service.
        /// 
        /// Container for the necessary parameters to execute the InitializeService service method.
        /// 
        /// The response from the InitializeService service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for InitializeService Operation
        InitializeServiceResponse InitializeService(InitializeServiceRequest request);
        /// 
        /// Initialize Application Migration Service.
        /// 
        /// Container for the necessary parameters to execute the InitializeService service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the InitializeService service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for InitializeService Operation
        Task InitializeServiceAsync(InitializeServiceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListApplications
        /// 
        /// Retrieves all applications or multiple applications by ID.
        /// 
        /// Container for the necessary parameters to execute the ListApplications service method.
        /// 
        /// The response from the ListApplications service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListApplications Operation
        ListApplicationsResponse ListApplications(ListApplicationsRequest request);
        /// 
        /// Retrieves all applications or multiple applications by ID.
        /// 
        /// Container for the necessary parameters to execute the ListApplications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListApplications service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListApplications Operation
        Task ListApplicationsAsync(ListApplicationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListExportErrors
        /// 
        /// List export errors.
        /// 
        /// Container for the necessary parameters to execute the ListExportErrors service method.
        /// 
        /// The response from the ListExportErrors service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListExportErrors Operation
        ListExportErrorsResponse ListExportErrors(ListExportErrorsRequest request);
        /// 
        /// List export errors.
        /// 
        /// Container for the necessary parameters to execute the ListExportErrors service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListExportErrors service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListExportErrors Operation
        Task ListExportErrorsAsync(ListExportErrorsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListExports
        /// 
        /// List exports.
        /// 
        /// Container for the necessary parameters to execute the ListExports service method.
        /// 
        /// The response from the ListExports service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListExports Operation
        ListExportsResponse ListExports(ListExportsRequest request);
        /// 
        /// List exports.
        /// 
        /// Container for the necessary parameters to execute the ListExports service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListExports service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListExports Operation
        Task ListExportsAsync(ListExportsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListImportErrors
        /// 
        /// List import errors.
        /// 
        /// Container for the necessary parameters to execute the ListImportErrors service method.
        /// 
        /// The response from the ListImportErrors service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListImportErrors Operation
        ListImportErrorsResponse ListImportErrors(ListImportErrorsRequest request);
        /// 
        /// List import errors.
        /// 
        /// Container for the necessary parameters to execute the ListImportErrors service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListImportErrors service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListImportErrors Operation
        Task ListImportErrorsAsync(ListImportErrorsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListImports
        /// 
        /// List imports.
        /// 
        /// Container for the necessary parameters to execute the ListImports service method.
        /// 
        /// The response from the ListImports service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListImports Operation
        ListImportsResponse ListImports(ListImportsRequest request);
        /// 
        /// List imports.
        /// 
        /// Container for the necessary parameters to execute the ListImports service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListImports service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListImports Operation
        Task ListImportsAsync(ListImportsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListManagedAccounts
        /// 
        /// List Managed Accounts.
        /// 
        /// Container for the necessary parameters to execute the ListManagedAccounts service method.
        /// 
        /// The response from the ListManagedAccounts service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListManagedAccounts Operation
        ListManagedAccountsResponse ListManagedAccounts(ListManagedAccountsRequest request);
        /// 
        /// List Managed Accounts.
        /// 
        /// Container for the necessary parameters to execute the ListManagedAccounts service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListManagedAccounts service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListManagedAccounts Operation
        Task ListManagedAccountsAsync(ListManagedAccountsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListSourceServerActions
        /// 
        /// List source server post migration custom actions.
        /// 
        /// Container for the necessary parameters to execute the ListSourceServerActions service method.
        /// 
        /// The response from the ListSourceServerActions service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListSourceServerActions Operation
        ListSourceServerActionsResponse ListSourceServerActions(ListSourceServerActionsRequest request);
        /// 
        /// List source server post migration custom actions.
        /// 
        /// Container for the necessary parameters to execute the ListSourceServerActions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListSourceServerActions service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListSourceServerActions Operation
        Task ListSourceServerActionsAsync(ListSourceServerActionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// List all tags for your Application Migration Service resources.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
        /// 
        /// List all tags for your Application Migration Service resources.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListTagsForResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListTemplateActions
        /// 
        /// List template post migration custom actions.
        /// 
        /// Container for the necessary parameters to execute the ListTemplateActions service method.
        /// 
        /// The response from the ListTemplateActions service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListTemplateActions Operation
        ListTemplateActionsResponse ListTemplateActions(ListTemplateActionsRequest request);
        /// 
        /// List template post migration custom actions.
        /// 
        /// Container for the necessary parameters to execute the ListTemplateActions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListTemplateActions service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListTemplateActions Operation
        Task ListTemplateActionsAsync(ListTemplateActionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListWaves
        /// 
        /// Retrieves all waves or multiple waves by ID.
        /// 
        /// Container for the necessary parameters to execute the ListWaves service method.
        /// 
        /// The response from the ListWaves service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListWaves Operation
        ListWavesResponse ListWaves(ListWavesRequest request);
        /// 
        /// Retrieves all waves or multiple waves by ID.
        /// 
        /// Container for the necessary parameters to execute the ListWaves service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListWaves service method, as returned by Mgn.
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for ListWaves Operation
        Task ListWavesAsync(ListWavesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  MarkAsArchived
        /// 
        /// Archives specific Source Servers by setting the SourceServer.isArchived property to
        /// true for specified SourceServers by ID. This command only works for SourceServers
        /// with a lifecycle. state which equals DISCONNECTED or CUTOVER.
        /// 
        /// Container for the necessary parameters to execute the MarkAsArchived service method.
        /// 
        /// The response from the MarkAsArchived service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for MarkAsArchived Operation
        MarkAsArchivedResponse MarkAsArchived(MarkAsArchivedRequest request);
        /// 
        /// Archives specific Source Servers by setting the SourceServer.isArchived property to
        /// true for specified SourceServers by ID. This command only works for SourceServers
        /// with a lifecycle. state which equals DISCONNECTED or CUTOVER.
        /// 
        /// Container for the necessary parameters to execute the MarkAsArchived service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the MarkAsArchived service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for MarkAsArchived Operation
        Task MarkAsArchivedAsync(MarkAsArchivedRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PauseReplication
        /// 
        /// Pause Replication.
        /// 
        /// Container for the necessary parameters to execute the PauseReplication service method.
        /// 
        /// The response from the PauseReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PauseReplication Operation
        PauseReplicationResponse PauseReplication(PauseReplicationRequest request);
        /// 
        /// Pause Replication.
        /// 
        /// Container for the necessary parameters to execute the PauseReplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PauseReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PauseReplication Operation
        Task PauseReplicationAsync(PauseReplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PutSourceServerAction
        /// 
        /// Put source server post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the PutSourceServerAction service method.
        /// 
        /// The response from the PutSourceServerAction service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PutSourceServerAction Operation
        PutSourceServerActionResponse PutSourceServerAction(PutSourceServerActionRequest request);
        /// 
        /// Put source server post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the PutSourceServerAction service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutSourceServerAction service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PutSourceServerAction Operation
        Task PutSourceServerActionAsync(PutSourceServerActionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PutTemplateAction
        /// 
        /// Put template post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the PutTemplateAction service method.
        /// 
        /// The response from the PutTemplateAction service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PutTemplateAction Operation
        PutTemplateActionResponse PutTemplateAction(PutTemplateActionRequest request);
        /// 
        /// Put template post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the PutTemplateAction service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutTemplateAction service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for PutTemplateAction Operation
        Task PutTemplateActionAsync(PutTemplateActionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  RemoveSourceServerAction
        /// 
        /// Remove source server post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the RemoveSourceServerAction service method.
        /// 
        /// The response from the RemoveSourceServerAction service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RemoveSourceServerAction Operation
        RemoveSourceServerActionResponse RemoveSourceServerAction(RemoveSourceServerActionRequest request);
        /// 
        /// Remove source server post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the RemoveSourceServerAction service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the RemoveSourceServerAction service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RemoveSourceServerAction Operation
        Task RemoveSourceServerActionAsync(RemoveSourceServerActionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  RemoveTemplateAction
        /// 
        /// Remove template post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the RemoveTemplateAction service method.
        /// 
        /// The response from the RemoveTemplateAction service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RemoveTemplateAction Operation
        RemoveTemplateActionResponse RemoveTemplateAction(RemoveTemplateActionRequest request);
        /// 
        /// Remove template post migration custom action.
        /// 
        /// Container for the necessary parameters to execute the RemoveTemplateAction service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the RemoveTemplateAction service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RemoveTemplateAction Operation
        Task RemoveTemplateActionAsync(RemoveTemplateActionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ResumeReplication
        /// 
        /// Resume Replication.
        /// 
        /// Container for the necessary parameters to execute the ResumeReplication service method.
        /// 
        /// The response from the ResumeReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ResumeReplication Operation
        ResumeReplicationResponse ResumeReplication(ResumeReplicationRequest request);
        /// 
        /// Resume Replication.
        /// 
        /// Container for the necessary parameters to execute the ResumeReplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ResumeReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for ResumeReplication Operation
        Task ResumeReplicationAsync(ResumeReplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  RetryDataReplication
        /// 
        /// Causes the data replication initiation sequence to begin immediately upon next Handshake
        /// for specified SourceServer IDs, regardless of when the previous initiation started.
        /// This command will not work if the SourceServer is not stalled or is in a DISCONNECTED
        /// or STOPPED state.
        /// 
        /// Container for the necessary parameters to execute the RetryDataReplication service method.
        /// 
        /// The response from the RetryDataReplication service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RetryDataReplication Operation
        RetryDataReplicationResponse RetryDataReplication(RetryDataReplicationRequest request);
        /// 
        /// Causes the data replication initiation sequence to begin immediately upon next Handshake
        /// for specified SourceServer IDs, regardless of when the previous initiation started.
        /// This command will not work if the SourceServer is not stalled or is in a DISCONNECTED
        /// or STOPPED state.
        /// 
        /// Container for the necessary parameters to execute the RetryDataReplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the RetryDataReplication service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for RetryDataReplication Operation
        Task RetryDataReplicationAsync(RetryDataReplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartCutover
        /// 
        /// Launches a Cutover Instance for specific Source Servers. This command starts a LAUNCH
        /// job whose initiatedBy property is StartCutover and changes the SourceServer.lifeCycle.state
        /// property to CUTTING_OVER.
        /// 
        /// Container for the necessary parameters to execute the StartCutover service method.
        /// 
        /// The response from the StartCutover service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartCutover Operation
        StartCutoverResponse StartCutover(StartCutoverRequest request);
        /// 
        /// Launches a Cutover Instance for specific Source Servers. This command starts a LAUNCH
        /// job whose initiatedBy property is StartCutover and changes the SourceServer.lifeCycle.state
        /// property to CUTTING_OVER.
        /// 
        /// Container for the necessary parameters to execute the StartCutover service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartCutover service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartCutover Operation
        Task StartCutoverAsync(StartCutoverRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartExport
        /// 
        /// Start export.
        /// 
        /// Container for the necessary parameters to execute the StartExport service method.
        /// 
        /// The response from the StartExport service method, as returned by Mgn.
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartExport Operation
        StartExportResponse StartExport(StartExportRequest request);
        /// 
        /// Start export.
        /// 
        /// Container for the necessary parameters to execute the StartExport service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartExport service method, as returned by Mgn.
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartExport Operation
        Task StartExportAsync(StartExportRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartImport
        /// 
        /// Start import.
        /// 
        /// Container for the necessary parameters to execute the StartImport service method.
        /// 
        /// The response from the StartImport service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartImport Operation
        StartImportResponse StartImport(StartImportRequest request);
        /// 
        /// Start import.
        /// 
        /// Container for the necessary parameters to execute the StartImport service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartImport service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartImport Operation
        Task StartImportAsync(StartImportRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartReplication
        /// 
        /// Starts replication for SNAPSHOT_SHIPPING agents.
        /// 
        /// Container for the necessary parameters to execute the StartReplication service method.
        /// 
        /// The response from the StartReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartReplication Operation
        StartReplicationResponse StartReplication(StartReplicationRequest request);
        /// 
        /// Starts replication for SNAPSHOT_SHIPPING agents.
        /// 
        /// Container for the necessary parameters to execute the StartReplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartReplication Operation
        Task StartReplicationAsync(StartReplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartTest
        /// 
        /// Launches a Test Instance for specific Source Servers. This command starts a LAUNCH
        /// job whose initiatedBy property is StartTest and changes the SourceServer.lifeCycle.state
        /// property to TESTING.
        /// 
        /// Container for the necessary parameters to execute the StartTest service method.
        /// 
        /// The response from the StartTest service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartTest Operation
        StartTestResponse StartTest(StartTestRequest request);
        /// 
        /// Launches a Test Instance for specific Source Servers. This command starts a LAUNCH
        /// job whose initiatedBy property is StartTest and changes the SourceServer.lifeCycle.state
        /// property to TESTING.
        /// 
        /// Container for the necessary parameters to execute the StartTest service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartTest service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StartTest Operation
        Task StartTestAsync(StartTestRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StopReplication
        /// 
        /// Stop Replication.
        /// 
        /// Container for the necessary parameters to execute the StopReplication service method.
        /// 
        /// The response from the StopReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StopReplication Operation
        StopReplicationResponse StopReplication(StopReplicationRequest request);
        /// 
        /// Stop Replication.
        /// 
        /// Container for the necessary parameters to execute the StopReplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopReplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for StopReplication Operation
        Task StopReplicationAsync(StopReplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  TagResource
        /// 
        /// Adds or overwrites only the specified tags for the specified Application Migration
        /// Service resource or resources. When you specify an existing tag key, the value is
        /// overwritten with the new value. Each resource can have a maximum of 50 tags. Each
        /// tag consists of a key and optional value.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for TagResource Operation
        TagResourceResponse TagResource(TagResourceRequest request);
        /// 
        /// Adds or overwrites only the specified tags for the specified Application Migration
        /// Service resource or resources. When you specify an existing tag key, the value is
        /// overwritten with the new value. Each resource can have a maximum of 50 tags. Each
        /// tag consists of a key and optional value.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the TagResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for TagResource Operation
        Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  TerminateTargetInstances
        /// 
        /// Starts a job that terminates specific launched EC2 Test and Cutover instances. This
        /// command will not work for any Source Server with a lifecycle.state of TESTING, CUTTING_OVER,
        /// or CUTOVER.
        /// 
        /// Container for the necessary parameters to execute the TerminateTargetInstances service method.
        /// 
        /// The response from the TerminateTargetInstances service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for TerminateTargetInstances Operation
        TerminateTargetInstancesResponse TerminateTargetInstances(TerminateTargetInstancesRequest request);
        /// 
        /// Starts a job that terminates specific launched EC2 Test and Cutover instances. This
        /// command will not work for any Source Server with a lifecycle.state of TESTING, CUTTING_OVER,
        /// or CUTOVER.
        /// 
        /// Container for the necessary parameters to execute the TerminateTargetInstances service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the TerminateTargetInstances service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for TerminateTargetInstances Operation
        Task TerminateTargetInstancesAsync(TerminateTargetInstancesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UnarchiveApplication
        /// 
        /// Unarchive application.
        /// 
        /// Container for the necessary parameters to execute the UnarchiveApplication service method.
        /// 
        /// The response from the UnarchiveApplication service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UnarchiveApplication Operation
        UnarchiveApplicationResponse UnarchiveApplication(UnarchiveApplicationRequest request);
        /// 
        /// Unarchive application.
        /// 
        /// Container for the necessary parameters to execute the UnarchiveApplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UnarchiveApplication service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UnarchiveApplication Operation
        Task UnarchiveApplicationAsync(UnarchiveApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UnarchiveWave
        /// 
        /// Unarchive wave.
        /// 
        /// Container for the necessary parameters to execute the UnarchiveWave service method.
        /// 
        /// The response from the UnarchiveWave service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UnarchiveWave Operation
        UnarchiveWaveResponse UnarchiveWave(UnarchiveWaveRequest request);
        /// 
        /// Unarchive wave.
        /// 
        /// Container for the necessary parameters to execute the UnarchiveWave service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UnarchiveWave service method, as returned by Mgn.
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// The request could not be completed because its exceeded the service quota.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UnarchiveWave Operation
        Task UnarchiveWaveAsync(UnarchiveWaveRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UntagResource
        /// 
        /// Deletes the specified set of tags from the specified set of Application Migration
        /// Service resources.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse UntagResource(UntagResourceRequest request);
        /// 
        /// Deletes the specified set of tags from the specified set of Application Migration
        /// Service resources.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UntagResource service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The server encountered an unexpected condition that prevented it from fulfilling the
        /// request.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Reached throttling quota exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UntagResource Operation
        Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateApplication
        /// 
        /// Update application.
        /// 
        /// Container for the necessary parameters to execute the UpdateApplication service method.
        /// 
        /// The response from the UpdateApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UpdateApplication Operation
        UpdateApplicationResponse UpdateApplication(UpdateApplicationRequest request);
        /// 
        /// Update application.
        /// 
        /// Container for the necessary parameters to execute the UpdateApplication service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateApplication service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UpdateApplication Operation
        Task UpdateApplicationAsync(UpdateApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateLaunchConfiguration
        /// 
        /// Updates multiple LaunchConfigurations by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateLaunchConfiguration service method.
        /// 
        /// The response from the UpdateLaunchConfiguration service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateLaunchConfiguration Operation
        UpdateLaunchConfigurationResponse UpdateLaunchConfiguration(UpdateLaunchConfigurationRequest request);
        /// 
        /// Updates multiple LaunchConfigurations by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateLaunchConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateLaunchConfiguration service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateLaunchConfiguration Operation
        Task UpdateLaunchConfigurationAsync(UpdateLaunchConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateLaunchConfigurationTemplate
        /// 
        /// Updates an existing Launch Configuration Template by ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateLaunchConfigurationTemplate service method.
        /// 
        /// The response from the UpdateLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateLaunchConfigurationTemplate Operation
        UpdateLaunchConfigurationTemplateResponse UpdateLaunchConfigurationTemplate(UpdateLaunchConfigurationTemplateRequest request);
        /// 
        /// Updates an existing Launch Configuration Template by ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateLaunchConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateLaunchConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateLaunchConfigurationTemplate Operation
        Task UpdateLaunchConfigurationTemplateAsync(UpdateLaunchConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateReplicationConfiguration
        /// 
        /// Allows you to update multiple ReplicationConfigurations by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateReplicationConfiguration service method.
        /// 
        /// The response from the UpdateReplicationConfiguration service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateReplicationConfiguration Operation
        UpdateReplicationConfigurationResponse UpdateReplicationConfiguration(UpdateReplicationConfigurationRequest request);
        /// 
        /// Allows you to update multiple ReplicationConfigurations by Source Server ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateReplicationConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateReplicationConfiguration service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateReplicationConfiguration Operation
        Task UpdateReplicationConfigurationAsync(UpdateReplicationConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateReplicationConfigurationTemplate
        /// 
        /// Updates multiple ReplicationConfigurationTemplates by ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateReplicationConfigurationTemplate service method.
        /// 
        /// The response from the UpdateReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateReplicationConfigurationTemplate Operation
        UpdateReplicationConfigurationTemplateResponse UpdateReplicationConfigurationTemplate(UpdateReplicationConfigurationTemplateRequest request);
        /// 
        /// Updates multiple ReplicationConfigurationTemplates by ID.
        /// 
        /// Container for the necessary parameters to execute the UpdateReplicationConfigurationTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateReplicationConfigurationTemplate service method, as returned by Mgn.
        /// 
        /// Operating denied due to a file permission or access check error.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateReplicationConfigurationTemplate Operation
        Task UpdateReplicationConfigurationTemplateAsync(UpdateReplicationConfigurationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateSourceServerReplicationType
        /// 
        /// Allows you to change between the AGENT_BASED replication type and the SNAPSHOT_SHIPPING
        /// replication type.
        /// 
        /// Container for the necessary parameters to execute the UpdateSourceServerReplicationType service method.
        /// 
        /// The response from the UpdateSourceServerReplicationType service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateSourceServerReplicationType Operation
        UpdateSourceServerReplicationTypeResponse UpdateSourceServerReplicationType(UpdateSourceServerReplicationTypeRequest request);
        /// 
        /// Allows you to change between the AGENT_BASED replication type and the SNAPSHOT_SHIPPING
        /// replication type.
        /// 
        /// Container for the necessary parameters to execute the UpdateSourceServerReplicationType service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateSourceServerReplicationType service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// 
        /// Validate exception.
        /// 
        /// REST API Reference for UpdateSourceServerReplicationType Operation
        Task UpdateSourceServerReplicationTypeAsync(UpdateSourceServerReplicationTypeRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateWave
        /// 
        /// Update wave.
        /// 
        /// Container for the necessary parameters to execute the UpdateWave service method.
        /// 
        /// The response from the UpdateWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UpdateWave Operation
        UpdateWaveResponse UpdateWave(UpdateWaveRequest request);
        /// 
        /// Update wave.
        /// 
        /// Container for the necessary parameters to execute the UpdateWave service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateWave service method, as returned by Mgn.
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Resource not found exception.
        /// 
        /// 
        /// Uninitialized account exception.
        /// 
        /// REST API Reference for UpdateWave Operation
        Task UpdateWaveAsync(UpdateWaveRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
    }
}