AWS Migration Hub Orchestrator

2024/02/29 - AWS Migration Hub Orchestrator - 3 new 5 updated api methods

Changes  Adds new CreateTemplate, UpdateTemplate and DeleteTemplate APIs.

CreateTemplate (new) Link ¶

Creates a migration workflow template.

See also: AWS API Documentation

Request Syntax

client.create_template(
    templateName='string',
    templateDescription='string',
    templateSource={
        'workflowId': 'string'
    },
    clientToken='string',
    tags={
        'string': 'string'
    }
)
type templateName

string

param templateName

[REQUIRED]

The name of the migration workflow template.

type templateDescription

string

param templateDescription

A description of the migration workflow template.

type templateSource

dict

param templateSource

[REQUIRED]

The source of the migration workflow template.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: workflowId.

  • workflowId (string) --

    The ID of the workflow from the source migration workflow template.

type clientToken

string

param clientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Idempotency in the Smithy documentation.

This field is autopopulated if not provided.

type tags

dict

param tags

The tags to add to the migration workflow template.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'templateId': 'string',
    'templateArn': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • templateId (string) --

      The ID of the migration workflow template.

    • templateArn (string) --

      The Amazon Resource Name (ARN) of the migration workflow template. The format for an Migration Hub Orchestrator template ARN is arn:aws:migrationhub-orchestrator:region:account:template/template-abcd1234 . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • tags (dict) --

      The tags added to the migration workflow template.

      • (string) --

        • (string) --

DeleteTemplate (new) Link ¶

Deletes a migration workflow template.

See also: AWS API Documentation

Request Syntax

client.delete_template(
    id='string'
)
type id

string

param id

[REQUIRED]

The ID of the request to delete a migration workflow template.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

UpdateTemplate (new) Link ¶

Updates a migration workflow template.

See also: AWS API Documentation

Request Syntax

client.update_template(
    id='string',
    templateName='string',
    templateDescription='string',
    clientToken='string'
)
type id

string

param id

[REQUIRED]

The ID of the request to update a migration workflow template.

type templateName

string

param templateName

The name of the migration workflow template to update.

type templateDescription

string

param templateDescription

The description of the migration workflow template to update.

type clientToken

string

param clientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'templateId': 'string',
    'templateArn': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • templateId (string) --

      The ID of the migration workflow template being updated.

    • templateArn (string) --

      The ARN of the migration workflow template being updated. The format for an Migration Hub Orchestrator template ARN is arn:aws:migrationhub-orchestrator:region:account:template/template-abcd1234 . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • tags (dict) --

      The tags added to the migration workflow template.

      • (string) --

        • (string) --

GetTemplate (updated) Link ¶
Changes (response)
{'owner': 'string',
 'status': {'CREATING', 'READY', 'PENDING_CREATION', 'CREATION_FAILED'},
 'statusMessage': 'string',
 'tags': {'string': 'string'},
 'templateArn': 'string',
 'templateClass': 'string'}

Get the template you want to use for creating a migration workflow.

See also: AWS API Documentation

Request Syntax

client.get_template(
    id='string'
)
type id

string

param id

[REQUIRED]

The ID of the template.

rtype

dict

returns

Response Syntax

{
    'id': 'string',
    'templateArn': 'string',
    'name': 'string',
    'description': 'string',
    'inputs': [
        {
            'inputName': 'string',
            'dataType': 'STRING'|'INTEGER'|'STRINGLIST'|'STRINGMAP',
            'required': True|False
        },
    ],
    'tools': [
        {
            'name': 'string',
            'url': 'string'
        },
    ],
    'creationTime': datetime(2015, 1, 1),
    'owner': 'string',
    'status': 'CREATED'|'READY'|'PENDING_CREATION'|'CREATING'|'CREATION_FAILED',
    'statusMessage': 'string',
    'templateClass': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • id (string) --

      The ID of the template.

    • templateArn (string) --

      >The Amazon Resource Name (ARN) of the migration workflow template. The format for an Migration Hub Orchestrator template ARN is arn:aws:migrationhub-orchestrator:region:account:template/template-abcd1234 . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • name (string) --

      The name of the template.

    • description (string) --

      The time at which the template was last created.

    • inputs (list) --

      The inputs provided for the creation of the migration workflow.

      • (dict) --

        The input parameters of a template.

        • inputName (string) --

          The name of the template.

        • dataType (string) --

          The data type of the template input.

        • required (boolean) --

          Determine if an input is required from the template.

    • tools (list) --

      List of AWS services utilized in a migration workflow.

      • (dict) --

        List of AWS services utilized in a migration workflow.

        • name (string) --

          The name of an AWS service.

        • url (string) --

          The URL of an AWS service.

    • creationTime (datetime) --

      The time at which the template was last created.

    • owner (string) --

      The owner of the migration workflow template.

    • status (string) --

      The status of the template.

    • statusMessage (string) --

      The status message of retrieving migration workflow templates.

    • templateClass (string) --

      The class of the migration workflow template. The available template classes are:

      • A2C

      • MGN

      • SAP_MULTI

      • SQL_EC2

      • SQL_RDS

      • VMIE

    • tags (dict) --

      The tags added to the migration workflow template.

      • (string) --

        • (string) --

GetWorkflowStep (updated) Link ¶
Changes (response)
{'status': {'SKIPPED'}}

Get a step in the migration workflow.

See also: AWS API Documentation

Request Syntax

client.get_workflow_step(
    workflowId='string',
    stepGroupId='string',
    id='string'
)
type workflowId

string

param workflowId

[REQUIRED]

The ID of the migration workflow.

type stepGroupId

string

param stepGroupId

[REQUIRED]

The ID of the step group.

type id

string

param id

[REQUIRED]

The ID of the step.

rtype

dict

returns

Response Syntax

{
    'name': 'string',
    'stepGroupId': 'string',
    'workflowId': 'string',
    'stepId': 'string',
    'description': 'string',
    'stepActionType': 'MANUAL'|'AUTOMATED',
    'owner': 'AWS_MANAGED'|'CUSTOM',
    'workflowStepAutomationConfiguration': {
        'scriptLocationS3Bucket': 'string',
        'scriptLocationS3Key': {
            'linux': 'string',
            'windows': 'string'
        },
        'command': {
            'linux': 'string',
            'windows': 'string'
        },
        'runEnvironment': 'AWS'|'ONPREMISE',
        'targetType': 'SINGLE'|'ALL'|'NONE'
    },
    'stepTarget': [
        'string',
    ],
    'outputs': [
        {
            'name': 'string',
            'dataType': 'STRING'|'INTEGER'|'STRINGLIST'|'STRINGMAP',
            'required': True|False,
            'value': {
                'integerValue': 123,
                'stringValue': 'string',
                'listOfStringValue': [
                    'string',
                ]
            }
        },
    ],
    'previous': [
        'string',
    ],
    'next': [
        'string',
    ],
    'status': 'AWAITING_DEPENDENCIES'|'SKIPPED'|'READY'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'PAUSED'|'USER_ATTENTION_REQUIRED',
    'statusMessage': 'string',
    'scriptOutputLocation': 'string',
    'creationTime': datetime(2015, 1, 1),
    'lastStartTime': datetime(2015, 1, 1),
    'endTime': datetime(2015, 1, 1),
    'noOfSrvCompleted': 123,
    'noOfSrvFailed': 123,
    'totalNoOfSrv': 123
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the step.

    • stepGroupId (string) --

      The ID of the step group.

    • workflowId (string) --

      The ID of the migration workflow.

    • stepId (string) --

      The ID of the step.

    • description (string) --

      The description of the step.

    • stepActionType (string) --

      The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

    • owner (string) --

      The owner of the step.

    • workflowStepAutomationConfiguration (dict) --

      The custom script to run tests on source or target environments.

      • scriptLocationS3Bucket (string) --

        The Amazon S3 bucket where the script is located.

      • scriptLocationS3Key (dict) --

        The Amazon S3 key for the script location.

        • linux (string) --

          The script location for Linux.

        • windows (string) --

          The script location for Windows.

      • command (dict) --

        The command required to run the script.

        • linux (string) --

          Command for Linux.

        • windows (string) --

          Command for Windows.

      • runEnvironment (string) --

        The source or target environment.

      • targetType (string) --

        The servers on which to run the script.

    • stepTarget (list) --

      The servers on which a step will be run.

      • (string) --

    • outputs (list) --

      The outputs of the step.

      • (dict) --

        The output of a step.

        • name (string) --

          The name of the step.

        • dataType (string) --

          The data type of the output.

        • required (boolean) --

          Determine if an output is required from a step.

        • value (dict) --

          The value of the output.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: integerValue, stringValue, listOfStringValue. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • integerValue (integer) --

            The integer value.

          • stringValue (string) --

            The string value.

          • listOfStringValue (list) --

            The list of string value.

            • (string) --

    • previous (list) --

      The previous step.

      • (string) --

    • next (list) --

      The next step.

      • (string) --

    • status (string) --

      The status of the step.

    • statusMessage (string) --

      The status message of the migration workflow.

    • scriptOutputLocation (string) --

      The output location of the script.

    • creationTime (datetime) --

      The time at which the step was created.

    • lastStartTime (datetime) --

      The time at which the workflow was last started.

    • endTime (datetime) --

      The time at which the step ended.

    • noOfSrvCompleted (integer) --

      The number of servers that have been migrated.

    • noOfSrvFailed (integer) --

      The number of servers that have failed to migrate.

    • totalNoOfSrv (integer) --

      The total number of servers that have been migrated.

ListWorkflowSteps (updated) Link ¶
Changes (response)
{'workflowStepsSummary': {'status': {'SKIPPED'}}}

List the steps in a workflow.

See also: AWS API Documentation

Request Syntax

client.list_workflow_steps(
    nextToken='string',
    maxResults=123,
    workflowId='string',
    stepGroupId='string'
)
type nextToken

string

param nextToken

The pagination token.

type maxResults

integer

param maxResults

The maximum number of results that can be returned.

type workflowId

string

param workflowId

[REQUIRED]

The ID of the migration workflow.

type stepGroupId

string

param stepGroupId

[REQUIRED]

The ID of the step group.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'workflowStepsSummary': [
        {
            'stepId': 'string',
            'name': 'string',
            'stepActionType': 'MANUAL'|'AUTOMATED',
            'owner': 'AWS_MANAGED'|'CUSTOM',
            'previous': [
                'string',
            ],
            'next': [
                'string',
            ],
            'status': 'AWAITING_DEPENDENCIES'|'SKIPPED'|'READY'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'PAUSED'|'USER_ATTENTION_REQUIRED',
            'statusMessage': 'string',
            'noOfSrvCompleted': 123,
            'noOfSrvFailed': 123,
            'totalNoOfSrv': 123,
            'description': 'string',
            'scriptLocation': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The pagination token.

    • workflowStepsSummary (list) --

      The summary of steps in a migration workflow.

      • (dict) --

        The summary of the step in a migration workflow.

        • stepId (string) --

          The ID of the step.

        • name (string) --

          The name of the step.

        • stepActionType (string) --

          The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

        • owner (string) --

          The owner of the step.

        • previous (list) --

          The previous step.

          • (string) --

        • next (list) --

          The next step.

          • (string) --

        • status (string) --

          The status of the step.

        • statusMessage (string) --

          The status message of the migration workflow.

        • noOfSrvCompleted (integer) --

          The number of servers that have been migrated.

        • noOfSrvFailed (integer) --

          The number of servers that have failed to migrate.

        • totalNoOfSrv (integer) --

          The total number of servers that have been migrated.

        • description (string) --

          The description of the step.

        • scriptLocation (string) --

          The location of the script.

RetryWorkflowStep (updated) Link ¶
Changes (response)
{'status': {'SKIPPED'}}

Retry a failed step in a migration workflow.

See also: AWS API Documentation

Request Syntax

client.retry_workflow_step(
    workflowId='string',
    stepGroupId='string',
    id='string'
)
type workflowId

string

param workflowId

[REQUIRED]

The ID of the migration workflow.

type stepGroupId

string

param stepGroupId

[REQUIRED]

The ID of the step group.

type id

string

param id

[REQUIRED]

The ID of the step.

rtype

dict

returns

Response Syntax

{
    'stepGroupId': 'string',
    'workflowId': 'string',
    'id': 'string',
    'status': 'AWAITING_DEPENDENCIES'|'SKIPPED'|'READY'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'PAUSED'|'USER_ATTENTION_REQUIRED'
}

Response Structure

  • (dict) --

    • stepGroupId (string) --

      The ID of the step group.

    • workflowId (string) --

      The ID of the migration workflow.

    • id (string) --

      The ID of the step.

    • status (string) --

      The status of the step.

UpdateWorkflowStep (updated) Link ¶
Changes (request)
{'status': {'SKIPPED'}}

Update a step in a migration workflow.

See also: AWS API Documentation

Request Syntax

client.update_workflow_step(
    id='string',
    stepGroupId='string',
    workflowId='string',
    name='string',
    description='string',
    stepActionType='MANUAL'|'AUTOMATED',
    workflowStepAutomationConfiguration={
        'scriptLocationS3Bucket': 'string',
        'scriptLocationS3Key': {
            'linux': 'string',
            'windows': 'string'
        },
        'command': {
            'linux': 'string',
            'windows': 'string'
        },
        'runEnvironment': 'AWS'|'ONPREMISE',
        'targetType': 'SINGLE'|'ALL'|'NONE'
    },
    stepTarget=[
        'string',
    ],
    outputs=[
        {
            'name': 'string',
            'dataType': 'STRING'|'INTEGER'|'STRINGLIST'|'STRINGMAP',
            'required': True|False,
            'value': {
                'integerValue': 123,
                'stringValue': 'string',
                'listOfStringValue': [
                    'string',
                ]
            }
        },
    ],
    previous=[
        'string',
    ],
    next=[
        'string',
    ],
    status='AWAITING_DEPENDENCIES'|'SKIPPED'|'READY'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'PAUSED'|'USER_ATTENTION_REQUIRED'
)
type id

string

param id

[REQUIRED]

The ID of the step.

type stepGroupId

string

param stepGroupId

[REQUIRED]

The ID of the step group.

type workflowId

string

param workflowId

[REQUIRED]

The ID of the migration workflow.

type name

string

param name

The name of the step.

type description

string

param description

The description of the step.

type stepActionType

string

param stepActionType

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

type workflowStepAutomationConfiguration

dict

param workflowStepAutomationConfiguration

The custom script to run tests on the source and target environments.

  • scriptLocationS3Bucket (string) --

    The Amazon S3 bucket where the script is located.

  • scriptLocationS3Key (dict) --

    The Amazon S3 key for the script location.

    • linux (string) --

      The script location for Linux.

    • windows (string) --

      The script location for Windows.

  • command (dict) --

    The command required to run the script.

    • linux (string) --

      Command for Linux.

    • windows (string) --

      Command for Windows.

  • runEnvironment (string) --

    The source or target environment.

  • targetType (string) --

    The servers on which to run the script.

type stepTarget

list

param stepTarget

The servers on which a step will be run.

  • (string) --

type outputs

list

param outputs

The outputs of a step.

  • (dict) --

    The output of a step.

    • name (string) --

      The name of the step.

    • dataType (string) --

      The data type of the output.

    • required (boolean) --

      Determine if an output is required from a step.

    • value (dict) --

      The value of the output.

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: integerValue, stringValue, listOfStringValue.

      • integerValue (integer) --

        The integer value.

      • stringValue (string) --

        The string value.

      • listOfStringValue (list) --

        The list of string value.

        • (string) --

type previous

list

param previous

The previous step.

  • (string) --

type next

list

param next

The next step.

  • (string) --

type status

string

param status

The status of the step.

rtype

dict

returns

Response Syntax

{
    'id': 'string',
    'stepGroupId': 'string',
    'workflowId': 'string',
    'name': 'string'
}

Response Structure

  • (dict) --

    • id (string) --

      The ID of the step.

    • stepGroupId (string) --

      The ID of the step group.

    • workflowId (string) --

      The ID of the migration workflow.

    • name (string) --

      The name of the step.