:doc:`CloudControlApi <../../cloudcontrol>` / Client / get_resource

************
get_resource
************



.. py:method:: CloudControlApi.Client.get_resource(**kwargs)

  

  Returns information about the current state of the specified resource. For details, see `Reading a resource's current state <https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-read.html>`__.

   

  You can use this action to return information about an existing resource in your account and Amazon Web Services Region, whether those resources were provisioned using Cloud Control API.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cloudcontrol-2021-09-30/GetResource>`_  


  **Request Syntax**
  ::

    response = client.get_resource(
        TypeName='string',
        TypeVersionId='string',
        RoleArn='string',
        Identifier='string'
    )
    
  :type TypeName: string
  :param TypeName: **[REQUIRED]** 

    The name of the resource type.

    

  
  :type TypeVersionId: string
  :param TypeVersionId: 

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    

  
  :type RoleArn: string
  :param RoleArn: 

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the ``handlers`` section of the `resource type definition schema <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html>`__.

     

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

     

    For more information, see `Specifying credentials <https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations.html#resource-operations-permissions>`__ in the *Amazon Web Services Cloud Control API User Guide*.

    

  
  :type Identifier: string
  :param Identifier: **[REQUIRED]** 

    The identifier for the resource.

     

    You can specify the primary identifier, or any secondary identifier defined for the resource type in its resource schema. You can only specify one identifier. Primary identifiers can be specified as a string or JSON; secondary identifiers must be specified as JSON.

     

    For compound primary identifiers (that is, one that consists of multiple resource properties strung together), to specify the primary identifier as a string, list the property values *in the order they are specified* in the primary identifier definition, separated by ``|``.

     

    For more information, see `Identifying resources <https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html>`__ in the *Amazon Web Services Cloud Control API User Guide*.

    

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

    
    ::

      {
          'TypeName': 'string',
          'ResourceDescription': {
              'Identifier': 'string',
              'Properties': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **TypeName** *(string) --* 

        The name of the resource type.

        
      

      - **ResourceDescription** *(dict) --* 

        Represents information about a provisioned resource.

        
        

        - **Identifier** *(string) --* 

          The primary identifier for the resource.

           

          For more information, see `Identifying resources <https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-identifier.html>`__ in the *Amazon Web Services Cloud Control API User Guide*.

          
        

        - **Properties** *(string) --* 

          A list of the resource properties and their current values.

          
    
  
  **Exceptions**
  
  *   :py:class:`CloudControlApi.Client.exceptions.AlreadyExistsException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.HandlerInternalFailureException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.GeneralServiceException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.NotUpdatableException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.TypeNotFoundException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.PrivateTypeException`

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

  
  *   :py:class:`CloudControlApi.Client.exceptions.NetworkFailureException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.UnsupportedActionException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.NotStabilizedException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.ServiceInternalErrorException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.HandlerFailureException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.ServiceLimitExceededException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.InvalidCredentialsException`

  
  *   :py:class:`CloudControlApi.Client.exceptions.ResourceConflictException`

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

  