Amazon Application Migration Service Source Servers API

Manage source servers being migrated

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

amazon-application-migration-service-source-servers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Application Migration Service Applications Source Servers API
  description: AWS Application Migration Service (MGN) is the primary migration service recommended for lift-and-shift migrations to AWS. It allows organizations to quickly realize the benefits of migrating applications to the cloud without changes and with minimal downtime.
  version: '2021-02-25'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://mgn.us-east-1.amazonaws.com
  description: AWS Application Migration Service US East (N. Virginia)
- url: https://mgn.eu-west-1.amazonaws.com
  description: AWS Application Migration Service EU (Ireland)
security:
- awsAuth: []
tags:
- name: Source Servers
  description: Manage source servers being migrated
paths:
  /DescribeSourceServers:
    post:
      operationId: describeSourceServers
      summary: Amazon Application Migration Service Describe Source Servers
      description: Retrieves all source servers or filtered by replication type and lifecycle state.
      tags:
      - Source Servers
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeSourceServersRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  filters:
                    isArchived: false
                  maxResults: 100
      responses:
        '200':
          description: Successful response with list of source servers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeSourceServersResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    items:
                    - sourceServerID: s-1234567890abcdef0
                      arn: arn:aws:mgn:us-east-1:123456789012:source-server/s-1234567890abcdef0
                      isArchived: false
                      tags: {}
                      launchedInstance:
                        ec2InstanceID: i-1234567890abcdef0
                        firstBoot: SUCCESS
                        jobID: mgnjob-1234567890abcdef0
                      dataReplicationInfo:
                        lagDuration: PT0S
                        lastSnapshotDateTime: '2026-04-19T00:00:00Z'
                        replicatedDisks: []
                        dataReplicationState: CONTINUOUS
                        dataReplicationInitiation:
                          steps: []
                      lifeCycle:
                        state: READY_FOR_CUTOVER
                      sourceProperties:
                        os:
                          fullString: Microsoft Windows Server 2019
                        ramBytes: 8589934592
                        cpus:
                        - cores: 4
                          modelName: Intel Xeon
                        networkInterfaces: []
                        recommendedInstanceType: t3.large
                    nextToken: ''
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /InitializeService:
    post:
      operationId: initializeService
      summary: Amazon Application Migration Service Initialize Service
      description: Initializes the Application Migration Service for a new AWS account.
      tags:
      - Source Servers
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
            examples:
              default:
                x-microcks-default: true
                value: {}
      responses:
        '204':
          description: Service initialized successfully
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /MarkAsArchived:
    post:
      operationId: markAsArchived
      summary: Amazon Application Migration Service Mark As Archived
      description: Archives or unarchives a source server by its ID.
      tags:
      - Source Servers
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkAsArchivedRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  sourceServerID: s-1234567890abcdef0
      responses:
        '200':
          description: Source server archived successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceServer'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    sourceServerID: s-1234567890abcdef0
                    isArchived: true
                    arn: arn:aws:mgn:us-east-1:123456789012:source-server/s-1234567890abcdef0
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /DeleteSourceServer:
    post:
      operationId: deleteSourceServer
      summary: Amazon Application Migration Service Delete Source Server
      description: Deletes a single source server by ID. The source server must be disconnected.
      tags:
      - Source Servers
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteSourceServerRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  sourceServerID: s-1234567890abcdef0
      responses:
        '204':
          description: Source server deleted successfully
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /DisconnectFromService:
    post:
      operationId: disconnectFromService
      summary: Amazon Application Migration Service Disconnect From Service
      description: Disconnects a source server from the Application Migration Service replication process.
      tags:
      - Source Servers
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisconnectFromServiceRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  sourceServerID: s-1234567890abcdef0
      responses:
        '200':
          description: Source server disconnected successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceServer'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    sourceServerID: s-1234567890abcdef0
                    isArchived: false
                    arn: arn:aws:mgn:us-east-1:123456789012:source-server/s-1234567890abcdef0
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    LaunchedInstance:
      type: object
      description: Details about the launched EC2 instance
      properties:
        ec2InstanceID:
          type: string
          description: EC2 instance ID
          example: i-1234567890abcdef0
        jobID:
          type: string
          description: Job ID that launched this instance
          example: mgnjob-1234567890abcdef0
        firstBoot:
          type: string
          description: First boot status
          enum:
          - WAITING
          - SUCCEEDED
          - UNKNOWN
          - STOPPED
          example: SUCCEEDED
    DataReplicationInfo:
      type: object
      description: Current data replication state and statistics for a source server
      properties:
        lagDuration:
          type: string
          description: Replication lag duration
          example: PT0S
        lastSnapshotDateTime:
          type: string
          description: Date/time of the last snapshot
          example: '2026-04-19T00:00:00Z'
        replicatedDisks:
          type: array
          description: List of replicated disks
          items:
            $ref: '#/components/schemas/DataReplicationInfoReplicatedDisk'
        dataReplicationState:
          type: string
          description: Current replication state
          enum:
          - STOPPED
          - INITIATING
          - INITIAL_SYNC
          - BACKLOG
          - CREATING_SNAPSHOT
          - CONTINUOUS
          - PAUSED
          - RESCAN
          - STALLED
          - DISCONNECTED
          - PENDING_SNAPSHOT_SHIPPING
          - SNAPSHOT_SHIPPING
          example: CONTINUOUS
        dataReplicationInitiation:
          $ref: '#/components/schemas/DataReplicationInitiation'
        dataReplicationError:
          $ref: '#/components/schemas/DataReplicationError'
        stagingAvailabilityZone:
          type: string
          description: Availability zone used for staging
          example: us-east-1a
    DataReplicationInitiation:
      type: object
      description: Replication initiation steps and their status
      properties:
        startDateTime:
          type: string
          description: Date/time replication initiation started
          example: '2026-04-01T00:00:00Z'
        nextAttemptDateTime:
          type: string
          description: Date/time of next retry attempt
          example: ''
        steps:
          type: array
          description: Initiation steps
          items:
            $ref: '#/components/schemas/DataReplicationInitiationStep'
    DisconnectFromServiceRequest:
      type: object
      description: Request to disconnect a source server from the service
      required:
      - sourceServerID
      properties:
        sourceServerID:
          type: string
          description: Source server ID to disconnect
          example: s-1234567890abcdef0
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    SourceServer:
      type: object
      description: A source server registered with the Application Migration Service
      properties:
        sourceServerID:
          type: string
          description: Unique identifier for the source server
          example: s-1234567890abcdef0
        arn:
          type: string
          description: ARN of the source server
          example: arn:aws:mgn:us-east-1:123456789012:source-server/s-1234567890abcdef0
        isArchived:
          type: boolean
          description: Whether the source server is archived
          example: false
        tags:
          type: object
          description: Tags applied to the source server
          additionalProperties:
            type: string
        lifeCycle:
          $ref: '#/components/schemas/LifeCycle'
        dataReplicationInfo:
          $ref: '#/components/schemas/DataReplicationInfo'
        sourceProperties:
          $ref: '#/components/schemas/SourceProperties'
        launchedInstance:
          $ref: '#/components/schemas/LaunchedInstance'
        applicationID:
          type: string
          description: ID of the application this server belongs to
          example: app-1234567890abcdef0
        vcenterClientID:
          type: string
          description: ID of the vCenter client this server was discovered from
          example: vcc-1234567890abcdef0
        replicationType:
          type: string
          description: Replication type for the source server
          enum:
          - AGENT_BASED
          - SNAPSHOT_SHIPPING
          example: AGENT_BASED
        userProvidedID:
          type: string
          description: User-provided identifier for the source server
          example: my-server-01
        fqdnForActionFramework:
          type: string
          description: FQDN used for action framework connectivity
          example: server.example.com
    DescribeSourceServersResponse:
      type: object
      description: Response with list of source servers
      properties:
        items:
          type: array
          description: List of source servers
          items:
            $ref: '#/components/schemas/SourceServer'
        nextToken:
          type: string
          description: Pagination token
          example: ''
    LifeCycleLastTest:
      type: object
      description: Details about the last test lifecycle event
      properties:
        jobID:
          type: string
          description: Job ID of the last test
          example: mgnjob-1234567890abcdef0
        initiatedDateTime:
          type: string
          description: Date/time the test was initiated
          example: '2026-04-19T00:00:00Z'
        finalizedDateTime:
          type: string
          description: Date/time the test was finalized
          example: '2026-04-19T01:00:00Z'
        revertedDateTime:
          type: string
          description: Date/time the test was reverted
          example: ''
    ErrorResponse:
      type: object
      description: Standard error response from the Application Migration Service API
      properties:
        message:
          type: string
          description: Error message
          example: An internal error occurred
        code:
          type: string
          description: Error code
          example: InternalServerException
    LifeCycleLastCutover:
      type: object
      description: Details about the last cutover lifecycle event
      properties:
        jobID:
          type: string
          description: Job ID of the last cutover
          example: mgnjob-1234567890abcdef0
        initiatedDateTime:
          type: string
          description: Date/time the cutover was initiated
          example: '2026-04-19T00:00:00Z'
        finalizedDateTime:
          type: string
          description: Date/time the cutover was finalized
          example: '2026-04-19T01:00:00Z'
        revertedDateTime:
          type: string
          description: Date/time the cutover was reverted
          example: ''
    MarkAsArchivedRequest:
      type: object
      description: Request to mark a source server as archived
      required:
      - sourceServerID
      properties:
        sourceServerID:
          type: string
          description: Source server ID to archive
          example: s-1234567890abcdef0
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    DataReplicationError:
      type: object
      description: Replication error details
      properties:
        error:
          type: string
          description: Error type
          example: SNAPSHOTS_FAILURE
        rawError:
          type: string
          description: Raw error message
          example: Snapshot creation failed
    NetworkInterface:
      type: object
      description: Network interface on a source server
      properties:
        macAddress:
          type: string
          description: MAC address
          example: 00:11:22:33:44:55
        ips:
          type: array
          description: IP addresses
          items:
            type: string
          example:
          - 192.168.1.100
        isPrimary:
          type: boolean
          description: Whether this is the primary interface
          example: true
    DescribeSourceServersRequestFilters:
      type: object
      description: Filters for describing source servers
      properties:
        sourceServerIDs:
          type: array
          description: Filter by source server IDs
          items:
            type: string
        isArchived:
          type: boolean
          description: Filter by archived status
          example: false
        replicationTypes:
          type: array
          description: Filter by replication type
          items:
            type: string
        lifeCycleStates:
          type: array
          description: Filter by lifecycle states
          items:
            type: string
        applicationIDs:
          type: array
          description: Filter by application IDs
          items:
            type: string
    OS:
      type: object
      description: Operating system information
      properties:
        fullString:
          type: string
          description: Full OS description string
          example: Microsoft Windows Server 2019 Standard
    SourceProperties:
      type: object
      description: Discovered properties of the source server
      properties:
        lastUpdatedDateTime:
          type: string
          description: Date/time properties were last updated
          example: '2026-04-19T00:00:00Z'
        recommendedInstanceType:
          type: string
          description: AWS instance type recommended for this server
          example: t3.large
        identificationHints:
          $ref: '#/components/schemas/IdentificationHints'
        networkInterfaces:
          type: array
          description: Network interfaces on the source server
          items:
            $ref: '#/components/schemas/NetworkInterface'
        disks:
          type: array
          description: Disks on the source server
          items:
            $ref: '#/components/schemas/Disk'
        cpus:
          type: array
          description: CPUs on the source server
          items:
            $ref: '#/components/schemas/CPU'
        ramBytes:
          type: integer
          description: RAM in bytes
          example: 8589934592
        os:
          $ref: '#/components/schemas/OS'
    DataReplicationInfoReplicatedDisk:
      type: object
      description: Replication status for an individual disk
      properties:
        deviceName:
          type: string
          description: Device name of the disk
          example: /dev/sda1
        totalStorageBytes:
          type: integer
          description: Total storage in bytes
          example: 107374182400
        replicatedStorageBytes:
          type: integer
          description: Amount of storage replicated in bytes
          example: 107374182400
        rescannedStorageBytes:
          type: integer
          description: Amount rescanned in bytes
          example: 0
        backloggedStorageBytes:
          type: integer
          description: Amount backlogged in bytes
          example: 0
    DataReplicationInitiationStep:
      type: object
      description: A single step in the replication initiation process
      properties:
        name:
          type: string
          description: Step name
          example: WAIT
        status:
          type: string
          description: Step status
          enum:
          - NOT_STARTED
          - IN_PROGRESS
          - SUCCEEDED
          - FAILED
          - SKIPPED
          example: SUCCEEDED
    DescribeSourceServersRequest:
      type: object
      description: Request to describe source servers
      properties:
        filters:
          $ref: '#/components/schemas/DescribeSourceServersRequestFilters'
        maxResults:
          type: integer
          description: Maximum results to return
          example: 100
        nextToken:
          type: string
          description: Pagination token
          example: ''
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    DeleteSourceServerRequest:
      type: object
      description: Request to delete a source server
      required:
      - sourceServerID
      properties:
        sourceServerID:
          type: string
          description: Source server ID to delete
          example: s-1234567890abcdef0
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    Disk:
      type: object
      description: A disk on a source server
      properties:
        deviceName:
          type: string
          description: Device name
          example: /dev/sda1
        bytes:
          type: integer
          description: Disk size in bytes
          example: 107374182400
    LifeCycle:
      type: object
      description: Lifecycle state of a source server
      properties:
        state:
          type: string
          description: Current lifecycle state
          enum:
          - STOPPED
          - NOT_READY
          - READY_FOR_TEST
          - TESTING
          - READY_FOR_CUTOVER
          - CUTTING_OVER
          - CUTOVER
          - DISCONNECTED
          - DISCOVERED
          - PENDING_INSTALLATION
          example: READY_FOR_CUTOVER
        addedToServiceDateTime:
          type: string
          description: Date/time the server was added to the service
          example: '2026-04-01T00:00:00Z'
        firstByteDateTime:
          type: string
          description: Date/time the first replication byte was received
          example: '2026-04-01T01:00:00Z'
        elapsedReplicationDuration:
          type: string
          description: Elapsed duration of replication
          example: PT24H
        lastSeenByServiceDateTime:
          type: string
          description: Date/time the agent last communicated with the service
          example: '2026-04-19T00:00:00Z'
        lastTestInitiated:
          $ref: '#/components/schemas/LifeCycleLastTest'
        lastTestReverted:
          $ref: '#/components/schemas/LifeCycleLastTest'
        lastTestFinalized:
          $ref: '#/components/schemas/LifeCycleLastTest'
        lastCutoverInitiated:
          $ref: '#/components/schemas/LifeCycleLastCutover'
        lastCutoverReverted:
          $ref: '#/components/schemas/LifeCycleLastCutover'
        lastCutoverFinalized:
          $ref: '#/components/schemas/LifeCycleLastCutover'
    IdentificationHints:
      type: object
      description: Hints used to identify the source server
      properties:
        fqdn:
          type: string
          description: Fully qualified domain name
          example: server.example.com
        hostname:
          type: string
          description: Hostname
          example: my-server
        vmWareUuid:
          type: string
          description: VMware UUID
          example: 12345678-1234-1234-1234-123456789012
        awsInstanceID:
          type: string
          description: AWS instance ID if previously in AWS
          example: i-1234567890abcdef0
        vmPath:
          type: string
          description: VMware path
          example: /Datacenter/vm/my-server
    CPU:
      type: object
      description: CPU information for a source server
      properties:
        cores:
          type: integer
          description: Number of cores
          example: 4
        modelName:
          type: string
          description: CPU model name
          example: Intel Xeon E5-2676 v3
  securitySchemes:
    awsAuth:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 authentication