SDK for PHP 3.x

Client: Aws\MigrationHub\MigrationHubClient
Service ID: mgh
Version: 2017-05-31

This page describes the parameters and results for the operations of the AWS Migration Hub (2017-05-31), and shows how to use the Aws\MigrationHub\MigrationHubClient object to call the described operations. This documentation is specific to the 2017-05-31 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AssociateCreatedArtifact ( array $params = [] )
Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool.
AssociateDiscoveredResource ( array $params = [] )
Associates a discovered resource ID from Application Discovery Service with a migration task.
CreateProgressUpdateStream ( array $params = [] )
Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account.
DeleteProgressUpdateStream ( array $params = [] )
Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control.
DescribeApplicationState ( array $params = [] )
Gets the migration status of an application.
DescribeMigrationTask ( array $params = [] )
Retrieves a list of all attributes associated with a specific migration task.
DisassociateCreatedArtifact ( array $params = [] )
Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated.
DisassociateDiscoveredResource ( array $params = [] )
Disassociate an Application Discovery Service discovered resource from a migration task.
ImportMigrationTask ( array $params = [] )
Registers a new migration task which represents a server, database, etc.
ListApplicationStates ( array $params = [] )
Lists all the migration statuses for your applications.
ListCreatedArtifacts ( array $params = [] )
Lists the created artifacts attached to a given migration task in an update stream.
ListDiscoveredResources ( array $params = [] )
Lists discovered resources associated with the given MigrationTask.
ListMigrationTasks ( array $params = [] )
Lists all, or filtered by resource name, migration tasks associated with the user account making this call.
ListProgressUpdateStreams ( array $params = [] )
Lists progress update streams associated with the user account making this call.
NotifyApplicationState ( array $params = [] )
Sets the migration state of an application.
NotifyMigrationTaskState ( array $params = [] )
Notifies Migration Hub of the current status, progress, or other detail regarding a migration task.
PutResourceAttributes ( array $params = [] )
Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service repository.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListApplicationStates
ListCreatedArtifacts
ListDiscoveredResources
ListMigrationTasks
ListProgressUpdateStreams

Operations

AssociateCreatedArtifact

$result = $client->associateCreatedArtifact([/* ... */]);
$promise = $client->associateCreatedArtifactAsync([/* ... */]);

Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits:

  • Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.

Parameter Syntax

$result = $client->associateCreatedArtifact([
    'CreatedArtifact' => [ // REQUIRED
        'Description' => '<string>',
        'Name' => '<string>', // REQUIRED
    ],
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
CreatedArtifact
Required: Yes
Type: CreatedArtifact structure

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

AssociateDiscoveredResource

$result = $client->associateDiscoveredResource([/* ... */]);
$promise = $client->associateDiscoveredResourceAsync([/* ... */]);

Associates a discovered resource ID from Application Discovery Service with a migration task.

Parameter Syntax

$result = $client->associateDiscoveredResource([
    'DiscoveredResource' => [ // REQUIRED
        'ConfigurationId' => '<string>', // REQUIRED
        'Description' => '<string>',
    ],
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
DiscoveredResource
Required: Yes
Type: DiscoveredResource structure

Object representing a Resource.

DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

The identifier given to the MigrationTask. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

PolicyErrorException:

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

CreateProgressUpdateStream

$result = $client->createProgressUpdateStream([/* ... */]);
$promise = $client->createProgressUpdateStreamAsync([/* ... */]);

Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account.

Parameter Syntax

$result = $client->createProgressUpdateStream([
    'DryRun' => true || false,
    'ProgressUpdateStreamName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

ProgressUpdateStreamName
Required: Yes
Type: string

The name of the ProgressUpdateStream. Do not store personal data in this field.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

DeleteProgressUpdateStream

$result = $client->deleteProgressUpdateStream([/* ... */]);
$promise = $client->deleteProgressUpdateStreamAsync([/* ... */]);

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).

  • The call will return, and a background process will asynchronously delete the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).

  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.

  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs related to the tasks belonging to the stream will throw "InvalidInputException" if the stream of the same name is in the process of being deleted.

  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

Parameter Syntax

$result = $client->deleteProgressUpdateStream([
    'DryRun' => true || false,
    'ProgressUpdateStreamName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

ProgressUpdateStreamName
Required: Yes
Type: string

The name of the ProgressUpdateStream. Do not store personal data in this field.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

DescribeApplicationState

$result = $client->describeApplicationState([/* ... */]);
$promise = $client->describeApplicationStateAsync([/* ... */]);

Gets the migration status of an application.

Parameter Syntax

$result = $client->describeApplicationState([
    'ApplicationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationId
Required: Yes
Type: string

The configurationId in Application Discovery Service that uniquely identifies the grouped application.

Result Syntax

[
    'ApplicationStatus' => 'NOT_STARTED|IN_PROGRESS|COMPLETED',
    'LastUpdatedTime' => <DateTime>,
]

Result Details

Members
ApplicationStatus
Type: string

Status of the application - Not Started, In-Progress, Complete.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the application status was last updated.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

PolicyErrorException:

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

DescribeMigrationTask

$result = $client->describeMigrationTask([/* ... */]);
$promise = $client->describeMigrationTaskAsync([/* ... */]);

Retrieves a list of all attributes associated with a specific migration task.

Parameter Syntax

$result = $client->describeMigrationTask([
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationTaskName
Required: Yes
Type: string

The identifier given to the MigrationTask. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[
    'MigrationTask' => [
        'MigrationTaskName' => '<string>',
        'ProgressUpdateStream' => '<string>',
        'ResourceAttributeList' => [
            [
                'Type' => 'IPV4_ADDRESS|IPV6_ADDRESS|MAC_ADDRESS|FQDN|VM_MANAGER_ID|VM_MANAGED_OBJECT_REFERENCE|VM_NAME|VM_PATH|BIOS_ID|MOTHERBOARD_SERIAL_NUMBER',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Task' => [
            'ProgressPercent' => <integer>,
            'Status' => 'NOT_STARTED|IN_PROGRESS|FAILED|COMPLETED',
            'StatusDetail' => '<string>',
        ],
        'UpdateDateTime' => <DateTime>,
    ],
]

Result Details

Members
MigrationTask
Type: MigrationTask structure

Object encapsulating information about the migration task.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

DisassociateCreatedArtifact

$result = $client->disassociateCreatedArtifact([/* ... */]);
$promise = $client->disassociateCreatedArtifactAsync([/* ... */]);

Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits:

  • A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.

Parameter Syntax

$result = $client->disassociateCreatedArtifact([
    'CreatedArtifactName' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
CreatedArtifactName
Required: Yes
Type: string

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task to be disassociated with the artifact. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

DisassociateDiscoveredResource

$result = $client->disassociateDiscoveredResource([/* ... */]);
$promise = $client->disassociateDiscoveredResourceAsync([/* ... */]);

Disassociate an Application Discovery Service discovered resource from a migration task.

Parameter Syntax

$result = $client->disassociateDiscoveredResource([
    'ConfigurationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
ConfigurationId
Required: Yes
Type: string

ConfigurationId of the Application Discovery Service resource to be disassociated.

DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

The identifier given to the MigrationTask. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ImportMigrationTask

$result = $client->importMigrationTask([/* ... */]);
$promise = $client->importMigrationTaskAsync([/* ... */]);

Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.

This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub.

Parameter Syntax

$result = $client->importMigrationTask([
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream. >

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ListApplicationStates

$result = $client->listApplicationStates([/* ... */]);
$promise = $client->listApplicationStatesAsync([/* ... */]);

Lists all the migration statuses for your applications. If you use the optional ApplicationIds parameter, only the migration statuses for those applications will be returned.

Parameter Syntax

$result = $client->listApplicationStates([
    'ApplicationIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ApplicationIds
Type: Array of strings

The configurationIds from the Application Discovery Service that uniquely identifies your applications.

MaxResults
Type: int

Maximum number of results to be returned per page.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

Result Syntax

[
    'ApplicationStateList' => [
        [
            'ApplicationId' => '<string>',
            'ApplicationStatus' => 'NOT_STARTED|IN_PROGRESS|COMPLETED',
            'LastUpdatedTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ApplicationStateList
Type: Array of ApplicationState structures

A list of Applications that exist in Application Discovery Service.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ListCreatedArtifacts

$result = $client->listCreatedArtifacts([/* ... */]);
$promise = $client->listCreatedArtifactsAsync([/* ... */]);

Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:

  • Gets the list of the created artifacts while migration is taking place.

  • Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API.

  • Lists created artifacts in a paginated interface.

Parameter Syntax

$result = $client->listCreatedArtifacts([
    'MaxResults' => <integer>,
    'MigrationTaskName' => '<string>', // REQUIRED
    'NextToken' => '<string>',
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

Maximum number of results to be returned per page.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[
    'CreatedArtifactList' => [
        [
            'Description' => '<string>',
            'Name' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CreatedArtifactList
Type: Array of CreatedArtifact structures

List of created artifacts up to the maximum number of results specified in the request.

NextToken
Type: string

If there are more created artifacts than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ListDiscoveredResources

$result = $client->listDiscoveredResources([/* ... */]);
$promise = $client->listDiscoveredResourcesAsync([/* ... */]);

Lists discovered resources associated with the given MigrationTask.

Parameter Syntax

$result = $client->listDiscoveredResources([
    'MaxResults' => <integer>,
    'MigrationTaskName' => '<string>', // REQUIRED
    'NextToken' => '<string>',
    'ProgressUpdateStream' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results returned per page.

MigrationTaskName
Required: Yes
Type: string

The name of the MigrationTask. Do not store personal data in this field.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Result Syntax

[
    'DiscoveredResourceList' => [
        [
            'ConfigurationId' => '<string>',
            'Description' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
DiscoveredResourceList
Type: Array of DiscoveredResource structures

Returned list of discovered resources associated with the given MigrationTask.

NextToken
Type: string

If there are more discovered resources than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ListMigrationTasks

$result = $client->listMigrationTasks([/* ... */]);
$promise = $client->listMigrationTasksAsync([/* ... */]);

Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:

  • Can show a summary list of the most recent migration tasks.

  • Can show a summary list of migration tasks associated with a given discovered resource.

  • Lists migration tasks in a paginated interface.

Parameter Syntax

$result = $client->listMigrationTasks([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceName' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Value to specify how many results are returned per page.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

ResourceName
Type: string

Filter migration tasks by discovered resource name.

Result Syntax

[
    'MigrationTaskSummaryList' => [
        [
            'MigrationTaskName' => '<string>',
            'ProgressPercent' => <integer>,
            'ProgressUpdateStream' => '<string>',
            'Status' => 'NOT_STARTED|IN_PROGRESS|FAILED|COMPLETED',
            'StatusDetail' => '<string>',
            'UpdateDateTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MigrationTaskSummaryList
Type: Array of MigrationTaskSummary structures

Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and the UpdateDateTime for each task.

NextToken
Type: string

If there are more migration tasks than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

PolicyErrorException:

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

ListProgressUpdateStreams

$result = $client->listProgressUpdateStreams([/* ... */]);
$promise = $client->listProgressUpdateStreamsAsync([/* ... */]);

Lists progress update streams associated with the user account making this call.

Parameter Syntax

$result = $client->listProgressUpdateStreams([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Filter to limit the maximum number of results to list per page.

NextToken
Type: string

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

Result Syntax

[
    'NextToken' => '<string>',
    'ProgressUpdateStreamSummaryList' => [
        [
            'ProgressUpdateStreamName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If there are more streams created than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

ProgressUpdateStreamSummaryList
Type: Array of ProgressUpdateStreamSummary structures

List of progress update streams up to the max number of results passed in the input.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

NotifyApplicationState

$result = $client->notifyApplicationState([/* ... */]);
$promise = $client->notifyApplicationStateAsync([/* ... */]);

Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.

Parameter Syntax

$result = $client->notifyApplicationState([
    'ApplicationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Status' => 'NOT_STARTED|IN_PROGRESS|COMPLETED', // REQUIRED
    'UpdateDateTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
ApplicationId
Required: Yes
Type: string

The configurationId in Application Discovery Service that uniquely identifies the grouped application.

DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Status
Required: Yes
Type: string

Status of the application - Not Started, In-Progress, Complete.

UpdateDateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the application state changed.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

PolicyErrorException:

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

NotifyMigrationTaskState

$result = $client->notifyMigrationTaskState([/* ... */]);
$promise = $client->notifyMigrationTaskStateAsync([/* ... */]);

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

  • Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status.

  • MigrationTaskName is used for addressing updates to the correct target.

  • ProgressUpdateStream is used for access control and to provide a namespace for each migration tool.

Parameter Syntax

$result = $client->notifyMigrationTaskState([
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'NextUpdateSeconds' => <integer>, // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
    'Task' => [ // REQUIRED
        'ProgressPercent' => <integer>,
        'Status' => 'NOT_STARTED|IN_PROGRESS|FAILED|COMPLETED', // REQUIRED
        'StatusDetail' => '<string>',
    ],
    'UpdateDateTime' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

NextUpdateSeconds
Required: Yes
Type: int

Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

Task
Required: Yes
Type: Task structure

Information about the task's progress and status.

UpdateDateTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the task was gathered.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

PutResourceAttributes

$result = $client->putResourceAttributes([/* ... */]);
$promise = $client->putResourceAttributesAsync([/* ... */]);

Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service repository. This association occurs asynchronously after PutResourceAttributes returns.

  • Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overriding the MAC address.

  • Note the instructions regarding the special use case of the ResourceAttributeList parameter when specifying any "VM" related value.

Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListDiscoveredResources.

Parameter Syntax

$result = $client->putResourceAttributes([
    'DryRun' => true || false,
    'MigrationTaskName' => '<string>', // REQUIRED
    'ProgressUpdateStream' => '<string>', // REQUIRED
    'ResourceAttributeList' => [ // REQUIRED
        [
            'Type' => 'IPV4_ADDRESS|IPV6_ADDRESS|MAC_ADDRESS|FQDN|VM_MANAGER_ID|VM_MANAGED_OBJECT_REFERENCE|VM_NAME|VM_PATH|BIOS_ID|MOTHERBOARD_SERIAL_NUMBER', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

MigrationTaskName
Required: Yes
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

ProgressUpdateStream
Required: Yes
Type: string

The name of the ProgressUpdateStream.

ResourceAttributeList
Required: Yes
Type: Array of ResourceAttribute structures

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service repository.

Takes the object array of ResourceAttribute where the Type field is reserved for the following values: IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID | MOTHERBOARD_SERIAL_NUMBER where the identifying value can be a string up to 256 characters.

  • If any "VM" related value is set for a ResourceAttribute object, it is required that VM_MANAGER_ID, as a minimum, is always set. If VM_MANAGER_ID is not set, then all "VM" fields will be discarded and "VM" fields will not be used for matching the migration task to a server in Application Discovery Service repository. See the Example section below for a use case of specifying "VM" related values.

  • If a server you are trying to match has multiple IP or MAC addresses, you should provide as many as you know in separate type/value pairs passed to the ResourceAttributeList parameter to maximize the chances of matching.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerError:

Exception raised when an internal, configuration, or dependency error is encountered.

ServiceUnavailableException:

Exception raised when there is an internal, configuration, or dependency error encountered.

DryRunOperation:

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

UnauthorizedOperation:

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

InvalidInputException:

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

ResourceNotFoundException:

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

HomeRegionNotSetException:

The home region is not set. Set the home region to continue.

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
Message
Type: string

ApplicationState

Description

The state of an application discovered through Migration Hub import, the AWS Agentless Discovery Connector, or the AWS Application Discovery Agent.

Members
ApplicationId
Type: string

The configurationId from the Application Discovery Service that uniquely identifies an application.

ApplicationStatus
Type: string

The current status of an application.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the application status was last updated.

CreatedArtifact

Description

An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, EC2 instance, RDS instance, etc.).

Members
Description
Type: string

A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.

Name
Required: Yes
Type: string

An ARN that uniquely identifies the result of a migration task.

DiscoveredResource

Description

Object representing the on-premises resource being migrated.

Members
ConfigurationId
Required: Yes
Type: string

The configurationId in Application Discovery Service that uniquely identifies the on-premise resource.

Description
Type: string

A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.

DryRunOperation

Description

Exception raised to indicate a successfully authorized action when the DryRun flag is set to "true".

Members
Message
Type: string

HomeRegionNotSetException

Description

The home region is not set. Set the home region to continue.

Members
Message
Type: string

InternalServerError

Description

Exception raised when an internal, configuration, or dependency error is encountered.

Members
Message
Type: string

InvalidInputException

Description

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

Members
Message
Type: string

MigrationTask

Description

Represents a migration task in a migration tool.

Members
MigrationTaskName
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

ProgressUpdateStream
Type: string

A name that identifies the vendor of the migration tool being used.

ResourceAttributeList
Type: Array of ResourceAttribute structures

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service repository.

Task
Type: Task structure

Task object encapsulating task information.

UpdateDateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the task was gathered.

MigrationTaskSummary

Description

MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and UpdateDateTime for each task.

Members
MigrationTaskName
Type: string

Unique identifier that references the migration task. Do not store personal data in this field.

ProgressPercent
Type: int

Indication of the percentage completion of the task.

ProgressUpdateStream
Type: string

An AWS resource used for access control. It should uniquely identify the migration tool as it is used for all updates made by the tool.

Status
Type: string

Status of the task.

StatusDetail
Type: string

Detail information of what is being done within the overall status state.

UpdateDateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the task was gathered.

PolicyErrorException

Description

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

Members
Message
Type: string

ProgressUpdateStreamSummary

Description

Summary of the AWS resource used for access control that is implicitly linked to your AWS account.

Members
ProgressUpdateStreamName
Type: string

The name of the ProgressUpdateStream. Do not store personal data in this field.

ResourceAttribute

Description

Attribute associated with a resource.

Note the corresponding format required per type listed below:

IPV4

x.x.x.x

where x is an integer in the range [0,255]

IPV6

y : y : y : y : y : y : y : y

where y is a hexadecimal between 0 and FFFF. [0, FFFF]

MAC_ADDRESS

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

FQDN

^[^<>{}\\\\/?,=\\p{Cntrl}]{1,256}$

Members
Type
Required: Yes
Type: string

Type of resource.

Value
Required: Yes
Type: string

Value of the resource type.

ResourceNotFoundException

Description

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

Members
Message
Type: string

ServiceUnavailableException

Description

Exception raised when there is an internal, configuration, or dependency error encountered.

Members
Message
Type: string

Task

Description

Task object encapsulating task information.

Members
ProgressPercent
Type: int

Indication of the percentage completion of the task.

Status
Required: Yes
Type: string

Status of the task - Not Started, In-Progress, Complete.

StatusDetail
Type: string

Details of task status as notified by a migration tool. A tool might use this field to provide clarifying information about the status that is unique to that tool or that explains an error state.

ThrottlingException

Description

The request was denied due to request throttling.

Members
Message
Required: Yes
Type: string

A message that provides information about the exception.

RetryAfterSeconds
Type: int

The number of seconds the caller should wait before retrying.

UnauthorizedOperation

Description

Exception raised to indicate a request was not authorized when the DryRun flag is set to "true".

Members
Message
Type: string