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

***************************
list_application_components
***************************



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

  

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

  

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


  **Request Syntax**
  ::

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

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

            
      
    
      

      - **nextToken** *(string) --* 

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

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

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

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

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

  