AWS Migration Hub Orchestrator

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

Changes  Adds new CreateTemplate, UpdateTemplate and DeleteTemplate APIs.

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) --

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.

  • 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) --

GetTemplate (updated) Link ¶
Changes (response)
{'owner': 'string',
 'status': {'CREATION_FAILED', 'PENDING_CREATION', 'READY', 'CREATING'},
 '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.

          • 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.

      • 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.