Migration Hub Strategy Recommendations

2022/12/08 - Migration Hub Strategy Recommendations - 1 new 14 updated api methods

Changes  This release adds known application filtering, server selection for assessments, support for potential recommendations, and indications for configuration and assessment status. For more information, see the AWS Migration Hub documentation at https://docs.aws.amazon.com/migrationhub/index.html

GetLatestAssessmentId (new) Link ¶

Retrieve the latest ID of a specific assessment task.

See also: AWS API Documentation

Request Syntax

client.get_latest_assessment_id()
rtype

dict

returns

Response Syntax

{
    'id': 'string'
}

Response Structure

  • (dict) --

    • id (string) --

      The latest ID for the specific assessment task.

GetApplicationComponentDetails (updated) Link ¶
Changes (response)
{'applicationComponentDetail': {'analysisStatus': {'ANALYSIS_PARTIAL_SUCCESS',
                                                   'CONFIGURED',
                                                   'UNCONFIGURED'},
                                'appType': {'Cassandra',
                                            'DB2',
                                            'Dotnet',
                                            'DotnetCore',
                                            'IBM WebSphere',
                                            'JBoss',
                                            'Maria DB',
                                            'Mongo DB',
                                            'MySQL',
                                            'Oracle WebLogic',
                                            'PostgreSQLServer',
                                            'Spring',
                                            'Sybase',
                                            'Tomcat',
                                            'Unknown',
                                            'Visual Basic'},
                                'appUnitError': {'appUnitErrorCategory': 'CREDENTIAL_ERROR '
                                                                         '| '
                                                                         'CONNECTIVITY_ERROR '
                                                                         '| '
                                                                         'PERMISSION_ERROR '
                                                                         '| '
                                                                         'UNSUPPORTED_ERROR '
                                                                         '| '
                                                                         'OTHER_ERROR'},
                                'recommendationSet': {'targetDestination': {'Babelfish '
                                                                            'for '
                                                                            'Aurora '
                                                                            'PostgreSQL'}},
                                'runtimeStatus': 'ANALYSIS_TO_BE_SCHEDULED | '
                                                 'ANALYSIS_STARTED | '
                                                 'ANALYSIS_SUCCESS | '
                                                 'ANALYSIS_FAILED',
                                'runtimeStatusMessage': 'string',
                                'sourceCodeRepositories': {'projectName': 'string'}}}

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'|'ANALYSIS_PARTIAL_SUCCESS'|'UNCONFIGURED'|'CONFIGURED',
        'antipatternReportS3Object': {
            's3Bucket': 'string',
            's3key': 'string'
        },
        'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
        'antipatternReportStatusMessage': 'string',
        'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other'|'Tomcat'|'JBoss'|'Spring'|'Mongo DB'|'DB2'|'Maria DB'|'MySQL'|'Sybase'|'PostgreSQLServer'|'Cassandra'|'IBM WebSphere'|'Oracle WebLogic'|'Visual Basic'|'Unknown'|'DotnetCore'|'Dotnet',
        'appUnitError': {
            'appUnitErrorCategory': 'CREDENTIAL_ERROR'|'CONNECTIVITY_ERROR'|'PERMISSION_ERROR'|'UNSUPPORTED_ERROR'|'OTHER_ERROR'
        },
        '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'|'Babelfish for Aurora PostgreSQL',
            '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',
        'runtimeStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED',
        'runtimeStatusMessage': 'string',
        'sourceCodeRepositories': [
            {
                'branch': 'string',
                'projectName': '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.

      • appUnitError (dict) --

        The error in the analysis of the source code or database.

        • appUnitErrorCategory (string) --

          The category of the error.

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

      • runtimeStatus (string) --

        The status of the application unit.

      • runtimeStatusMessage (string) --

        The status message for the application unit.

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

          • projectName (string) --

            The name of the project.

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

GetApplicationComponentStrategies (updated) Link ¶
Changes (response)
{'applicationComponentStrategies': {'recommendation': {'targetDestination': {'Babelfish '
                                                                             'for '
                                                                             'Aurora '
                                                                             'PostgreSQL'}},
                                    'status': {'potential'}}}

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'|'Babelfish for Aurora PostgreSQL',
                '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'|'potential'
        },
    ]
}

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.

GetAssessment (updated) Link ¶
Changes (response)
{'assessmentTargets': [{'condition': 'EQUALS | NOT_EQUALS | CONTAINS | '
                                     'NOT_CONTAINS',
                        'name': 'string',
                        'values': ['string']}],
 'dataCollectionDetails': {'statusMessage': 'string'}}

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

{
    'assessmentTargets': [
        {
            'condition': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS',
            'name': 'string',
            'values': [
                'string',
            ]
        },
    ],
    'dataCollectionDetails': {
        'completionTime': datetime(2015, 1, 1),
        'failed': 123,
        'inProgress': 123,
        'servers': 123,
        'startTime': datetime(2015, 1, 1),
        'status': 'IN_PROGRESS'|'COMPLETE'|'FAILED'|'STOPPED',
        'statusMessage': 'string',
        'success': 123
    },
    'id': 'string'
}

Response Structure

  • (dict) --

    • assessmentTargets (list) --

      List of criteria for assessment.

      • (dict) --

        Defines the criteria of assessment.

        • condition (string) --

          Condition of an assessment.

        • name (string) --

          Name of an assessment.

        • values (list) --

          Values of an assessment.

          • (string) --

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

      • statusMessage (string) --

        The status message of the assessment.

      • success (integer) --

        The number of successful servers in the assessment.

    • id (string) --

      The ID for the specific assessment task.

GetPortfolioPreferences (updated) Link ¶
Changes (response)
{'applicationMode': 'ALL | KNOWN | UNKNOWN'}

Retrieves your migration and modernization preferences.

See also: AWS API Documentation

Request Syntax

client.get_portfolio_preferences()
rtype

dict

returns

Response Syntax

{
    'applicationMode': 'ALL'|'KNOWN'|'UNKNOWN',
    '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) --

    • applicationMode (string) --

      The classification for application component types.

    • applicationPreferences (dict) --

      The transformation preferences for non-database applications.

      • managementPreference (dict) --

        Application preferences that you specify to prefer managed environment.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: awsManagedResources, noPreference, selfManageResources. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • 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.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: heterogeneous, homogeneous, noPreference. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • 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.

GetPortfolioSummary (updated) Link ¶
Changes (response)
{'assessmentSummary': {'listApplicationComponentStatusSummary': [{'count': 'integer',
                                                                  'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED '
                                                                                               '| '
                                                                                               'ANALYSIS_STARTED '
                                                                                               '| '
                                                                                               'ANALYSIS_SUCCESS '
                                                                                               '| '
                                                                                               'ANALYSIS_FAILED '
                                                                                               '| '
                                                                                               'ANALYSIS_PARTIAL_SUCCESS '
                                                                                               '| '
                                                                                               'UNCONFIGURED '
                                                                                               '| '
                                                                                               'CONFIGURED'}],
                       'listApplicationComponentSummary': {'appType': {'Cassandra',
                                                                       'DB2',
                                                                       'Dotnet',
                                                                       'DotnetCore',
                                                                       'IBM '
                                                                       'WebSphere',
                                                                       'JBoss',
                                                                       'Maria '
                                                                       'DB',
                                                                       'Mongo '
                                                                       'DB',
                                                                       'MySQL',
                                                                       'Oracle '
                                                                       'WebLogic',
                                                                       'PostgreSQLServer',
                                                                       'Spring',
                                                                       'Sybase',
                                                                       'Tomcat',
                                                                       'Unknown',
                                                                       'Visual '
                                                                       'Basic'}},
                       'listServerStatusSummary': [{'count': 'integer',
                                                    'runTimeAssessmentStatus': 'dataCollectionTaskToBeScheduled '
                                                                               '| '
                                                                               'dataCollectionTaskScheduled '
                                                                               '| '
                                                                               'dataCollectionTaskStarted '
                                                                               '| '
                                                                               'dataCollectionTaskStopped '
                                                                               '| '
                                                                               'dataCollectionTaskSuccess '
                                                                               '| '
                                                                               'dataCollectionTaskFailed '
                                                                               '| '
                                                                               'dataCollectionTaskPartialSuccess'}]}}

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'
            },
        ],
        'listApplicationComponentStatusSummary': [
            {
                'count': 123,
                'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED'|'ANALYSIS_PARTIAL_SUCCESS'|'UNCONFIGURED'|'CONFIGURED'
            },
        ],
        'listApplicationComponentStrategySummary': [
            {
                'count': 123,
                'strategy': 'Rehost'|'Retirement'|'Refactor'|'Replatform'|'Retain'|'Relocate'|'Repurchase'
            },
        ],
        'listApplicationComponentSummary': [
            {
                'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other'|'Tomcat'|'JBoss'|'Spring'|'Mongo DB'|'DB2'|'Maria DB'|'MySQL'|'Sybase'|'PostgreSQLServer'|'Cassandra'|'IBM WebSphere'|'Oracle WebLogic'|'Visual Basic'|'Unknown'|'DotnetCore'|'Dotnet',
                'count': 123
            },
        ],
        'listServerStatusSummary': [
            {
                'count': 123,
                'runTimeAssessmentStatus': 'dataCollectionTaskToBeScheduled'|'dataCollectionTaskScheduled'|'dataCollectionTaskStarted'|'dataCollectionTaskStopped'|'dataCollectionTaskSuccess'|'dataCollectionTaskFailed'|'dataCollectionTaskPartialSuccess'
            },
        ],
        '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.

      • listApplicationComponentStatusSummary (list) --

        List of status summaries of the analyzed application components.

        • (dict) --

          Summary of the analysis status of the application component.

          • count (integer) --

            The number of application components successfully analyzed, partially successful or failed analysis.

          • srcCodeOrDbAnalysisStatus (string) --

            The status of database analysis.

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

      • listServerStatusSummary (list) --

        List of status summaries of the analyzed servers.

        • (dict) --

          The status summary of the server analysis.

          • count (integer) --

            The number of servers successfully analyzed, partially successful or failed analysis.

          • runTimeAssessmentStatus (string) --

            The status of the run time.

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

GetServerDetails (updated) Link ¶
Changes (response)
{'serverDetail': {'recommendationSet': {'targetDestination': {'Babelfish for '
                                                              'Aurora '
                                                              'PostgreSQL'}},
                  'serverError': {'serverErrorCategory': 'CONNECTIVITY_ERROR | '
                                                         'CREDENTIAL_ERROR | '
                                                         'PERMISSION_ERROR | '
                                                         'ARCHITECTURE_ERROR | '
                                                         'OTHER_ERROR'}}}

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'|'Babelfish for Aurora PostgreSQL',
            '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'
            }
        },
        'serverError': {
            'serverErrorCategory': 'CONNECTIVITY_ERROR'|'CREDENTIAL_ERROR'|'PERMISSION_ERROR'|'ARCHITECTURE_ERROR'|'OTHER_ERROR'
        },
        '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.

      • serverError (dict) --

        The error in server analysis.

        • serverErrorCategory (string) --

          The error category of server analysis.

      • 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 (updated) Link ¶
Changes (response)
{'serverStrategies': {'recommendation': {'targetDestination': {'Babelfish for '
                                                               'Aurora '
                                                               'PostgreSQL'}},
                      'status': {'potential'}}}

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'|'Babelfish for Aurora PostgreSQL',
                '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'|'potential'
        },
    ]
}

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.

ListApplicationComponents (updated) Link ¶
Changes (request, response)
Request
{'applicationComponentCriteria': {'ANALYSIS_STATUS', 'ERROR_CATEGORY'}}
Response
{'applicationComponentInfos': {'analysisStatus': {'ANALYSIS_PARTIAL_SUCCESS',
                                                  'CONFIGURED',
                                                  'UNCONFIGURED'},
                               'appType': {'Cassandra',
                                           'DB2',
                                           'Dotnet',
                                           'DotnetCore',
                                           'IBM WebSphere',
                                           'JBoss',
                                           'Maria DB',
                                           'Mongo DB',
                                           'MySQL',
                                           'Oracle WebLogic',
                                           'PostgreSQLServer',
                                           'Spring',
                                           'Sybase',
                                           'Tomcat',
                                           'Unknown',
                                           'Visual Basic'},
                               'appUnitError': {'appUnitErrorCategory': 'CREDENTIAL_ERROR '
                                                                        '| '
                                                                        'CONNECTIVITY_ERROR '
                                                                        '| '
                                                                        'PERMISSION_ERROR '
                                                                        '| '
                                                                        'UNSUPPORTED_ERROR '
                                                                        '| '
                                                                        'OTHER_ERROR'},
                               'recommendationSet': {'targetDestination': {'Babelfish '
                                                                           'for '
                                                                           'Aurora '
                                                                           'PostgreSQL'}},
                               'runtimeStatus': 'ANALYSIS_TO_BE_SCHEDULED | '
                                                'ANALYSIS_STARTED | '
                                                'ANALYSIS_SUCCESS | '
                                                'ANALYSIS_FAILED',
                               'runtimeStatusMessage': 'string',
                               'sourceCodeRepositories': {'projectName': 'string'}}}

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'|'ANALYSIS_STATUS'|'ERROR_CATEGORY',
    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'|'ANALYSIS_PARTIAL_SUCCESS'|'UNCONFIGURED'|'CONFIGURED',
            'antipatternReportS3Object': {
                's3Bucket': 'string',
                's3key': 'string'
            },
            'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS',
            'antipatternReportStatusMessage': 'string',
            'appType': 'DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other'|'Tomcat'|'JBoss'|'Spring'|'Mongo DB'|'DB2'|'Maria DB'|'MySQL'|'Sybase'|'PostgreSQLServer'|'Cassandra'|'IBM WebSphere'|'Oracle WebLogic'|'Visual Basic'|'Unknown'|'DotnetCore'|'Dotnet',
            'appUnitError': {
                'appUnitErrorCategory': 'CREDENTIAL_ERROR'|'CONNECTIVITY_ERROR'|'PERMISSION_ERROR'|'UNSUPPORTED_ERROR'|'OTHER_ERROR'
            },
            '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'|'Babelfish for Aurora PostgreSQL',
                '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',
            'runtimeStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED',
            'runtimeStatusMessage': 'string',
            'sourceCodeRepositories': [
                {
                    'branch': 'string',
                    'projectName': '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.

        • appUnitError (dict) --

          The error in the analysis of the source code or database.

          • appUnitErrorCategory (string) --

            The category of the error.

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

        • runtimeStatus (string) --

          The status of the application unit.

        • runtimeStatusMessage (string) --

          The status message for the application unit.

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

            • projectName (string) --

              The name of the project.

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

ListCollectors (updated) Link ¶
Changes (response)
{'Collectors': {'configurationSummary': {'ipAddressBasedRemoteInfoList': [{'authType': 'NTLM '
                                                                                       '| '
                                                                                       'SSH '
                                                                                       '| '
                                                                                       'CERT',
                                                                           'ipAddressConfigurationTimeStamp': 'string',
                                                                           'osType': 'LINUX '
                                                                                     '| '
                                                                                     'WINDOWS'}],
                                         'pipelineInfoList': [{'pipelineConfigurationTimeStamp': 'string',
                                                               'pipelineType': 'AZURE_DEVOPS'}],
                                         'remoteSourceCodeAnalysisServerInfo': {'remoteSourceCodeAnalysisServerConfigurationTimestamp': 'string'},
                                         'vcenterBasedRemoteInfoList': [{'osType': 'LINUX '
                                                                                   '| '
                                                                                   'WINDOWS',
                                                                         'vcenterConfigurationTimeStamp': 'string'}],
                                         'versionControlInfoList': [{'versionControlConfigurationTimeStamp': 'string',
                                                                     'versionControlType': 'GITHUB '
                                                                                           '| '
                                                                                           'GITHUB_ENTERPRISE '
                                                                                           '| '
                                                                                           'AZURE_DEVOPS_GIT'}]}}}

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',
            'configurationSummary': {
                'ipAddressBasedRemoteInfoList': [
                    {
                        'authType': 'NTLM'|'SSH'|'CERT',
                        'ipAddressConfigurationTimeStamp': 'string',
                        'osType': 'LINUX'|'WINDOWS'
                    },
                ],
                'pipelineInfoList': [
                    {
                        'pipelineConfigurationTimeStamp': 'string',
                        'pipelineType': 'AZURE_DEVOPS'
                    },
                ],
                'remoteSourceCodeAnalysisServerInfo': {
                    'remoteSourceCodeAnalysisServerConfigurationTimestamp': 'string'
                },
                'vcenterBasedRemoteInfoList': [
                    {
                        'osType': 'LINUX'|'WINDOWS',
                        'vcenterConfigurationTimeStamp': 'string'
                    },
                ],
                'versionControlInfoList': [
                    {
                        'versionControlConfigurationTimeStamp': 'string',
                        'versionControlType': 'GITHUB'|'GITHUB_ENTERPRISE'|'AZURE_DEVOPS_GIT'
                    },
                ]
            },
            '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.

        • configurationSummary (dict) --

          Summary of the collector configuration.

          • ipAddressBasedRemoteInfoList (list) --

            IP address based configurations.

            • (dict) --

              IP address based configurations.

              • authType (string) --

                The type of authorization.

              • ipAddressConfigurationTimeStamp (string) --

                The time stamp of the configuration.

              • osType (string) --

                The type of the operating system.

          • pipelineInfoList (list) --

            The list of pipeline info configurations.

            • (dict) --

              Detailed information of the pipeline.

              • pipelineConfigurationTimeStamp (string) --

                The time when the pipeline info was configured.

              • pipelineType (string) --

                The type of pipeline.

          • remoteSourceCodeAnalysisServerInfo (dict) --

            Info about the remote server source code configuration.

            • remoteSourceCodeAnalysisServerConfigurationTimestamp (string) --

              The time when the remote source code server was configured.

          • vcenterBasedRemoteInfoList (list) --

            The list of vCenter configurations.

            • (dict) --

              Details about the server in vCenter.

              • osType (string) --

                The type of the operating system.

              • vcenterConfigurationTimeStamp (string) --

                The time when the remote server based on vCenter was last configured.

          • versionControlInfoList (list) --

            The list of the version control configurations.

            • (dict) --

              Details about the version control configuration.

              • versionControlConfigurationTimeStamp (string) --

                The time when the version control system was last configured.

              • versionControlType (string) --

                The type of version control.

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

ListServers (updated) Link ¶
Changes (request, response)
Request
{'serverCriteria': {'ERROR_CATEGORY', 'ANALYSIS_STATUS'}}
Response
{'serverInfos': {'recommendationSet': {'targetDestination': {'Babelfish for '
                                                             'Aurora '
                                                             'PostgreSQL'}},
                 'serverError': {'serverErrorCategory': 'CONNECTIVITY_ERROR | '
                                                        'CREDENTIAL_ERROR | '
                                                        'PERMISSION_ERROR | '
                                                        'ARCHITECTURE_ERROR | '
                                                        'OTHER_ERROR'}}}

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'|'ANALYSIS_STATUS'|'ERROR_CATEGORY',
    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'|'Babelfish for Aurora PostgreSQL',
                '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'
                }
            },
            'serverError': {
                'serverErrorCategory': 'CONNECTIVITY_ERROR'|'CREDENTIAL_ERROR'|'PERMISSION_ERROR'|'ARCHITECTURE_ERROR'|'OTHER_ERROR'
            },
            '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.

        • serverError (dict) --

          The error in server analysis.

          • serverErrorCategory (string) --

            The error category of server analysis.

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

PutPortfolioPreferences (updated) Link ¶
Changes (request)
{'applicationMode': 'ALL | KNOWN | UNKNOWN'}

Saves the specified migration and modernization preferences.

See also: AWS API Documentation

Request Syntax

client.put_portfolio_preferences(
    applicationMode='ALL'|'KNOWN'|'UNKNOWN',
    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 applicationMode

string

param applicationMode

The classification for application component types.

type applicationPreferences

dict

param applicationPreferences

The transformation preferences for non-database applications.

  • managementPreference (dict) --

    Application preferences that you specify to prefer managed environment.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: awsManagedResources, noPreference, selfManageResources.

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

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: heterogeneous, homogeneous, noPreference.

    • 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) --

StartAssessment (updated) Link ¶
Changes (request)
{'assessmentTargets': [{'condition': 'EQUALS | NOT_EQUALS | CONTAINS | '
                                     'NOT_CONTAINS',
                        'name': 'string',
                        'values': ['string']}]}

Starts the assessment of an on-premises environment.

See also: AWS API Documentation

Request Syntax

client.start_assessment(
    assessmentTargets=[
        {
            'condition': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS',
            'name': 'string',
            'values': [
                'string',
            ]
        },
    ],
    s3bucketForAnalysisData='string',
    s3bucketForReportData='string'
)
type assessmentTargets

list

param assessmentTargets

List of criteria for assessment.

  • (dict) --

    Defines the criteria of assessment.

    • condition (string) -- [REQUIRED]

      Condition of an assessment.

    • name (string) -- [REQUIRED]

      Name of an assessment.

    • values (list) -- [REQUIRED]

      Values of an assessment.

      • (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.

UpdateApplicationComponentConfig (updated) Link ¶
Changes (request)
{'appType': 'DotNetFramework | Java | SQLServer | IIS | Oracle | Other | '
            'Tomcat | JBoss | Spring | Mongo DB | DB2 | Maria DB | MySQL | '
            'Sybase | PostgreSQLServer | Cassandra | IBM WebSphere | Oracle '
            'WebLogic | Visual Basic | Unknown | DotnetCore | Dotnet',
 'configureOnly': 'boolean',
 'sourceCodeList': {'projectName': 'string',
                    'versionControl': {'AZURE_DEVOPS_GIT'}},
 'strategyOption': {'targetDestination': {'Babelfish for Aurora PostgreSQL'}}}

Updates the configuration of an application component.

See also: AWS API Documentation

Request Syntax

client.update_application_component_config(
    appType='DotNetFramework'|'Java'|'SQLServer'|'IIS'|'Oracle'|'Other'|'Tomcat'|'JBoss'|'Spring'|'Mongo DB'|'DB2'|'Maria DB'|'MySQL'|'Sybase'|'PostgreSQLServer'|'Cassandra'|'IBM WebSphere'|'Oracle WebLogic'|'Visual Basic'|'Unknown'|'DotnetCore'|'Dotnet',
    applicationComponentId='string',
    configureOnly=True|False,
    inclusionStatus='excludeFromAssessment'|'includeInAssessment',
    secretsManagerKey='string',
    sourceCodeList=[
        {
            'location': 'string',
            'projectName': 'string',
            'sourceVersion': 'string',
            'versionControl': 'GITHUB'|'GITHUB_ENTERPRISE'|'AZURE_DEVOPS_GIT'
        },
    ],
    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'|'Babelfish for Aurora PostgreSQL',
        '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 appType

string

param appType

The type of known component.

type applicationComponentId

string

param applicationComponentId

[REQUIRED]

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

type configureOnly

boolean

param configureOnly

Update the configuration request of an application component. If it is set to true, the source code and/or database credentials are updated. If it is set to false, the source code and/or database credentials are updated and an analysis is initiated.

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.

    • projectName (string) --

      The name of the project.

    • 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) --

UpdateServerConfig (updated) Link ¶
Changes (request)
{'strategyOption': {'targetDestination': {'Babelfish for Aurora PostgreSQL'}}}

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'|'Babelfish for Aurora PostgreSQL',
        '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) --