:doc:`ResilienceHub <../../resiliencehub>` / Client / list_app_component_recommendations

**********************************
list_app_component_recommendations
**********************************



.. py:method:: ResilienceHub.Client.list_app_component_recommendations(**kwargs)

  

  Lists the recommendations for an Resilience Hub Application Component.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppComponentRecommendations>`_  


  **Request Syntax**
  ::

    response = client.list_app_component_recommendations(
        assessmentArn='string',
        maxResults=123,
        nextToken='string'
    )
    
  :type assessmentArn: string
  :param assessmentArn: **[REQUIRED]** 

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn: ``partition``:resiliencehub: ``region``: ``account``:app-assessment/ ``app-id``. For more information about ARNs, see `Amazon Resource Names (ARNs) <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`__ in the *Amazon Web Services General Reference* guide.

    

  
  :type maxResults: integer
  :param maxResults: 

    Maximum number of results to include in the response. If more results exist than the specified ``MaxResults`` value, a token is included in the response so that the remaining results can be retrieved.

    

  
  :type nextToken: string
  :param nextToken: 

    Null, or the token from a previous call to get the next set of results.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'componentRecommendations': [
              {
                  'appComponentName': 'string',
                  'configRecommendations': [
                      {
                          'appComponentName': 'string',
                          'compliance': {
                              'string': {
                                  'achievableRpoInSecs': 123,
                                  'achievableRtoInSecs': 123,
                                  'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotApplicable'|'MissingPolicy',
                                  'currentRpoInSecs': 123,
                                  'currentRtoInSecs': 123,
                                  'message': 'string',
                                  'rpoDescription': 'string',
                                  'rpoReferenceId': 'string',
                                  'rtoDescription': 'string',
                                  'rtoReferenceId': 'string'
                              }
                          },
                          'cost': {
                              'amount': 123.0,
                              'currency': 'string',
                              'frequency': 'Hourly'|'Daily'|'Monthly'|'Yearly'
                          },
                          'description': 'string',
                          'haArchitecture': 'MultiSite'|'WarmStandby'|'PilotLight'|'BackupAndRestore'|'NoRecoveryPlan',
                          'name': 'string',
                          'optimizationType': 'LeastCost'|'LeastChange'|'BestAZRecovery'|'LeastErrors'|'BestAttainable'|'BestRegionRecovery',
                          'recommendationCompliance': {
                              'string': {
                                  'expectedComplianceStatus': 'PolicyBreached'|'PolicyMet'|'NotApplicable'|'MissingPolicy',
                                  'expectedRpoDescription': 'string',
                                  'expectedRpoInSecs': 123,
                                  'expectedRtoDescription': 'string',
                                  'expectedRtoInSecs': 123
                              }
                          },
                          'referenceId': 'string',
                          'suggestedChanges': [
                              'string',
                          ]
                      },
                  ],
                  'recommendationStatus': 'BreachedUnattainable'|'BreachedCanMeet'|'MetCanImprove'|'MissingPolicy'
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **componentRecommendations** *(list) --* 

        The recommendations for an Resilience Hub Application Component, returned as an object. This object contains the names of the Application Components, configuration recommendations, and recommendation statuses.

        
        

        - *(dict) --* 

          Defines recommendations for an Resilience Hub Application Component, returned as an object. This object contains component names, configuration recommendations, and recommendation statuses.

          
          

          - **appComponentName** *(string) --* 

            Name of the Application Component.

            
          

          - **configRecommendations** *(list) --* 

            List of recommendations.

            
            

            - *(dict) --* 

              Defines a recommendation configuration.

              
              

              - **appComponentName** *(string) --* 

                Name of the Application Component.

                
              

              - **compliance** *(dict) --* 

                The current compliance against the resiliency policy before applying the configuration change.

                
                

                - *(string) --* 
                  

                  - *(dict) --* 

                    Defines the compliance against the resiliency policy for a disruption.

                    
                    

                    - **achievableRpoInSecs** *(integer) --* 

                      The Recovery Point Objective (RPO) that is achievable, in seconds.

                      
                    

                    - **achievableRtoInSecs** *(integer) --* 

                      The Recovery Time Objective (RTO) that is achievable, in seconds

                      
                    

                    - **complianceStatus** *(string) --* 

                      The current status of compliance for the resiliency policy.

                      
                    

                    - **currentRpoInSecs** *(integer) --* 

                      The current RPO, in seconds.

                      
                    

                    - **currentRtoInSecs** *(integer) --* 

                      The current RTO, in seconds.

                      
                    

                    - **message** *(string) --* 

                      The disruption compliance message.

                      
                    

                    - **rpoDescription** *(string) --* 

                      The RPO description.

                      
                    

                    - **rpoReferenceId** *(string) --* 

                      Reference identifier of the RPO .

                      
                    

                    - **rtoDescription** *(string) --* 

                      The RTO description.

                      
                    

                    - **rtoReferenceId** *(string) --* 

                      Reference identifier of the RTO.

                      
                
            
          
              

              - **cost** *(dict) --* 

                The cost for the application.

                
                

                - **amount** *(float) --* 

                  The cost amount.

                  
                

                - **currency** *(string) --* 

                  The cost currency, for example ``USD``.

                  
                

                - **frequency** *(string) --* 

                  The cost frequency.

                  
            
              

              - **description** *(string) --* 

                The optional description for an app.

                
              

              - **haArchitecture** *(string) --* 

                The architecture type.

                
              

              - **name** *(string) --* 

                The name of the recommendation configuration.

                
              

              - **optimizationType** *(string) --* 

                The type of optimization.

                
              

              - **recommendationCompliance** *(dict) --* 

                The expected compliance against the resiliency policy after applying the configuration change.

                
                

                - *(string) --* 
                  

                  - *(dict) --* 

                    Defines a disruption compliance recommendation.

                    
                    

                    - **expectedComplianceStatus** *(string) --* 

                      The expected compliance status after applying the recommended configuration change.

                      
                    

                    - **expectedRpoDescription** *(string) --* 

                      The expected Recovery Point Objective (RPO) description after applying the recommended configuration change.

                      
                    

                    - **expectedRpoInSecs** *(integer) --* 

                      The expected RPO after applying the recommended configuration change.

                      
                    

                    - **expectedRtoDescription** *(string) --* 

                      The expected Recovery Time Objective (RTO) description after applying the recommended configuration change.

                      
                    

                    - **expectedRtoInSecs** *(integer) --* 

                      The expected RTO after applying the recommended configuration change.

                      
                
            
          
              

              - **referenceId** *(string) --* 

                Reference identifier for the recommendation configuration.

                
              

              - **suggestedChanges** *(list) --* 

                List of the suggested configuration changes.

                
                

                - *(string) --* 
            
          
        
          

          - **recommendationStatus** *(string) --* 

            Status of the recommendation.

            
      
    
      

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

        Token for the next set of results, or null if there are no more results.

        
  
  **Exceptions**
  
  *   :py:class:`ResilienceHub.Client.exceptions.InternalServerException`

  
  *   :py:class:`ResilienceHub.Client.exceptions.ResourceNotFoundException`

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

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

  
  *   :py:class:`ResilienceHub.Client.exceptions.AccessDeniedException`

  