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

*****************************
describe_app_version_resource
*****************************



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

  

  Describes a resource of the Resilience Hub application.

   

  .. note::

    

    This API accepts only one of the following parameters to describe the resource:

     

    
    * ``resourceName``
     
    * ``logicalResourceId``
     
    * ``physicalResourceId`` (Along with ``physicalResourceId``, you can also provide ``awsAccountId``, and ``awsRegion``)
    

    

  

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


  **Request Syntax**
  ::

    response = client.describe_app_version_resource(
        appArn='string',
        appVersion='string',
        awsAccountId='string',
        awsRegion='string',
        logicalResourceId={
            'eksSourceName': 'string',
            'identifier': 'string',
            'logicalStackName': 'string',
            'resourceGroupName': 'string',
            'terraformSourceName': 'string'
        },
        physicalResourceId='string',
        resourceName='string'
    )
    
  :type appArn: string
  :param appArn: **[REQUIRED]** 

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn: ``partition``:resiliencehub: ``region``: ``account``:app/ ``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 appVersion: string
  :param appVersion: **[REQUIRED]** 

    Resilience Hub application version.

    

  
  :type awsAccountId: string
  :param awsAccountId: 

    Amazon Web Services account that owns the physical resource.

    

  
  :type awsRegion: string
  :param awsRegion: 

    Amazon Web Services region that owns the physical resource.

    

  
  :type logicalResourceId: dict
  :param logicalResourceId: 

    Logical identifier of the resource.

    

  
    - **eksSourceName** *(string) --* 

      Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

       

      .. note::

        

        This parameter accepts values in "eks-cluster/namespace" format.

        

      

    
    - **identifier** *(string) --* **[REQUIRED]** 

      Identifier of the resource.

      

    
    - **logicalStackName** *(string) --* 

      The name of the CloudFormation stack this resource belongs to.

      

    
    - **resourceGroupName** *(string) --* 

      The name of the resource group that this resource belongs to.

      

    
    - **terraformSourceName** *(string) --* 

      The name of the Terraform S3 state file this resource belongs to.

      

    
  
  :type physicalResourceId: string
  :param physicalResourceId: 

    Physical identifier of the resource.

    

  
  :type resourceName: string
  :param resourceName: 

    Name of the resource.

    

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

    
    ::

      {
          'appArn': 'string',
          'appVersion': 'string',
          'physicalResource': {
              'additionalInfo': {
                  'string': [
                      'string',
                  ]
              },
              'appComponents': [
                  {
                      'additionalInfo': {
                          'string': [
                              'string',
                          ]
                      },
                      'id': 'string',
                      'name': 'string',
                      'type': 'string'
                  },
              ],
              'excluded': True|False,
              'logicalResourceId': {
                  'eksSourceName': 'string',
                  'identifier': 'string',
                  'logicalStackName': 'string',
                  'resourceGroupName': 'string',
                  'terraformSourceName': 'string'
              },
              'parentResourceName': 'string',
              'physicalResourceId': {
                  'awsAccountId': 'string',
                  'awsRegion': 'string',
                  'identifier': 'string',
                  'type': 'Arn'|'Native'
              },
              'resourceName': 'string',
              'resourceType': 'string',
              'sourceType': 'AppTemplate'|'Discovered'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **appArn** *(string) --* 

        Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn: ``partition``:resiliencehub: ``region``: ``account``:app/ ``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.

        
      

      - **appVersion** *(string) --* 

        Resilience Hub application version.

        
      

      - **physicalResource** *(dict) --* 

        Defines a physical resource. A physical resource is a resource that exists in your account. It can be identified using an Amazon Resource Name (ARN) or a Resilience Hub-native identifier.

        
        

        - **additionalInfo** *(dict) --* 

          Additional configuration parameters for an Resilience Hub application. If you want to implement ``additionalInfo`` through the Resilience Hub console rather than using an API call, see `Configure the application configuration parameters <https://docs.aws.amazon.com/resilience-hub/latest/userguide/app-config-param.html>`__.

           

          .. note::

            

            Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

             

            Key: ``"failover-regions"``

             

            Value: ``"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"``

            

          
          

          - *(string) --* 
            

            - *(list) --* 
              

              - *(string) --* 
          
      
    
        

        - **appComponents** *(list) --* 

          The application components that belong to this resource.

          
          

          - *(dict) --* 

            Defines an Application Component.

            
            

            - **additionalInfo** *(dict) --* 

              Additional configuration parameters for an Resilience Hub application. If you want to implement ``additionalInfo`` through the Resilience Hub console rather than using an API call, see `Configure the application configuration parameters <https://docs.aws.amazon.com/resilience-hub/latest/userguide/app-config-param.html>`__.

               

              .. note::

                

                Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

                 

                Key: ``"failover-regions"``

                 

                Value: ``"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"``

                

              
              

              - *(string) --* 
                

                - *(list) --* 
                  

                  - *(string) --* 
              
          
        
            

            - **id** *(string) --* 

              Identifier of the Application Component.

              
            

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

              Name of the Application Component.

              
            

            - **type** *(string) --* 

              The type of Application Component.

              
        
      
        

        - **excluded** *(boolean) --* 

          Indicates if a resource is included or excluded from the assessment.

          
        

        - **logicalResourceId** *(dict) --* 

          Logical identifier of the resource.

          
          

          - **eksSourceName** *(string) --* 

            Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

             

            .. note::

              

              This parameter accepts values in "eks-cluster/namespace" format.

              

            
          

          - **identifier** *(string) --* 

            Identifier of the resource.

            
          

          - **logicalStackName** *(string) --* 

            The name of the CloudFormation stack this resource belongs to.

            
          

          - **resourceGroupName** *(string) --* 

            The name of the resource group that this resource belongs to.

            
          

          - **terraformSourceName** *(string) --* 

            The name of the Terraform S3 state file this resource belongs to.

            
      
        

        - **parentResourceName** *(string) --* 

          Name of the parent resource.

          
        

        - **physicalResourceId** *(dict) --* 

          Identifier of the physical resource.

          
          

          - **awsAccountId** *(string) --* 

            The Amazon Web Services account that owns the physical resource.

            
          

          - **awsRegion** *(string) --* 

            The Amazon Web Services Region that the physical resource is located in.

            
          

          - **identifier** *(string) --* 

            Identifier of the physical resource.

            
          

          - **type** *(string) --* 

            Specifies the type of physical resource identifier.

              Arn  

            The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:

             

            
            * ``AWS::ECS::Service``
             
            * ``AWS::EFS::FileSystem``
             
            * ``AWS::ElasticLoadBalancingV2::LoadBalancer``
             
            * ``AWS::Lambda::Function``
             
            * ``AWS::SNS::Topic``
            

              Native  

            The resource identifier is an Resilience Hub-native identifier and it can identify the following list of resources:

             

            
            * ``AWS::ApiGateway::RestApi``
             
            * ``AWS::ApiGatewayV2::Api``
             
            * ``AWS::AutoScaling::AutoScalingGroup``
             
            * ``AWS::DocDB::DBCluster``
             
            * ``AWS::DocDB::DBGlobalCluster``
             
            * ``AWS::DocDB::DBInstance``
             
            * ``AWS::DynamoDB::GlobalTable``
             
            * ``AWS::DynamoDB::Table``
             
            * ``AWS::EC2::EC2Fleet``
             
            * ``AWS::EC2::Instance``
             
            * ``AWS::EC2::NatGateway``
             
            * ``AWS::EC2::Volume``
             
            * ``AWS::ElasticLoadBalancing::LoadBalancer``
             
            * ``AWS::RDS::DBCluster``
             
            * ``AWS::RDS::DBInstance``
             
            * ``AWS::RDS::GlobalCluster``
             
            * ``AWS::Route53::RecordSet``
             
            * ``AWS::S3::Bucket``
             
            * ``AWS::SQS::Queue``
            

            
      
        

        - **resourceName** *(string) --* 

          The name of the resource.

          
        

        - **resourceType** *(string) --* 

          Type of resource.

          
        

        - **sourceType** *(string) --* 

          Type of input source.

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

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

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

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

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

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

  