export interface ChangeServerLifeCycleStateSourceServerLifecycle {
    /** The request to change the source server migration lifecycle state. */
    state: 'READY_FOR_TEST' | 'READY_FOR_CUTOVER' | 'CUTOVER';
}
export interface ConnectorSsmCommandConfig {
    /** Connector SSM command config S3 output enabled. */
    s3OutputEnabled: boolean;
    /** Connector SSM command config output S3 bucket name. */
    outputS3BucketName?: string;
    /** Connector SSM command config CloudWatch output enabled. */
    cloudWatchOutputEnabled: boolean;
    /** Connector SSM command config CloudWatch log group name. */
    cloudWatchLogGroupName?: string;
}
export interface PostLaunchActions {
    /** Deployment type in which AWS Systems Manager Documents will be executed. */
    deployment?: 'TEST_AND_CUTOVER' | 'CUTOVER_ONLY' | 'TEST_ONLY';
    /** AWS Systems Manager Command's logs S3 log bucket. */
    s3LogBucket?: string;
    /** AWS Systems Manager Command's logs S3 output key prefix. */
    s3OutputKeyPrefix?: string;
    /** AWS Systems Manager Command's CloudWatch log group name. */
    cloudWatchLogGroupName?: string;
    /** AWS Systems Manager Documents. */
    ssmDocuments?: any[];
}
export interface Licensing {
    /** Configure BYOL OS licensing. */
    osByol?: boolean;
}
export interface LaunchTemplateDiskConf {
    /** Launch template disk volume type configuration. */
    volumeType?: 'io1' | 'io2' | 'gp3' | 'gp2' | 'st1' | 'sc1' | 'standard';
    /** Launch template disk iops configuration. */
    iops?: number;
    /** Launch template disk throughput configuration. */
    throughput?: number;
}
export interface DescribeJobsRequestFilters {
    /** Request to describe Job log filters by job ID. */
    jobIDs?: string[];
    /** Request to describe Job log filters by date. */
    fromDate?: string;
    /** Request to describe job log items by last date. */
    toDate?: string;
}
export interface DescribeSourceServersRequestFilters {
    /** Request to filter Source Servers list by Source Server ID. */
    sourceServerIDs?: string[];
    /** Request to filter Source Servers list by archived. */
    isArchived?: boolean;
    /** Request to filter Source Servers list by replication type. */
    replicationTypes?: 'AGENT_BASED' | 'SNAPSHOT_SHIPPING'[];
    /** Request to filter Source Servers list by life cycle states. */
    lifeCycleStates?: 'STOPPED' | 'NOT_READY' | 'READY_FOR_TEST' | 'TESTING' | 'READY_FOR_CUTOVER' | 'CUTTING_OVER' | 'CUTOVER' | 'DISCONNECTED' | 'DISCOVERED' | 'PENDING_INSTALLATION'[];
    /** Request to filter Source Servers list by application IDs. */
    applicationIDs?: string[];
}
export interface ListApplicationsRequestFilters {
    /** Filter applications list by application ID. */
    applicationIDs?: string[];
    /** Filter applications list by archival status. */
    isArchived?: boolean;
    /** Filter applications list by wave ID. */
    waveIDs?: string[];
}
export interface ListConnectorsRequestFilters {
    /** List Connectors Request Filters connector IDs. */
    connectorIDs?: string[];
}
export interface ListExportsRequestFilters {
    /** List exports request filters export ids. */
    exportIDs?: string[];
}
export interface ListImportsRequestFilters {
    /** List imports request filters import IDs. */
    importIDs?: string[];
}
export interface SourceServerActionsRequestFilters {
    /** Action IDs to filter source server post migration custom actions by. */
    actionIDs?: string[];
}
export interface TemplateActionsRequestFilters {
    /** Action IDs to filter template post migration custom actions by. */
    actionIDs?: string[];
}
export interface ListWavesRequestFilters {
    /** Filter waves list by wave ID. */
    waveIDs?: string[];
    /** Filter waves list by archival status. */
    isArchived?: boolean;
}
export interface S3BucketSource {
    /** S3 bucket source s3 bucket. */
    s3Bucket: string;
    /** S3 bucket source s3 key. */
    s3Key: string;
    /** S3 bucket source s3 bucket owner. */
    s3BucketOwner?: string;
}
export interface ReplicationConfigurationReplicatedDisk {
    /** Replication Configuration replicated disk device name. */
    deviceName?: string;
    /** Replication Configuration replicated disk boot disk. */
    isBootDisk?: boolean;
    /** Replication Configuration replicated disk staging disk type. */
    stagingDiskType?: 'AUTO' | 'GP2' | 'IO1' | 'SC1' | 'ST1' | 'STANDARD' | 'GP3' | 'IO2';
    /** Replication Configuration replicated disk IOPs. */
    iops?: number;
    /** Replication Configuration replicated disk throughput. */
    throughput?: number;
}
export interface SourceServerConnectorAction {
    /** Source Server connector action credentials secret arn. */
    credentialsSecretArn?: string;
    /** Source Server connector action connector arn. */
    connectorArn?: string;
}
export interface ArchiveApplicationInput {
    /** Application ID. */
    applicationID: string;
    /** Account ID. */
    accountID?: string;
}
export interface ArchiveWaveInput {
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
}
export interface AssociateApplicationsInput {
    /** Application IDs list. */
    applicationIDs: string[];
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
}
export interface AssociateSourceServersInput {
    /** Application ID. */
    applicationID: string;
    /** Source server IDs list. */
    sourceServerIDs: string[];
    /** Account ID. */
    accountID?: string;
}
export interface ChangeServerLifeCycleStateInput {
    /** The request to change the source server migration lifecycle state. */
    lifeCycle: ChangeServerLifeCycleStateSourceServerLifecycle;
    /** The request to change the source server migration lifecycle state by source server ID. */
    sourceServerID: string;
    /** The request to change the source server migration account ID. */
    accountID?: string;
}
export interface CreateApplicationInput {
    /** Application name. */
    name: string;
    /** Account ID. */
    accountID?: string;
    /** Application description. */
    description?: string;
    /** Application tags. */
    tags?: Record<string, string>;
}
export interface CreateConnectorInput {
    /** Create Connector request name. */
    name: string;
    /** Create Connector request SSM instance ID. */
    ssmInstanceID: string;
    /** Create Connector request SSM command config. */
    ssmCommandConfig?: ConnectorSsmCommandConfig;
    /** Create Connector request tags. */
    tags?: Record<string, string>;
}
export interface CreateLaunchConfigurationTemplateInput {
    /** Associate public Ip address. */
    associatePublicIpAddress?: boolean;
    /** Launch configuration template boot mode. */
    bootMode?: 'LEGACY_BIOS' | 'UEFI' | 'USE_SOURCE';
    /** Copy private Ip. */
    copyPrivateIp?: boolean;
    /** Copy tags. */
    copyTags?: boolean;
    /** Enable map auto tagging. */
    enableMapAutoTagging?: boolean;
    /** Enable parameters encryption. */
    enableParametersEncryption?: boolean;
    /** Large volume config. */
    largeVolumeConf?: LaunchTemplateDiskConf;
    /** Launch disposition. */
    launchDisposition?: 'STOPPED' | 'STARTED';
    licensing?: Licensing;
    /** Launch configuration template map auto tagging MPE ID. */
    mapAutoTaggingMpeID?: string;
    /** Parameters encryption key. */
    parametersEncryptionKey?: string;
    /** Launch configuration template post launch actions. */
    postLaunchActions?: PostLaunchActions;
    /** Small volume config. */
    smallVolumeConf?: LaunchTemplateDiskConf;
    /** Small volume maximum size. */
    smallVolumeMaxSize?: number;
    /** Request to associate tags during creation of a Launch Configuration Template. */
    tags?: Record<string, string>;
    /** Target instance type right-sizing method. */
    targetInstanceTypeRightSizingMethod?: 'NONE' | 'BASIC';
}
export interface CreateReplicationConfigurationTemplateInput {
    /** Request to associate the default Application Migration Service Security group with the Replication Settings template. */
    associateDefaultSecurityGroup: boolean;
    /** Request to configure bandwidth throttling during Replication Settings template creation. */
    bandwidthThrottling: number;
    /** Request to create Public IP during Replication Settings template creation. */
    createPublicIP: boolean;
    /** Request to configure data plane routing during Replication Settings template creation. */
    dataPlaneRouting: 'PRIVATE_IP' | 'PUBLIC_IP';
    /** Request to configure the default large staging disk EBS volume type during Replication Settings template creation. */
    defaultLargeStagingDiskType: 'GP2' | 'ST1' | 'GP3';
    /** Request to configure EBS encryption during Replication Settings template creation. */
    ebsEncryption: 'DEFAULT' | 'CUSTOM';
    /** Request to configure the Replication Server instance type during Replication Settings template creation. */
    replicationServerInstanceType: string;
    /** Request to configure the Replication Server Security group ID during Replication Settings template creation. */
    replicationServersSecurityGroupsIDs: string[];
    /** Request to configure the Staging Area subnet ID during Replication Settings template creation. */
    stagingAreaSubnetId: string;
    /** Request to configure Staging Area tags during Replication Settings template creation. */
    stagingAreaTags: Record<string, string>;
    /** Request to use Dedicated Replication Servers during Replication Settings template creation. */
    useDedicatedReplicationServer: boolean;
    /** Request to configure an EBS encryption key during Replication Settings template creation. */
    ebsEncryptionKeyArn?: string;
    /** Request to configure the internet protocol to IPv4 or IPv6. */
    internetProtocol?: 'IPV4' | 'IPV6';
    /** Request to configure tags during Replication Settings template creation. */
    tags?: Record<string, string>;
    /** Request to use Fips Endpoint during Replication Settings template creation. */
    useFipsEndpoint?: boolean;
}
export interface CreateWaveInput {
    /** Wave name. */
    name: string;
    /** Account ID. */
    accountID?: string;
    /** Wave description. */
    description?: string;
    /** Wave tags. */
    tags?: Record<string, string>;
}
export interface DeleteApplicationInput {
    /** Application ID. */
    applicationID: string;
    /** Account ID. */
    accountID?: string;
}
export interface DeleteConnectorInput {
    /** Delete Connector request connector ID. */
    connectorID: string;
}
export interface DeleteJobInput {
    /** Request to delete Job from service by Job ID. */
    jobID: string;
    /** Request to delete Job from service by Account ID. */
    accountID?: string;
}
export interface DeleteLaunchConfigurationTemplateInput {
    /** ID of resource to be deleted. */
    launchConfigurationTemplateID: string;
}
export interface DeleteReplicationConfigurationTemplateInput {
    /** Request to delete Replication Configuration Template from service by Replication Configuration Template ID. */
    replicationConfigurationTemplateID: string;
}
export interface DeleteSourceServerInput {
    /** Request to delete Source Server from service by Server ID. */
    sourceServerID: string;
    /** Request to delete Source Server from service by Account ID. */
    accountID?: string;
}
export interface DeleteVcenterClientInput {
    /** ID of resource to be deleted. */
    vcenterClientID: string;
}
export interface DeleteWaveInput {
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
}
export interface DescribeJobLogItemsInput {
    /** Request to describe Job log job ID. */
    jobID: string;
    /** Request to describe Job log Account ID. */
    accountID?: string;
    /** Request to describe Job log item maximum results. */
    maxResults?: number;
    /** Request to describe Job log next token. */
    nextToken?: string;
}
export interface DescribeJobsInput {
    /** Request to describe job log items by Account ID. */
    accountID?: string;
    /** Request to describe Job log filters. */
    filters?: DescribeJobsRequestFilters;
    /** Request to describe job log items by max results. */
    maxResults?: number;
    /** Request to describe job log items by next token. */
    nextToken?: string;
}
export interface DescribeLaunchConfigurationTemplatesInput {
    /** Request to filter Launch Configuration Templates list by Launch Configuration Template ID. */
    launchConfigurationTemplateIDs?: string[];
    /** Maximum results to be returned in DescribeLaunchConfigurationTemplates. */
    maxResults?: number;
    /** Next pagination token returned from DescribeLaunchConfigurationTemplates. */
    nextToken?: string;
}
export interface DescribeReplicationConfigurationTemplatesInput {
    /** Request to describe Replication Configuration template by max results. */
    maxResults?: number;
    /** Request to describe Replication Configuration template by next token. */
    nextToken?: string;
    /** Request to describe Replication Configuration template by template IDs. */
    replicationConfigurationTemplateIDs?: string[];
}
export interface DescribeSourceServersInput {
    /** Request to filter Source Servers list by Accoun ID. */
    accountID?: string;
    /** Request to filter Source Servers list. */
    filters?: DescribeSourceServersRequestFilters;
    /** Request to filter Source Servers list by maximum results. */
    maxResults?: number;
    /** Request to filter Source Servers list by next token. */
    nextToken?: string;
}
export interface DescribeVcenterClientsInput {
    /** Maximum results to be returned in DescribeVcenterClients. */
    maxResults?: number;
    /** Next pagination token to be provided for DescribeVcenterClients. */
    nextToken?: string;
}
export interface DisassociateApplicationsInput {
    /** Application IDs list. */
    applicationIDs: string[];
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
}
export interface DisassociateSourceServersInput {
    /** Application ID. */
    applicationID: string;
    /** Source server IDs list. */
    sourceServerIDs: string[];
    /** Account ID. */
    accountID?: string;
}
export interface DisconnectFromServiceInput {
    /** Request to disconnect Source Server from service by Server ID. */
    sourceServerID: string;
    /** Request to disconnect Source Server from service by Account ID. */
    accountID?: string;
}
export interface FinalizeCutoverInput {
    /** Request to finalize Cutover by Source Server ID. */
    sourceServerID: string;
    /** Request to finalize Cutover by Source Account ID. */
    accountID?: string;
}
export interface GetLaunchConfigurationInput {
    /** Request to get Launch Configuration information by Source Server ID. */
    sourceServerID: string;
    /** Request to get Launch Configuration information by Account ID. */
    accountID?: string;
}
export interface GetReplicationConfigurationInput {
    /** Request to get Replication Configuration by Source Server ID. */
    sourceServerID: string;
    /** Request to get Replication Configuration by Account ID. */
    accountID?: string;
}
export interface ListApplicationsInput {
    /** Applications list Account ID. */
    accountID?: string;
    /** Applications list filters. */
    filters?: ListApplicationsRequestFilters;
    /** Maximum results to return when listing applications. */
    maxResults?: number;
    /** Request next token. */
    nextToken?: string;
}
export interface ListConnectorsInput {
    /** List Connectors Request filters. */
    filters?: ListConnectorsRequestFilters;
    /** List Connectors Request max results. */
    maxResults?: number;
    /** List Connectors Request next token. */
    nextToken?: string;
}
/** List export errors request. */
export interface ListExportErrorsInput {
    /** List export errors request export id. */
    exportID: string;
    /** List export errors request max results. */
    maxResults?: number;
    /** List export errors request next token. */
    nextToken?: string;
}
/** List export request. */
export interface ListExportsInput {
    filters?: ListExportsRequestFilters;
    /** List export request max results. */
    maxResults?: number;
    /** List export request next token. */
    nextToken?: string;
}
/** List import errors request. */
export interface ListImportErrorsInput {
    /** List import errors request import id. */
    importID: string;
    /** List import errors request max results. */
    maxResults?: number;
    /** List import errors request next token. */
    nextToken?: string;
}
/** List imports request. */
export interface ListImportsInput {
    /** List imports request filters. */
    filters?: ListImportsRequestFilters;
    /** List imports request max results. */
    maxResults?: number;
    /** List imports request next token. */
    nextToken?: string;
}
/** List managed accounts request. */
export interface ListManagedAccountsInput {
    /** List managed accounts request max results. */
    maxResults?: number;
    /** List managed accounts request next token. */
    nextToken?: string;
}
export interface ListSourceServerActionsInput {
    /** Source server ID. */
    sourceServerID: string;
    /** Account ID to return when listing source server post migration custom actions. */
    accountID?: string;
    /** Filters to apply when listing source server post migration custom actions. */
    filters?: SourceServerActionsRequestFilters;
    /** Maximum amount of items to return when listing source server post migration custom actions. */
    maxResults?: number;
    /** Next token to use when listing source server post migration custom actions. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** List tags for resource request by ARN. */
    resourceArn: string;
}
export interface ListTemplateActionsInput {
    /** Launch configuration template ID. */
    launchConfigurationTemplateID: string;
    /** Filters to apply when listing template post migration custom actions. */
    filters?: TemplateActionsRequestFilters;
    /** Maximum amount of items to return when listing template post migration custom actions. */
    maxResults?: number;
    /** Next token to use when listing template post migration custom actions. */
    nextToken?: string;
}
export interface ListWavesInput {
    /** Request account ID. */
    accountID?: string;
    /** Waves list filters. */
    filters?: ListWavesRequestFilters;
    /** Maximum results to return when listing waves. */
    maxResults?: number;
    /** Request next token. */
    nextToken?: string;
}
export interface MarkAsArchivedInput {
    /** Mark as archived by Source Server ID. */
    sourceServerID: string;
    /** Mark as archived by Account ID. */
    accountID?: string;
}
export interface PauseReplicationInput {
    /** Pause Replication Request source server ID. */
    sourceServerID: string;
    /** Pause Replication Request account ID. */
    accountID?: string;
}
export interface PutSourceServerActionInput {
    /** Source server post migration custom action ID. */
    actionID: string;
    /** Source server post migration custom action name. */
    actionName: string;
    /** Source server post migration custom action document identifier. */
    documentIdentifier: string;
    /** Source server post migration custom action order. */
    order: number;
    /** Source server ID. */
    sourceServerID: string;
    /** Source server post migration custom account ID. */
    accountID?: string;
    /** Source server post migration custom action active status. */
    active?: boolean;
    /** Source server post migration custom action category. */
    category?: 'DISASTER_RECOVERY' | 'OPERATING_SYSTEM' | 'LICENSE_AND_SUBSCRIPTION' | 'VALIDATION' | 'OBSERVABILITY' | 'REFACTORING' | 'SECURITY' | 'NETWORKING' | 'CONFIGURATION' | 'BACKUP' | 'OTHER';
    /** Source server post migration custom action description. */
    description?: string;
    /** Source server post migration custom action document version. */
    documentVersion?: string;
    /** Source server post migration custom action external parameters. */
    externalParameters?: Record<string, {
        dynamicPath?: string;
    }>;
    /** Source server post migration custom action must succeed for cutover. */
    mustSucceedForCutover?: boolean;
    /** Source server post migration custom action parameters. */
    parameters?: Record<string, any[]>;
    /** Source server post migration custom action timeout in seconds. */
    timeoutSeconds?: number;
}
export interface PutTemplateActionInput {
    /** Template post migration custom action ID. */
    actionID: string;
    /** Template post migration custom action name. */
    actionName: string;
    /** Template post migration custom action document identifier. */
    documentIdentifier: string;
    /** Launch configuration template ID. */
    launchConfigurationTemplateID: string;
    /** Template post migration custom action order. */
    order: number;
    /** Template post migration custom action active status. */
    active?: boolean;
    /** Template post migration custom action category. */
    category?: 'DISASTER_RECOVERY' | 'OPERATING_SYSTEM' | 'LICENSE_AND_SUBSCRIPTION' | 'VALIDATION' | 'OBSERVABILITY' | 'REFACTORING' | 'SECURITY' | 'NETWORKING' | 'CONFIGURATION' | 'BACKUP' | 'OTHER';
    /** Template post migration custom action description. */
    description?: string;
    /** Template post migration custom action document version. */
    documentVersion?: string;
    /** Template post migration custom action external parameters. */
    externalParameters?: Record<string, {
        dynamicPath?: string;
    }>;
    /** Template post migration custom action must succeed for cutover. */
    mustSucceedForCutover?: boolean;
    /** Operating system eligible for this template post migration custom action. */
    operatingSystem?: string;
    /** Template post migration custom action parameters. */
    parameters?: Record<string, any[]>;
    /** Template post migration custom action timeout in seconds. */
    timeoutSeconds?: number;
}
export interface RemoveSourceServerActionInput {
    /** Source server post migration custom action ID to remove. */
    actionID: string;
    /** Source server ID of the post migration custom action to remove. */
    sourceServerID: string;
    /** Source server post migration account ID. */
    accountID?: string;
}
export interface RemoveTemplateActionInput {
    /** Template post migration custom action ID to remove. */
    actionID: string;
    /** Launch configuration template ID of the post migration custom action to remove. */
    launchConfigurationTemplateID: string;
}
export interface ResumeReplicationInput {
    /** Resume Replication Request source server ID. */
    sourceServerID: string;
    /** Resume Replication Request account ID. */
    accountID?: string;
}
export interface RetryDataReplicationInput {
    /** Retry data replication for Source Server ID. */
    sourceServerID: string;
    /** Retry data replication for Account ID. */
    accountID?: string;
}
export interface StartCutoverInput {
    /** Start Cutover by Source Server IDs. */
    sourceServerIDs: string[];
    /** Start Cutover by Account IDs */
    accountID?: string;
    /** Start Cutover by Tags. */
    tags?: Record<string, string>;
}
/** Start export request. */
export interface StartExportInput {
    /** Start export request s3 bucket. */
    s3Bucket: string;
    /** Start export request s3key. */
    s3Key: string;
    /** Start export request s3 bucket owner. */
    s3BucketOwner?: string;
    /** Start import request tags. */
    tags?: Record<string, string>;
}
/** Start import request. */
export interface StartImportInput {
    /** Start import request s3 bucket source. */
    s3BucketSource: S3BucketSource;
    /** Start import request client token. */
    clientToken?: string;
    /** Start import request tags. */
    tags?: Record<string, string>;
}
export interface StartReplicationInput {
    /** ID of source server on which to start replication. */
    sourceServerID: string;
    /** Account ID on which to start replication. */
    accountID?: string;
}
export interface StartTestInput {
    /** Start Test for Source Server IDs. */
    sourceServerIDs: string[];
    /** Start Test for Account ID. */
    accountID?: string;
    /** Start Test by Tags. */
    tags?: Record<string, string>;
}
export interface StopReplicationInput {
    /** Stop Replication Request source server ID. */
    sourceServerID: string;
    /** Stop Replication Request account ID. */
    accountID?: string;
}
export interface TagResourceInput {
    /** Tag resource by ARN. */
    resourceArn: string;
    /** Tag resource by Tags. */
    tags: Record<string, string>;
}
export interface TerminateTargetInstancesInput {
    /** Terminate Target instance by Source Server IDs. */
    sourceServerIDs: string[];
    /** Terminate Target instance by Account ID */
    accountID?: string;
    /** Terminate Target instance by Tags. */
    tags?: Record<string, string>;
}
export interface UnarchiveApplicationInput {
    /** Application ID. */
    applicationID: string;
    /** Account ID. */
    accountID?: string;
}
export interface UnarchiveWaveInput {
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
}
export interface UntagResourceInput {
    /** Untag resource by ARN. */
    resourceArn: string;
    /** Untag resource by Keys. */
    tagKeys: string[];
}
export interface UpdateApplicationInput {
    /** Application ID. */
    applicationID: string;
    /** Account ID. */
    accountID?: string;
    /** Application description. */
    description?: string;
    /** Application name. */
    name?: string;
}
export interface UpdateConnectorInput {
    /** Update Connector request connector ID. */
    connectorID: string;
    /** Update Connector request name. */
    name?: string;
    /** Update Connector request SSM command config. */
    ssmCommandConfig?: ConnectorSsmCommandConfig;
}
export interface UpdateLaunchConfigurationInput {
    /** Update Launch configuration by Source Server ID request. */
    sourceServerID: string;
    /** Update Launch configuration Account ID. */
    accountID?: string;
    /** Update Launch configuration boot mode request. */
    bootMode?: 'LEGACY_BIOS' | 'UEFI' | 'USE_SOURCE';
    /** Update Launch configuration copy Private IP request. */
    copyPrivateIp?: boolean;
    /** Update Launch configuration copy Tags request. */
    copyTags?: boolean;
    /** Enable map auto tagging. */
    enableMapAutoTagging?: boolean;
    /** Update Launch configuration launch disposition request. */
    launchDisposition?: 'STOPPED' | 'STARTED';
    /** Update Launch configuration licensing request. */
    licensing?: Licensing;
    /** Launch configuration map auto tagging MPE ID. */
    mapAutoTaggingMpeID?: string;
    /** Update Launch configuration name request. */
    name?: string;
    postLaunchActions?: PostLaunchActions;
    /** Update Launch configuration Target instance right sizing request. */
    targetInstanceTypeRightSizingMethod?: 'NONE' | 'BASIC';
}
export interface UpdateLaunchConfigurationTemplateInput {
    /** Launch Configuration Template ID. */
    launchConfigurationTemplateID: string;
    /** Associate public Ip address. */
    associatePublicIpAddress?: boolean;
    /** Launch configuration template boot mode. */
    bootMode?: 'LEGACY_BIOS' | 'UEFI' | 'USE_SOURCE';
    /** Copy private Ip. */
    copyPrivateIp?: boolean;
    /** Copy tags. */
    copyTags?: boolean;
    /** Enable map auto tagging. */
    enableMapAutoTagging?: boolean;
    /** Enable parameters encryption. */
    enableParametersEncryption?: boolean;
    /** Large volume config. */
    largeVolumeConf?: LaunchTemplateDiskConf;
    /** Launch disposition. */
    launchDisposition?: 'STOPPED' | 'STARTED';
    licensing?: Licensing;
    /** Launch configuration template map auto tagging MPE ID. */
    mapAutoTaggingMpeID?: string;
    /** Parameters encryption key. */
    parametersEncryptionKey?: string;
    /** Post Launch Action to execute on the Test or Cutover instance. */
    postLaunchActions?: PostLaunchActions;
    /** Small volume config. */
    smallVolumeConf?: LaunchTemplateDiskConf;
    /** Small volume maximum size. */
    smallVolumeMaxSize?: number;
    /** Target instance type right-sizing method. */
    targetInstanceTypeRightSizingMethod?: 'NONE' | 'BASIC';
}
export interface UpdateReplicationConfigurationInput {
    /** Update replication configuration Source Server ID request. */
    sourceServerID: string;
    /** Update replication configuration Account ID request. */
    accountID?: string;
    /** Update replication configuration associate default Application Migration Service Security group request. */
    associateDefaultSecurityGroup?: boolean;
    /** Update replication configuration bandwidth throttling request. */
    bandwidthThrottling?: number;
    /** Update replication configuration create Public IP request. */
    createPublicIP?: boolean;
    /** Update replication configuration data plane routing request. */
    dataPlaneRouting?: 'PRIVATE_IP' | 'PUBLIC_IP';
    /** Update replication configuration use default large Staging Disk type request. */
    defaultLargeStagingDiskType?: 'GP2' | 'ST1' | 'GP3';
    /** Update replication configuration EBS encryption request. */
    ebsEncryption?: 'DEFAULT' | 'CUSTOM';
    /** Update replication configuration EBS encryption key ARN request. */
    ebsEncryptionKeyArn?: string;
    /** Update replication configuration internet protocol. */
    internetProtocol?: 'IPV4' | 'IPV6';
    /** Update replication configuration name request. */
    name?: string;
    /** Update replication configuration replicated disks request. */
    replicatedDisks?: ReplicationConfigurationReplicatedDisk[];
    /** Update replication configuration Replication Server instance type request. */
    replicationServerInstanceType?: string;
    /** Update replication configuration Replication Server Security Groups IDs request. */
    replicationServersSecurityGroupsIDs?: string[];
    /** Update replication configuration Staging Area subnet request. */
    stagingAreaSubnetId?: string;
    /** Update replication configuration Staging Area Tags request. */
    stagingAreaTags?: Record<string, string>;
    /** Update replication configuration use dedicated Replication Server request. */
    useDedicatedReplicationServer?: boolean;
    /** Update replication configuration use Fips Endpoint. */
    useFipsEndpoint?: boolean;
}
export interface UpdateReplicationConfigurationTemplateInput {
    /** Update replication configuration template template ID request. */
    replicationConfigurationTemplateID: string;
    /** Update replication configuration template ARN request. */
    arn?: string;
    /** Update replication configuration template associate default Application Migration Service Security group request. */
    associateDefaultSecurityGroup?: boolean;
    /** Update replication configuration template bandwidth throttling request. */
    bandwidthThrottling?: number;
    /** Update replication configuration template create Public IP request. */
    createPublicIP?: boolean;
    /** Update replication configuration template data plane routing request. */
    dataPlaneRouting?: 'PRIVATE_IP' | 'PUBLIC_IP';
    /** Update replication configuration template use default large Staging Disk type request. */
    defaultLargeStagingDiskType?: 'GP2' | 'ST1' | 'GP3';
    /** Update replication configuration template EBS encryption request. */
    ebsEncryption?: 'DEFAULT' | 'CUSTOM';
    /** Update replication configuration template EBS encryption key ARN request. */
    ebsEncryptionKeyArn?: string;
    /** Update replication configuration template internet protocol request. */
    internetProtocol?: 'IPV4' | 'IPV6';
    /** Update replication configuration template Replication Server instance type request. */
    replicationServerInstanceType?: string;
    /** Update replication configuration template Replication Server Security groups IDs request. */
    replicationServersSecurityGroupsIDs?: string[];
    /** Update replication configuration template Staging Area subnet ID request. */
    stagingAreaSubnetId?: string;
    /** Update replication configuration template Staging Area Tags request. */
    stagingAreaTags?: Record<string, string>;
    /** Update replication configuration template use dedicated Replication Server request. */
    useDedicatedReplicationServer?: boolean;
    /** Update replication configuration template use Fips Endpoint request. */
    useFipsEndpoint?: boolean;
}
export interface UpdateSourceServerInput {
    /** Update Source Server request source server ID. */
    sourceServerID: string;
    /** Update Source Server request account ID. */
    accountID?: string;
    /** Update Source Server request connector action. */
    connectorAction?: SourceServerConnectorAction;
}
export interface UpdateSourceServerReplicationTypeInput {
    /** Replication type to which to update source server. */
    replicationType: 'AGENT_BASED' | 'SNAPSHOT_SHIPPING';
    /** ID of source server on which to update replication type. */
    sourceServerID: string;
    /** Account ID on which to update replication type. */
    accountID?: string;
}
export interface UpdateWaveInput {
    /** Wave ID. */
    waveID: string;
    /** Account ID. */
    accountID?: string;
    /** Wave description. */
    description?: string;
    /** Wave name. */
    name?: string;
}
/** mgn service binding for Step Functions SDK integrations. */
export declare class mgn {
    constructor();
    archiveApplication<T>(params: ArchiveApplicationInput): Promise<T>;
    archiveWave<T>(params: ArchiveWaveInput): Promise<T>;
    associateApplications<T>(params: AssociateApplicationsInput): Promise<T>;
    associateSourceServers<T>(params: AssociateSourceServersInput): Promise<T>;
    changeServerLifeCycleState<T>(params: ChangeServerLifeCycleStateInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createConnector<T>(params: CreateConnectorInput): Promise<T>;
    createLaunchConfigurationTemplate<T>(params: CreateLaunchConfigurationTemplateInput): Promise<T>;
    createReplicationConfigurationTemplate<T>(params: CreateReplicationConfigurationTemplateInput): Promise<T>;
    createWave<T>(params: CreateWaveInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteConnector<T>(params: DeleteConnectorInput): Promise<T>;
    deleteJob<T>(params: DeleteJobInput): Promise<T>;
    deleteLaunchConfigurationTemplate<T>(params: DeleteLaunchConfigurationTemplateInput): Promise<T>;
    deleteReplicationConfigurationTemplate<T>(params: DeleteReplicationConfigurationTemplateInput): Promise<T>;
    deleteSourceServer<T>(params: DeleteSourceServerInput): Promise<T>;
    deleteVcenterClient<T>(params: DeleteVcenterClientInput): Promise<T>;
    deleteWave<T>(params: DeleteWaveInput): Promise<T>;
    describeJobLogItems<T>(params: DescribeJobLogItemsInput): Promise<T>;
    describeJobs<T>(params: DescribeJobsInput): Promise<T>;
    describeLaunchConfigurationTemplates<T>(params: DescribeLaunchConfigurationTemplatesInput): Promise<T>;
    describeReplicationConfigurationTemplates<T>(params: DescribeReplicationConfigurationTemplatesInput): Promise<T>;
    describeSourceServers<T>(params: DescribeSourceServersInput): Promise<T>;
    describeVcenterClients<T>(params: DescribeVcenterClientsInput): Promise<T>;
    disassociateApplications<T>(params: DisassociateApplicationsInput): Promise<T>;
    disassociateSourceServers<T>(params: DisassociateSourceServersInput): Promise<T>;
    disconnectFromService<T>(params: DisconnectFromServiceInput): Promise<T>;
    finalizeCutover<T>(params: FinalizeCutoverInput): Promise<T>;
    getLaunchConfiguration<T>(params: GetLaunchConfigurationInput): Promise<T>;
    getReplicationConfiguration<T>(params: GetReplicationConfigurationInput): Promise<T>;
    initializeService<T>(params: Record<string, any>): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listConnectors<T>(params: ListConnectorsInput): Promise<T>;
    listExportErrors<T>(params: ListExportErrorsInput): Promise<T>;
    listExports<T>(params: ListExportsInput): Promise<T>;
    listImportErrors<T>(params: ListImportErrorsInput): Promise<T>;
    listImports<T>(params: ListImportsInput): Promise<T>;
    listManagedAccounts<T>(params: ListManagedAccountsInput): Promise<T>;
    listSourceServerActions<T>(params: ListSourceServerActionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTemplateActions<T>(params: ListTemplateActionsInput): Promise<T>;
    listWaves<T>(params: ListWavesInput): Promise<T>;
    markAsArchived<T>(params: MarkAsArchivedInput): Promise<T>;
    pauseReplication<T>(params: PauseReplicationInput): Promise<T>;
    putSourceServerAction<T>(params: PutSourceServerActionInput): Promise<T>;
    putTemplateAction<T>(params: PutTemplateActionInput): Promise<T>;
    removeSourceServerAction<T>(params: RemoveSourceServerActionInput): Promise<T>;
    removeTemplateAction<T>(params: RemoveTemplateActionInput): Promise<T>;
    resumeReplication<T>(params: ResumeReplicationInput): Promise<T>;
    retryDataReplication<T>(params: RetryDataReplicationInput): Promise<T>;
    startCutover<T>(params: StartCutoverInput): Promise<T>;
    startExport<T>(params: StartExportInput): Promise<T>;
    startImport<T>(params: StartImportInput): Promise<T>;
    startReplication<T>(params: StartReplicationInput): Promise<T>;
    startTest<T>(params: StartTestInput): Promise<T>;
    stopReplication<T>(params: StopReplicationInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    terminateTargetInstances<T>(params: TerminateTargetInstancesInput): Promise<T>;
    unarchiveApplication<T>(params: UnarchiveApplicationInput): Promise<T>;
    unarchiveWave<T>(params: UnarchiveWaveInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateConnector<T>(params: UpdateConnectorInput): Promise<T>;
    updateLaunchConfiguration<T>(params: UpdateLaunchConfigurationInput): Promise<T>;
    updateLaunchConfigurationTemplate<T>(params: UpdateLaunchConfigurationTemplateInput): Promise<T>;
    updateReplicationConfiguration<T>(params: UpdateReplicationConfigurationInput): Promise<T>;
    updateReplicationConfigurationTemplate<T>(params: UpdateReplicationConfigurationTemplateInput): Promise<T>;
    updateSourceServer<T>(params: UpdateSourceServerInput): Promise<T>;
    updateSourceServerReplicationType<T>(params: UpdateSourceServerReplicationTypeInput): Promise<T>;
    updateWave<T>(params: UpdateWaveInput): Promise<T>;
}
//# sourceMappingURL=mgn.d.ts.map