2023/03/15 - Migration Hub Strategy Recommendations - 2 updated api methods
Changes This release adds the binary analysis that analyzes IIS application DLLs on Windows and Java applications on Linux to provide anti-pattern report without configuring access to the source code.
{'applicationComponentDetail': {'resultList': [{'analysisStatus': {'runtimeAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED ' '| ' 'ANALYSIS_STARTED ' '| ' 'ANALYSIS_SUCCESS ' '| ' 'ANALYSIS_FAILED', 'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED ' '| ' 'ANALYSIS_STARTED ' '| ' 'ANALYSIS_SUCCESS ' '| ' 'ANALYSIS_FAILED ' '| ' 'ANALYSIS_PARTIAL_SUCCESS ' '| ' 'UNCONFIGURED ' '| ' 'CONFIGURED'}, 'analysisType': 'SOURCE_CODE_ANALYSIS ' '| ' 'DATABASE_ANALYSIS ' '| ' 'RUNTIME_ANALYSIS ' '| ' 'BINARY_ANALYSIS', 'antipatternReportResultList': [{'analyzerName': {'binaryAnalyzerName': 'DLL_ANALYZER ' '| ' 'BYTECODE_ANALYZER', 'runTimeAnalyzerName': 'A2C_ANALYZER ' '| ' 'REHOST_ANALYZER ' '| ' 'EMP_PA_ANALYZER ' '| ' 'DATABASE_ANALYZER ' '| ' 'SCT_ANALYZER', 'sourceCodeAnalyzerName': 'CSHARP_ANALYZER ' '| ' 'JAVA_ANALYZER ' '| ' 'BYTECODE_ANALYZER ' '| ' 'PORTING_ASSISTANT'}, 'antiPatternReportS3Object': {'s3Bucket': 'string', 's3key': 'string'}, 'antipatternReportStatus': 'FAILED ' '| ' 'IN_PROGRESS ' '| ' 'SUCCESS', 'antipatternReportStatusMessage': 'string'}], 'statusMessage': 'string'}]}}
Retrieves details about an application component.
See also: AWS API Documentation
Request Syntax
client.get_application_component_details( applicationComponentId='string' )
string
[REQUIRED]
The ID of the application component. The ID is unique within an AWS account.
dict
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', 'resultList': [ { 'analysisStatus': { 'runtimeAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED', 'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED'|'ANALYSIS_PARTIAL_SUCCESS'|'UNCONFIGURED'|'CONFIGURED' }, 'analysisType': 'SOURCE_CODE_ANALYSIS'|'DATABASE_ANALYSIS'|'RUNTIME_ANALYSIS'|'BINARY_ANALYSIS', 'antipatternReportResultList': [ { 'analyzerName': { 'binaryAnalyzerName': 'DLL_ANALYZER'|'BYTECODE_ANALYZER', 'runTimeAnalyzerName': 'A2C_ANALYZER'|'REHOST_ANALYZER'|'EMP_PA_ANALYZER'|'DATABASE_ANALYZER'|'SCT_ANALYZER', 'sourceCodeAnalyzerName': 'CSHARP_ANALYZER'|'JAVA_ANALYZER'|'BYTECODE_ANALYZER'|'PORTING_ASSISTANT' }, 'antiPatternReportS3Object': { 's3Bucket': 'string', 's3key': 'string' }, 'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS', 'antipatternReportStatusMessage': 'string' }, ], 'statusMessage': 'string' }, ], '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.
resultList (list) --
A list of the analysis results.
(dict) --
The error in server analysis.
analysisStatus (dict) --
The error in server analysis.
runtimeAnalysisStatus (string) --
The status of the analysis.
srcCodeOrDbAnalysisStatus (string) --
The status of the source code or database analysis.
analysisType (string) --
The error in server analysis.
antipatternReportResultList (list) --
The error in server analysis.
(dict) --
The anti-pattern report result.
analyzerName (dict) --
The analyzer name.
binaryAnalyzerName (string) --
The binary analyzer names.
runTimeAnalyzerName (string) --
The assessment analyzer names.
sourceCodeAnalyzerName (string) --
The source code analyzer names.
antiPatternReportS3Object (dict) --
Contains the S3 bucket name and the Amazon S3 key name.
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.
statusMessage (string) --
The error in server analysis.
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.
{'applicationComponentInfos': {'resultList': [{'analysisStatus': {'runtimeAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED ' '| ' 'ANALYSIS_STARTED ' '| ' 'ANALYSIS_SUCCESS ' '| ' 'ANALYSIS_FAILED', 'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED ' '| ' 'ANALYSIS_STARTED ' '| ' 'ANALYSIS_SUCCESS ' '| ' 'ANALYSIS_FAILED ' '| ' 'ANALYSIS_PARTIAL_SUCCESS ' '| ' 'UNCONFIGURED ' '| ' 'CONFIGURED'}, 'analysisType': 'SOURCE_CODE_ANALYSIS ' '| ' 'DATABASE_ANALYSIS ' '| ' 'RUNTIME_ANALYSIS ' '| ' 'BINARY_ANALYSIS', 'antipatternReportResultList': [{'analyzerName': {'binaryAnalyzerName': 'DLL_ANALYZER ' '| ' 'BYTECODE_ANALYZER', 'runTimeAnalyzerName': 'A2C_ANALYZER ' '| ' 'REHOST_ANALYZER ' '| ' 'EMP_PA_ANALYZER ' '| ' 'DATABASE_ANALYZER ' '| ' 'SCT_ANALYZER', 'sourceCodeAnalyzerName': 'CSHARP_ANALYZER ' '| ' 'JAVA_ANALYZER ' '| ' 'BYTECODE_ANALYZER ' '| ' 'PORTING_ASSISTANT'}, 'antiPatternReportS3Object': {'s3Bucket': 'string', 's3key': 'string'}, 'antipatternReportStatus': 'FAILED ' '| ' 'IN_PROGRESS ' '| ' 'SUCCESS', 'antipatternReportStatusMessage': 'string'}], 'statusMessage': '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'|'ExternalSourceType', 'value': 'string' }, ], maxResults=123, nextToken='string', sort='ASC'|'DESC' )
string
Criteria for filtering the list of application components.
string
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.
list
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.
integer
The maximum number of items to include in the response. The maximum value is 100.
string
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.
string
Specifies whether to sort by ascending ( ASC) or descending ( DESC) order.
dict
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', 'resultList': [ { 'analysisStatus': { 'runtimeAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED', 'srcCodeOrDbAnalysisStatus': 'ANALYSIS_TO_BE_SCHEDULED'|'ANALYSIS_STARTED'|'ANALYSIS_SUCCESS'|'ANALYSIS_FAILED'|'ANALYSIS_PARTIAL_SUCCESS'|'UNCONFIGURED'|'CONFIGURED' }, 'analysisType': 'SOURCE_CODE_ANALYSIS'|'DATABASE_ANALYSIS'|'RUNTIME_ANALYSIS'|'BINARY_ANALYSIS', 'antipatternReportResultList': [ { 'analyzerName': { 'binaryAnalyzerName': 'DLL_ANALYZER'|'BYTECODE_ANALYZER', 'runTimeAnalyzerName': 'A2C_ANALYZER'|'REHOST_ANALYZER'|'EMP_PA_ANALYZER'|'DATABASE_ANALYZER'|'SCT_ANALYZER', 'sourceCodeAnalyzerName': 'CSHARP_ANALYZER'|'JAVA_ANALYZER'|'BYTECODE_ANALYZER'|'PORTING_ASSISTANT' }, 'antiPatternReportS3Object': { 's3Bucket': 'string', 's3key': 'string' }, 'antipatternReportStatus': 'FAILED'|'IN_PROGRESS'|'SUCCESS', 'antipatternReportStatusMessage': 'string' }, ], 'statusMessage': 'string' }, ], '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.
resultList (list) --
A list of the analysis results.
(dict) --
The error in server analysis.
analysisStatus (dict) --
The error in server analysis.
runtimeAnalysisStatus (string) --
The status of the analysis.
srcCodeOrDbAnalysisStatus (string) --
The status of the source code or database analysis.
analysisType (string) --
The error in server analysis.
antipatternReportResultList (list) --
The error in server analysis.
(dict) --
The anti-pattern report result.
analyzerName (dict) --
The analyzer name.
binaryAnalyzerName (string) --
The binary analyzer names.
runTimeAnalyzerName (string) --
The assessment analyzer names.
sourceCodeAnalyzerName (string) --
The source code analyzer names.
antiPatternReportS3Object (dict) --
Contains the S3 bucket name and the Amazon S3 key name.
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.
statusMessage (string) --
The error in server analysis.
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.