Resource Manager: Available Fields to Evaluate a Rule

This appendix lists the attributes that you can use in the condition of a rule of the Resources Manager.

  • access_interface: type of client connected to the Server. Possible values of the attribute “access interface” lists the possible values of this attribute.

  • admin_user: is true if the user is an administrator user or it has the role serveradmin. false otherwise.

  • client_ip: IP address of the client. For clients of web services this is the IP address of the final client. I.e. the one that sends the HTTP request.

  • connection_start_time: instant when the connection is opened. This can be useful to apply plans at a specific time of the day. E.g. with this attribute you can allow a specific user to execute queries only during certain times of the day.

    To do this, create a plan with the restriction “Stop query always” and a rule with this condition:

(user_name = 'reporting_application_1' AND (gethour(connection_start_time)
 <= 21 OR gethour(connection_start_time) > 23))
Assign the new plan to this rule. After this, the queries executed by clients with the user name “reporting_application_1” will only be allowed between 9 and 10:59 PM. Outside these hours, all the queries by this user will be refused
  • database_name: database that the user is connected to.

  • intermediate_client_IP (only for SOAP, REST and the global RESTful Web service): IP address where the service is running.

    If the service has been deployed in the Web container embedded in Denodo, this will be the same IP of the Virtual DataPort server. Otherwise, it is the IP address of the JEE container where the service is deployed.

  • JMS_queue_name (only for JMS connections): name of the JMS queue where the query is being sent from.

  • last_executed_query: last query executed by this user.

  • query_running: query that the user is executing right now and that has not finished yet. Empty, if there is no active query.

  • query_running_queued: true if the user already has executed a query and the query is waiting because the Server has reached the “Max concurrent requests” limit. See more about this limit and how to increase it in the section Limiting the Number of Concurrent Requests.

  • (roles).value: attribute to create conditions over the roles assigned to the user that is opening the connection to Virtual DataPort.

    Example: if the condition of a rule is

    (roles).value = 'developer' or (roles).value = 'tester'
    
the plan will be applied if at least one of the roles granted to the user is developer or tester.
  • user_agent: name of the application that opens the connection. Setting the user agent in the application is useful to know which application opens each connection. The section Setting the User Agent of an Application explains how to set this.
  • user_authentication_type: type of authentication used by the client. The values can be “LOCAL”, “LDAP” or “KERBEROS”.
  • user_name: login name of the user that opened the connection.
  • web_service_name (only for SOAP or REST Web services): name of the Web service.