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.