Amazon Application Migration Service Launch API

Launch configuration and templates

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

amazon-application-migration-service-launch-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Application Migration Service Applications Launch 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: Launch
  description: Launch configuration and templates
paths:
  /GetLaunchConfiguration:
    post:
      operationId: getLaunchConfiguration
      summary: Amazon Application Migration Service Get Launch Configuration
      description: Retrieves the launch configuration for a specific source server.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetLaunchConfigurationRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  sourceServerID: s-1234567890abcdef0
      responses:
        '200':
          description: Launch configuration retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchConfiguration'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    sourceServerID: s-1234567890abcdef0
                    name: Default launch configuration
                    ec2LaunchTemplateID: lt-1234567890abcdef0
                    launchDisposition: STOPPED
                    targetInstanceTypeRightSizingMethod: BASIC
                    copyPrivateIp: false
                    copyTags: false
                    licensing:
                      osByol: false
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /UpdateLaunchConfiguration:
    post:
      operationId: updateLaunchConfiguration
      summary: Amazon Application Migration Service Update Launch Configuration
      description: Updates the launch configuration for a specific source server.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLaunchConfigurationRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  sourceServerID: s-1234567890abcdef0
                  launchDisposition: STARTED
                  copyTags: true
      responses:
        '200':
          description: Launch configuration updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchConfiguration'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    sourceServerID: s-1234567890abcdef0
                    name: Updated launch configuration
                    launchDisposition: STARTED
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /DescribeLaunchConfigurationTemplates:
    post:
      operationId: describeLaunchConfigurationTemplates
      summary: Amazon Application Migration Service Describe Launch Configuration Templates
      description: Retrieves all launch configuration templates or specific ones by ID.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeLaunchConfigurationTemplatesRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  maxResults: 100
      responses:
        '200':
          description: Launch configuration templates retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeLaunchConfigurationTemplatesResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    items:
                    - launchConfigurationTemplateID: lct-1234567890abcdef0
                      arn: arn:aws:mgn:us-east-1:123456789012:launch-configuration-template/lct-1234567890abcdef0
                      launchDisposition: STOPPED
                      targetInstanceTypeRightSizingMethod: BASIC
                    nextToken: ''
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /CreateLaunchConfigurationTemplate:
    post:
      operationId: createLaunchConfigurationTemplate
      summary: Amazon Application Migration Service Create Launch Configuration Template
      description: Creates a new launch configuration template.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLaunchConfigurationTemplateRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  launchDisposition: STOPPED
                  targetInstanceTypeRightSizingMethod: BASIC
                  copyPrivateIp: false
                  copyTags: false
      responses:
        '201':
          description: Launch configuration template created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchConfigurationTemplate'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    launchConfigurationTemplateID: lct-1234567890abcdef0
                    arn: arn:aws:mgn:us-east-1:123456789012:launch-configuration-template/lct-1234567890abcdef0
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /UpdateLaunchConfigurationTemplate:
    post:
      operationId: updateLaunchConfigurationTemplate
      summary: Amazon Application Migration Service Update Launch Configuration Template
      description: Updates an existing launch configuration template.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLaunchConfigurationTemplateRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  launchConfigurationTemplateID: lct-1234567890abcdef0
                  launchDisposition: STARTED
      responses:
        '200':
          description: Launch configuration template updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchConfigurationTemplate'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    launchConfigurationTemplateID: lct-1234567890abcdef0
                    arn: arn:aws:mgn:us-east-1:123456789012:launch-configuration-template/lct-1234567890abcdef0
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /DeleteLaunchConfigurationTemplate:
    post:
      operationId: deleteLaunchConfigurationTemplate
      summary: Amazon Application Migration Service Delete Launch Configuration Template
      description: Deletes a launch configuration template by ID.
      tags:
      - Launch
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteLaunchConfigurationTemplateRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  launchConfigurationTemplateID: lct-1234567890abcdef0
      responses:
        '204':
          description: Launch configuration template deleted
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    DescribeLaunchConfigurationTemplatesResponse:
      type: object
      description: Response with launch configuration templates
      properties:
        items:
          type: array
          description: List of launch configuration templates
          items:
            $ref: '#/components/schemas/LaunchConfigurationTemplate'
        nextToken:
          type: string
          description: Pagination token
          example: ''
    SsmParameterStoreParameter:
      type: object
      description: SSM Parameter Store parameter reference
      properties:
        parameterName:
          type: string
          description: Parameter name
          example: /my/parameter
        parameterType:
          type: string
          description: Parameter type
          enum:
          - STRING
          example: STRING
    PostLaunchActions:
      type: object
      description: Actions to execute after the instance launches
      properties:
        deployment:
          type: string
          description: Deployment type for post-launch actions
          enum:
          - TEST_AND_CUTOVER
          - CUTOVER_ONLY
          - TEST_ONLY
          example: TEST_AND_CUTOVER
        s3LogBucket:
          type: string
          description: S3 bucket for action logs
          example: my-migration-logs
        s3OutputKeyPrefix:
          type: string
          description: S3 key prefix for action logs
          example: mgn-logs/
        cloudWatchLogGroupName:
          type: string
          description: CloudWatch log group name
          example: /aws/mgn/post-launch-actions
        ssmDocuments:
          type: array
          description: SSM documents to execute
          items:
            $ref: '#/components/schemas/SsmDocument'
    Licensing:
      type: object
      description: Licensing settings for the launched instance
      properties:
        osByol:
          type: boolean
          description: Whether to use Bring Your Own License for the OS
          example: false
    SsmDocument:
      type: object
      description: An SSM document configuration for post-launch automation
      properties:
        actionName:
          type: string
          description: Name of the SSM action
          example: InstallSoftware
        ssmDocumentName:
          type: string
          description: SSM document name
          example: AWS-RunShellScript
        timeoutSeconds:
          type: integer
          description: Timeout in seconds
          example: 3600
        mustSucceedForCutover:
          type: boolean
          description: Whether this action must succeed for cutover to proceed
          example: false
        parameters:
          type: object
          description: SSM document parameters
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/SsmParameterStoreParameter'
    DeleteLaunchConfigurationTemplateRequest:
      type: object
      description: Request to delete a launch configuration template
      required:
      - launchConfigurationTemplateID
      properties:
        launchConfigurationTemplateID:
          type: string
          description: Template ID to delete
          example: lct-1234567890abcdef0
    LaunchConfigurationTemplate:
      type: object
      description: Template for default launch configuration settings
      properties:
        launchConfigurationTemplateID:
          type: string
          description: Template ID
          example: lct-1234567890abcdef0
        arn:
          type: string
          description: ARN of the template
          example: arn:aws:mgn:us-east-1:123456789012:launch-configuration-template/lct-1234567890abcdef0
        launchDisposition:
          type: string
          description: Default launch disposition
          enum:
          - STOPPED
          - STARTED
          example: STOPPED
        targetInstanceTypeRightSizingMethod:
          type: string
          description: Right-sizing method
          enum:
          - NONE
          - BASIC
          - IN_AWS
          example: BASIC
        copyPrivateIp:
          type: boolean
          description: Whether to copy private IP
          example: false
        copyTags:
          type: boolean
          description: Whether to copy tags
          example: false
        licensing:
          $ref: '#/components/schemas/Licensing'
        bootMode:
          type: string
          description: Boot mode
          enum:
          - LEGACY_BIOS
          - UEFI
          - USE_SOURCE
          example: USE_SOURCE
        tags:
          type: object
          description: Tags on the template
          additionalProperties:
            type: string
    LaunchConfiguration:
      type: object
      description: Launch configuration for a source server
      properties:
        sourceServerID:
          type: string
          description: Source server ID
          example: s-1234567890abcdef0
        name:
          type: string
          description: Configuration name
          example: Default launch configuration
        ec2LaunchTemplateID:
          type: string
          description: EC2 launch template ID
          example: lt-1234567890abcdef0
        launchDisposition:
          type: string
          description: Launch disposition for the instance
          enum:
          - STOPPED
          - STARTED
          example: STOPPED
        targetInstanceTypeRightSizingMethod:
          type: string
          description: Right-sizing method for target instance type
          enum:
          - NONE
          - BASIC
          - IN_AWS
          example: BASIC
        copyPrivateIp:
          type: boolean
          description: Whether to copy source server private IP to target
          example: false
        copyTags:
          type: boolean
          description: Whether to copy source server tags to target instance
          example: false
        licensing:
          $ref: '#/components/schemas/Licensing'
        bootMode:
          type: string
          description: Boot mode for the target instance
          enum:
          - LEGACY_BIOS
          - UEFI
          - USE_SOURCE
          example: USE_SOURCE
        postLaunchActions:
          $ref: '#/components/schemas/PostLaunchActions'
        enableMapAutoTagging:
          type: boolean
          description: Whether to enable MAP auto-tagging
          example: false
        mapAutoTaggingMpeID:
          type: string
          description: MAP auto-tagging MPE ID
          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
    DescribeLaunchConfigurationTemplatesRequest:
      type: object
      description: Request to describe launch configuration templates
      properties:
        launchConfigurationTemplateIDs:
          type: array
          description: Filter by template IDs
          items:
            type: string
        maxResults:
          type: integer
          description: Maximum results to return
          example: 100
        nextToken:
          type: string
          description: Pagination token
          example: ''
    CreateLaunchConfigurationTemplateRequest:
      type: object
      description: Request to create a launch configuration template
      properties:
        launchDisposition:
          type: string
          description: Default launch disposition
          example: STOPPED
        targetInstanceTypeRightSizingMethod:
          type: string
          description: Right-sizing method
          example: BASIC
        copyPrivateIp:
          type: boolean
          example: false
        copyTags:
          type: boolean
          example: false
        licensing:
          $ref: '#/components/schemas/Licensing'
        tags:
          type: object
          additionalProperties:
            type: string
    GetLaunchConfigurationRequest:
      type: object
      description: Request to get launch configuration
      required:
      - sourceServerID
      properties:
        sourceServerID:
          type: string
          description: Source server ID
          example: s-1234567890abcdef0
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    UpdateLaunchConfigurationRequest:
      type: object
      description: Request to update launch configuration
      required:
      - sourceServerID
      properties:
        sourceServerID:
          type: string
          description: Source server ID
          example: s-1234567890abcdef0
        name:
          type: string
          description: Configuration name
          example: Updated configuration
        launchDisposition:
          type: string
          description: Launch disposition
          enum:
          - STOPPED
          - STARTED
          example: STARTED
        targetInstanceTypeRightSizingMethod:
          type: string
          description: Right-sizing method
          example: BASIC
        copyPrivateIp:
          type: boolean
          example: false
        copyTags:
          type: boolean
          example: true
        licensing:
          $ref: '#/components/schemas/Licensing'
        accountID:
          type: string
          description: Account ID for cross-account access
          example: '123456789012'
    UpdateLaunchConfigurationTemplateRequest:
      type: object
      description: Request to update a launch configuration template
      required:
      - launchConfigurationTemplateID
      properties:
        launchConfigurationTemplateID:
          type: string
          description: Template ID to update
          example: lct-1234567890abcdef0
        launchDisposition:
          type: string
          example: STARTED
        targetInstanceTypeRightSizingMethod:
          type: string
          example: BASIC
        copyPrivateIp:
          type: boolean
          example: false
        copyTags:
          type: boolean
          example: false
  securitySchemes:
    awsAuth:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 authentication