NotifyMigrationTaskState - AWS Migration Hub

NotifyMigrationTaskState

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.

Request Syntax

{ "DryRun": boolean, "MigrationTaskName": "string", "NextUpdateSeconds": number, "ProgressUpdateStream": "string", "Task": { "ProgressPercent": number, "Status": "string", "StatusDetail": "string" }, "UpdateDateTime": number }

Request Parameters

The request accepts the following data in JSON format.

DryRun

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

Type: Boolean

Required: No

MigrationTaskName

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

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: [^:|]+

Required: Yes

NextUpdateSeconds

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.

Type: Integer

Valid Range: Minimum value of 0.

Required: Yes

ProgressUpdateStream

The name of the ProgressUpdateStream.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 50.

Pattern: [^/:|\000-\037]+

Required: Yes

Task

Information about the task's progress and status.

Type: Task object

Required: Yes

UpdateDateTime

The timestamp when the task was gathered.

Type: Timestamp

Required: Yes

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 400

DryRunOperation

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

HTTP Status Code: 400

HomeRegionNotSetException

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

HTTP Status Code: 400

InternalServerError

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

HTTP Status Code: 500

InvalidInputException

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

HTTP Status Code: 400

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.

HTTP Status Code: 400

ServiceUnavailableException

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

HTTP Status Code: 500

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 400

UnauthorizedOperation

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

HTTP Status Code: 400

Examples

Notify the migration task state to Migration Hub

The following example communicates the latest progress and updates to Migration Hub using the values passed to the required parameters MigrationTaskName and ProgressUpdateStream to tag the correct target and its migration tool. The other parameters in the example are also required to provide details of the task state.

Sample Request

{ "MigrationTaskName": "sms-12de3cf1a", "NextUpdateSeconds": 60, "ProgressUpdateStream": "SMS", "Task": { "ProgressPercent": 77, "Status": "IN_PROGRESS", "StatusDetail": "Migration: Copying image data" }, "UpdateDateTime": 1493660853 }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: