AWS Application Discovery Service

2024/11/20 - AWS Application Discovery Service - 4 updated api methods

Changes  Add support to import data from commercially available discovery tools without file manipulation.

CreateApplication (updated) Link ¶
Changes (request)
{'wave': 'string'}

Creates an application with the given name and description.

See also: AWS API Documentation

Request Syntax

client.create_application(
    name='string',
    description='string',
    wave='string'
)
type name:

string

param name:

[REQUIRED]

The name of the application to be created.

type description:

string

param description:

The description of the application to be created.

type wave:

string

param wave:

The name of the migration wave of the application to be created.

rtype:

dict

returns:

Response Syntax

{
    'configurationId': 'string'
}

Response Structure

  • (dict) --

    • configurationId (string) --

      The configuration ID of an application to be created.

DescribeImportTasks (updated) Link ¶
Changes (request, response)
Request
{'filters': {'name': {'FILE_CLASSIFICATION'}}}
Response
{'tasks': {'fileClassification': 'MODELIZEIT_EXPORT | RVTOOLS_EXPORT | '
                                 'VMWARE_NSX_EXPORT | IMPORT_TEMPLATE',
           'status': {'IMPORT_FAILED_UNSUPPORTED_FILE_TYPE'}}}

Returns an array of import tasks for your account, including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

See also: AWS API Documentation

Request Syntax

client.describe_import_tasks(
    filters=[
        {
            'name': 'IMPORT_TASK_ID'|'STATUS'|'NAME'|'FILE_CLASSIFICATION',
            'values': [
                'string',
            ]
        },
    ],
    maxResults=123,
    nextToken='string'
)
type filters:

list

param filters:

An array of name-value pairs that you provide to filter the results for the DescribeImportTask request to a specific subset of results. Currently, wildcard values aren't supported for filters.

  • (dict) --

    A name-values pair of elements you can use to filter the results when querying your import tasks. Currently, wildcards are not supported for filters.

    • name (string) --

      The name, status, or import task ID for a specific import task.

    • values (list) --

      An array of strings that you can provide to match against a specific name, status, or import task ID to filter the results for your import task queries.

      • (string) --

type maxResults:

integer

param maxResults:

The maximum number of results that you want this request to return, up to 100.

type nextToken:

string

param nextToken:

The token to request a specific page of results.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'tasks': [
        {
            'importTaskId': 'string',
            'clientRequestToken': 'string',
            'name': 'string',
            'importUrl': 'string',
            'status': 'IMPORT_IN_PROGRESS'|'IMPORT_COMPLETE'|'IMPORT_COMPLETE_WITH_ERRORS'|'IMPORT_FAILED'|'IMPORT_FAILED_SERVER_LIMIT_EXCEEDED'|'IMPORT_FAILED_RECORD_LIMIT_EXCEEDED'|'IMPORT_FAILED_UNSUPPORTED_FILE_TYPE'|'DELETE_IN_PROGRESS'|'DELETE_COMPLETE'|'DELETE_FAILED'|'DELETE_FAILED_LIMIT_EXCEEDED'|'INTERNAL_ERROR',
            'importRequestTime': datetime(2015, 1, 1),
            'importCompletionTime': datetime(2015, 1, 1),
            'importDeletedTime': datetime(2015, 1, 1),
            'fileClassification': 'MODELIZEIT_EXPORT'|'RVTOOLS_EXPORT'|'VMWARE_NSX_EXPORT'|'IMPORT_TEMPLATE',
            'serverImportSuccess': 123,
            'serverImportFailure': 123,
            'applicationImportSuccess': 123,
            'applicationImportFailure': 123,
            'errorsAndFailedEntriesZip': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The token to request the next page of results.

    • tasks (list) --

      A returned array of import tasks that match any applied filters, up to the specified number of maximum results.

      • (dict) --

        An array of information related to the import task request that includes status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

        • importTaskId (string) --

          The unique ID for a specific import task. These IDs aren't globally unique, but they are unique within an Amazon Web Services account.

        • clientRequestToken (string) --

          A unique token used to prevent the same import request from occurring more than once. If you didn't provide a token, a token was automatically generated when the import task request was sent.

        • name (string) --

          A descriptive name for an import task. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

        • importUrl (string) --

          The URL for your import file that you've uploaded to Amazon S3.

        • status (string) --

          The status of the import task. An import can have the status of IMPORT_COMPLETE and still have some records fail to import from the overall request. More information can be found in the downloadable archive defined in the errorsAndFailedEntriesZip field, or in the Migration Hub management console.

        • importRequestTime (datetime) --

          The time that the import task request was made, presented in the Unix time stamp format.

        • importCompletionTime (datetime) --

          The time that the import task request finished, presented in the Unix time stamp format.

        • importDeletedTime (datetime) --

          The time that the import task request was deleted, presented in the Unix time stamp format.

        • fileClassification (string) --

          The type of file detected by the import task.

        • serverImportSuccess (integer) --

          The total number of server records in the import file that were successfully imported.

        • serverImportFailure (integer) --

          The total number of server records in the import file that failed to be imported.

        • applicationImportSuccess (integer) --

          The total number of application records in the import file that were successfully imported.

        • applicationImportFailure (integer) --

          The total number of application records in the import file that failed to be imported.

        • errorsAndFailedEntriesZip (string) --

          A link to a compressed archive folder (in the ZIP format) that contains an error log and a file of failed records. You can use these two files to quickly identify records that failed, why they failed, and correct those records. Afterward, you can upload the corrected file to your Amazon S3 bucket and create another import task request.

          This field also includes authorization information so you can confirm the authenticity of the compressed archive before you download it.

          If some records failed to be imported we recommend that you correct the records in the failed entries file and then imports that failed entries file. This prevents you from having to correct and update the larger original file and attempt importing it again.

StartImportTask (updated) Link ¶
Changes (response)
{'task': {'fileClassification': 'MODELIZEIT_EXPORT | RVTOOLS_EXPORT | '
                                'VMWARE_NSX_EXPORT | IMPORT_TEMPLATE',
          'status': {'IMPORT_FAILED_UNSUPPORTED_FILE_TYPE'}}}

Starts an import task, which allows you to import details of your on-premises environment directly into Amazon Web Services Migration Hub without having to use the Amazon Web Services Application Discovery Service (Application Discovery Service) tools such as the Amazon Web Services Application Discovery Service Agentless Collector or Application Discovery Agent. This gives you the option to perform migration assessment and planning directly from your imported data, including the ability to group your devices as applications and track their migration status.

To start an import request, do this:

  • Download the specially formatted comma separated value (CSV) import template, which you can find here: https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv.

  • Fill out the template with your server and application data.

  • Upload your import file to an Amazon S3 bucket, and make a note of it's Object URL. Your import file must be in the CSV format.

  • Use the console or the StartImportTask command with the Amazon Web Services CLI or one of the Amazon Web Services SDKs to import the records from your file.

For more information, including step-by-step procedures, see Migration Hub Import in the Amazon Web Services Application Discovery Service User Guide.

See also: AWS API Documentation

Request Syntax

client.start_import_task(
    clientRequestToken='string',
    name='string',
    importUrl='string'
)
type clientRequestToken:

string

param clientRequestToken:

Optional. A unique token that you can provide to prevent the same import request from occurring more than once. If you don't provide a token, a token is automatically generated.

Sending more than one StartImportTask request with the same client request token will return information about the original import task with that client request token.

This field is autopopulated if not provided.

type name:

string

param name:

[REQUIRED]

A descriptive name for this request. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

type importUrl:

string

param importUrl:

[REQUIRED]

The URL for your import file that you've uploaded to Amazon S3.

rtype:

dict

returns:

Response Syntax

{
    'task': {
        'importTaskId': 'string',
        'clientRequestToken': 'string',
        'name': 'string',
        'importUrl': 'string',
        'status': 'IMPORT_IN_PROGRESS'|'IMPORT_COMPLETE'|'IMPORT_COMPLETE_WITH_ERRORS'|'IMPORT_FAILED'|'IMPORT_FAILED_SERVER_LIMIT_EXCEEDED'|'IMPORT_FAILED_RECORD_LIMIT_EXCEEDED'|'IMPORT_FAILED_UNSUPPORTED_FILE_TYPE'|'DELETE_IN_PROGRESS'|'DELETE_COMPLETE'|'DELETE_FAILED'|'DELETE_FAILED_LIMIT_EXCEEDED'|'INTERNAL_ERROR',
        'importRequestTime': datetime(2015, 1, 1),
        'importCompletionTime': datetime(2015, 1, 1),
        'importDeletedTime': datetime(2015, 1, 1),
        'fileClassification': 'MODELIZEIT_EXPORT'|'RVTOOLS_EXPORT'|'VMWARE_NSX_EXPORT'|'IMPORT_TEMPLATE',
        'serverImportSuccess': 123,
        'serverImportFailure': 123,
        'applicationImportSuccess': 123,
        'applicationImportFailure': 123,
        'errorsAndFailedEntriesZip': 'string'
    }
}

Response Structure

  • (dict) --

    • task (dict) --

      An array of information related to the import task request including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

      • importTaskId (string) --

        The unique ID for a specific import task. These IDs aren't globally unique, but they are unique within an Amazon Web Services account.

      • clientRequestToken (string) --

        A unique token used to prevent the same import request from occurring more than once. If you didn't provide a token, a token was automatically generated when the import task request was sent.

      • name (string) --

        A descriptive name for an import task. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

      • importUrl (string) --

        The URL for your import file that you've uploaded to Amazon S3.

      • status (string) --

        The status of the import task. An import can have the status of IMPORT_COMPLETE and still have some records fail to import from the overall request. More information can be found in the downloadable archive defined in the errorsAndFailedEntriesZip field, or in the Migration Hub management console.

      • importRequestTime (datetime) --

        The time that the import task request was made, presented in the Unix time stamp format.

      • importCompletionTime (datetime) --

        The time that the import task request finished, presented in the Unix time stamp format.

      • importDeletedTime (datetime) --

        The time that the import task request was deleted, presented in the Unix time stamp format.

      • fileClassification (string) --

        The type of file detected by the import task.

      • serverImportSuccess (integer) --

        The total number of server records in the import file that were successfully imported.

      • serverImportFailure (integer) --

        The total number of server records in the import file that failed to be imported.

      • applicationImportSuccess (integer) --

        The total number of application records in the import file that were successfully imported.

      • applicationImportFailure (integer) --

        The total number of application records in the import file that failed to be imported.

      • errorsAndFailedEntriesZip (string) --

        A link to a compressed archive folder (in the ZIP format) that contains an error log and a file of failed records. You can use these two files to quickly identify records that failed, why they failed, and correct those records. Afterward, you can upload the corrected file to your Amazon S3 bucket and create another import task request.

        This field also includes authorization information so you can confirm the authenticity of the compressed archive before you download it.

        If some records failed to be imported we recommend that you correct the records in the failed entries file and then imports that failed entries file. This prevents you from having to correct and update the larger original file and attempt importing it again.

UpdateApplication (updated) Link ¶
Changes (request)
{'wave': 'string'}

Updates metadata about an application.

See also: AWS API Documentation

Request Syntax

client.update_application(
    configurationId='string',
    name='string',
    description='string',
    wave='string'
)
type configurationId:

string

param configurationId:

[REQUIRED]

Configuration ID of the application to be updated.

type name:

string

param name:

New name of the application to be updated.

type description:

string

param description:

New description of the application to be updated.

type wave:

string

param wave:

The new migration wave of the application that you want to update.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --