:doc:`MigrationHubStrategyRecommendations <../../migrationhubstrategy>` / Client / get_application_component_details

*********************************
get_application_component_details
*********************************



.. py:method:: MigrationHubStrategyRecommendations.Client.get_application_component_details(**kwargs)

  

  Retrieves details about an application component.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/migrationhubstrategy-2020-02-19/GetApplicationComponentDetails>`_  


  **Request Syntax**
  ::

    response = 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',
              '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.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``runtimeAnalysisStatus``, ``srcCodeOrDbAnalysisStatus``.     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'}


            
              

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

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``binaryAnalyzerName``, ``runTimeAnalyzerName``, ``sourceCodeAnalyzerName``.     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'}


                
                  

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

        
  
  **Exceptions**
  
  *   :py:class:`MigrationHubStrategyRecommendations.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`MigrationHubStrategyRecommendations.Client.exceptions.ThrottlingException`

  
  *   :py:class:`MigrationHubStrategyRecommendations.Client.exceptions.InternalServerException`

  