

AWS Migration Hub is no longer open to new customers as of November 7, 2025. For capabilities similar to AWS Migration Hub, explore [AWS Transform](https://aws.amazon.com/transform).

# AWS Migration Hub API
<a name="api-reference"></a>

The AWS Migration Hub API methods help to obtain server and application migration status and integrate your resource-specific migration tool by providing a programmatic interface to Migration Hub.

**Note**  
You must set your AWS Migration Hub home Region before you call write actions (create, notify, associate, disassociate, import, or put), or a `HomeRegionNotSetException` error is returned.
You must make the API calls while in your Migration Hub home Region.
If you call APIs outside your Migration Hub home Region, you will get an `InvalidInputException`.
To get your current Migration Hub home Region, call [GetHomeRegion](https://docs.aws.amazon.com//migrationhub-home-region/latest/APIReference/API_GetHomeRegion.html).

For more information about the home Region APIs, see the [Migration Hub Home Region API Reference](https://docs.aws.amazon.com//migrationhub-home-region/latest/APIReference/Welcome.html).

## Reporting migration status updates
<a name="api-reference-workflow"></a>

### Creating a `ProgressUpdateStream` for your migration tool
<a name="api-reference-create-pus-for-tool"></a>

To send status to Migration Hub, you must first create a `ProgressUpdateStream` corresponding to your migration tool using `CreateProgressUpdateStream` and `ProgressUpdateStreamName` is the namespace for your migration tool. `ProgressUpdateStreamName` is scoped to the current AWS account, so it can be the same across all accounts. `ProgressUpdateStreamName` will be displayed as-is throughout the Migration Hub console as the name representing your migration tool. For example, Server Migration Service uses `ProgressUpdateStreamName` “SMS” and it is displayed as the “Migration Tool” on the application’s page under the Migrate section.

### Importing a migration task
<a name="api-reference-import-migration-task"></a>

After you’ve created a `ProgressUpdateStream`, you can start importing migration tasks from your migration tool by calling `ImportMigrationTask`. It is recommended to call `ImportMigrationTask` as early as possible to inform the Migration Hub user about the existence of the task, even if the task has yet to be started.

### Associating a migration task with a previously discovered server
<a name="api-reference-associate_task"></a>

To add migration task detail to the console, the task must be associated with a resource. The resource represents the existing or source server for the migration. This association can be made in two ways:
+ **Auto-mapping (recommended)**: A migration tool can associate (Put) identifiable information (for example, IP address, MAC address, and fully qualified domain name, and in a VMware environment, vCenter ID, MoRef ID, VM name, and VM folder path) by calling `PutResourceAttributes` with a migration task. With this information, AWS Migration Hub can correctly map the server being migrated to a server in the AWS Application Discovery Service (ADS) server repository. If Migration Hub does not find a matching server in the ADS server repository, it adds the server to the repository, automatically.
+ **Manual-mapping**: Alternatively, a migration tool can allow the user to make this association manually. The tool can provide a mapping experience within the migration tool’s workflow that displays a list of existing AWS Application Discovery Service (ADS) servers.
**Note**  
This manual approach is not recommended. It is rarely necessary, because auto-mapping automatically adds and maps the server from your tool to the AWS Application Discovery Service repository when calling `PutResourceAttributes`.

### Auto-Mapping explained
<a name="api-reference-automatch"></a>
+ A migration tool uses the `PutResourceAttributes` API to provide information about the resource that's being migrated. The tool makes an association asynchronously with the resource, after the `PutResourceAttributes` call is returned. If no matching server is returned, `PutResourceAttributes` adds a server to the ADS repository, automatically, and it maps the migration task to the new server. This association can be verified by calling `ListDiscoveredResource.` 
+ It is called with `MigrationTaskName` and `ResourceAttributes`. The `MigrationTaskName` is an identifier provided by the migration tool. This name uniquely identifies a migration task within your `ProgressUpdateStream`.
+ The `ResourceAttributes` call returns descriptive information about the resource that's being migrated, such as a MAC address, IP address, fully qualified domain name, and so forth, for servers, or in a VMware environment it may return a VM name, vCenter ID or MoRef ID. It can be used to associate the migration task with a server in the Application Discovery Service (ADS).

### Sending migration status updates
<a name="api-reference-send-updates"></a>

Now that a migration task exists, you can send migration status updates for display on the Migration Hub. Call AWS Migration Hub's `NotifyMigrationTaskState` API to share the latest task status. The information returned from this call contains the migration task’s progress and status. This is the information that customers see displayed in Migration Hub.

The `MigrationTaskName` input parameter includes arguments used for addressing updates to the correct target task, and the `ProgressUpdateStream` parameter is used for access control and to provide a unique namespace scoped to the AWS account. API parameters are described in detail later in this section.

### Migration tool expected behavior
<a name="api-reference-expected-behaviour"></a>

The following points are important information regarding the interaction between the migration tool you use and AWS Migration Hub.
+ The migration tool is expected to retry on Migration Hub API failures.
+ The migration tool is expected to publish updates as often as possible. A migration tool must specify its own update expectations with every call to `NotifyMigrationTaskState` API. It is recommended to send updates as soon as they are available.
+ The migration tool should call `PutResourceAttributes`. If during the course of migration, the migration tool detects any change to the resource, or finds additional information, it can resend `PutResourceAttributes` data and Migration Hub will use the new values, overwriting old ones, and attempt to re-map to a resource in the Application Discovery Service.

## API endpoints
<a name="api-reference-endpoint"></a>

The API endpoint is the DNS name used as a host in the HTTP URI for the API calls. These API endpoints are region-specific and service-specific. To find an endpoint, you combine the service prefix with the AWS Region, so you know where to call the service.

To call the Migration Hub service, the endpoint always uses the `mgh` prefix, so endpoints have the following form:
+ `https://mgh.Region_Name.amazonaws.com`
+ For example, to call Migration Hub in region `us-west-2` the API endpoint is: `https://mgh.us-west-2.amazonaws.com`

To call the Migration Hub Config service, the prefix is `migrationhub-config`, and endpoints have the following form:
+ `https://migrationhub-config.Region_Name.amazonaws.com`
+ Therefore, to call Migration Hub Config service (that is, the home region APIs) in region `eu-central-1`, the API endpoint is: `https://migrationhub-config.eu-central-1.amazonaws.com`

For more details about the Migration Hub Config service, see [the API reference](https://docs.aws.amazon.com//migrationhub-home-region/latest/APIReference/Welcome.html).

## API version
<a name="api-reference-version"></a>

The version of the API being used for a call is identified by the first path segment of the request URI, and its form is a ISO 8601 date.

The documentation describes API version 2017-05-31.

## AWS CloudTrail
<a name="api-cloudtrail-logging"></a>

Migration Hub is integrated with CloudTrail, a service that captures API calls from the Migration Hub console or from your code to the Migration Hub API operations. Using the information collected by CloudTrail, you can determine the request that was made to Migration Hub, the source IP address from which the request was made, who made the request, when it was made, and so on. See [Logging Migration Hub API calls with AWS CloudTrail](logging-using-cloudtrail.md).

## Related topics
<a name="api-reference-related-topics"></a>

The following sections provide descriptions of the API operations, how to create a signature for request authentication, and how to grant permissions for these API operations using the IAM policies.
+  [Identity and access management in AWS Migration Hub](auth-and-access-control.md) 
+  [Actions](API_Operations.md) 
+  [Data Types](API_Types.md) 
+  [Logging Migration Hub API calls with AWS CloudTrail](logging-using-cloudtrail.md) 

# Actions
<a name="API_Operations"></a>

The following actions are supported:
+  [AssociateCreatedArtifact](API_AssociateCreatedArtifact.md) 
+  [AssociateDiscoveredResource](API_AssociateDiscoveredResource.md) 
+  [AssociateSourceResource](API_AssociateSourceResource.md) 
+  [CreateProgressUpdateStream](API_CreateProgressUpdateStream.md) 
+  [DeleteProgressUpdateStream](API_DeleteProgressUpdateStream.md) 
+  [DescribeApplicationState](API_DescribeApplicationState.md) 
+  [DescribeMigrationTask](API_DescribeMigrationTask.md) 
+  [DisassociateCreatedArtifact](API_DisassociateCreatedArtifact.md) 
+  [DisassociateDiscoveredResource](API_DisassociateDiscoveredResource.md) 
+  [DisassociateSourceResource](API_DisassociateSourceResource.md) 
+  [ImportMigrationTask](API_ImportMigrationTask.md) 
+  [ListApplicationStates](API_ListApplicationStates.md) 
+  [ListCreatedArtifacts](API_ListCreatedArtifacts.md) 
+  [ListDiscoveredResources](API_ListDiscoveredResources.md) 
+  [ListMigrationTasks](API_ListMigrationTasks.md) 
+  [ListMigrationTaskUpdates](API_ListMigrationTaskUpdates.md) 
+  [ListProgressUpdateStreams](API_ListProgressUpdateStreams.md) 
+  [ListSourceResources](API_ListSourceResources.md) 
+  [NotifyApplicationState](API_NotifyApplicationState.md) 
+  [NotifyMigrationTaskState](API_NotifyMigrationTaskState.md) 
+  [PutResourceAttributes](API_PutResourceAttributes.md) 

# AssociateCreatedArtifact
<a name="API_AssociateCreatedArtifact"></a>

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.

## Request Syntax
<a name="API_AssociateCreatedArtifact_RequestSyntax"></a>

```
{
   "CreatedArtifact": { 
      "Description": "string",
      "Name": "string"
   },
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_AssociateCreatedArtifact_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [CreatedArtifact](#API_AssociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-AssociateCreatedArtifact-request-CreatedArtifact"></a>
An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)   
Type: [CreatedArtifact](API_CreatedArtifact.md) object  
Required: Yes

 ** [DryRun](#API_AssociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-AssociateCreatedArtifact-request-DryRun"></a>
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](#API_AssociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-AssociateCreatedArtifact-request-MigrationTaskName"></a>
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

 ** [ProgressUpdateStream](#API_AssociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-AssociateCreatedArtifact-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_AssociateCreatedArtifact_ResponseElements"></a>

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

## Errors
<a name="API_AssociateCreatedArtifact_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_AssociateCreatedArtifact_Examples"></a>

### Associate a created artifact
<a name="API_AssociateCreatedArtifact_Example_1"></a>

The following example associates an AWS resource to the migration task identified by the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream` in the request.

#### Sample Request
<a name="API_AssociateCreatedArtifact_Example_1_Request"></a>

```
{
   "CreatedArtifact": [
      { 
         "Description": "Using SMS to migrate server to EC2",
         "Name": "arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b"
      }
   ],
   "DryRun": false,
   "MigrationTaskName": "sms-12de3cf1a",
   "ProgressUpdateStream": "SMS"               

}
```

## See Also
<a name="API_AssociateCreatedArtifact_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact) 

# AssociateDiscoveredResource
<a name="API_AssociateDiscoveredResource"></a>

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

## Request Syntax
<a name="API_AssociateDiscoveredResource_RequestSyntax"></a>

```
{
   "DiscoveredResource": { 
      "ConfigurationId": "string",
      "Description": "string"
   },
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_AssociateDiscoveredResource_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DiscoveredResource](#API_AssociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-AssociateDiscoveredResource-request-DiscoveredResource"></a>
Object representing a Resource.  
Type: [DiscoveredResource](API_DiscoveredResource.md) object  
Required: Yes

 ** [DryRun](#API_AssociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-AssociateDiscoveredResource-request-DryRun"></a>
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](#API_AssociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-AssociateDiscoveredResource-request-MigrationTaskName"></a>
The identifier given to the MigrationTask. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_AssociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-AssociateDiscoveredResource-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_AssociateDiscoveredResource_ResponseElements"></a>

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

## Errors
<a name="API_AssociateDiscoveredResource_Errors"></a>

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

 ** 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.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_AssociateDiscoveredResource_Examples"></a>

### Associate a discovered resource
<a name="API_AssociateDiscoveredResource_Example_1"></a>

The following example associates an AWS Application Discovery Service discovered resource specified by its configuration id and description to the migration task identified by the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream` in the request.

#### Sample Request
<a name="API_AssociateDiscoveredResource_Example_1_Request"></a>

```
{
    "ProgressUpdateStream": "SMS", 
    "MigrationTaskName": "sms-12de3cf1a", 
    "DiscoveredResource": {
        "ConfigurationId": "d-server-0025db43a885966c8", 
        "Description": "Amazon Linux AMI release 2016.09"
    }
}
```

## See Also
<a name="API_AssociateDiscoveredResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource) 

# AssociateSourceResource
<a name="API_AssociateSourceResource"></a>

Associates a source resource with a migration task. For example, the source resource can be a source server, an application, or a migration wave.

## Request Syntax
<a name="API_AssociateSourceResource_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string",
   "SourceResource": { 
      "Description": "string",
      "Name": "string",
      "StatusDetail": "string"
   }
}
```

## Request Parameters
<a name="API_AssociateSourceResource_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_AssociateSourceResource_RequestSyntax) **   <a name="migrationhub-AssociateSourceResource-request-DryRun"></a>
This is an optional parameter that you can use to test whether the call will succeed. Set this parameter to `true` to verify that you have the permissions that are required to make the call, and that you have specified the other parameters in the call correctly.  
Type: Boolean  
Required: No

 ** [MigrationTaskName](#API_AssociateSourceResource_RequestSyntax) **   <a name="migrationhub-AssociateSourceResource-request-MigrationTaskName"></a>
A unique identifier that references the migration task. *Do not include sensitive data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_AssociateSourceResource_RequestSyntax) **   <a name="migrationhub-AssociateSourceResource-request-ProgressUpdateStream"></a>
The name of the progress-update stream, which is used for access control as well as a namespace for migration-task names that is implicitly linked to your AWS account. The progress-update stream 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.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

 ** [SourceResource](#API_AssociateSourceResource_RequestSyntax) **   <a name="migrationhub-AssociateSourceResource-request-SourceResource"></a>
The source resource that you want to associate.  
Type: [SourceResource](API_SourceResource.md) object  
Required: Yes

## Response Elements
<a name="API_AssociateSourceResource_ResponseElements"></a>

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

## Errors
<a name="API_AssociateSourceResource_Errors"></a>

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

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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

## See Also
<a name="API_AssociateSourceResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/AssociateSourceResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/AssociateSourceResource) 

# CreateProgressUpdateStream
<a name="API_CreateProgressUpdateStream"></a>

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.

## Request Syntax
<a name="API_CreateProgressUpdateStream_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "ProgressUpdateStreamName": "string"
}
```

## Request Parameters
<a name="API_CreateProgressUpdateStream_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_CreateProgressUpdateStream_RequestSyntax) **   <a name="migrationhub-CreateProgressUpdateStream-request-DryRun"></a>
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

 ** [ProgressUpdateStreamName](#API_CreateProgressUpdateStream_RequestSyntax) **   <a name="migrationhub-CreateProgressUpdateStream-request-ProgressUpdateStreamName"></a>
The name of the ProgressUpdateStream. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_CreateProgressUpdateStream_ResponseElements"></a>

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

## Errors
<a name="API_CreateProgressUpdateStream_Errors"></a>

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

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_CreateProgressUpdateStream_Examples"></a>

### Create a progress update stream
<a name="API_CreateProgressUpdateStream_Example_1"></a>

The following example creates a progress update stream identified by the values passed to the required parameter `ProgressUpdateStreamName` in the request.

#### Sample Request
<a name="API_CreateProgressUpdateStream_Example_1_Request"></a>

```
{
    "ProgressUpdateStreamName": "SMS", 
    "DryRun": false
}
```

## See Also
<a name="API_CreateProgressUpdateStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream) 

# DeleteProgressUpdateStream
<a name="API_DeleteProgressUpdateStream"></a>

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[\$1] 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).

## Request Syntax
<a name="API_DeleteProgressUpdateStream_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "ProgressUpdateStreamName": "string"
}
```

## Request Parameters
<a name="API_DeleteProgressUpdateStream_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_DeleteProgressUpdateStream_RequestSyntax) **   <a name="migrationhub-DeleteProgressUpdateStream-request-DryRun"></a>
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

 ** [ProgressUpdateStreamName](#API_DeleteProgressUpdateStream_RequestSyntax) **   <a name="migrationhub-DeleteProgressUpdateStream-request-ProgressUpdateStreamName"></a>
The name of the ProgressUpdateStream. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_DeleteProgressUpdateStream_ResponseElements"></a>

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

## Errors
<a name="API_DeleteProgressUpdateStream_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_DeleteProgressUpdateStream_Examples"></a>

### Delete a progress update stream
<a name="API_DeleteProgressUpdateStream_Example_1"></a>

The following example deletes a progress update stream identified by the values passed to the required parameter `ProgressUpdateStreamName` in the request.

#### Sample Request
<a name="API_DeleteProgressUpdateStream_Example_1_Request"></a>

```
{
    "ProgressUpdateStreamName": "SMS", 
    "DryRun": false
}
```

## See Also
<a name="API_DeleteProgressUpdateStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream) 

# DescribeApplicationState
<a name="API_DescribeApplicationState"></a>

Gets the migration status of an application.

## Request Syntax
<a name="API_DescribeApplicationState_RequestSyntax"></a>

```
{
   "ApplicationId": "string"
}
```

## Request Parameters
<a name="API_DescribeApplicationState_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [ApplicationId](#API_DescribeApplicationState_RequestSyntax) **   <a name="migrationhub-DescribeApplicationState-request-ApplicationId"></a>
The configurationId in Application Discovery Service that uniquely identifies the grouped application.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: Yes

## Response Syntax
<a name="API_DescribeApplicationState_ResponseSyntax"></a>

```
{
   "ApplicationStatus": "string",
   "LastUpdatedTime": number
}
```

## Response Elements
<a name="API_DescribeApplicationState_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [ApplicationStatus](#API_DescribeApplicationState_ResponseSyntax) **   <a name="migrationhub-DescribeApplicationState-response-ApplicationStatus"></a>
Status of the application - Not Started, In-Progress, Complete.  
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | COMPLETED` 

 ** [LastUpdatedTime](#API_DescribeApplicationState_ResponseSyntax) **   <a name="migrationhub-DescribeApplicationState-response-LastUpdatedTime"></a>
The timestamp when the application status was last updated.  
Type: Timestamp

## Errors
<a name="API_DescribeApplicationState_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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

 ** 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.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_DescribeApplicationState_Examples"></a>

### Describe a migration task by listing all associated attributes
<a name="API_DescribeApplicationState_Example_1"></a>

The following example lists all of the attributes associated with the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream`.

#### Sample Request
<a name="API_DescribeApplicationState_Example_1_Request"></a>

```
{
    "ApplicationId": "d-application-0039038d504694533"
}
```

#### Sample Response
<a name="API_DescribeApplicationState_Example_1_Response"></a>

```
{
    "ApplicationStatus": "IN_PROGRESS", 
    "LastUpdatedTime": 1493405005.639
}
```

## See Also
<a name="API_DescribeApplicationState_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DescribeApplicationState) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DescribeApplicationState) 

# DescribeMigrationTask
<a name="API_DescribeMigrationTask"></a>

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

## Request Syntax
<a name="API_DescribeMigrationTask_RequestSyntax"></a>

```
{
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_DescribeMigrationTask_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MigrationTaskName](#API_DescribeMigrationTask_RequestSyntax) **   <a name="migrationhub-DescribeMigrationTask-request-MigrationTaskName"></a>
The identifier given to the MigrationTask. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_DescribeMigrationTask_RequestSyntax) **   <a name="migrationhub-DescribeMigrationTask-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Syntax
<a name="API_DescribeMigrationTask_ResponseSyntax"></a>

```
{
   "MigrationTask": { 
      "MigrationTaskName": "string",
      "ProgressUpdateStream": "string",
      "ResourceAttributeList": [ 
         { 
            "Type": "string",
            "Value": "string"
         }
      ],
      "Task": { 
         "ProgressPercent": number,
         "Status": "string",
         "StatusDetail": "string"
      },
      "UpdateDateTime": number
   }
}
```

## Response Elements
<a name="API_DescribeMigrationTask_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [MigrationTask](#API_DescribeMigrationTask_ResponseSyntax) **   <a name="migrationhub-DescribeMigrationTask-response-MigrationTask"></a>
Object encapsulating information about the migration task.  
Type: [MigrationTask](API_MigrationTask.md) object

## Errors
<a name="API_DescribeMigrationTask_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_DescribeMigrationTask_Examples"></a>

### Describe a migration task by listing all associated attributes
<a name="API_DescribeMigrationTask_Example_1"></a>

The following example lists all of the attributes associated with the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream`.

#### Sample Request
<a name="API_DescribeMigrationTask_Example_1_Request"></a>

```
{
    "ProgressUpdateStream": "SMS",
    "MigrationTaskName": "sms-12de3cf1a"
}
```

#### Sample Response
<a name="API_DescribeMigrationTask_Example_1_Response"></a>

```
{
    "MigrationTask": {
        "ProgressUpdateStream": "SMS", 
        "Task": {
            "Status": "IN_PROGRESS", 
            "StatusDetail": "Migration: Copying image data", 
            "ProgressPercent": 77
        }, 
        "UpdateDateTime": 1493750385.0, 
        "MigrationTaskName": "sms-12de3cf1a"
    }
}
```

## See Also
<a name="API_DescribeMigrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DescribeMigrationTask) 

# DisassociateCreatedArtifact
<a name="API_DisassociateCreatedArtifact"></a>

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.

## Request Syntax
<a name="API_DisassociateCreatedArtifact_RequestSyntax"></a>

```
{
   "CreatedArtifactName": "string",
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_DisassociateCreatedArtifact_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [CreatedArtifactName](#API_DisassociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-DisassociateCreatedArtifact-request-CreatedArtifactName"></a>
An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*`   
Required: Yes

 ** [DryRun](#API_DisassociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-DisassociateCreatedArtifact-request-DryRun"></a>
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](#API_DisassociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-DisassociateCreatedArtifact-request-MigrationTaskName"></a>
Unique identifier that references the migration task to be disassociated with the artifact. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_DisassociateCreatedArtifact_RequestSyntax) **   <a name="migrationhub-DisassociateCreatedArtifact-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_DisassociateCreatedArtifact_ResponseElements"></a>

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

## Errors
<a name="API_DisassociateCreatedArtifact_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_DisassociateCreatedArtifact_Examples"></a>

### Disassociate a created artifact
<a name="API_DisassociateCreatedArtifact_Example_1"></a>

The following example disassociates an AWS resource from the migration task `d-server-0025db43a885966c8` using its ARN formatted name `geaws:ec2:us-east-1:488216288981:image/ami-6d0ba87b`.

#### Sample Request
<a name="API_DisassociateCreatedArtifact_Example_1_Request"></a>

```
{
   "CreatedArtifactName": "arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b",
   "MigrationTaskName": "sms-12de3cf1a",
   "ProgressUpdateStream": "SMS"
}
```

## See Also
<a name="API_DisassociateCreatedArtifact_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact) 

# DisassociateDiscoveredResource
<a name="API_DisassociateDiscoveredResource"></a>

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

## Request Syntax
<a name="API_DisassociateDiscoveredResource_RequestSyntax"></a>

```
{
   "ConfigurationId": "string",
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_DisassociateDiscoveredResource_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [ConfigurationId](#API_DisassociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-DisassociateDiscoveredResource-request-ConfigurationId"></a>
ConfigurationId of the Application Discovery Service resource to be disassociated.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: Yes

 ** [DryRun](#API_DisassociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-DisassociateDiscoveredResource-request-DryRun"></a>
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](#API_DisassociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-DisassociateDiscoveredResource-request-MigrationTaskName"></a>
The identifier given to the MigrationTask. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_DisassociateDiscoveredResource_RequestSyntax) **   <a name="migrationhub-DisassociateDiscoveredResource-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_DisassociateDiscoveredResource_ResponseElements"></a>

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

## Errors
<a name="API_DisassociateDiscoveredResource_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_DisassociateDiscoveredResource_Examples"></a>

### Disassociate a discovered resource from the repository
<a name="API_DisassociateDiscoveredResource_Example_1"></a>

The following example removes the association between the Application Discovery Service `ConfigurationId` and the `MigrationTaskName` by passing its name value to the required parameter `ConfigurationId` as well as the required parameters `MigrationTaskName` and `ProgressUpdateStreamName` which specify the created artifact to disassociate from.

#### Sample Request
<a name="API_DisassociateDiscoveredResource_Example_1_Request"></a>

```
{
   "DryRun": false,
   "MigrationTaskName": "sms-12de3cf1a",
   "ProgressUpdateStream": "SMS",
   "ConfigurationId": "d-server-0025db43a885966c8"
}
```

## See Also
<a name="API_DisassociateDiscoveredResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource) 

# DisassociateSourceResource
<a name="API_DisassociateSourceResource"></a>

Removes the association between a source resource and a migration task.

## Request Syntax
<a name="API_DisassociateSourceResource_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string",
   "SourceResourceName": "string"
}
```

## Request Parameters
<a name="API_DisassociateSourceResource_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_DisassociateSourceResource_RequestSyntax) **   <a name="migrationhub-DisassociateSourceResource-request-DryRun"></a>
This is an optional parameter that you can use to test whether the call will succeed. Set this parameter to `true` to verify that you have the permissions that are required to make the call, and that you have specified the other parameters in the call correctly.  
Type: Boolean  
Required: No

 ** [MigrationTaskName](#API_DisassociateSourceResource_RequestSyntax) **   <a name="migrationhub-DisassociateSourceResource-request-MigrationTaskName"></a>
A unique identifier that references the migration task. *Do not include sensitive data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [ProgressUpdateStream](#API_DisassociateSourceResource_RequestSyntax) **   <a name="migrationhub-DisassociateSourceResource-request-ProgressUpdateStream"></a>
The name of the progress-update stream, which is used for access control as well as a namespace for migration-task names that is implicitly linked to your AWS account. The progress-update stream 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.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

 ** [SourceResourceName](#API_DisassociateSourceResource_RequestSyntax) **   <a name="migrationhub-DisassociateSourceResource-request-SourceResourceName"></a>
The name that was specified for the source resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Required: Yes

## Response Elements
<a name="API_DisassociateSourceResource_ResponseElements"></a>

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

## Errors
<a name="API_DisassociateSourceResource_Errors"></a>

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

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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

## See Also
<a name="API_DisassociateSourceResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DisassociateSourceResource) 

# ImportMigrationTask
<a name="API_ImportMigrationTask"></a>

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.

## Request Syntax
<a name="API_ImportMigrationTask_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_ImportMigrationTask_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_ImportMigrationTask_RequestSyntax) **   <a name="migrationhub-ImportMigrationTask-request-DryRun"></a>
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](#API_ImportMigrationTask_RequestSyntax) **   <a name="migrationhub-ImportMigrationTask-request-MigrationTaskName"></a>
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

 ** [ProgressUpdateStream](#API_ImportMigrationTask_RequestSyntax) **   <a name="migrationhub-ImportMigrationTask-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream. >  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Elements
<a name="API_ImportMigrationTask_ResponseElements"></a>

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

## Errors
<a name="API_ImportMigrationTask_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_ImportMigrationTask_Examples"></a>

### Import a migration task to register it with Migration Hub
<a name="API_ImportMigrationTask_Example_1"></a>

The following example registers a new migration task with Migration Hub identified by the values passed to the required parameters `MigrationTaskName` and `ProgressUpdateStreamName` in the request.

#### Sample Request
<a name="API_ImportMigrationTask_Example_1_Request"></a>

```
{
   "MigrationTaskName": "sms-12de3cf1a",
   "ProgressUpdateStream": "SMS"
}
```

## See Also
<a name="API_ImportMigrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ImportMigrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ImportMigrationTask) 

# ListApplicationStates
<a name="API_ListApplicationStates"></a>

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.

## Request Syntax
<a name="API_ListApplicationStates_RequestSyntax"></a>

```
{
   "ApplicationIds": [ "string" ],
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListApplicationStates_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [ApplicationIds](#API_ListApplicationStates_RequestSyntax) **   <a name="migrationhub-ListApplicationStates-request-ApplicationIds"></a>
The configurationIds from the Application Discovery Service that uniquely identifies your applications.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: No

 ** [MaxResults](#API_ListApplicationStates_RequestSyntax) **   <a name="migrationhub-ListApplicationStates-request-MaxResults"></a>
Maximum number of results to be returned per page.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_ListApplicationStates_RequestSyntax) **   <a name="migrationhub-ListApplicationStates-request-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

## Response Syntax
<a name="API_ListApplicationStates_ResponseSyntax"></a>

```
{
   "ApplicationStateList": [ 
      { 
         "ApplicationId": "string",
         "ApplicationStatus": "string",
         "LastUpdatedTime": number
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListApplicationStates_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [ApplicationStateList](#API_ListApplicationStates_ResponseSyntax) **   <a name="migrationhub-ListApplicationStates-response-ApplicationStateList"></a>
A list of Applications that exist in Application Discovery Service.  
Type: Array of [ApplicationState](API_ApplicationState.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 1000 items.

 ** [NextToken](#API_ListApplicationStates_ResponseSyntax) **   <a name="migrationhub-ListApplicationStates-response-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

## Errors
<a name="API_ListApplicationStates_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## See Also
<a name="API_ListApplicationStates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListApplicationStates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListApplicationStates) 

# ListCreatedArtifacts
<a name="API_ListCreatedArtifacts"></a>

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. 

## Request Syntax
<a name="API_ListCreatedArtifacts_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "MigrationTaskName": "string",
   "NextToken": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_ListCreatedArtifacts_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListCreatedArtifacts_RequestSyntax) **   <a name="migrationhub-ListCreatedArtifacts-request-MaxResults"></a>
Maximum number of results to be returned per page.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10.  
Required: No

 ** [MigrationTaskName](#API_ListCreatedArtifacts_RequestSyntax) **   <a name="migrationhub-ListCreatedArtifacts-request-MigrationTaskName"></a>
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

 ** [NextToken](#API_ListCreatedArtifacts_RequestSyntax) **   <a name="migrationhub-ListCreatedArtifacts-request-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

 ** [ProgressUpdateStream](#API_ListCreatedArtifacts_RequestSyntax) **   <a name="migrationhub-ListCreatedArtifacts-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Syntax
<a name="API_ListCreatedArtifacts_ResponseSyntax"></a>

```
{
   "CreatedArtifactList": [ 
      { 
         "Description": "string",
         "Name": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListCreatedArtifacts_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [CreatedArtifactList](#API_ListCreatedArtifacts_ResponseSyntax) **   <a name="migrationhub-ListCreatedArtifacts-response-CreatedArtifactList"></a>
List of created artifacts up to the maximum number of results specified in the request.  
Type: Array of [CreatedArtifact](API_CreatedArtifact.md) objects

 ** [NextToken](#API_ListCreatedArtifacts_ResponseSyntax) **   <a name="migrationhub-ListCreatedArtifacts-response-NextToken"></a>
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.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

## Errors
<a name="API_ListCreatedArtifacts_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_ListCreatedArtifacts_Examples"></a>

### List created artifacts associated with a migration task and update stream
<a name="API_ListCreatedArtifacts_Example_1"></a>

The following example lists the created artifact name and its description that is associated with the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream` in the request.

#### Sample Request
<a name="API_ListCreatedArtifacts_Example_1_Request"></a>

```
{
    "ProgressUpdateStream": "SMS", 
    "MigrationTaskName": "sms-12de3cf1a", 
    "MaxResults": 1
}
```

#### Sample Response
<a name="API_ListCreatedArtifacts_Example_1_Response"></a>

```
{
    "CreatedArtifactList": [
        {
            "Name": "arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b", 
            "Description": "Using SMS to migrate server to EC2"
        }
    ]
}
```

## See Also
<a name="API_ListCreatedArtifacts_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListCreatedArtifacts) 

# ListDiscoveredResources
<a name="API_ListDiscoveredResources"></a>

Lists discovered resources associated with the given `MigrationTask`.

## Request Syntax
<a name="API_ListDiscoveredResources_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "MigrationTaskName": "string",
   "NextToken": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_ListDiscoveredResources_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListDiscoveredResources_RequestSyntax) **   <a name="migrationhub-ListDiscoveredResources-request-MaxResults"></a>
The maximum number of results returned per page.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10.  
Required: No

 ** [MigrationTaskName](#API_ListDiscoveredResources_RequestSyntax) **   <a name="migrationhub-ListDiscoveredResources-request-MigrationTaskName"></a>
The name of the MigrationTask. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [NextToken](#API_ListDiscoveredResources_RequestSyntax) **   <a name="migrationhub-ListDiscoveredResources-request-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

 ** [ProgressUpdateStream](#API_ListDiscoveredResources_RequestSyntax) **   <a name="migrationhub-ListDiscoveredResources-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Syntax
<a name="API_ListDiscoveredResources_ResponseSyntax"></a>

```
{
   "DiscoveredResourceList": [ 
      { 
         "ConfigurationId": "string",
         "Description": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListDiscoveredResources_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [DiscoveredResourceList](#API_ListDiscoveredResources_ResponseSyntax) **   <a name="migrationhub-ListDiscoveredResources-response-DiscoveredResourceList"></a>
Returned list of discovered resources associated with the given MigrationTask.  
Type: Array of [DiscoveredResource](API_DiscoveredResource.md) objects

 ** [NextToken](#API_ListDiscoveredResources_ResponseSyntax) **   <a name="migrationhub-ListDiscoveredResources-response-NextToken"></a>
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.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

## Errors
<a name="API_ListDiscoveredResources_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_ListDiscoveredResources_Examples"></a>

### List discovered resources associated with the given MigrationTask
<a name="API_ListDiscoveredResources_Example_1"></a>

The following example lists the discovered resource name and its description that is associated with the values passed to the required parameters of `MigrationTaskName` and `ProgressUpdateStream` in the request.

#### Sample Request
<a name="API_ListDiscoveredResources_Example_1_Request"></a>

```
{
    "ProgressUpdateStream": "SMS", 
    "MigrationTaskName": "sms-12de3cf1a", 
    "NextToken": "", 
    "MaxResults": 1
}
```

#### Sample Response
<a name="API_ListDiscoveredResources_Example_1_Response"></a>

```
{
    "DiscoveredResourceList": [
        {
            "ConfigurationId": "d-server-0025db43a885966c8", 
            "Description": "Amazon Linux AMI release 2016.09"
        }
    ]
}
```

## See Also
<a name="API_ListDiscoveredResources_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListDiscoveredResources) 

# ListMigrationTasks
<a name="API_ListMigrationTasks"></a>

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.

## Request Syntax
<a name="API_ListMigrationTasks_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ResourceName": "string"
}
```

## Request Parameters
<a name="API_ListMigrationTasks_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListMigrationTasks_RequestSyntax) **   <a name="migrationhub-ListMigrationTasks-request-MaxResults"></a>
Value to specify how many results are returned per page.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_ListMigrationTasks_RequestSyntax) **   <a name="migrationhub-ListMigrationTasks-request-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

 ** [ResourceName](#API_ListMigrationTasks_RequestSyntax) **   <a name="migrationhub-ListMigrationTasks-request-ResourceName"></a>
Filter migration tasks by discovered resource name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: No

## Response Syntax
<a name="API_ListMigrationTasks_ResponseSyntax"></a>

```
{
   "MigrationTaskSummaryList": [ 
      { 
         "MigrationTaskName": "string",
         "ProgressPercent": number,
         "ProgressUpdateStream": "string",
         "Status": "string",
         "StatusDetail": "string",
         "UpdateDateTime": number
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListMigrationTasks_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [MigrationTaskSummaryList](#API_ListMigrationTasks_ResponseSyntax) **   <a name="migrationhub-ListMigrationTasks-response-MigrationTaskSummaryList"></a>
Lists the migration task's summary which includes: `MigrationTaskName`, `ProgressPercent`, `ProgressUpdateStream`, `Status`, and the `UpdateDateTime` for each task.  
Type: Array of [MigrationTaskSummary](API_MigrationTaskSummary.md) objects

 ** [NextToken](#API_ListMigrationTasks_ResponseSyntax) **   <a name="migrationhub-ListMigrationTasks-response-NextToken"></a>
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.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

## Errors
<a name="API_ListMigrationTasks_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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

 ** 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.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_ListMigrationTasks_Examples"></a>

### List a summary of all the migration tasks
<a name="API_ListMigrationTasks_Example_1"></a>

The following example lists a summary of the migration tasks associated with the values passed to the optional parameters of `ResourceName` and `MaxResults`.

#### Sample Request
<a name="API_ListMigrationTasks_Example_1_Request"></a>

```
{
   "MaxResults": 1,
   "ResourceName": "d-server-0025db43a885966c8"
}
```

#### Sample Response
<a name="API_ListMigrationTasks_Example_1_Response"></a>

```
{
    "MigrationTaskSummaryList": [
        {
            "Status": "COMPLETED", 
            "ProgressUpdateStream": "SMS", 
            "StatusDetail": "Replication finished", 
            "UpdateDateTime": 1487858882.0, 
            "MigrationTaskName": "sms-12de3cf1a"
        }
    ]
}
```

## See Also
<a name="API_ListMigrationTasks_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListMigrationTasks) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListMigrationTasks) 

# ListMigrationTaskUpdates
<a name="API_ListMigrationTaskUpdates"></a>

This is a paginated API that returns all the migration-task states for the specified `MigrationTaskName` and `ProgressUpdateStream`.

## Request Syntax
<a name="API_ListMigrationTaskUpdates_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "MigrationTaskName": "string",
   "NextToken": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_ListMigrationTaskUpdates_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListMigrationTaskUpdates_RequestSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-request-MaxResults"></a>
The maximum number of results to include in the response. If more results exist than the value that you specify here for `MaxResults`, the response will include a token that you can use to retrieve the next set of results.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [MigrationTaskName](#API_ListMigrationTaskUpdates_RequestSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-request-MigrationTaskName"></a>
A unique identifier that references the migration task. *Do not include sensitive data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [NextToken](#API_ListMigrationTaskUpdates_RequestSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-request-NextToken"></a>
If `NextToken` was returned by a previous call, there are more results available. The value of `NextToken` is a unique pagination token for each page. To retrieve the next page of results, specify the `NextToken` value that the previous call returned. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

 ** [ProgressUpdateStream](#API_ListMigrationTaskUpdates_RequestSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-request-ProgressUpdateStream"></a>
The name of the progress-update stream, which is used for access control as well as a namespace for migration-task names that is implicitly linked to your AWS account. The progress-update stream 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.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Syntax
<a name="API_ListMigrationTaskUpdates_ResponseSyntax"></a>

```
{
   "MigrationTaskUpdateList": [ 
      { 
         "MigrationTaskState": { 
            "ProgressPercent": number,
            "Status": "string",
            "StatusDetail": "string"
         },
         "UpdateDateTime": number,
         "UpdateType": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListMigrationTaskUpdates_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [MigrationTaskUpdateList](#API_ListMigrationTaskUpdates_ResponseSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-response-MigrationTaskUpdateList"></a>
The list of migration-task updates.  
Type: Array of [MigrationTaskUpdate](API_MigrationTaskUpdate.md) objects

 ** [NextToken](#API_ListMigrationTaskUpdates_ResponseSyntax) **   <a name="migrationhub-ListMigrationTaskUpdates-response-NextToken"></a>
If the response includes a `NextToken` value, that means that there are more results available. The value of `NextToken` is a unique pagination token for each page. To retrieve the next page of results, call this API again and specify this `NextToken` value in the request. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

## Errors
<a name="API_ListMigrationTaskUpdates_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## See Also
<a name="API_ListMigrationTaskUpdates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListMigrationTaskUpdates) 

# ListProgressUpdateStreams
<a name="API_ListProgressUpdateStreams"></a>

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

## Request Syntax
<a name="API_ListProgressUpdateStreams_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListProgressUpdateStreams_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListProgressUpdateStreams_RequestSyntax) **   <a name="migrationhub-ListProgressUpdateStreams-request-MaxResults"></a>
Filter to limit the maximum number of results to list per page.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_ListProgressUpdateStreams_RequestSyntax) **   <a name="migrationhub-ListProgressUpdateStreams-request-NextToken"></a>
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`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

## Response Syntax
<a name="API_ListProgressUpdateStreams_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "ProgressUpdateStreamSummaryList": [ 
      { 
         "ProgressUpdateStreamName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListProgressUpdateStreams_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListProgressUpdateStreams_ResponseSyntax) **   <a name="migrationhub-ListProgressUpdateStreams-response-NextToken"></a>
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.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

 ** [ProgressUpdateStreamSummaryList](#API_ListProgressUpdateStreams_ResponseSyntax) **   <a name="migrationhub-ListProgressUpdateStreams-response-ProgressUpdateStreamSummaryList"></a>
List of progress update streams up to the max number of results passed in the input.  
Type: Array of [ProgressUpdateStreamSummary](API_ProgressUpdateStreamSummary.md) objects

## Errors
<a name="API_ListProgressUpdateStreams_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## Examples
<a name="API_ListProgressUpdateStreams_Examples"></a>

### List progress update streams
<a name="API_ListProgressUpdateStreams_Example_1"></a>

The following example lists the progress update streams associated with the account invoking the request and uses the value passed to the optional parameter `MaxResults`.

#### Sample Request
<a name="API_ListProgressUpdateStreams_Example_1_Request"></a>

```
{
    "MaxResults": 2
}
```

#### Sample Response
<a name="API_ListProgressUpdateStreams_Example_1_Response"></a>

```
{
    "ProgressUpdateStreamSummaryList": [
        {
            "ProgressUpdateStreamName": "DMS"
        }, 
        {
            "ProgressUpdateStreamName": "SMS"
        }
    ], 
    "NextToken": "AYADeDJG11y1VuQBWp87zGdqAkkAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZ
    XkAREFwM0s3MElDWDI4NVJ3RG4vQUVnWFZKa2xNQVI1a2RJZXNNQXZnN2Y4M0pMdjN6Ujhka2VE
    Z0lRZEFnQ2toUE1Rdz09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLXdlc3QtMjo2MzEzOTQ
    0NDA2MDg6a2V5L2UzNmUxYTc5LTUyYTUtNDdhZi05YmZjLWUxZDY2MjMyM2E0MwCnAQEBAHieuD
    SjpG16QpfVPv6L98gI73HcNP7jNyhyIMduHA8a4wAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoB
    gkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDGKeYQzVoDEvBo0EDwIBEIA7KbgCu41sTOBeQaU9
    BOchDBz6NGrh3AztXyqwJGczR7PiOOJZUPipWyiZDOSwVh/Exbkwm5clUF3VJ0kCAAAAAAwAABA
    Ac1MGWKEY/ySGi8kJmVlSZlU6rN/okwmmQCyymv////8AAAABvAPw0ZhHxJ3B4nsQAAAAbahc0b
    uugm7vytB05AobE5AWiEJaEEz5kMiYQJtzDfwXM8h9GS8kX7ydocfw0yLCMM9/sLa5JaaqY3yVh
    K3m9SwqxBSlBBhNhsjPMOZFBVMB12UcG5CW/Qo2rrzpNA/dVrCIweobaBVrxu4X9TkvT7qm67ns
    IGQM8SHofcfRAGcwZQIwElspH+HhwSxyI59eG6a3juJvgbHBNKwIH72N9Si3TZaTyiskL6QUPH5
    Y9PLmtIX7AjEAiZaqz55O+EUmaxiizH76sVuWoCMReEgFJtSm5NM3trucfj20AiIZ6/MG3bsJ43
    fZ"
}
```

## See Also
<a name="API_ListProgressUpdateStreams_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams) 

# ListSourceResources
<a name="API_ListSourceResources"></a>

Lists all the source resource that are associated with the specified `MigrationTaskName` and `ProgressUpdateStream`.

## Request Syntax
<a name="API_ListSourceResources_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "MigrationTaskName": "string",
   "NextToken": "string",
   "ProgressUpdateStream": "string"
}
```

## Request Parameters
<a name="API_ListSourceResources_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListSourceResources_RequestSyntax) **   <a name="migrationhub-ListSourceResources-request-MaxResults"></a>
The maximum number of results to include in the response. If more results exist than the value that you specify here for `MaxResults`, the response will include a token that you can use to retrieve the next set of results.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10.  
Required: No

 ** [MigrationTaskName](#API_ListSourceResources_RequestSyntax) **   <a name="migrationhub-ListSourceResources-request-MigrationTaskName"></a>
A unique identifier that references the migration task. *Do not store confidential data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[^:|]+`   
Required: Yes

 ** [NextToken](#API_ListSourceResources_RequestSyntax) **   <a name="migrationhub-ListSourceResources-request-NextToken"></a>
If `NextToken` was returned by a previous call, there are more results available. The value of `NextToken` is a unique pagination token for each page. To retrieve the next page of results, specify the `NextToken` value that the previous call returned. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$`   
Required: No

 ** [ProgressUpdateStream](#API_ListSourceResources_RequestSyntax) **   <a name="migrationhub-ListSourceResources-request-ProgressUpdateStream"></a>
The name of the progress-update stream, which is used for access control as well as a namespace for migration-task names that is implicitly linked to your AWS account. The progress-update stream 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.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

## Response Syntax
<a name="API_ListSourceResources_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "SourceResourceList": [ 
      { 
         "Description": "string",
         "Name": "string",
         "StatusDetail": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListSourceResources_ResponseElements"></a>

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

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListSourceResources_ResponseSyntax) **   <a name="migrationhub-ListSourceResources-response-NextToken"></a>
If the response includes a `NextToken` value, that means that there are more results available. The value of `NextToken` is a unique pagination token for each page. To retrieve the next page of results, call this API again and specify this `NextToken` value in the request. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `^[a-zA-Z0-9\/\+\=]{0,2048}$` 

 ** [SourceResourceList](#API_ListSourceResources_ResponseSyntax) **   <a name="migrationhub-ListSourceResources-response-SourceResourceList"></a>
The list of source resources.  
Type: Array of [SourceResource](API_SourceResource.md) objects

## Errors
<a name="API_ListSourceResources_Errors"></a>

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
HTTP Status Code: 400

## See Also
<a name="API_ListSourceResources_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/ListSourceResources) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ListSourceResources) 

# NotifyApplicationState
<a name="API_NotifyApplicationState"></a>

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

## Request Syntax
<a name="API_NotifyApplicationState_RequestSyntax"></a>

```
{
   "ApplicationId": "string",
   "DryRun": boolean,
   "Status": "string",
   "UpdateDateTime": number
}
```

## Request Parameters
<a name="API_NotifyApplicationState_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [ApplicationId](#API_NotifyApplicationState_RequestSyntax) **   <a name="migrationhub-NotifyApplicationState-request-ApplicationId"></a>
The configurationId in Application Discovery Service that uniquely identifies the grouped application.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: Yes

 ** [DryRun](#API_NotifyApplicationState_RequestSyntax) **   <a name="migrationhub-NotifyApplicationState-request-DryRun"></a>
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

 ** [Status](#API_NotifyApplicationState_RequestSyntax) **   <a name="migrationhub-NotifyApplicationState-request-Status"></a>
Status of the application - Not Started, In-Progress, Complete.  
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | COMPLETED`   
Required: Yes

 ** [UpdateDateTime](#API_NotifyApplicationState_RequestSyntax) **   <a name="migrationhub-NotifyApplicationState-request-UpdateDateTime"></a>
The timestamp when the application state changed.  
Type: Timestamp  
Required: No

## Response Elements
<a name="API_NotifyApplicationState_ResponseElements"></a>

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

## Errors
<a name="API_NotifyApplicationState_Errors"></a>

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

 ** 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.  
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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_NotifyApplicationState_Examples"></a>

### Notify the application state to Migration Hub
<a name="API_NotifyApplicationState_Example_1"></a>

The following example communicates the migration status to Migration Hub using the values passed to the required parameters `ApplicationId` and `Status`.

**Note**  
In this example, the `DryRun` parameter is used and set to "true" in order to show the output of the `DryRunOperation` when the user has appropriate permissions to run the command.

#### Sample Request
<a name="API_NotifyApplicationState_Example_1_Request"></a>

```
{
   "ApplicationId": "d-application-0039038d504694533",
   "Status": "IN_PROGRESS"
   "DryRun": true
}
```

#### Sample Response
<a name="API_NotifyApplicationState_Example_1_Response"></a>

```
An error occurred (DryRunOperation) when calling the NotifyApplicationState operation: Dry Run was a success!
$
```

## See Also
<a name="API_NotifyApplicationState_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/NotifyApplicationState) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/NotifyApplicationState) 

# NotifyMigrationTaskState
<a name="API_NotifyMigrationTaskState"></a>

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
<a name="API_NotifyMigrationTaskState_RequestSyntax"></a>

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

## Request Parameters
<a name="API_NotifyMigrationTaskState_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-DryRun"></a>
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](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-MigrationTaskName"></a>
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](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-NextUpdateSeconds"></a>
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](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

 ** [Task](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-Task"></a>
Information about the task's progress and status.  
Type: [Task](API_Task.md) object  
Required: Yes

 ** [UpdateDateTime](#API_NotifyMigrationTaskState_RequestSyntax) **   <a name="migrationhub-NotifyMigrationTaskState-request-UpdateDateTime"></a>
The timestamp when the task was gathered.  
Type: Timestamp  
Required: Yes

## Response Elements
<a name="API_NotifyMigrationTaskState_ResponseElements"></a>

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

## Errors
<a name="API_NotifyMigrationTaskState_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_NotifyMigrationTaskState_Examples"></a>

### Notify the migration task state to Migration Hub
<a name="API_NotifyMigrationTaskState_Example_1"></a>

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
<a name="API_NotifyMigrationTaskState_Example_1_Request"></a>

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

## See Also
<a name="API_NotifyMigrationTaskState_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState) 

# PutResourceAttributes
<a name="API_PutResourceAttributes"></a>

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.

**Important**  
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 [https://docs.aws.amazon.com/migrationhub/latest/ug/API_PutResourceAttributes.html#migrationhub-PutResourceAttributes-request-ResourceAttributeList](https://docs.aws.amazon.com/migrationhub/latest/ug/API_PutResourceAttributes.html#migrationhub-PutResourceAttributes-request-ResourceAttributeList) parameter when specifying any "VM" related value.

**Note**  
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`.

## Request Syntax
<a name="API_PutResourceAttributes_RequestSyntax"></a>

```
{
   "DryRun": boolean,
   "MigrationTaskName": "string",
   "ProgressUpdateStream": "string",
   "ResourceAttributeList": [ 
      { 
         "Type": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_PutResourceAttributes_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [DryRun](#API_PutResourceAttributes_RequestSyntax) **   <a name="migrationhub-PutResourceAttributes-request-DryRun"></a>
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](#API_PutResourceAttributes_RequestSyntax) **   <a name="migrationhub-PutResourceAttributes-request-MigrationTaskName"></a>
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

 ** [ProgressUpdateStream](#API_PutResourceAttributes_RequestSyntax) **   <a name="migrationhub-PutResourceAttributes-request-ProgressUpdateStream"></a>
The name of the ProgressUpdateStream.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: Yes

 ** [ResourceAttributeList](#API_PutResourceAttributes_RequestSyntax) **   <a name="migrationhub-PutResourceAttributes-request-ResourceAttributeList"></a>
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](https://docs.aws.amazon.com/migrationhub/latest/ug/API_PutResourceAttributes.html#API_PutResourceAttributes_Examples) 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.
Type: Array of [ResourceAttribute](API_ResourceAttribute.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Required: Yes

## Response Elements
<a name="API_PutResourceAttributes_ResponseElements"></a>

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

## Errors
<a name="API_PutResourceAttributes_Errors"></a>

 ** 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.    
 ** Message **   
A message that provides information about the exception.  
 ** RetryAfterSeconds **   
The number of seconds the caller should wait before retrying.
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
<a name="API_PutResourceAttributes_Examples"></a>

### Put migration resource attributes to associate with resource in repository
<a name="API_PutResourceAttributes_Example_1"></a>

The following example sends identifying details of the resource being migrated so that it can be associated with a resource in the Application Discovery Service's repository using the values passed to the required parameters `MigrationTaskName` and `ProgressUpdateStream` to tag the correct target and its migration tool.

The `ResourceAttributeList` parameter is also required to define the resource type and its identifying value. Its `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.

In this particular example, the user wants to define the resource type by `VM_NAME`, but also has to set the `VM_MANAGER_ID` field as it is always required when setting any other "VM" related fields.

#### Sample Request
<a name="API_PutResourceAttributes_Example_1_Request"></a>

```
            
{
   "MigrationTaskName":"canary-4c208ae8-9876-5432-1098-b748dd9179d3",
   "ProgressUpdateStream":"canary-017563f9-1234-5678-9de4-cf9d3378d18d",
   "ResourceAttributeList": [ 
      { 
         "Type":"VM_NAME",
         "Value":"v1.1.1.0-cloudfront"
      },
      { 
         "Type":"VM_MANAGER_ID",
         "Value":"a7b4c06d-e12f-1234-9gh7-i5j26k1lm2no"
      }
   ]
}
```

## See Also
<a name="API_PutResourceAttributes_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/AWSMigrationHub-2017-05-31/PutResourceAttributes) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/PutResourceAttributes) 

# Data Types
<a name="API_Types"></a>

The following data types are supported:
+  [ApplicationState](API_ApplicationState.md) 
+  [CreatedArtifact](API_CreatedArtifact.md) 
+  [DiscoveredResource](API_DiscoveredResource.md) 
+  [MigrationTask](API_MigrationTask.md) 
+  [MigrationTaskSummary](API_MigrationTaskSummary.md) 
+  [MigrationTaskUpdate](API_MigrationTaskUpdate.md) 
+  [ProgressUpdateStreamSummary](API_ProgressUpdateStreamSummary.md) 
+  [ResourceAttribute](API_ResourceAttribute.md) 
+  [SourceResource](API_SourceResource.md) 
+  [Task](API_Task.md) 

# ApplicationState
<a name="API_ApplicationState"></a>

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

## Contents
<a name="API_ApplicationState_Contents"></a>

 ** ApplicationId **   <a name="migrationhub-Type-ApplicationState-ApplicationId"></a>
The configurationId from the Application Discovery Service that uniquely identifies an application.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: No

 ** ApplicationStatus **   <a name="migrationhub-Type-ApplicationState-ApplicationStatus"></a>
The current status of an application.  
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | COMPLETED`   
Required: No

 ** LastUpdatedTime **   <a name="migrationhub-Type-ApplicationState-LastUpdatedTime"></a>
The timestamp when the application status was last updated.  
Type: Timestamp  
Required: No

## See Also
<a name="API_ApplicationState_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ApplicationState) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ApplicationState) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ApplicationState) 

# CreatedArtifact
<a name="API_CreatedArtifact"></a>

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

## Contents
<a name="API_CreatedArtifact_Contents"></a>

 ** Name **   <a name="migrationhub-Type-CreatedArtifact-Name"></a>
An ARN that uniquely identifies the result of a migration task.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*`   
Required: Yes

 ** Description **   <a name="migrationhub-Type-CreatedArtifact-Description"></a>
A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `^.{0,500}$`   
Required: No

## See Also
<a name="API_CreatedArtifact_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/CreatedArtifact) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/CreatedArtifact) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/CreatedArtifact) 

# DiscoveredResource
<a name="API_DiscoveredResource"></a>

Object representing the on-premises resource being migrated.

## Contents
<a name="API_DiscoveredResource_Contents"></a>

 ** ConfigurationId **   <a name="migrationhub-Type-DiscoveredResource-ConfigurationId"></a>
The configurationId in Application Discovery Service that uniquely identifies the on-premise resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^.{1,1600}$`   
Required: Yes

 ** Description **   <a name="migrationhub-Type-DiscoveredResource-Description"></a>
A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `^.{0,500}$`   
Required: No

## See Also
<a name="API_DiscoveredResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/DiscoveredResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/DiscoveredResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/DiscoveredResource) 

# MigrationTask
<a name="API_MigrationTask"></a>

Represents a migration task in a migration tool.

## Contents
<a name="API_MigrationTask_Contents"></a>

 ** MigrationTaskName **   <a name="migrationhub-Type-MigrationTask-MigrationTaskName"></a>
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: No

 ** ProgressUpdateStream **   <a name="migrationhub-Type-MigrationTask-ProgressUpdateStream"></a>
A name that identifies the vendor of the migration tool being used.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: No

 ** ResourceAttributeList **   <a name="migrationhub-Type-MigrationTask-ResourceAttributeList"></a>
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.  
Type: Array of [ResourceAttribute](API_ResourceAttribute.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.  
Required: No

 ** Task **   <a name="migrationhub-Type-MigrationTask-Task"></a>
Task object encapsulating task information.  
Type: [Task](API_Task.md) object  
Required: No

 ** UpdateDateTime **   <a name="migrationhub-Type-MigrationTask-UpdateDateTime"></a>
The timestamp when the task was gathered.  
Type: Timestamp  
Required: No

## See Also
<a name="API_MigrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/MigrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/MigrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/MigrationTask) 

# MigrationTaskSummary
<a name="API_MigrationTaskSummary"></a>

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

## Contents
<a name="API_MigrationTaskSummary_Contents"></a>

 ** MigrationTaskName **   <a name="migrationhub-Type-MigrationTaskSummary-MigrationTaskName"></a>
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: No

 ** ProgressPercent **   <a name="migrationhub-Type-MigrationTaskSummary-ProgressPercent"></a>
Indication of the percentage completion of the task.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 100.  
Required: No

 ** ProgressUpdateStream **   <a name="migrationhub-Type-MigrationTaskSummary-ProgressUpdateStream"></a>
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.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: No

 ** Status **   <a name="migrationhub-Type-MigrationTaskSummary-Status"></a>
Status of the task.  
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | FAILED | COMPLETED`   
Required: No

 ** StatusDetail **   <a name="migrationhub-Type-MigrationTaskSummary-StatusDetail"></a>
Detail information of what is being done within the overall status state.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2500.  
Pattern: `^.{0,2500}$`   
Required: No

 ** UpdateDateTime **   <a name="migrationhub-Type-MigrationTaskSummary-UpdateDateTime"></a>
The timestamp when the task was gathered.  
Type: Timestamp  
Required: No

## See Also
<a name="API_MigrationTaskSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/MigrationTaskSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/MigrationTaskSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/MigrationTaskSummary) 

# MigrationTaskUpdate
<a name="API_MigrationTaskUpdate"></a>

A migration-task progress update.

## Contents
<a name="API_MigrationTaskUpdate_Contents"></a>

 ** MigrationTaskState **   <a name="migrationhub-Type-MigrationTaskUpdate-MigrationTaskState"></a>
Task object encapsulating task information.  
Type: [Task](API_Task.md) object  
Required: No

 ** UpdateDateTime **   <a name="migrationhub-Type-MigrationTaskUpdate-UpdateDateTime"></a>
The timestamp for the update.  
Type: Timestamp  
Required: No

 ** UpdateType **   <a name="migrationhub-Type-MigrationTaskUpdate-UpdateType"></a>
The type of the update.  
Type: String  
Valid Values: `MIGRATION_TASK_STATE_UPDATED`   
Required: No

## See Also
<a name="API_MigrationTaskUpdate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/MigrationTaskUpdate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/MigrationTaskUpdate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/MigrationTaskUpdate) 

# ProgressUpdateStreamSummary
<a name="API_ProgressUpdateStreamSummary"></a>

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

## Contents
<a name="API_ProgressUpdateStreamSummary_Contents"></a>

 ** ProgressUpdateStreamName **   <a name="migrationhub-Type-ProgressUpdateStreamSummary-ProgressUpdateStreamName"></a>
The name of the ProgressUpdateStream. *Do not store personal data in this field.*   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `[^/:|\000-\037]+`   
Required: No

## See Also
<a name="API_ProgressUpdateStreamSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ProgressUpdateStreamSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ProgressUpdateStreamSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ProgressUpdateStreamSummary) 

# ResourceAttribute
<a name="API_ResourceAttribute"></a>

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\$1ADDRESS  
 `^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$` 

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

## Contents
<a name="API_ResourceAttribute_Contents"></a>

 ** Type **   <a name="migrationhub-Type-ResourceAttribute-Type"></a>
Type of resource.  
Type: String  
Valid Values: `IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID | MOTHERBOARD_SERIAL_NUMBER`   
Required: Yes

 ** Value **   <a name="migrationhub-Type-ResourceAttribute-Value"></a>
Value of the resource type.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^.{1,256}$`   
Required: Yes

## See Also
<a name="API_ResourceAttribute_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/ResourceAttribute) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/ResourceAttribute) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/ResourceAttribute) 

# SourceResource
<a name="API_SourceResource"></a>

A source resource can be a source server, a migration wave, an application, or any other resource that you track.

## Contents
<a name="API_SourceResource_Contents"></a>

 ** Name **   <a name="migrationhub-Type-SourceResource-Name"></a>
This is the name that you want to use to identify the resource. If the resource is an AWS resource, we recommend that you set this parameter to the ARN of the resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Required: Yes

 ** Description **   <a name="migrationhub-Type-SourceResource-Description"></a>
A description that can be free-form text to record additional detail about the resource for clarity or later reference.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `^.{0,500}$`   
Required: No

 ** StatusDetail **   <a name="migrationhub-Type-SourceResource-StatusDetail"></a>
A free-form description of the status of the resource.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2500.  
Pattern: `^.{0,2500}$`   
Required: No

## See Also
<a name="API_SourceResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/SourceResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/SourceResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/SourceResource) 

# Task
<a name="API_Task"></a>

Task object encapsulating task information.

## Contents
<a name="API_Task_Contents"></a>

 ** Status **   <a name="migrationhub-Type-Task-Status"></a>
Status of the task - Not Started, In-Progress, Complete.  
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | FAILED | COMPLETED`   
Required: Yes

 ** ProgressPercent **   <a name="migrationhub-Type-Task-ProgressPercent"></a>
Indication of the percentage completion of the task.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 100.  
Required: No

 ** StatusDetail **   <a name="migrationhub-Type-Task-StatusDetail"></a>
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.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2500.  
Pattern: `^.{0,2500}$`   
Required: No

## See Also
<a name="API_Task_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/AWSMigrationHub-2017-05-31/Task) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/AWSMigrationHub-2017-05-31/Task) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/AWSMigrationHub-2017-05-31/Task) 