mgn.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {ServiceConfigurationOptions} from '../lib/service';
   6  import {ConfigBase as Config} from '../lib/config-base';
   7  interface Blob {}
   8  declare class Mgn extends Service {
   9    /**
  10     * Constructs a service object. This object has one method for each API operation.
  11     */
  12    constructor(options?: Mgn.Types.ClientConfiguration)
  13    config: Config & Mgn.Types.ClientConfiguration;
  14    /**
  15     * 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.)
  16     */
  17    changeServerLifeCycleState(params: Mgn.Types.ChangeServerLifeCycleStateRequest, callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
  18    /**
  19     * 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.)
  20     */
  21    changeServerLifeCycleState(callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
  22    /**
  23     * Creates a new ReplicationConfigurationTemplate.
  24     */
  25    createReplicationConfigurationTemplate(params: Mgn.Types.CreateReplicationConfigurationTemplateRequest, callback?: (err: AWSError, data: Mgn.Types.ReplicationConfigurationTemplate) => void): Request<Mgn.Types.ReplicationConfigurationTemplate, AWSError>;
  26    /**
  27     * Creates a new ReplicationConfigurationTemplate.
  28     */
  29    createReplicationConfigurationTemplate(callback?: (err: AWSError, data: Mgn.Types.ReplicationConfigurationTemplate) => void): Request<Mgn.Types.ReplicationConfigurationTemplate, AWSError>;
  30    /**
  31     * Deletes a single Job by ID.
  32     */
  33    deleteJob(params: Mgn.Types.DeleteJobRequest, callback?: (err: AWSError, data: Mgn.Types.DeleteJobResponse) => void): Request<Mgn.Types.DeleteJobResponse, AWSError>;
  34    /**
  35     * Deletes a single Job by ID.
  36     */
  37    deleteJob(callback?: (err: AWSError, data: Mgn.Types.DeleteJobResponse) => void): Request<Mgn.Types.DeleteJobResponse, AWSError>;
  38    /**
  39     * Deletes a single Replication Configuration Template by ID
  40     */
  41    deleteReplicationConfigurationTemplate(params: Mgn.Types.DeleteReplicationConfigurationTemplateRequest, callback?: (err: AWSError, data: Mgn.Types.DeleteReplicationConfigurationTemplateResponse) => void): Request<Mgn.Types.DeleteReplicationConfigurationTemplateResponse, AWSError>;
  42    /**
  43     * Deletes a single Replication Configuration Template by ID
  44     */
  45    deleteReplicationConfigurationTemplate(callback?: (err: AWSError, data: Mgn.Types.DeleteReplicationConfigurationTemplateResponse) => void): Request<Mgn.Types.DeleteReplicationConfigurationTemplateResponse, AWSError>;
  46    /**
  47     * Deletes a single source server by ID.
  48     */
  49    deleteSourceServer(params: Mgn.Types.DeleteSourceServerRequest, callback?: (err: AWSError, data: Mgn.Types.DeleteSourceServerResponse) => void): Request<Mgn.Types.DeleteSourceServerResponse, AWSError>;
  50    /**
  51     * Deletes a single source server by ID.
  52     */
  53    deleteSourceServer(callback?: (err: AWSError, data: Mgn.Types.DeleteSourceServerResponse) => void): Request<Mgn.Types.DeleteSourceServerResponse, AWSError>;
  54    /**
  55     * Retrieves detailed Job log with paging.
  56     */
  57    describeJobLogItems(params: Mgn.Types.DescribeJobLogItemsRequest, callback?: (err: AWSError, data: Mgn.Types.DescribeJobLogItemsResponse) => void): Request<Mgn.Types.DescribeJobLogItemsResponse, AWSError>;
  58    /**
  59     * Retrieves detailed Job log with paging.
  60     */
  61    describeJobLogItems(callback?: (err: AWSError, data: Mgn.Types.DescribeJobLogItemsResponse) => void): Request<Mgn.Types.DescribeJobLogItemsResponse, AWSError>;
  62    /**
  63     * 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 normaly 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.
  64     */
  65    describeJobs(params: Mgn.Types.DescribeJobsRequest, callback?: (err: AWSError, data: Mgn.Types.DescribeJobsResponse) => void): Request<Mgn.Types.DescribeJobsResponse, AWSError>;
  66    /**
  67     * 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 normaly 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.
  68     */
  69    describeJobs(callback?: (err: AWSError, data: Mgn.Types.DescribeJobsResponse) => void): Request<Mgn.Types.DescribeJobsResponse, AWSError>;
  70    /**
  71     * Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
  72     */
  73    describeReplicationConfigurationTemplates(params: Mgn.Types.DescribeReplicationConfigurationTemplatesRequest, callback?: (err: AWSError, data: Mgn.Types.DescribeReplicationConfigurationTemplatesResponse) => void): Request<Mgn.Types.DescribeReplicationConfigurationTemplatesResponse, AWSError>;
  74    /**
  75     * Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
  76     */
  77    describeReplicationConfigurationTemplates(callback?: (err: AWSError, data: Mgn.Types.DescribeReplicationConfigurationTemplatesResponse) => void): Request<Mgn.Types.DescribeReplicationConfigurationTemplatesResponse, AWSError>;
  78    /**
  79     * Retrieves all SourceServers or multiple SourceServers by ID.
  80     */
  81    describeSourceServers(params: Mgn.Types.DescribeSourceServersRequest, callback?: (err: AWSError, data: Mgn.Types.DescribeSourceServersResponse) => void): Request<Mgn.Types.DescribeSourceServersResponse, AWSError>;
  82    /**
  83     * Retrieves all SourceServers or multiple SourceServers by ID.
  84     */
  85    describeSourceServers(callback?: (err: AWSError, data: Mgn.Types.DescribeSourceServersResponse) => void): Request<Mgn.Types.DescribeSourceServersResponse, AWSError>;
  86    /**
  87     * 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 communciating 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.lagDurationwill be nullified.
  88     */
  89    disconnectFromService(params: Mgn.Types.DisconnectFromServiceRequest, callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
  90    /**
  91     * 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 communciating 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.lagDurationwill be nullified.
  92     */
  93    disconnectFromService(callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
  94    /**
  95     * 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 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.lagDurationwill be nullified.
  96     */
  97    finalizeCutover(params: Mgn.Types.FinalizeCutoverRequest, callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
  98    /**
  99     * 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 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.lagDurationwill be nullified.
 100     */
 101    finalizeCutover(callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
 102    /**
 103     * Lists all LaunchConfigurations available, filtered by Source Server IDs.
 104     */
 105    getLaunchConfiguration(params: Mgn.Types.GetLaunchConfigurationRequest, callback?: (err: AWSError, data: Mgn.Types.LaunchConfiguration) => void): Request<Mgn.Types.LaunchConfiguration, AWSError>;
 106    /**
 107     * Lists all LaunchConfigurations available, filtered by Source Server IDs.
 108     */
 109    getLaunchConfiguration(callback?: (err: AWSError, data: Mgn.Types.LaunchConfiguration) => void): Request<Mgn.Types.LaunchConfiguration, AWSError>;
 110    /**
 111     * Lists all ReplicationConfigurations, filtered by Source Server ID.
 112     */
 113    getReplicationConfiguration(params: Mgn.Types.GetReplicationConfigurationRequest, callback?: (err: AWSError, data: Mgn.Types.ReplicationConfiguration) => void): Request<Mgn.Types.ReplicationConfiguration, AWSError>;
 114    /**
 115     * Lists all ReplicationConfigurations, filtered by Source Server ID.
 116     */
 117    getReplicationConfiguration(callback?: (err: AWSError, data: Mgn.Types.ReplicationConfiguration) => void): Request<Mgn.Types.ReplicationConfiguration, AWSError>;
 118    /**
 119     * Initialize Application Migration Service.
 120     */
 121    initializeService(params: Mgn.Types.InitializeServiceRequest, callback?: (err: AWSError, data: Mgn.Types.InitializeServiceResponse) => void): Request<Mgn.Types.InitializeServiceResponse, AWSError>;
 122    /**
 123     * Initialize Application Migration Service.
 124     */
 125    initializeService(callback?: (err: AWSError, data: Mgn.Types.InitializeServiceResponse) => void): Request<Mgn.Types.InitializeServiceResponse, AWSError>;
 126    /**
 127     * List all tags for your Application Migration Service resources.
 128     */
 129    listTagsForResource(params: Mgn.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Mgn.Types.ListTagsForResourceResponse) => void): Request<Mgn.Types.ListTagsForResourceResponse, AWSError>;
 130    /**
 131     * List all tags for your Application Migration Service resources.
 132     */
 133    listTagsForResource(callback?: (err: AWSError, data: Mgn.Types.ListTagsForResourceResponse) => void): Request<Mgn.Types.ListTagsForResourceResponse, AWSError>;
 134    /**
 135     * 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.
 136     */
 137    markAsArchived(params: Mgn.Types.MarkAsArchivedRequest, callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
 138    /**
 139     * 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.
 140     */
 141    markAsArchived(callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
 142    /**
 143     * 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.
 144     */
 145    retryDataReplication(params: Mgn.Types.RetryDataReplicationRequest, callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
 146    /**
 147     * 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.
 148     */
 149    retryDataReplication(callback?: (err: AWSError, data: Mgn.Types.SourceServer) => void): Request<Mgn.Types.SourceServer, AWSError>;
 150    /**
 151     * 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.
 152     */
 153    startCutover(params: Mgn.Types.StartCutoverRequest, callback?: (err: AWSError, data: Mgn.Types.StartCutoverResponse) => void): Request<Mgn.Types.StartCutoverResponse, AWSError>;
 154    /**
 155     * 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.
 156     */
 157    startCutover(callback?: (err: AWSError, data: Mgn.Types.StartCutoverResponse) => void): Request<Mgn.Types.StartCutoverResponse, AWSError>;
 158    /**
 159     * Lauches 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.
 160     */
 161    startTest(params: Mgn.Types.StartTestRequest, callback?: (err: AWSError, data: Mgn.Types.StartTestResponse) => void): Request<Mgn.Types.StartTestResponse, AWSError>;
 162    /**
 163     * Lauches 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.
 164     */
 165    startTest(callback?: (err: AWSError, data: Mgn.Types.StartTestResponse) => void): Request<Mgn.Types.StartTestResponse, AWSError>;
 166    /**
 167     * 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.
 168     */
 169    tagResource(params: Mgn.Types.TagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 170    /**
 171     * 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.
 172     */
 173    tagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 174    /**
 175     * 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.
 176     */
 177    terminateTargetInstances(params: Mgn.Types.TerminateTargetInstancesRequest, callback?: (err: AWSError, data: Mgn.Types.TerminateTargetInstancesResponse) => void): Request<Mgn.Types.TerminateTargetInstancesResponse, AWSError>;
 178    /**
 179     * 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.
 180     */
 181    terminateTargetInstances(callback?: (err: AWSError, data: Mgn.Types.TerminateTargetInstancesResponse) => void): Request<Mgn.Types.TerminateTargetInstancesResponse, AWSError>;
 182    /**
 183     * Deletes the specified set of tags from the specified set of Application Migration Service resources.
 184     */
 185    untagResource(params: Mgn.Types.UntagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 186    /**
 187     * Deletes the specified set of tags from the specified set of Application Migration Service resources.
 188     */
 189    untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 190    /**
 191     * Updates multiple LaunchConfigurations by Source Server ID.
 192     */
 193    updateLaunchConfiguration(params: Mgn.Types.UpdateLaunchConfigurationRequest, callback?: (err: AWSError, data: Mgn.Types.LaunchConfiguration) => void): Request<Mgn.Types.LaunchConfiguration, AWSError>;
 194    /**
 195     * Updates multiple LaunchConfigurations by Source Server ID.
 196     */
 197    updateLaunchConfiguration(callback?: (err: AWSError, data: Mgn.Types.LaunchConfiguration) => void): Request<Mgn.Types.LaunchConfiguration, AWSError>;
 198    /**
 199     * Allows you to update multiple ReplicationConfigurations by Source Server ID.
 200     */
 201    updateReplicationConfiguration(params: Mgn.Types.UpdateReplicationConfigurationRequest, callback?: (err: AWSError, data: Mgn.Types.ReplicationConfiguration) => void): Request<Mgn.Types.ReplicationConfiguration, AWSError>;
 202    /**
 203     * Allows you to update multiple ReplicationConfigurations by Source Server ID.
 204     */
 205    updateReplicationConfiguration(callback?: (err: AWSError, data: Mgn.Types.ReplicationConfiguration) => void): Request<Mgn.Types.ReplicationConfiguration, AWSError>;
 206    /**
 207     * Updates multiple ReplicationConfigurationTemplates by ID.
 208     */
 209    updateReplicationConfigurationTemplate(params: Mgn.Types.UpdateReplicationConfigurationTemplateRequest, callback?: (err: AWSError, data: Mgn.Types.ReplicationConfigurationTemplate) => void): Request<Mgn.Types.ReplicationConfigurationTemplate, AWSError>;
 210    /**
 211     * Updates multiple ReplicationConfigurationTemplates by ID.
 212     */
 213    updateReplicationConfigurationTemplate(callback?: (err: AWSError, data: Mgn.Types.ReplicationConfigurationTemplate) => void): Request<Mgn.Types.ReplicationConfigurationTemplate, AWSError>;
 214  }
 215  declare namespace Mgn {
 216    export type ARN = string;
 217    export type Boolean = boolean;
 218    export type BoundedString = string;
 219    export interface CPU {
 220      /**
 221       * The number of CPU cores on the source server.
 222       */
 223      cores?: PositiveInteger;
 224      /**
 225       * The source server's CPU model name.
 226       */
 227      modelName?: BoundedString;
 228    }
 229    export interface ChangeServerLifeCycleStateRequest {
 230      /**
 231       * The request to change the source server migration lifecycle state.
 232       */
 233      lifeCycle: ChangeServerLifeCycleStateSourceServerLifecycle;
 234      /**
 235       * The request to change the source server migration lifecycle state by source server ID.
 236       */
 237      sourceServerID: SourceServerID;
 238    }
 239    export interface ChangeServerLifeCycleStateSourceServerLifecycle {
 240      /**
 241       * The request to change the source server migration lifecycle state.
 242       */
 243      state: ChangeServerLifeCycleStateSourceServerLifecycleState;
 244    }
 245    export type ChangeServerLifeCycleStateSourceServerLifecycleState = "READY_FOR_TEST"|"READY_FOR_CUTOVER"|"CUTOVER"|string;
 246    export type Cpus = CPU[];
 247    export interface CreateReplicationConfigurationTemplateRequest {
 248      /**
 249       * Request to associate the default Application Migration Service Security group with the Replication Settings template.
 250       */
 251      associateDefaultSecurityGroup: Boolean;
 252      /**
 253       * Request to configure bandwidth throttling during Replication Settings template creation.
 254       */
 255      bandwidthThrottling: PositiveInteger;
 256      /**
 257       * Request to create Public IP during Replication Settings template creation.
 258       */
 259      createPublicIP: Boolean;
 260      /**
 261       * Request to configure data plane routing during Replication Settings template creation.
 262       */
 263      dataPlaneRouting: ReplicationConfigurationDataPlaneRouting;
 264      /**
 265       * Request to configure the Staging Disk EBS volume type to "gp2" during Replication Settings template creation.
 266       */
 267      defaultLargeStagingDiskType: ReplicationConfigurationDefaultLargeStagingDiskType;
 268      /**
 269       * Request to configure EBS enryption during Replication Settings template creation.
 270       */
 271      ebsEncryption: ReplicationConfigurationEbsEncryption;
 272      /**
 273       * Request to configure an EBS enryption key during Replication Settings template creation.
 274       */
 275      ebsEncryptionKeyArn?: ARN;
 276      /**
 277       * Request to configure the Replication Server instance type during Replication Settings template creation.
 278       */
 279      replicationServerInstanceType: EC2InstanceType;
 280      /**
 281       * Request to configure the Replication Server Secuirity group ID during Replication Settings template creation.
 282       */
 283      replicationServersSecurityGroupsIDs: ReplicationServersSecurityGroupsIDs;
 284      /**
 285       * Request to configure the Staging Area subnet ID during Replication Settings template creation.
 286       */
 287      stagingAreaSubnetId: SubnetID;
 288      /**
 289       * Request to configure Staiging Area tags during Replication Settings template creation.
 290       */
 291      stagingAreaTags: TagsMap;
 292      /**
 293       * Request to configure tags during Replication Settings template creation.
 294       */
 295      tags?: TagsMap;
 296      /**
 297       * Request to use Dedicated Replication Servers during Replication Settings template creation.
 298       */
 299      useDedicatedReplicationServer: Boolean;
 300    }
 301    export interface DataReplicationError {
 302      /**
 303       * Error in data replication.
 304       */
 305      error?: DataReplicationErrorString;
 306      /**
 307       * Error in data replication.
 308       */
 309      rawError?: LargeBoundedString;
 310    }
 311    export type DataReplicationErrorString = "AGENT_NOT_SEEN"|"SNAPSHOTS_FAILURE"|"NOT_CONVERGING"|"UNSTABLE_NETWORK"|"FAILED_TO_CREATE_SECURITY_GROUP"|"FAILED_TO_LAUNCH_REPLICATION_SERVER"|"FAILED_TO_BOOT_REPLICATION_SERVER"|"FAILED_TO_AUTHENTICATE_WITH_SERVICE"|"FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"|"FAILED_TO_CREATE_STAGING_DISKS"|"FAILED_TO_ATTACH_STAGING_DISKS"|"FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"|"FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"|"FAILED_TO_START_DATA_TRANSFER"|string;
 312    export interface DataReplicationInfo {
 313      /**
 314       * Error in obtaining data replication info.
 315       */
 316      dataReplicationError?: DataReplicationError;
 317      /**
 318       * Request to query whether data replication has been initiated.
 319       */
 320      dataReplicationInitiation?: DataReplicationInitiation;
 321      /**
 322       * Request to query the data replication state.
 323       */
 324      dataReplicationState?: DataReplicationState;
 325      /**
 326       * Request to query the time when data replication will be complete.
 327       */
 328      etaDateTime?: ISO8601DatetimeString;
 329      /**
 330       * Request to query data replication lag durating.
 331       */
 332      lagDuration?: ISO8601DatetimeString;
 333      /**
 334       * Request to query disks replicated.
 335       */
 336      replicatedDisks?: DataReplicationInfoReplicatedDisks;
 337    }
 338    export interface DataReplicationInfoReplicatedDisk {
 339      /**
 340       * Request to query data replication backlog size in bytes.
 341       */
 342      backloggedStorageBytes?: PositiveInteger;
 343      /**
 344       * Request to query device name.
 345       */
 346      deviceName?: BoundedString;
 347      /**
 348       * Request to query amount of data replicated in bytes.
 349       */
 350      replicatedStorageBytes?: PositiveInteger;
 351      /**
 352       * Request to query amount of data rescanned in bytes.
 353       */
 354      rescannedStorageBytes?: PositiveInteger;
 355      /**
 356       * Request to query total amount of data replicated in bytes.
 357       */
 358      totalStorageBytes?: PositiveInteger;
 359    }
 360    export type DataReplicationInfoReplicatedDisks = DataReplicationInfoReplicatedDisk[];
 361    export interface DataReplicationInitiation {
 362      /**
 363       * Request to query next data initiation date and time.
 364       */
 365      nextAttemptDateTime?: ISO8601DatetimeString;
 366      /**
 367       * Request to query data initiation start date and time.
 368       */
 369      startDateTime?: ISO8601DatetimeString;
 370      /**
 371       * Request to query data initiation steps.
 372       */
 373      steps?: DataReplicationInitiationSteps;
 374    }
 375    export interface DataReplicationInitiationStep {
 376      /**
 377       * Request to query data initiation step name.
 378       */
 379      name?: DataReplicationInitiationStepName;
 380      /**
 381       * Request to query data initiation status.
 382       */
 383      status?: DataReplicationInitiationStepStatus;
 384    }
 385    export type DataReplicationInitiationStepName = "WAIT"|"CREATE_SECURITY_GROUP"|"LAUNCH_REPLICATION_SERVER"|"BOOT_REPLICATION_SERVER"|"AUTHENTICATE_WITH_SERVICE"|"DOWNLOAD_REPLICATION_SOFTWARE"|"CREATE_STAGING_DISKS"|"ATTACH_STAGING_DISKS"|"PAIR_REPLICATION_SERVER_WITH_AGENT"|"CONNECT_AGENT_TO_REPLICATION_SERVER"|"START_DATA_TRANSFER"|string;
 386    export type DataReplicationInitiationStepStatus = "NOT_STARTED"|"IN_PROGRESS"|"SUCCEEDED"|"FAILED"|"SKIPPED"|string;
 387    export type DataReplicationInitiationSteps = DataReplicationInitiationStep[];
 388    export type DataReplicationState = "STOPPED"|"INITIATING"|"INITIAL_SYNC"|"BACKLOG"|"CREATING_SNAPSHOT"|"CONTINUOUS"|"PAUSED"|"RESCAN"|"STALLED"|"DISCONNECTED"|string;
 389    export interface DeleteJobRequest {
 390      /**
 391       * Request to delete Job from service by Job ID.
 392       */
 393      jobID: JobID;
 394    }
 395    export interface DeleteJobResponse {
 396    }
 397    export interface DeleteReplicationConfigurationTemplateRequest {
 398      /**
 399       * Request to delete Replication Configuration Template from service by Replication Configuration Template ID.
 400       */
 401      replicationConfigurationTemplateID: ReplicationConfigurationTemplateID;
 402    }
 403    export interface DeleteReplicationConfigurationTemplateResponse {
 404    }
 405    export interface DeleteSourceServerRequest {
 406      /**
 407       * Request to delete Source Server from service by Server ID.
 408       */
 409      sourceServerID: SourceServerID;
 410    }
 411    export interface DeleteSourceServerResponse {
 412    }
 413    export interface DescribeJobLogItemsRequest {
 414      /**
 415       * Request to describe Job log job ID.
 416       */
 417      jobID: JobID;
 418      /**
 419       * Request to describe Job log item maximum results.
 420       */
 421      maxResults?: StrictlyPositiveInteger;
 422      /**
 423       * Request to describe Job log next token.
 424       */
 425      nextToken?: PaginationToken;
 426    }
 427    export interface DescribeJobLogItemsResponse {
 428      /**
 429       * Request to describe Job log response items.
 430       */
 431      items?: JobLogs;
 432      /**
 433       * Request to describe Job log response next token.
 434       */
 435      nextToken?: PaginationToken;
 436    }
 437    export interface DescribeJobsRequest {
 438      /**
 439       * Request to describe Job log filters.
 440       */
 441      filters: DescribeJobsRequestFilters;
 442      /**
 443       * Request to describe Job log by max results.
 444       */
 445      maxResults?: StrictlyPositiveInteger;
 446      /**
 447       * Request to describe Job logby next token.
 448       */
 449      nextToken?: PaginationToken;
 450    }
 451    export interface DescribeJobsRequestFilters {
 452      /**
 453       * Request to describe Job log filters by date.
 454       */
 455      fromDate?: ISO8601DatetimeString;
 456      /**
 457       * Request to describe Job log filters by job ID.
 458       */
 459      jobIDs?: DescribeJobsRequestFiltersJobIDs;
 460      /**
 461       * Request to describe Job log by last date.
 462       */
 463      toDate?: ISO8601DatetimeString;
 464    }
 465    export type DescribeJobsRequestFiltersJobIDs = JobID[];
 466    export interface DescribeJobsResponse {
 467      /**
 468       * Request to describe Job log items.
 469       */
 470      items?: JobsList;
 471      /**
 472       * Request to describe Job response by next token.
 473       */
 474      nextToken?: PaginationToken;
 475    }
 476    export interface DescribeReplicationConfigurationTemplatesRequest {
 477      /**
 478       * Request to describe Replication Configuration template by max results.
 479       */
 480      maxResults?: StrictlyPositiveInteger;
 481      /**
 482       * Request to describe Replication Configuration template by next token.
 483       */
 484      nextToken?: PaginationToken;
 485      /**
 486       * Request to describe Replication Configuration template by template IDs.
 487       */
 488      replicationConfigurationTemplateIDs: ReplicationConfigurationTemplateIDs;
 489    }
 490    export interface DescribeReplicationConfigurationTemplatesResponse {
 491      /**
 492       * Request to describe Replication Configuration template by items.
 493       */
 494      items?: ReplicationConfigurationTemplates;
 495      /**
 496       * Request to describe Replication Configuration template by next token.
 497       */
 498      nextToken?: PaginationToken;
 499    }
 500    export interface DescribeSourceServersRequest {
 501      /**
 502       * Request to filter Source Servers list.
 503       */
 504      filters: DescribeSourceServersRequestFilters;
 505      /**
 506       * Request to filter Source Servers list by maximum results.
 507       */
 508      maxResults?: StrictlyPositiveInteger;
 509      /**
 510       * Request to filter Source Servers list by next token.
 511       */
 512      nextToken?: PaginationToken;
 513    }
 514    export interface DescribeSourceServersRequestFilters {
 515      /**
 516       * Request to filter Source Servers list by archived.
 517       */
 518      isArchived?: Boolean;
 519      /**
 520       * Request to filter Source Servers list by Source Server ID.
 521       */
 522      sourceServerIDs?: DescribeSourceServersRequestFiltersIDs;
 523    }
 524    export type DescribeSourceServersRequestFiltersIDs = SourceServerID[];
 525    export interface DescribeSourceServersResponse {
 526      /**
 527       * Request to filter Source Servers list by item.
 528       */
 529      items?: SourceServersList;
 530      /**
 531       * Request to filter Source Servers next token.
 532       */
 533      nextToken?: PaginationToken;
 534    }
 535    export interface DisconnectFromServiceRequest {
 536      /**
 537       * Request to disconnect Source Server from service by Server ID.
 538       */
 539      sourceServerID: SourceServerID;
 540    }
 541    export interface Disk {
 542      /**
 543       * The amount of storage on the disk in bytes.
 544       */
 545      bytes?: PositiveInteger;
 546      /**
 547       * The disk or device name.
 548       */
 549      deviceName?: BoundedString;
 550    }
 551    export type Disks = Disk[];
 552    export type EC2InstanceID = string;
 553    export type EC2InstanceType = string;
 554    export interface FinalizeCutoverRequest {
 555      /**
 556       * Request to finalize Cutover by Soure Server ID.
 557       */
 558      sourceServerID: SourceServerID;
 559    }
 560    export type FirstBoot = "WAITING"|"SUCCEEDED"|"UNKNOWN"|"STOPPED"|string;
 561    export interface GetLaunchConfigurationRequest {
 562      /**
 563       * Request to get Launch Configuration information by Source Server ID.
 564       */
 565      sourceServerID: SourceServerID;
 566    }
 567    export interface GetReplicationConfigurationRequest {
 568      /**
 569       * Request to get Replication Configuaration by Source Server ID.
 570       */
 571      sourceServerID: SourceServerID;
 572    }
 573    export type IPsList = BoundedString[];
 574    export type ISO8601DatetimeString = string;
 575    export interface IdentificationHints {
 576      /**
 577       * AWS Instance ID identification hint.
 578       */
 579      awsInstanceID?: EC2InstanceID;
 580      /**
 581       * FQDN address identification hint.
 582       */
 583      fqdn?: BoundedString;
 584      /**
 585       * Hostname identification hint.
 586       */
 587      hostname?: BoundedString;
 588      /**
 589       * vmWare UUID identification hint.
 590       */
 591      vmWareUuid?: BoundedString;
 592    }
 593    export interface InitializeServiceRequest {
 594    }
 595    export interface InitializeServiceResponse {
 596    }
 597    export type InitiatedBy = "START_TEST"|"START_CUTOVER"|"DIAGNOSTIC"|"TERMINATE"|string;
 598    export interface Job {
 599      /**
 600       * the ARN of the specific Job.
 601       */
 602      arn?: ARN;
 603      /**
 604       * Job creation time.
 605       */
 606      creationDateTime?: ISO8601DatetimeString;
 607      /**
 608       * Job end time.
 609       */
 610      endDateTime?: ISO8601DatetimeString;
 611      /**
 612       * Job initiated by field.
 613       */
 614      initiatedBy?: InitiatedBy;
 615      /**
 616       * Job ID.
 617       */
 618      jobID: JobID;
 619      /**
 620       * Servers participating in a specific Job.
 621       */
 622      participatingServers?: ParticipatingServers;
 623      /**
 624       * Job status.
 625       */
 626      status?: JobStatus;
 627      /**
 628       * Tags associated with spcific Job.
 629       */
 630      tags?: TagsMap;
 631      /**
 632       * Job type.
 633       */
 634      type?: JobType;
 635    }
 636    export type JobID = string;
 637    export interface JobLog {
 638      /**
 639       * Job log event.
 640       */
 641      event?: JobLogEvent;
 642      /**
 643       * Job event data
 644       */
 645      eventData?: JobLogEventData;
 646      /**
 647       * Job log event date and time.
 648       */
 649      logDateTime?: ISO8601DatetimeString;
 650    }
 651    export type JobLogEvent = "JOB_START"|"SERVER_SKIPPED"|"CLEANUP_START"|"CLEANUP_END"|"CLEANUP_FAIL"|"SNAPSHOT_START"|"SNAPSHOT_END"|"SNAPSHOT_FAIL"|"USING_PREVIOUS_SNAPSHOT"|"CONVERSION_START"|"CONVERSION_END"|"CONVERSION_FAIL"|"LAUNCH_START"|"LAUNCH_FAILED"|"JOB_CANCEL"|"JOB_END"|string;
 652    export interface JobLogEventData {
 653      /**
 654       * Job Event conversion Server ID.
 655       */
 656      conversionServerID?: EC2InstanceID;
 657      /**
 658       * Job error.
 659       */
 660      rawError?: LargeBoundedString;
 661      /**
 662       * Job Event Source Server ID.
 663       */
 664      sourceServerID?: SourceServerID;
 665      /**
 666       * Job Event Target instance ID.
 667       */
 668      targetInstanceID?: EC2InstanceID;
 669    }
 670    export type JobLogs = JobLog[];
 671    export type JobStatus = "PENDING"|"STARTED"|"COMPLETED"|string;
 672    export type JobType = "LAUNCH"|"TERMINATE"|string;
 673    export type JobsList = Job[];
 674    export type LargeBoundedString = string;
 675    export interface LaunchConfiguration {
 676      /**
 677       * Copy Private IP during Launch Configuration.
 678       */
 679      copyPrivateIp?: Boolean;
 680      /**
 681       * Copy Tags during Launch Configuration.
 682       */
 683      copyTags?: Boolean;
 684      /**
 685       * Configure EC2 lauch configuration template ID.
 686       */
 687      ec2LaunchTemplateID?: BoundedString;
 688      /**
 689       * Configure launch dispostion for launch configuration.
 690       */
 691      launchDisposition?: LaunchDisposition;
 692      /**
 693       * Configure launch configuration OS licensing.
 694       */
 695      licensing?: Licensing;
 696      /**
 697       * Configure launch configuration name.
 698       */
 699      name?: SmallBoundedString;
 700      /**
 701       * Configure launch configuration Source Server ID.
 702       */
 703      sourceServerID?: SourceServerID;
 704      /**
 705       * Configure launch configuration Target instance type right sizing method.
 706       */
 707      targetInstanceTypeRightSizingMethod?: TargetInstanceTypeRightSizingMethod;
 708    }
 709    export type LaunchDisposition = "STOPPED"|"STARTED"|string;
 710    export type LaunchStatus = "PENDING"|"IN_PROGRESS"|"LAUNCHED"|"FAILED"|"TERMINATED"|string;
 711    export interface LaunchedInstance {
 712      /**
 713       * Configure launced instance EC2 ID.
 714       */
 715      ec2InstanceID?: EC2InstanceID;
 716      /**
 717       * Configure launced instance first boot.
 718       */
 719      firstBoot?: FirstBoot;
 720      /**
 721       * Configure launced instance Job ID.
 722       */
 723      jobID?: JobID;
 724    }
 725    export interface Licensing {
 726      /**
 727       * Configure BYOL OS licensing.
 728       */
 729      osByol?: Boolean;
 730    }
 731    export interface LifeCycle {
 732      /**
 733       * Lifecycle added to service data and time.
 734       */
 735      addedToServiceDateTime?: ISO8601DatetimeString;
 736      /**
 737       * Lifecycle elapsed time and duration.
 738       */
 739      elapsedReplicationDuration?: ISO8601DatetimeString;
 740      /**
 741       * Lifecycle replication initiation date and time.
 742       */
 743      firstByteDateTime?: ISO8601DatetimeString;
 744      /**
 745       * Lifecycle last Cutover.
 746       */
 747      lastCutover?: LifeCycleLastCutover;
 748      /**
 749       * Lifecycle last seen date and time.
 750       */
 751      lastSeenByServiceDateTime?: ISO8601DatetimeString;
 752      /**
 753       * Lifecycle last Test.
 754       */
 755      lastTest?: LifeCycleLastTest;
 756      /**
 757       * Lifecycle state.
 758       */
 759      state?: LifeCycleState;
 760    }
 761    export interface LifeCycleLastCutover {
 762      /**
 763       * Lifecycle Cutover finalized date and time.
 764       */
 765      finalized?: LifeCycleLastCutoverFinalized;
 766      /**
 767       * Lifecycle last Cutover initiated.
 768       */
 769      initiated?: LifeCycleLastCutoverInitiated;
 770      /**
 771       * Lifecycle last Cutover reverted.
 772       */
 773      reverted?: LifeCycleLastCutoverReverted;
 774    }
 775    export interface LifeCycleLastCutoverFinalized {
 776      /**
 777       * Lifecycle Cutover finalized date and time.
 778       */
 779      apiCallDateTime?: ISO8601DatetimeString;
 780    }
 781    export interface LifeCycleLastCutoverInitiated {
 782      /**
 783       * 
 784       */
 785      apiCallDateTime?: ISO8601DatetimeString;
 786      /**
 787       * Lifecycle last Cutover initiated by Job ID.
 788       */
 789      jobID?: JobID;
 790    }
 791    export interface LifeCycleLastCutoverReverted {
 792      /**
 793       * Lifecycle last Cutover reverted API call date time.
 794       */
 795      apiCallDateTime?: ISO8601DatetimeString;
 796    }
 797    export interface LifeCycleLastTest {
 798      /**
 799       * Lifecycle last Test finlized.
 800       */
 801      finalized?: LifeCycleLastTestFinalized;
 802      /**
 803       * Lifecycle last Test initiated.
 804       */
 805      initiated?: LifeCycleLastTestInitiated;
 806      /**
 807       * Lifecycle last Test reverted.
 808       */
 809      reverted?: LifeCycleLastTestReverted;
 810    }
 811    export interface LifeCycleLastTestFinalized {
 812      /**
 813       * Lifecycle Test failed API call date and time.
 814       */
 815      apiCallDateTime?: ISO8601DatetimeString;
 816    }
 817    export interface LifeCycleLastTestInitiated {
 818      /**
 819       * Lifecycle last Test initiated API call date and time.
 820       */
 821      apiCallDateTime?: ISO8601DatetimeString;
 822      /**
 823       * Lifecycle last Test initiated Job ID.
 824       */
 825      jobID?: JobID;
 826    }
 827    export interface LifeCycleLastTestReverted {
 828      /**
 829       * Lifecycle last Test reverted API call date and time.
 830       */
 831      apiCallDateTime?: ISO8601DatetimeString;
 832    }
 833    export type LifeCycleState = "STOPPED"|"NOT_READY"|"READY_FOR_TEST"|"TESTING"|"READY_FOR_CUTOVER"|"CUTTING_OVER"|"CUTOVER"|"DISCONNECTED"|string;
 834    export interface ListTagsForResourceRequest {
 835      /**
 836       * List tags for resource request by ARN.
 837       */
 838      resourceArn: ARN;
 839    }
 840    export interface ListTagsForResourceResponse {
 841      /**
 842       * List tags for resource response.
 843       */
 844      tags?: TagsMap;
 845    }
 846    export interface MarkAsArchivedRequest {
 847      /**
 848       * Mark as archived by Source Server ID.
 849       */
 850      sourceServerID: SourceServerID;
 851    }
 852    export interface NetworkInterface {
 853      /**
 854       * Network interface IPs.
 855       */
 856      ips?: IPsList;
 857      /**
 858       * Network interface primary IP.
 859       */
 860      isPrimary?: Boolean;
 861      /**
 862       * Network interface Mac address.
 863       */
 864      macAddress?: BoundedString;
 865    }
 866    export type NetworkInterfaces = NetworkInterface[];
 867    export interface OS {
 868      /**
 869       * OS full string.
 870       */
 871      fullString?: BoundedString;
 872    }
 873    export type PaginationToken = string;
 874    export interface ParticipatingServer {
 875      /**
 876       * Participating server launch status.
 877       */
 878      launchStatus?: LaunchStatus;
 879      /**
 880       * Participating server Source Server ID.
 881       */
 882      sourceServerID?: SourceServerID;
 883    }
 884    export type ParticipatingServers = ParticipatingServer[];
 885    export type PositiveInteger = number;
 886    export interface ReplicationConfiguration {
 887      /**
 888       * Replication Configuration associate default Application Migration Service Security Group.
 889       */
 890      associateDefaultSecurityGroup?: Boolean;
 891      /**
 892       * Replication Configuration set bandwidth throttling.
 893       */
 894      bandwidthThrottling?: PositiveInteger;
 895      /**
 896       * Replication Configuration create Public IP.
 897       */
 898      createPublicIP?: Boolean;
 899      /**
 900       * Replication Configuration data plane routing.
 901       */
 902      dataPlaneRouting?: ReplicationConfigurationDataPlaneRouting;
 903      /**
 904       * Replication Configuration use default large Staging Disks.
 905       */
 906      defaultLargeStagingDiskType?: ReplicationConfigurationDefaultLargeStagingDiskType;
 907      /**
 908       * Replication Configuration EBS encryption.
 909       */
 910      ebsEncryption?: ReplicationConfigurationEbsEncryption;
 911      /**
 912       * Replication Configuration EBS encryption key ARN.
 913       */
 914      ebsEncryptionKeyArn?: ARN;
 915      /**
 916       * Replication Configuration name.
 917       */
 918      name?: SmallBoundedString;
 919      /**
 920       * Replication Configuration replicated disks.
 921       */
 922      replicatedDisks?: ReplicationConfigurationReplicatedDisks;
 923      /**
 924       * Replication Configuration Replication Server instance type.
 925       */
 926      replicationServerInstanceType?: EC2InstanceType;
 927      /**
 928       * Replication Configuration Replication Server Security Group IDs.
 929       */
 930      replicationServersSecurityGroupsIDs?: ReplicationServersSecurityGroupsIDs;
 931      /**
 932       * Replication Configuration Source Server ID.
 933       */
 934      sourceServerID?: SourceServerID;
 935      /**
 936       * Replication Configuration Staging Area subnet ID.
 937       */
 938      stagingAreaSubnetId?: SubnetID;
 939      /**
 940       * Replication Configuration Staging Area tags.
 941       */
 942      stagingAreaTags?: TagsMap;
 943      /**
 944       * Replication Configuration use Dedicated Replication Server.
 945       */
 946      useDedicatedReplicationServer?: Boolean;
 947    }
 948    export type ReplicationConfigurationDataPlaneRouting = "PRIVATE_IP"|"PUBLIC_IP"|string;
 949    export type ReplicationConfigurationDefaultLargeStagingDiskType = "GP2"|"ST1"|string;
 950    export type ReplicationConfigurationEbsEncryption = "DEFAULT"|"CUSTOM"|string;
 951    export interface ReplicationConfigurationReplicatedDisk {
 952      /**
 953       * Replication Configuration replicated disk device name.
 954       */
 955      deviceName?: BoundedString;
 956      /**
 957       * Replication Configuration replicated disk IOPs.
 958       */
 959      iops?: PositiveInteger;
 960      /**
 961       * Replication Configuration replicated disk boot disk.
 962       */
 963      isBootDisk?: Boolean;
 964      /**
 965       * Replication Configuration replicated disk staging disk type.
 966       */
 967      stagingDiskType?: ReplicationConfigurationReplicatedDiskStagingDiskType;
 968    }
 969    export type ReplicationConfigurationReplicatedDiskStagingDiskType = "AUTO"|"GP2"|"IO1"|"SC1"|"ST1"|"STANDARD"|string;
 970    export type ReplicationConfigurationReplicatedDisks = ReplicationConfigurationReplicatedDisk[];
 971    export interface ReplicationConfigurationTemplate {
 972      /**
 973       * Replication Configuration template ARN.
 974       */
 975      arn?: ARN;
 976      /**
 977       * Replication Configuration template associate default Application Migration Service Security group.
 978       */
 979      associateDefaultSecurityGroup?: Boolean;
 980      /**
 981       * Replication Configuration template bandwidth throtting.
 982       */
 983      bandwidthThrottling?: PositiveInteger;
 984      /**
 985       * Replication Configuration template create Public IP.
 986       */
 987      createPublicIP?: Boolean;
 988      /**
 989       * Replication Configuration template data plane routing.
 990       */
 991      dataPlaneRouting?: ReplicationConfigurationDataPlaneRouting;
 992      /**
 993       * Replication Configuration template use dedault large Staging Disk type.
 994       */
 995      defaultLargeStagingDiskType?: ReplicationConfigurationDefaultLargeStagingDiskType;
 996      /**
 997       * Replication Configuration template EBS encryption.
 998       */
 999      ebsEncryption?: ReplicationConfigurationEbsEncryption;
1000      /**
1001       * Replication Configuration template EBS encryption key ARN.
1002       */
1003      ebsEncryptionKeyArn?: ARN;
1004      /**
1005       * Replication Configuration template template ID.
1006       */
1007      replicationConfigurationTemplateID: ReplicationConfigurationTemplateID;
1008      /**
1009       * Replication Configuration template server instance type.
1010       */
1011      replicationServerInstanceType?: EC2InstanceType;
1012      /**
1013       * Replication Configuration template server Security Groups IDs.
1014       */
1015      replicationServersSecurityGroupsIDs?: ReplicationServersSecurityGroupsIDs;
1016      /**
1017       * Replication Configuration template Staging Area subnet ID.
1018       */
1019      stagingAreaSubnetId?: SubnetID;
1020      /**
1021       * Replication Configuration template Staging Area Tags.
1022       */
1023      stagingAreaTags?: TagsMap;
1024      /**
1025       * Replication Configuration template Tags.
1026       */
1027      tags?: TagsMap;
1028      /**
1029       * Replication Configuration template use Dedicated Replication Server.
1030       */
1031      useDedicatedReplicationServer?: Boolean;
1032    }
1033    export type ReplicationConfigurationTemplateID = string;
1034    export type ReplicationConfigurationTemplateIDs = ReplicationConfigurationTemplateID[];
1035    export type ReplicationConfigurationTemplates = ReplicationConfigurationTemplate[];
1036    export type ReplicationServersSecurityGroupsIDs = SecurityGroupID[];
1037    export interface RetryDataReplicationRequest {
1038      /**
1039       * Retry data replication for Source Server ID.
1040       */
1041      sourceServerID: SourceServerID;
1042    }
1043    export type SecurityGroupID = string;
1044    export type SmallBoundedString = string;
1045    export interface SourceProperties {
1046      /**
1047       * Source Server CPUs.
1048       */
1049      cpus?: Cpus;
1050      /**
1051       * Source Server disks.
1052       */
1053      disks?: Disks;
1054      /**
1055       * Source server identification hints.
1056       */
1057      identificationHints?: IdentificationHints;
1058      /**
1059       * Source server last update date and time.
1060       */
1061      lastUpdatedDateTime?: ISO8601DatetimeString;
1062      /**
1063       * Source server network interfaces.
1064       */
1065      networkInterfaces?: NetworkInterfaces;
1066      /**
1067       * Source server OS.
1068       */
1069      os?: OS;
1070      /**
1071       * Source server RAM in bytes.
1072       */
1073      ramBytes?: PositiveInteger;
1074      /**
1075       * Source server recommended instance type.
1076       */
1077      recommendedInstanceType?: EC2InstanceType;
1078    }
1079    export interface SourceServer {
1080      /**
1081       * Source server ARN.
1082       */
1083      arn?: ARN;
1084      /**
1085       * Source server data replication info.
1086       */
1087      dataReplicationInfo?: DataReplicationInfo;
1088      /**
1089       * Source server archived status.
1090       */
1091      isArchived?: Boolean;
1092      /**
1093       * Source server launched instance.
1094       */
1095      launchedInstance?: LaunchedInstance;
1096      /**
1097       * Source server lifecycle state.
1098       */
1099      lifeCycle?: LifeCycle;
1100      /**
1101       * Source server properties.
1102       */
1103      sourceProperties?: SourceProperties;
1104      /**
1105       * Source server ID.
1106       */
1107      sourceServerID?: SourceServerID;
1108      /**
1109       * Source server Tags.
1110       */
1111      tags?: TagsMap;
1112    }
1113    export type SourceServerID = string;
1114    export type SourceServersList = SourceServer[];
1115    export interface StartCutoverRequest {
1116      /**
1117       * Start Cutover by Source Server IDs.
1118       */
1119      sourceServerIDs: StartCutoverRequestSourceServerIDs;
1120      /**
1121       * Start Cutover by Tags.
1122       */
1123      tags?: TagsMap;
1124    }
1125    export type StartCutoverRequestSourceServerIDs = SourceServerID[];
1126    export interface StartCutoverResponse {
1127      /**
1128       * Start Cutover Job response.
1129       */
1130      job?: Job;
1131    }
1132    export interface StartTestRequest {
1133      /**
1134       * Start Test for Source Server IDs.
1135       */
1136      sourceServerIDs: StartTestRequestSourceServerIDs;
1137      /**
1138       * Start Test by Tags.
1139       */
1140      tags?: TagsMap;
1141    }
1142    export type StartTestRequestSourceServerIDs = SourceServerID[];
1143    export interface StartTestResponse {
1144      /**
1145       * Start Test Job response.
1146       */
1147      job?: Job;
1148    }
1149    export type StrictlyPositiveInteger = number;
1150    export type SubnetID = string;
1151    export type TagKey = string;
1152    export type TagKeys = TagKey[];
1153    export interface TagResourceRequest {
1154      /**
1155       * Tag resource by ARN.
1156       */
1157      resourceArn: ARN;
1158      /**
1159       * Tag resource by Tags.
1160       */
1161      tags: TagsMap;
1162    }
1163    export type TagValue = string;
1164    export type TagsMap = {[key: string]: TagValue};
1165    export type TargetInstanceTypeRightSizingMethod = "NONE"|"BASIC"|string;
1166    export interface TerminateTargetInstancesRequest {
1167      /**
1168       * Terminate Target instance by Source Server IDs.
1169       */
1170      sourceServerIDs: TerminateTargetInstancesRequestSourceServerIDs;
1171      /**
1172       * Terminate Target instance by Tags.
1173       */
1174      tags?: TagsMap;
1175    }
1176    export type TerminateTargetInstancesRequestSourceServerIDs = SourceServerID[];
1177    export interface TerminateTargetInstancesResponse {
1178      /**
1179       * Terminate Target instance Job response.
1180       */
1181      job?: Job;
1182    }
1183    export interface UntagResourceRequest {
1184      /**
1185       * Untag resource by ARN.
1186       */
1187      resourceArn: ARN;
1188      /**
1189       * Untag resource by Keys.
1190       */
1191      tagKeys: TagKeys;
1192    }
1193    export interface UpdateLaunchConfigurationRequest {
1194      /**
1195       * Update Launch configuration copy Private IP request.
1196       */
1197      copyPrivateIp?: Boolean;
1198      /**
1199       * Update Launch configuration copy Tags request.
1200       */
1201      copyTags?: Boolean;
1202      /**
1203       * Update Launch configuration launch disposition request.
1204       */
1205      launchDisposition?: LaunchDisposition;
1206      /**
1207       * Update Launch configuration licensing request.
1208       */
1209      licensing?: Licensing;
1210      /**
1211       * Update Launch configuration name request.
1212       */
1213      name?: SmallBoundedString;
1214      /**
1215       * Update Launch configuration by Source Server ID request.
1216       */
1217      sourceServerID: SourceServerID;
1218      /**
1219       * Update Launch configuration Target instance right sizing request.
1220       */
1221      targetInstanceTypeRightSizingMethod?: TargetInstanceTypeRightSizingMethod;
1222    }
1223    export interface UpdateReplicationConfigurationRequest {
1224      /**
1225       * Update replication configuration associate default Application Migration Service Security group request.
1226       */
1227      associateDefaultSecurityGroup?: Boolean;
1228      /**
1229       * Update replication configuration bandwidth throttling request.
1230       */
1231      bandwidthThrottling?: PositiveInteger;
1232      /**
1233       * Update replication configuration create Public IP request.
1234       */
1235      createPublicIP?: Boolean;
1236      /**
1237       * Update replication configuration data plane routing request.
1238       */
1239      dataPlaneRouting?: ReplicationConfigurationDataPlaneRouting;
1240      /**
1241       * Update replication configuration use default large Staging Disk type request.
1242       */
1243      defaultLargeStagingDiskType?: ReplicationConfigurationDefaultLargeStagingDiskType;
1244      /**
1245       * Update replication configuration EBS encryption request.
1246       */
1247      ebsEncryption?: ReplicationConfigurationEbsEncryption;
1248      /**
1249       * Update replication configuration EBS encryption key ARN request.
1250       */
1251      ebsEncryptionKeyArn?: ARN;
1252      /**
1253       * Update replication configuration name request.
1254       */
1255      name?: SmallBoundedString;
1256      /**
1257       * Update replication configuration replicated disks request.
1258       */
1259      replicatedDisks?: ReplicationConfigurationReplicatedDisks;
1260      /**
1261       * Update replication configuration Replication Server instance type request.
1262       */
1263      replicationServerInstanceType?: EC2InstanceType;
1264      /**
1265       * Update replication configuration Replication Server Security Groups IDs request.
1266       */
1267      replicationServersSecurityGroupsIDs?: ReplicationServersSecurityGroupsIDs;
1268      /**
1269       * Update replication configuration Source Server ID request.
1270       */
1271      sourceServerID: SourceServerID;
1272      /**
1273       * Update replication configuration Staging Area subnet request.
1274       */
1275      stagingAreaSubnetId?: SubnetID;
1276      /**
1277       * Update replication configuration Staging Area Tags request.
1278       */
1279      stagingAreaTags?: TagsMap;
1280      /**
1281       * Update replication configuration use dedicated Replication Server request.
1282       */
1283      useDedicatedReplicationServer?: Boolean;
1284    }
1285    export interface UpdateReplicationConfigurationTemplateRequest {
1286      /**
1287       * Update replication configuration template ARN request.
1288       */
1289      arn?: ARN;
1290      /**
1291       * Update replication configuration template associate default Application Migration Service Security group request.
1292       */
1293      associateDefaultSecurityGroup?: Boolean;
1294      /**
1295       * Update replication configuration template bandwidth throttling request.
1296       */
1297      bandwidthThrottling?: PositiveInteger;
1298      /**
1299       * Update replication configuration template create Public IP request.
1300       */
1301      createPublicIP?: Boolean;
1302      /**
1303       * Update replication configuration template data plane routing request.
1304       */
1305      dataPlaneRouting?: ReplicationConfigurationDataPlaneRouting;
1306      /**
1307       * Update replication configuration template use default large Staging Disk type request.
1308       */
1309      defaultLargeStagingDiskType?: ReplicationConfigurationDefaultLargeStagingDiskType;
1310      /**
1311       * Update replication configuration template EBS encryption request.
1312       */
1313      ebsEncryption?: ReplicationConfigurationEbsEncryption;
1314      /**
1315       * Update replication configuration template EBS encryption key ARN request.
1316       */
1317      ebsEncryptionKeyArn?: ARN;
1318      /**
1319       * Update replication configuration template template ID request.
1320       */
1321      replicationConfigurationTemplateID: ReplicationConfigurationTemplateID;
1322      /**
1323       * Update replication configuration template Replication Server instance type request.
1324       */
1325      replicationServerInstanceType?: EC2InstanceType;
1326      /**
1327       * Update replication configuration template Replication Server Security groups IDs request.
1328       */
1329      replicationServersSecurityGroupsIDs?: ReplicationServersSecurityGroupsIDs;
1330      /**
1331       * Update replication configuration template Staging Area subnet ID request.
1332       */
1333      stagingAreaSubnetId?: SubnetID;
1334      /**
1335       * Update replication configuration template Staging Area Tags request.
1336       */
1337      stagingAreaTags?: TagsMap;
1338      /**
1339       * Update replication configuration template use dedicated Replication Server request.
1340       */
1341      useDedicatedReplicationServer?: Boolean;
1342    }
1343    /**
1344     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1345     */
1346    export type apiVersion = "2020-02-26"|"latest"|string;
1347    export interface ClientApiVersions {
1348      /**
1349       * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1350       */
1351      apiVersion?: apiVersion;
1352    }
1353    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1354    /**
1355     * Contains interfaces for use with the Mgn client.
1356     */
1357    export import Types = Mgn;
1358  }
1359  export = Mgn;