Migration Hub Strategy Recommendations

2021/11/15 - Migration Hub Strategy Recommendations - 20 new api methods

Changes  AWS SDK for Migration Hub Strategy Recommendations. It includes APIs to start the portfolio assessment, import portfolio data for assessment, and to retrieve recommendations. For more information, see the AWS Migration Hub documentation at https://docs.aws.amazon.com/migrationhub/index.html

GetPortfolioSummary (new) Link ¶

Retrieves overall summary including the number of servers to rehost and the overall number of anti-patterns.

See also: AWS API Documentation

Request Syntax

client.get_portfolio_summary()
rtype:

dict

returns:

Response Syntax

{
    'assessmentSummary': {
        'antipatternReportS3Object': {
            's3Bucket': 'string',
            's3key': 'string'
        },
        'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
        'antipatternReportStatusMessage': 'string',
        'lastAnalyzedTimestamp': datetime(2015, 1, 1),
        'listAntipatternSeveritySummary': [
            {
                'count': 123,
                'severity': 'HIGH'|'MEDIUM'|'LOW'
            },
        ],
        'listApplicationComponentStrategySummary': [
            {
                'count': 123,
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase'
            },
        ],
        'listApplicationComponentSummary': [
            {
                'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other',
                'count': 123
            },
        ],
        'listServerStrategySummary': [
            {
                'count': 123,
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase'
            },
        ],
        'listServerSummary': [
            {
                'ServerOsType': 'WindowsServer'|'AmazonLinux'|'EndOfSupportWindowsServer'|'Redhat'|'Other',
                'count': 123
            },
        ]
    }
}

Response Structure

  • (dict) --

    • assessmentSummary (dict) --

      An assessment summary for the portfolio including the number of servers to rehost and the overall number of anti-patterns.

      • antipatternReportS3Object (dict) --

        The Amazon S3 object containing the anti-pattern report.

        • s3Bucket (string) --

          The S3 bucket name.

        • s3key (string) --

          The Amazon S3 key name.

      • antipatternReportStatus (string) --

        The status of the anti-pattern report.

      • antipatternReportStatusMessage (string) --

        The status message of the anti-pattern report.

      • lastAnalyzedTimestamp (datetime) --

        The time the assessment was performed.

      • listAntipatternSeveritySummary (list) --

        List of AntipatternSeveritySummary.

        • (dict) --

          Contains the summary of anti-patterns and their severity.

          • count (integer) --

            Contains the count of anti-patterns.

          • severity (string) --

            Contains the severity of anti-patterns.

      • listApplicationComponentStrategySummary (list) --

        List of ApplicationComponentStrategySummary.

        • (dict) --

          Object containing the summary of the strategy recommendations.

          • count (integer) --

            The count of recommendations per strategy.

          • strategy (string) --

            The name of recommended strategy.

      • listApplicationComponentSummary (list) --

        List of ApplicationComponentSummary.

        • (dict) --

          Contains the summary of application components.

          • appType (string) --

            Contains the name of application types.

          • count (integer) --

            Contains the count of application type.

      • listServerStrategySummary (list) --

        List of ServerStrategySummary.

        • (dict) --

          Object containing the summary of the strategy recommendations.

          • count (integer) --

            The count of recommendations per strategy.

          • strategy (string) --

            The name of recommended strategy.

      • listServerSummary (list) --

        List of ServerSummary.

        • (dict) --

          Object containing details about the servers imported by Application Discovery Service

          • ServerOsType (string) --

            Type of operating system for the servers.

          • count (integer) --

            Number of servers.

GetApplicationComponentStrategies (new) Link ¶

Retrieves a list of all the recommended strategies and tools for an application component running on a server.

See also: AWS API Documentation

Request Syntax

client.get_application_component_strategies(
    applicationComponentId='string'
)
type applicationComponentId:

string

param applicationComponentId:

[REQUIRED]

The ID of the application component. The ID is unique within an AWS account.

rtype:

dict

returns:

Response Syntax

{
    'applicationComponentStrategies': [
        {
            'isPreferred': True|False,
            'recommendation': {
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
                'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
                'transformationTool': {
                    'description': 'string',
                    'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                    'tranformationToolInstallationLink': 'string'
                }
            },
            'status': 'recommended'|'viableOption'|'notRecommended'
        },
    ]
}

Response Structure

  • (dict) --

    • applicationComponentStrategies (list) --

      A list of application component strategy recommendations.

      • (dict) --

        Contains information about a strategy recommendation for an application component.

        • isPreferred (boolean) --

          Set to true if the recommendation is set as preferred.

        • recommendation (dict) --

          Strategy recommendation for the application component.

          • strategy (string) --

            The recommended strategy.

          • targetDestination (string) --

            The recommended target destination.

          • transformationTool (dict) --

            The target destination for the recommendation set.

            • description (string) --

              Description of the tool.

            • name (string) --

              Name of the tool.

            • tranformationToolInstallationLink (string) --

              URL for installing the tool.

        • status (string) --

          The recommendation status of a strategy for an application component.

GetApplicationComponentDetails (new) Link ¶

Retrieves details about an application component.

See also: AWS API Documentation

Request Syntax

client.get_application_component_details(
    applicationComponentId='string'
)
type applicationComponentId:

string

param applicationComponentId:

[REQUIRED]

The ID of the application component. The ID is unique within an AWS account.

rtype:

dict

returns:

Response Syntax

{
    'applicationComponentDetail': {
        'analysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED',
        'antipatternReportS3Object': {
            's3Bucket': 'string',
            's3key': 'string'
        },
        'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
        'antipatternReportStatusMessage': 'string',
        'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other',
        'associatedServerId': 'string',
        'databaseConfigDetail': {
            'secretName': 'string'
        },
        'id': 'string',
        'inclusionStatus': 'excludeFromAssessment'|'includeInAssessment',
        'lastAnalyzedTimestamp': datetime(2015, 1, 1),
        'listAntipatternSeveritySummary': [
            {
                'count': 123,
                'severity': 'HIGH'|'MEDIUM'|'LOW'
            },
        ],
        'moreServerAssociationExists': True|False,
        'name': 'string',
        'osDriver': 'string',
        'osVersion': 'string',
        'recommendationSet': {
            'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
            'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
            'transformationTool': {
                'description': 'string',
                'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                'tranformationToolInstallationLink': 'string'
            }
        },
        'resourceSubType': 'Database'|'Process'|'DatabaseProcess',
        'sourceCodeRepositories': [
            {
                'branch': 'string',
                'repository': 'string',
                'versionControlType': 'string'
            },
        ],
        'statusMessage': 'string'
    },
    'associatedApplications': [
        {
            'id': 'string',
            'name': 'string'
        },
    ],
    'associatedServerIds': [
        'string',
    ],
    'moreApplicationResource': True|False
}

Response Structure

  • (dict) --

    • applicationComponentDetail (dict) --

      Detailed information about an application component.

      • analysisStatus (string) --

        The status of analysis, if the application component has source code or an associated database.

      • antipatternReportS3Object (dict) --

        The S3 bucket name and the Amazon S3 key name for the anti-pattern report.

        • s3Bucket (string) --

          The S3 bucket name.

        • s3key (string) --

          The Amazon S3 key name.

      • antipatternReportStatus (string) --

        The status of the anti-pattern report generation.

      • antipatternReportStatusMessage (string) --

        The status message for the anti-pattern.

      • appType (string) --

        The type of application component.

      • associatedServerId (string) --

        The ID of the server that the application component is running on.

      • databaseConfigDetail (dict) --

        Configuration details for the database associated with the application component.

        • secretName (string) --

          AWS Secrets Manager key that holds the credentials that you use to connect to a database.

      • id (string) --

        The ID of the application component.

      • inclusionStatus (string) --

        Indicates whether the application component has been included for server recommendation or not.

      • lastAnalyzedTimestamp (datetime) --

        The timestamp of when the application component was assessed.

      • listAntipatternSeveritySummary (list) --

        A list of anti-pattern severity summaries.

        • (dict) --

          Contains the summary of anti-patterns and their severity.

          • count (integer) --

            Contains the count of anti-patterns.

          • severity (string) --

            Contains the severity of anti-patterns.

      • moreServerAssociationExists (boolean) --

        Set to true if the application component is running on multiple servers.

      • name (string) --

        The name of application component.

      • osDriver (string) --

        OS driver.

      • osVersion (string) --

        OS version.

      • recommendationSet (dict) --

        The top recommendation set for the application component.

        • strategy (string) --

          The recommended strategy.

        • targetDestination (string) --

          The recommended target destination.

        • transformationTool (dict) --

          The target destination for the recommendation set.

          • description (string) --

            Description of the tool.

          • name (string) --

            Name of the tool.

          • tranformationToolInstallationLink (string) --

            URL for installing the tool.

      • resourceSubType (string) --

        The application component subtype.

      • sourceCodeRepositories (list) --

        Details about the source code repository associated with the application component.

        • (dict) --

          Object containing source code information that is linked to an application component.

          • branch (string) --

            The branch of the source code.

          • repository (string) --

            The repository name for the source code.

          • versionControlType (string) --

            The type of repository to use for the source code.

      • statusMessage (string) --

        A detailed description of the analysis status and any failure message.

    • associatedApplications (list) --

      The associated application group as defined in AWS Application Discovery Service.

      • (dict) --

        Object containing details about applications as defined in Application Discovery Service.

        • id (string) --

          ID of the application as defined in Application Discovery Service.

        • name (string) --

          Name of the application as defined in Application Discovery Service.

    • associatedServerIds (list) --

      A list of the IDs of the servers on which the application component is running.

      • (string) --

    • moreApplicationResource (boolean) --

      Set to true if the application component belongs to more than one application group.

UpdateApplicationComponentConfig (new) Link ¶

Updates the configuration of an application component.

See also: AWS API Documentation

Request Syntax

client.update_application_component_config(
    applicationComponentId='string',
    inclusionStatus='excludeFromAssessment'|'includeInAssessment',
    secretsManagerKey='string',
    sourceCodeList=[
        {
            'location': 'string',
            'sourceVersion': 'string',
            'versionControl': 'GITHUB'|'GITHUB_ENTERPRISE'
        },
    ],
    strategyOption={
        'isPreferred': True|False,
        'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
        'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
        'toolName': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore'
    }
)
type applicationComponentId:

string

param applicationComponentId:

[REQUIRED]

The ID of the application component. The ID is unique within an AWS account.

type inclusionStatus:

string

param inclusionStatus:

Indicates whether the application component has been included for server recommendation or not.

type secretsManagerKey:

string

param secretsManagerKey:

Database credentials.

type sourceCodeList:

list

param sourceCodeList:

The list of source code configurations to update for the application component.

  • (dict) --

    Object containing source code information that is linked to an application component.

    • location (string) --

      The repository name for the source code.

    • sourceVersion (string) --

      The branch of the source code.

    • versionControl (string) --

      The type of repository to use for the source code.

type strategyOption:

dict

param strategyOption:

The preferred strategy options for the application component. Use values from the GetApplicationComponentStrategies response.

  • isPreferred (boolean) --

    Indicates if a specific strategy is preferred for the application component.

  • strategy (string) --

    Type of transformation. For example, Rehost, Replatform, and so on.

  • targetDestination (string) --

    Destination information about where the application component can migrate to. For example, EC2, ECS, and so on.

  • toolName (string) --

    The name of the tool that can be used to transform an application component using this strategy.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListImportFileTask (new) Link ¶

Retrieves a list of all the imports performed.

See also: AWS API Documentation

Request Syntax

client.list_import_file_task(
    maxResults=123,
    nextToken='string'
)
type maxResults:

integer

param maxResults:

The total number of items to return. The maximum value is 100.

type nextToken:

string

param nextToken:

The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set maxResults to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'taskInfos': [
        {
            'completionTime': datetime(2015, 1, 1),
            'id': 'string',
            'importName': 'string',
            'inputS3Bucket': 'string',
            'inputS3Key': 'string',
            'numberOfRecordsFailed': 123,
            'numberOfRecordsSuccess': 123,
            'startTime': datetime(2015, 1, 1),
            'status': 'ImportInProgress'|'ImportFailed'|'ImportPartialSuccess'|'ImportSuccess'|'DeleteInProgress'|'DeleteFailed'|'DeletePartialSuccess'|'DeleteSuccess',
            'statusReportS3Bucket': 'string',
            'statusReportS3Key': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The token you use to retrieve the next set of results, or null if there are no more results.

    • taskInfos (list) --

      Lists information about the files you import.

      • (dict) --

        Information about the import file tasks you request.

        • completionTime (datetime) --

          The time that the import task completes.

        • id (string) --

          The ID of the import file task.

        • importName (string) --

          The name of the import task given in StartImportFileTask.

        • inputS3Bucket (string) --

          The S3 bucket where the import file is located.

        • inputS3Key (string) --

          The Amazon S3 key name of the import file.

        • numberOfRecordsFailed (integer) --

          The number of records that failed to be imported.

        • numberOfRecordsSuccess (integer) --

          The number of records successfully imported.

        • startTime (datetime) --

          Start time of the import task.

        • status (string) --

          Status of import file task.

        • statusReportS3Bucket (string) --

          The S3 bucket name for status report of import task.

        • statusReportS3Key (string) --

          The Amazon S3 key name for status report of import task. The report contains details about whether each record imported successfully or why it did not.

GetRecommendationReportDetails (new) Link ¶

Retrieves detailed information about the specified recommendation report.

See also: AWS API Documentation

Request Syntax

client.get_recommendation_report_details(
    id='string'
)
type id:

string

param id:

[REQUIRED]

The recommendation report generation task id returned by StartRecommendationReportGeneration.

rtype:

dict

returns:

Response Syntax

{
    'id': 'string',
    'recommendationReportDetails': {
        'completionTime': datetime(2015, 1, 1),
        's3Bucket': 'string',
        's3Keys': [
            'string',
        ],
        'startTime': datetime(2015, 1, 1),
        'status': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
        'statusMessage': 'string'
    }
}

Response Structure

  • (dict) --

    • id (string) --

      The ID of the recommendation report generation task. See the response of StartRecommendationReportGeneration.

    • recommendationReportDetails (dict) --

      Detailed information about the recommendation report.

      • completionTime (datetime) --

        The time that the recommendation report generation task completes.

      • s3Bucket (string) --

        The S3 bucket where the report file is located.

      • s3Keys (list) --

        The Amazon S3 key name of the report file.

        • (string) --

      • startTime (datetime) --

        The time that the recommendation report generation task starts.

      • status (string) --

        The status of the recommendation report generation task.

      • statusMessage (string) --

        The status message for recommendation report generation.

GetAssessment (new) Link ¶

Retrieves the status of an on-going assessment.

See also: AWS API Documentation

Request Syntax

client.get_assessment(
    id='string'
)
type id:

string

param id:

[REQUIRED]

The assessmentid returned by StartAssessment.

rtype:

dict

returns:

Response Syntax

{
    'dataCollectionDetails': {
        'completionTime': datetime(2015, 1, 1),
        'failed': 123,
        'inProgress': 123,
        'servers': 123,
        'startTime': datetime(2015, 1, 1),
        'status': 'IN_PROGRESS'|'COMPLETE'|'FAILED'|'STOPPED',
        'success': 123
    },
    'id': 'string'
}

Response Structure

  • (dict) --

    • dataCollectionDetails (dict) --

      Detailed information about the assessment.

      • completionTime (datetime) --

        The time the assessment completes.

      • failed (integer) --

        The number of failed servers in the assessment.

      • inProgress (integer) --

        The number of servers with the assessment status IN_PROGESS.

      • servers (integer) --

        The total number of servers in the assessment.

      • startTime (datetime) --

        The start time of assessment.

      • status (string) --

        The status of the assessment.

      • success (integer) --

        The number of successful servers in the assessment.

    • id (string) --

      The ID for the specific assessment task.

ListApplicationComponents (new) Link ¶

Retrieves a list of all the application components (processes).

See also: AWS API Documentation

Request Syntax

client.list_application_components(
    applicationComponentCriteria='NOT_DEFINED'|'APP_NAME'|'SERVER_ID'|'APP_TYPE'|'STRATEGY'|'DESTINATION',
    filterValue='string',
    groupIdFilter=[
        {
            'name': 'ExternalId',
            'value': 'string'
        },
    ],
    maxResults=123,
    nextToken='string',
    sort='ASC'|'DESC'
)
type applicationComponentCriteria:

string

param applicationComponentCriteria:

Criteria for filtering the list of application components.

type filterValue:

string

param filterValue:

Specify the value based on the application component criteria type. For example, if applicationComponentCriteria is set to SERVER_ID and filterValue is set to server1, then ListApplicationComponents returns all the application components running on server1.

type groupIdFilter:

list

param groupIdFilter:

The group ID specified in to filter on.

  • (dict) --

    The object containing information about distinct imports or groups for Strategy Recommendations.

    • name (string) --

      The key of the specific import group.

    • value (string) --

      The value of the specific import group.

type maxResults:

integer

param maxResults:

The maximum number of items to include in the response. The maximum value is 100.

type nextToken:

string

param nextToken:

The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set maxResults to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10.

type sort:

string

param sort:

Specifies whether to sort by ascending ( ASC) or descending ( DESC) order.

rtype:

dict

returns:

Response Syntax

{
    'applicationComponentInfos': [
        {
            'analysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED',
            'antipatternReportS3Object': {
                's3Bucket': 'string',
                's3key': 'string'
            },
            'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
            'antipatternReportStatusMessage': 'string',
            'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other',
            'associatedServerId': 'string',
            'databaseConfigDetail': {
                'secretName': 'string'
            },
            'id': 'string',
            'inclusionStatus': 'excludeFromAssessment'|'includeInAssessment',
            'lastAnalyzedTimestamp': datetime(2015, 1, 1),
            'listAntipatternSeveritySummary': [
                {
                    'count': 123,
                    'severity': 'HIGH'|'MEDIUM'|'LOW'
                },
            ],
            'moreServerAssociationExists': True|False,
            'name': 'string',
            'osDriver': 'string',
            'osVersion': 'string',
            'recommendationSet': {
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
                'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
                'transformationTool': {
                    'description': 'string',
                    'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                    'tranformationToolInstallationLink': 'string'
                }
            },
            'resourceSubType': 'Database'|'Process'|'DatabaseProcess',
            'sourceCodeRepositories': [
                {
                    'branch': 'string',
                    'repository': 'string',
                    'versionControlType': 'string'
                },
            ],
            'statusMessage': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • applicationComponentInfos (list) --

      The list of application components with detailed information about each component.

      • (dict) --

        Contains detailed information about an application component.

        • analysisStatus (string) --

          The status of analysis, if the application component has source code or an associated database.

        • antipatternReportS3Object (dict) --

          The S3 bucket name and the Amazon S3 key name for the anti-pattern report.

          • s3Bucket (string) --

            The S3 bucket name.

          • s3key (string) --

            The Amazon S3 key name.

        • antipatternReportStatus (string) --

          The status of the anti-pattern report generation.

        • antipatternReportStatusMessage (string) --

          The status message for the anti-pattern.

        • appType (string) --

          The type of application component.

        • associatedServerId (string) --

          The ID of the server that the application component is running on.

        • databaseConfigDetail (dict) --

          Configuration details for the database associated with the application component.

          • secretName (string) --

            AWS Secrets Manager key that holds the credentials that you use to connect to a database.

        • id (string) --

          The ID of the application component.

        • inclusionStatus (string) --

          Indicates whether the application component has been included for server recommendation or not.

        • lastAnalyzedTimestamp (datetime) --

          The timestamp of when the application component was assessed.

        • listAntipatternSeveritySummary (list) --

          A list of anti-pattern severity summaries.

          • (dict) --

            Contains the summary of anti-patterns and their severity.

            • count (integer) --

              Contains the count of anti-patterns.

            • severity (string) --

              Contains the severity of anti-patterns.

        • moreServerAssociationExists (boolean) --

          Set to true if the application component is running on multiple servers.

        • name (string) --

          The name of application component.

        • osDriver (string) --

          OS driver.

        • osVersion (string) --

          OS version.

        • recommendationSet (dict) --

          The top recommendation set for the application component.

          • strategy (string) --

            The recommended strategy.

          • targetDestination (string) --

            The recommended target destination.

          • transformationTool (dict) --

            The target destination for the recommendation set.

            • description (string) --

              Description of the tool.

            • name (string) --

              Name of the tool.

            • tranformationToolInstallationLink (string) --

              URL for installing the tool.

        • resourceSubType (string) --

          The application component subtype.

        • sourceCodeRepositories (list) --

          Details about the source code repository associated with the application component.

          • (dict) --

            Object containing source code information that is linked to an application component.

            • branch (string) --

              The branch of the source code.

            • repository (string) --

              The repository name for the source code.

            • versionControlType (string) --

              The type of repository to use for the source code.

        • statusMessage (string) --

          A detailed description of the analysis status and any failure message.

    • nextToken (string) --

      The token you use to retrieve the next set of results, or null if there are no more results.

StartAssessment (new) Link ¶

Starts the assessment of an on-premises environment.

See also: AWS API Documentation

Request Syntax

client.start_assessment(
    s3bucketForAnalysisData='string',
    s3bucketForReportData='string'
)
type s3bucketForAnalysisData:

string

param s3bucketForAnalysisData:

The S3 bucket used by the collectors to send analysis data to the service. The bucket name must begin with migrationhub-strategy-.

type s3bucketForReportData:

string

param s3bucketForReportData:

The S3 bucket where all the reports generated by the service are stored. The bucket name must begin with migrationhub-strategy-.

rtype:

dict

returns:

Response Syntax

{
    'assessmentId': 'string'
}

Response Structure

  • (dict) --

    • assessmentId (string) --

      The ID of the assessment.

GetImportFileTask (new) Link ¶

Retrieves the details about a specific import task.

See also: AWS API Documentation

Request Syntax

client.get_import_file_task(
    id='string'
)
type id:

string

param id:

[REQUIRED]

The ID of the import file task. This ID is returned in the response of StartImportFileTask.

rtype:

dict

returns:

Response Syntax

{
    'completionTime': datetime(2015, 1, 1),
    'id': 'string',
    'importName': 'string',
    'inputS3Bucket': 'string',
    'inputS3Key': 'string',
    'numberOfRecordsFailed': 123,
    'numberOfRecordsSuccess': 123,
    'startTime': datetime(2015, 1, 1),
    'status': 'ImportInProgress'|'ImportFailed'|'ImportPartialSuccess'|'ImportSuccess'|'DeleteInProgress'|'DeleteFailed'|'DeletePartialSuccess'|'DeleteSuccess',
    'statusReportS3Bucket': 'string',
    'statusReportS3Key': 'string'
}

Response Structure

  • (dict) --

    • completionTime (datetime) --

      The time that the import task completed.

    • id (string) --

      The import file task id returned in the response of StartImportFileTask.

    • importName (string) --

      The name of the import task given in StartImportFileTask.

    • inputS3Bucket (string) --

      The S3 bucket where import file is located.

    • inputS3Key (string) --

      The Amazon S3 key name of the import file.

    • numberOfRecordsFailed (integer) --

      The number of records that failed to be imported.

    • numberOfRecordsSuccess (integer) --

      The number of records successfully imported.

    • startTime (datetime) --

      Start time of the import task.

    • status (string) --

      Status of import file task.

    • statusReportS3Bucket (string) --

      The S3 bucket name for status report of import task.

    • statusReportS3Key (string) --

      The Amazon S3 key name for status report of import task. The report contains details about whether each record imported successfully or why it did not.

ListCollectors (new) Link ¶

Retrieves a list of all the installed collectors.

See also: AWS API Documentation

Request Syntax

client.list_collectors(
    maxResults=123,
    nextToken='string'
)
type maxResults:

integer

param maxResults:

The maximum number of items to include in the response. The maximum value is 100.

type nextToken:

string

param nextToken:

The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set maxResults to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10.

rtype:

dict

returns:

Response Syntax

{
    'Collectors': [
        {
            'collectorHealth': 'COLLECTOR_HEALTHY'|'COLLECTOR_UNHEALTHY',
            'collectorId': 'string',
            'collectorVersion': 'string',
            'hostName': 'string',
            'ipAddress': 'string',
            'lastActivityTimeStamp': 'string',
            'registeredTimeStamp': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • Collectors (list) --

      The list of all the installed collectors.

      • (dict) --

        Process data collector that runs in the environment that you specify.

        • collectorHealth (string) --

          Indicates the health of a collector.

        • collectorId (string) --

          The ID of the collector.

        • collectorVersion (string) --

          Current version of the collector that is running in the environment that you specify.

        • hostName (string) --

          Hostname of the server that is hosting the collector.

        • ipAddress (string) --

          IP address of the server that is hosting the collector.

        • lastActivityTimeStamp (string) --

          Time when the collector last pinged the service.

        • registeredTimeStamp (string) --

          Time when the collector registered with the service.

    • nextToken (string) --

      The token you use to retrieve the next set of results, or null if there are no more results.

GetPortfolioPreferences (new) Link ¶

Retrieves your migration and modernization preferences.

See also: AWS API Documentation

Request Syntax

client.get_portfolio_preferences()
rtype:

dict

returns:

Response Syntax

{
    'applicationPreferences': {
        'managementPreference': {
            'awsManagedResources': {
                'targetDestination': [
                    'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate',
                ]
            },
            'noPreference': {
                'targetDestination': [
                    'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                ]
            },
            'selfManageResources': {
                'targetDestination': [
                    'None specified'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                ]
            }
        }
    },
    'databasePreferences': {
        'databaseManagementPreference': 'AWS-managed'|'Self-manage'|'No preference',
        'databaseMigrationPreference': {
            'heterogeneous': {
                'targetDatabaseEngine': [
                    'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                ]
            },
            'homogeneous': {
                'targetDatabaseEngine': [
                    'None specified',
                ]
            },
            'noPreference': {
                'targetDatabaseEngine': [
                    'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                ]
            }
        }
    },
    'prioritizeBusinessGoals': {
        'businessGoals': {
            'licenseCostReduction': 123,
            'modernizeInfrastructureWithCloudNativeTechnologies': 123,
            'reduceOperationalOverheadWithManagedServices': 123,
            'speedOfMigration': 123
        }
    }
}

Response Structure

  • (dict) --

    • applicationPreferences (dict) --

      The transformation preferences for non-database applications.

      • managementPreference (dict) --

        Application preferences that you specify to prefer managed environment.

        • awsManagedResources (dict) --

          Indicates interest in solutions that are managed by AWS.

          • targetDestination (list) --

            The choice of application destination that you specify.

            • (string) --

        • noPreference (dict) --

          No specific preference.

          • targetDestination (list) --

            The choice of application destination that you specify.

            • (string) --

        • selfManageResources (dict) --

          Indicates interest in managing your own resources on AWS.

          • targetDestination (list) --

            Self-managed resources target destination.

            • (string) --

    • databasePreferences (dict) --

      The transformation preferences for database applications.

      • databaseManagementPreference (string) --

        Specifies whether you're interested in self-managed databases or databases managed by AWS.

      • databaseMigrationPreference (dict) --

        Specifies your preferred migration path.

        • heterogeneous (dict) --

          Indicates whether you are interested in moving from one type of database to another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition.

          • targetDatabaseEngine (list) --

            The target database engine for heterogeneous database migration preference.

            • (string) --

        • homogeneous (dict) --

          Indicates whether you are interested in moving to the same type of database into AWS. For example, from SQL Server in your environment to SQL Server on AWS.

          • targetDatabaseEngine (list) --

            The target database engine for homogeneous database migration preferences.

            • (string) --

        • noPreference (dict) --

          Indicated that you do not prefer heterogeneous or homogeneous.

          • targetDatabaseEngine (list) --

            The target database engine for database migration preference that you specify.

            • (string) --

    • prioritizeBusinessGoals (dict) --

      The rank of business goals based on priority.

      • businessGoals (dict) --

        Rank of business goals based on priority.

        • licenseCostReduction (integer) --

          Business goal to reduce license costs.

        • modernizeInfrastructureWithCloudNativeTechnologies (integer) --

          Business goal to modernize infrastructure by moving to cloud native technologies.

        • reduceOperationalOverheadWithManagedServices (integer) --

          Business goal to reduce the operational overhead on the team by moving into managed services.

        • speedOfMigration (integer) --

          Business goal to achieve migration at a fast pace.

GetServerDetails (new) Link ¶

Retrieves detailed information about a specified server.

See also: AWS API Documentation

Request Syntax

client.get_server_details(
    maxResults=123,
    nextToken='string',
    serverId='string'
)
type maxResults:

integer

param maxResults:

The maximum number of items to include in the response. The maximum value is 100.

type nextToken:

string

param nextToken:

The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set maxResults to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10.

type serverId:

string

param serverId:

[REQUIRED]

The ID of the server.

rtype:

dict

returns:

Response Syntax

{
    'associatedApplications': [
        {
            'id': 'string',
            'name': 'string'
        },
    ],
    'nextToken': 'string',
    'serverDetail': {
        'antipatternReportS3Object': {
            's3Bucket': 'string',
            's3key': 'string'
        },
        'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
        'antipatternReportStatusMessage': 'string',
        'applicationComponentStrategySummary': [
            {
                'count': 123,
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase'
            },
        ],
        'dataCollectionStatus': 'dataCollectionTaskToBeScheduled'|'dataCollectionTaskScheduled'|'dataCollectionTaskStarted'|'dataCollectionTaskStopped'|'dataCollectionTaskSuccess'|'dataCollectionTaskFailed'|'dataCollectionTaskPartialSuccess',
        'id': 'string',
        'lastAnalyzedTimestamp': datetime(2015, 1, 1),
        'listAntipatternSeveritySummary': [
            {
                'count': 123,
                'severity': 'HIGH'|'MEDIUM'|'LOW'
            },
        ],
        'name': 'string',
        'recommendationSet': {
            'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
            'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
            'transformationTool': {
                'description': 'string',
                'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                'tranformationToolInstallationLink': 'string'
            }
        },
        'serverType': 'string',
        'statusMessage': 'string',
        'systemInfo': {
            'cpuArchitecture': 'string',
            'fileSystemType': 'string',
            'networkInfoList': [
                {
                    'interfaceName': 'string',
                    'ipAddress': 'string',
                    'macAddress': 'string',
                    'netMask': 'string'
                },
            ],
            'osInfo': {
                'type': 'LINUX'|'WINDOWS',
                'version': 'string'
            }
        }
    }
}

Response Structure

  • (dict) --

    • associatedApplications (list) --

      The associated application group the server belongs to, as defined in AWS Application Discovery Service.

      • (dict) --

        Object containing details about applications as defined in Application Discovery Service.

        • id (string) --

          ID of the application as defined in Application Discovery Service.

        • name (string) --

          Name of the application as defined in Application Discovery Service.

    • nextToken (string) --

      The token you use to retrieve the next set of results, or null if there are no more results.

    • serverDetail (dict) --

      Detailed information about the server.

      • antipatternReportS3Object (dict) --

        The S3 bucket name and Amazon S3 key name for anti-pattern report.

        • s3Bucket (string) --

          The S3 bucket name.

        • s3key (string) --

          The Amazon S3 key name.

      • antipatternReportStatus (string) --

        The status of the anti-pattern report generation.

      • antipatternReportStatusMessage (string) --

        A message about the status of the anti-pattern report generation.

      • applicationComponentStrategySummary (list) --

        A list of strategy summaries.

        • (dict) --

          Object containing the summary of the strategy recommendations.

          • count (integer) --

            The count of recommendations per strategy.

          • strategy (string) --

            The name of recommended strategy.

      • dataCollectionStatus (string) --

        The status of assessment for the server.

      • id (string) --

        The server ID.

      • lastAnalyzedTimestamp (datetime) --

        The timestamp of when the server was assessed.

      • listAntipatternSeveritySummary (list) --

        A list of anti-pattern severity summaries.

        • (dict) --

          Contains the summary of anti-patterns and their severity.

          • count (integer) --

            Contains the count of anti-patterns.

          • severity (string) --

            Contains the severity of anti-patterns.

      • name (string) --

        The name of the server.

      • recommendationSet (dict) --

        A set of recommendations.

        • strategy (string) --

          The recommended strategy.

        • targetDestination (string) --

          The recommended target destination.

        • transformationTool (dict) --

          The target destination for the recommendation set.

          • description (string) --

            Description of the tool.

          • name (string) --

            Name of the tool.

          • tranformationToolInstallationLink (string) --

            URL for installing the tool.

      • serverType (string) --

        The type of server.

      • statusMessage (string) --

        A message about the status of data collection, which contains detailed descriptions of any error messages.

      • systemInfo (dict) --

        System information about the server.

        • cpuArchitecture (string) --

          CPU architecture type for the server.

        • fileSystemType (string) --

          File system type for the server.

        • networkInfoList (list) --

          Networking information related to a server.

          • (dict) --

            Information about the server's network for which the assessment was run.

            • interfaceName (string) --

              Information about the name of the interface of the server for which the assessment was run.

            • ipAddress (string) --

              Information about the IP address of the server for which the assessment was run.

            • macAddress (string) --

              Information about the MAC address of the server for which the assessment was run.

            • netMask (string) --

              Information about the subnet mask of the server for which the assessment was run.

        • osInfo (dict) --

          Operating system corresponding to a server.

          • type (string) --

            Information about the type of operating system.

          • version (string) --

            Information about the version of operating system.

UpdateServerConfig (new) Link ¶

Updates the configuration of the specified server.

See also: AWS API Documentation

Request Syntax

client.update_server_config(
    serverId='string',
    strategyOption={
        'isPreferred': True|False,
        'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
        'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
        'toolName': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore'
    }
)
type serverId:

string

param serverId:

[REQUIRED]

The ID of the server.

type strategyOption:

dict

param strategyOption:

The preferred strategy options for the application component. See the response from GetServerStrategies.

  • isPreferred (boolean) --

    Indicates if a specific strategy is preferred for the application component.

  • strategy (string) --

    Type of transformation. For example, Rehost, Replatform, and so on.

  • targetDestination (string) --

    Destination information about where the application component can migrate to. For example, EC2, ECS, and so on.

  • toolName (string) --

    The name of the tool that can be used to transform an application component using this strategy.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

StopAssessment (new) Link ¶

Stops the assessment of an on-premises environment.

See also: AWS API Documentation

Request Syntax

client.stop_assessment(
    assessmentId='string'
)
type assessmentId:

string

param assessmentId:

[REQUIRED]

The assessmentId returned by StartAssessment.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

StartRecommendationReportGeneration (new) Link ¶

Starts generating a recommendation report.

See also: AWS API Documentation

Request Syntax

client.start_recommendation_report_generation(
    groupIdFilter=[
        {
            'name': 'ExternalId',
            'value': 'string'
        },
    ],
    outputFormat='Excel'|'Json'
)
type groupIdFilter:

list

param groupIdFilter:

Groups the resources in the recommendation report with a unique name.

  • (dict) --

    The object containing information about distinct imports or groups for Strategy Recommendations.

    • name (string) --

      The key of the specific import group.

    • value (string) --

      The value of the specific import group.

type outputFormat:

string

param outputFormat:

The output format for the recommendation report file. The default format is Microsoft Excel.

rtype:

dict

returns:

Response Syntax

{
    'id': 'string'
}

Response Structure

  • (dict) --

    • id (string) --

      The ID of the recommendation report generation task.

StartImportFileTask (new) Link ¶

Starts a file import.

See also: AWS API Documentation

Request Syntax

client.start_import_file_task(
    S3Bucket='string',
    dataSourceType='ApplicationDiscoveryService'|'MPA',
    groupId=[
        {
            'name': 'ExternalId',
            'value': 'string'
        },
    ],
    name='string',
    s3bucketForReportData='string',
    s3key='string'
)
type S3Bucket:

string

param S3Bucket:

[REQUIRED]

The S3 bucket where the import file is located. The bucket name is required to begin with migrationhub-strategy-.

type dataSourceType:

string

param dataSourceType:

Specifies the source that the servers are coming from. By default, Strategy Recommendations assumes that the servers specified in the import file are available in AWS Application Discovery Service.

type groupId:

list

param groupId:

Groups the resources in the import file together with a unique name. This ID can be as filter in ListApplicationComponents and ListServers.

  • (dict) --

    The object containing information about distinct imports or groups for Strategy Recommendations.

    • name (string) --

      The key of the specific import group.

    • value (string) --

      The value of the specific import group.

type name:

string

param name:

[REQUIRED]

A descriptive name for the request.

type s3bucketForReportData:

string

param s3bucketForReportData:

The S3 bucket where Strategy Recommendations uploads import results. The bucket name is required to begin with migrationhub-strategy-.

type s3key:

string

param s3key:

[REQUIRED]

The Amazon S3 key name of the import file.

rtype:

dict

returns:

Response Syntax

{
    'id': 'string'
}

Response Structure

  • (dict) --

    • id (string) --

      The ID for a specific import task. The ID is unique within an AWS account.

PutPortfolioPreferences (new) Link ¶

Saves the specified migration and modernization preferences.

See also: AWS API Documentation

Request Syntax

client.put_portfolio_preferences(
    applicationPreferences={
        'managementPreference': {
            'awsManagedResources': {
                'targetDestination': [
                    'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate',
                ]
            },
            'noPreference': {
                'targetDestination': [
                    'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                ]
            },
            'selfManageResources': {
                'targetDestination': [
                    'None specified'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                ]
            }
        }
    },
    databasePreferences={
        'databaseManagementPreference': 'AWS-managed'|'Self-manage'|'No preference',
        'databaseMigrationPreference': {
            'heterogeneous': {
                'targetDatabaseEngine': [
                    'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                ]
            },
            'homogeneous': {
                'targetDatabaseEngine': [
                    'None specified',
                ]
            },
            'noPreference': {
                'targetDatabaseEngine': [
                    'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                ]
            }
        }
    },
    prioritizeBusinessGoals={
        'businessGoals': {
            'licenseCostReduction': 123,
            'modernizeInfrastructureWithCloudNativeTechnologies': 123,
            'reduceOperationalOverheadWithManagedServices': 123,
            'speedOfMigration': 123
        }
    }
)
type applicationPreferences:

dict

param applicationPreferences:

The transformation preferences for non-database applications.

  • managementPreference (dict) --

    Application preferences that you specify to prefer managed environment.

    • awsManagedResources (dict) --

      Indicates interest in solutions that are managed by AWS.

      • targetDestination (list) -- [REQUIRED]

        The choice of application destination that you specify.

        • (string) --

    • noPreference (dict) --

      No specific preference.

      • targetDestination (list) -- [REQUIRED]

        The choice of application destination that you specify.

        • (string) --

    • selfManageResources (dict) --

      Indicates interest in managing your own resources on AWS.

      • targetDestination (list) -- [REQUIRED]

        Self-managed resources target destination.

        • (string) --

type databasePreferences:

dict

param databasePreferences:

The transformation preferences for database applications.

  • databaseManagementPreference (string) --

    Specifies whether you're interested in self-managed databases or databases managed by AWS.

  • databaseMigrationPreference (dict) --

    Specifies your preferred migration path.

    • heterogeneous (dict) --

      Indicates whether you are interested in moving from one type of database to another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition.

      • targetDatabaseEngine (list) -- [REQUIRED]

        The target database engine for heterogeneous database migration preference.

        • (string) --

    • homogeneous (dict) --

      Indicates whether you are interested in moving to the same type of database into AWS. For example, from SQL Server in your environment to SQL Server on AWS.

      • targetDatabaseEngine (list) --

        The target database engine for homogeneous database migration preferences.

        • (string) --

    • noPreference (dict) --

      Indicated that you do not prefer heterogeneous or homogeneous.

      • targetDatabaseEngine (list) -- [REQUIRED]

        The target database engine for database migration preference that you specify.

        • (string) --

type prioritizeBusinessGoals:

dict

param prioritizeBusinessGoals:

The rank of the business goals based on priority.

  • businessGoals (dict) --

    Rank of business goals based on priority.

    • licenseCostReduction (integer) --

      Business goal to reduce license costs.

    • modernizeInfrastructureWithCloudNativeTechnologies (integer) --

      Business goal to modernize infrastructure by moving to cloud native technologies.

    • reduceOperationalOverheadWithManagedServices (integer) --

      Business goal to reduce the operational overhead on the team by moving into managed services.

    • speedOfMigration (integer) --

      Business goal to achieve migration at a fast pace.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListServers (new) Link ¶

Returns a list of all the servers.

See also: AWS API Documentation

Request Syntax

client.list_servers(
    filterValue='string',
    groupIdFilter=[
        {
            'name': 'ExternalId',
            'value': 'string'
        },
    ],
    maxResults=123,
    nextToken='string',
    serverCriteria='NOT_DEFINED'|'OS_NAME'|'STRATEGY'|'DESTINATION'|'SERVER_ID',
    sort='ASC'|'DESC'
)
type filterValue:

string

param filterValue:

Specifies the filter value, which is based on the type of server criteria. For example, if serverCriteria is OS_NAME, and the filterValue is equal to WindowsServer, then ListServers returns all of the servers matching the OS name WindowsServer.

type groupIdFilter:

list

param groupIdFilter:

Specifies the group ID to filter on.

  • (dict) --

    The object containing information about distinct imports or groups for Strategy Recommendations.

    • name (string) --

      The key of the specific import group.

    • value (string) --

      The value of the specific import group.

type maxResults:

integer

param maxResults:

The maximum number of items to include in the response. The maximum value is 100.

type nextToken:

string

param nextToken:

The token from a previous call that you use to retrieve the next set of results. For example, if a previous call to this action returned 100 items, but you set maxResults to 10. You'll receive a set of 10 results along with a token. You then use the returned token to retrieve the next set of 10.

type serverCriteria:

string

param serverCriteria:

Criteria for filtering servers.

type sort:

string

param sort:

Specifies whether to sort by ascending ( ASC) or descending ( DESC) order.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'serverInfos': [
        {
            'antipatternReportS3Object': {
                's3Bucket': 'string',
                's3key': 'string'
            },
            'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
            'antipatternReportStatusMessage': 'string',
            'applicationComponentStrategySummary': [
                {
                    'count': 123,
                    'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase'
                },
            ],
            'dataCollectionStatus': 'dataCollectionTaskToBeScheduled'|'dataCollectionTaskScheduled'|'dataCollectionTaskStarted'|'dataCollectionTaskStopped'|'dataCollectionTaskSuccess'|'dataCollectionTaskFailed'|'dataCollectionTaskPartialSuccess',
            'id': 'string',
            'lastAnalyzedTimestamp': datetime(2015, 1, 1),
            'listAntipatternSeveritySummary': [
                {
                    'count': 123,
                    'severity': 'HIGH'|'MEDIUM'|'LOW'
                },
            ],
            'name': 'string',
            'recommendationSet': {
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
                'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
                'transformationTool': {
                    'description': 'string',
                    'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                    'tranformationToolInstallationLink': 'string'
                }
            },
            'serverType': 'string',
            'statusMessage': 'string',
            'systemInfo': {
                'cpuArchitecture': 'string',
                'fileSystemType': 'string',
                'networkInfoList': [
                    {
                        'interfaceName': 'string',
                        'ipAddress': 'string',
                        'macAddress': 'string',
                        'netMask': 'string'
                    },
                ],
                'osInfo': {
                    'type': 'LINUX'|'WINDOWS',
                    'version': 'string'
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The token you use to retrieve the next set of results, or null if there are no more results.

    • serverInfos (list) --

      The list of servers with detailed information about each server.

      • (dict) --

        Detailed information about a server.

        • antipatternReportS3Object (dict) --

          The S3 bucket name and Amazon S3 key name for anti-pattern report.

          • s3Bucket (string) --

            The S3 bucket name.

          • s3key (string) --

            The Amazon S3 key name.

        • antipatternReportStatus (string) --

          The status of the anti-pattern report generation.

        • antipatternReportStatusMessage (string) --

          A message about the status of the anti-pattern report generation.

        • applicationComponentStrategySummary (list) --

          A list of strategy summaries.

          • (dict) --

            Object containing the summary of the strategy recommendations.

            • count (integer) --

              The count of recommendations per strategy.

            • strategy (string) --

              The name of recommended strategy.

        • dataCollectionStatus (string) --

          The status of assessment for the server.

        • id (string) --

          The server ID.

        • lastAnalyzedTimestamp (datetime) --

          The timestamp of when the server was assessed.

        • listAntipatternSeveritySummary (list) --

          A list of anti-pattern severity summaries.

          • (dict) --

            Contains the summary of anti-patterns and their severity.

            • count (integer) --

              Contains the count of anti-patterns.

            • severity (string) --

              Contains the severity of anti-patterns.

        • name (string) --

          The name of the server.

        • recommendationSet (dict) --

          A set of recommendations.

          • strategy (string) --

            The recommended strategy.

          • targetDestination (string) --

            The recommended target destination.

          • transformationTool (dict) --

            The target destination for the recommendation set.

            • description (string) --

              Description of the tool.

            • name (string) --

              Name of the tool.

            • tranformationToolInstallationLink (string) --

              URL for installing the tool.

        • serverType (string) --

          The type of server.

        • statusMessage (string) --

          A message about the status of data collection, which contains detailed descriptions of any error messages.

        • systemInfo (dict) --

          System information about the server.

          • cpuArchitecture (string) --

            CPU architecture type for the server.

          • fileSystemType (string) --

            File system type for the server.

          • networkInfoList (list) --

            Networking information related to a server.

            • (dict) --

              Information about the server's network for which the assessment was run.

              • interfaceName (string) --

                Information about the name of the interface of the server for which the assessment was run.

              • ipAddress (string) --

                Information about the IP address of the server for which the assessment was run.

              • macAddress (string) --

                Information about the MAC address of the server for which the assessment was run.

              • netMask (string) --

                Information about the subnet mask of the server for which the assessment was run.

          • osInfo (dict) --

            Operating system corresponding to a server.

            • type (string) --

              Information about the type of operating system.

            • version (string) --

              Information about the version of operating system.

GetServerStrategies (new) Link ¶

Retrieves recommended strategies and tools for the specified server.

See also: AWS API Documentation

Request Syntax

client.get_server_strategies(
    serverId='string'
)
type serverId:

string

param serverId:

[REQUIRED]

The ID of the server.

rtype:

dict

returns:

Response Syntax

{
    'serverStrategies': [
        {
            'isPreferred': True|False,
            'numberOfApplicationComponents': 123,
            'recommendation': {
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase',
                'targetDestination': 'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)'|'Aurora MySQL'|'Aurora PostgreSQL'|'Amazon Relational Database Service on MySQL'|'Amazon Relational Database Service on PostgreSQL'|'Amazon DocumentDB'|'Amazon DynamoDB'|'Amazon Relational Database Service',
                'transformationTool': {
                    'description': 'string',
                    'name': 'App2Container'|'Porting Assistant For .NET'|'End of Support Migration'|'Windows Web Application Migration Assistant'|'Application Migration Service'|'Strategy Recommendation Support'|'In Place Operating System Upgrade'|'Schema Conversion Tool'|'Database Migration Service'|'Native SQL Server Backup/Restore',
                    'tranformationToolInstallationLink': 'string'
                }
            },
            'status': 'recommended'|'viableOption'|'notRecommended'
        },
    ]
}

Response Structure

  • (dict) --

    • serverStrategies (list) --

      A list of strategy recommendations for the server.

      • (dict) --

        Contains information about a strategy recommendation for a server.

        • isPreferred (boolean) --

          Set to true if the recommendation is set as preferred.

        • numberOfApplicationComponents (integer) --

          The number of application components with this strategy recommendation running on the server.

        • recommendation (dict) --

          Strategy recommendation for the server.

          • strategy (string) --

            The recommended strategy.

          • targetDestination (string) --

            The recommended target destination.

          • transformationTool (dict) --

            The target destination for the recommendation set.

            • description (string) --

              Description of the tool.

            • name (string) --

              Name of the tool.

            • tranformationToolInstallationLink (string) --

              URL for installing the tool.

        • status (string) --

          The recommendation status of the strategy for the server.