deephaven_enterprise.acl_generator

This module defines a set of functions for creating filter generators that are used to build ACLs for Persistent Queries. A filter generator takes the user’s credentials and produces one or more filters that are applied to the table before providing the result to the user. For more information on ACLs and filter generators, see the Deephaven documentation https://deephaven.io/enterprise/docs/sys-admin/permissions/acls/#persistent-query-acls.

conjunctive(*generators)[source]

Creates a filter generator that conjunctively combines the input generators

Parameters:

*generators (JAclFilterGenerator) – the generators to combine

Return type:

AclFilterGenerator

Returns:

a filter generator

disjunctive(*generators)[source]

Creates a filter generator that disjunctively combines the input generators

Parameters:

*generators (JAclFilterGenerator) – the generators to combine

Return type:

AclFilterGenerator

Returns:

a filter generator

full_access()[source]

Creates a filter generator that gives full access to the table.

Return type:

AclFilterGenerator

Returns:

a filter generator

group(group_column, matches_set=False)[source]

Creates a filter generator that filters rows based on group data contained within the table.

Parameters:
  • group_column (str) – the column containing the group data

  • matches_set (bool) – if the filter should match groups within a column that is a list or array or groups. Defaults to False.

Return type:

AclFilterGenerator

Returns:

a filter generator

no_access()[source]

Creates a filter generator that gives no access to the table.

Return type:

AclFilterGenerator

Returns:

a filter generator

where(*filters)[source]

Creates a filter generator from a set of simple where clauses.

Parameters:

*filters (str) – the filters to apply

Return type:

AclFilterGenerator

Returns:

a filter generator

where_in(set_namespace, set_table_name, set_group_column, set_filters, use_historical, *match_expressions)[source]

Creates a filter generator that applies a where_in() filter from a “Set” table containing the grouping information

Parameters:
  • set_namespace (str) – the namespace of the “Set” table

  • set_table_name (str) – the table name of the “Set” table

  • set_group_column (str) – the column in the “Set” table containing the group information

  • set_filters (list) – a set of expressions to filter the “Set” table

  • use_historical (bool) – if the “Set” table should come from the historical data store

  • *match_expressions (str) – the set of columns to match between the two tables

Return type:

AclFilterGenerator

Returns:

a filter generator

where_in_table(set_table, set_group_column, set_filters, *match_expressions)[source]

Creates a filter generator that applies a where_in() filter from a “Set” table containing the grouping information

Parameters:
  • set_table (Table) – the set table

  • set_group_column (str) – the column in the “Set” table containing the group information

  • set_filters (list) – a set of expressions to filter the “Set” table

  • *match_expressions (str) – the set of columns to match between the two tables

Return type:

AclFilterGenerator

Returns:

a filter generator