:doc:`NeptuneData <../../neptunedata>` / Client / get_engine_status

*****************
get_engine_status
*****************



.. py:method:: NeptuneData.Client.get_engine_status()

  

  Retrieves the status of the graph database on the host.

   

  When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the `neptune-db\:GetEngineStatus <https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getenginestatus>`__ IAM action in that cluster.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetEngineStatus>`_  


  **Request Syntax**

  ::

    response = client.get_engine_status()
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'status': 'string',
          'startTime': 'string',
          'dbEngineVersion': 'string',
          'role': 'string',
          'dfeQueryEngine': 'string',
          'gremlin': {
              'version': 'string'
          },
          'sparql': {
              'version': 'string'
          },
          'opencypher': {
              'version': 'string'
          },
          'labMode': {
              'string': 'string'
          },
          'rollingBackTrxCount': 123,
          'rollingBackTrxEarliestStartTime': 'string',
          'features': {
              'string': {...}|[...]|123|123.4|'string'|True|None
          },
          'settings': {
              'string': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **status** *(string) --* 

        Set to ``healthy`` if the instance is not experiencing problems. If the instance is recovering from a crash or from being rebooted and there are active transactions running from the latest server shutdown, status is set to ``recovery``.

        
      

      - **startTime** *(string) --* 

        Set to the UTC time at which the current server process started.

        
      

      - **dbEngineVersion** *(string) --* 

        Set to the Neptune engine version running on your DB cluster. If this engine version has been manually patched since it was released, the version number is prefixed by ``Patch-``.

        
      

      - **role** *(string) --* 

        Set to ``reader`` if the instance is a read-replica, or to ``writer`` if the instance is the primary instance.

        
      

      - **dfeQueryEngine** *(string) --* 

        Set to ``enabled`` if the DFE engine is fully enabled, or to ``viaQueryHint`` (the default) if the DFE engine is only used with queries that have the ``useDFE`` query hint set to ``true``.

        
      

      - **gremlin** *(dict) --* 

        Contains information about the Gremlin query language available on your cluster. Specifically, it contains a version field that specifies the current TinkerPop version being used by the engine.

        
        

        - **version** *(string) --* 

          The version of the query language.

          
    
      

      - **sparql** *(dict) --* 

        Contains information about the SPARQL query language available on your cluster. Specifically, it contains a version field that specifies the current SPARQL version being used by the engine.

        
        

        - **version** *(string) --* 

          The version of the query language.

          
    
      

      - **opencypher** *(dict) --* 

        Contains information about the openCypher query language available on your cluster. Specifically, it contains a version field that specifies the current operCypher version being used by the engine.

        
        

        - **version** *(string) --* 

          The version of the query language.

          
    
      

      - **labMode** *(dict) --* 

        Contains Lab Mode settings being used by the engine.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **rollingBackTrxCount** *(integer) --* 

        If there are transactions being rolled back, this field is set to the number of such transactions. If there are none, the field doesn't appear at all.

        
      

      - **rollingBackTrxEarliestStartTime** *(string) --* 

        Set to the start time of the earliest transaction being rolled back. If no transactions are being rolled back, the field doesn't appear at all.

        
      

      - **features** *(dict) --* 

        Contains status information about the features enabled on your DB cluster.

        
        

        - *(string) --* 
          

          - (:ref:`document<document>`) -- 
    
  
      

      - **settings** *(dict) --* 

        Contains information about the current settings on your DB cluster. For example, contains the current cluster query timeout setting ( ``clusterQueryTimeoutInMs``).

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
  
  **Exceptions**
  
  *   :py:class:`NeptuneData.Client.exceptions.UnsupportedOperationException`

  
  *   :py:class:`NeptuneData.Client.exceptions.InternalFailureException`

  
  *   :py:class:`NeptuneData.Client.exceptions.ClientTimeoutException`

  
  *   :py:class:`NeptuneData.Client.exceptions.PreconditionsFailedException`

  
  *   :py:class:`NeptuneData.Client.exceptions.ConstraintViolationException`

  
  *   :py:class:`NeptuneData.Client.exceptions.InvalidArgumentException`

  
  *   :py:class:`NeptuneData.Client.exceptions.IllegalArgumentException`

  
  *   :py:class:`NeptuneData.Client.exceptions.TooManyRequestsException`

  