deephaven_enterprise.edge_acl

This module supports the creation of access control lists (ACLs) for the results of Persistent Queries. For more information on ACLs and filter generators, see the Deephaven documentation https://deephaven.io/enterprise/docs/sys-admin/permissions/acls/#persistent-query-acls.

class EdgeAclProvider(j_provider)[source]

Bases: object

An EdgeAclProvider is used to provide access control for the results of Persistent Queries based on the requesting user at request time.

Note that it should not be instantiated directly, but rather through the EdgeAclProviderBuilder.build() method.

static add_object_acl(group, value)[source]

Adds visibility for the specified object to the specified group.

Parameters:
  • group (str) – the group to add visibility for

  • value (Union[jpy.JType, Any]) – the object to add visibility for

Return type:

None

apply_to(table)[source]

Attaches this ACL Provider to a table

Parameters:

table (Table) – the table to attach to

Returns:

a new table with the ACLs attached

static builder()[source]

Creates a builder to construct an EdgeAclProvider

Return type:

EdgeAclProviderBuilder

Returns:

EdgeAclProviderBuilder

class EdgeAclProviderBuilder(j_builder)[source]

Bases: JObjectWrapper

A builder for constructing an EdgeAclProvider for access control on the result tables of Persistent Queries.

Note that it should not be instantiated directly, but rather through the static EdgeAclProvider.builder().

build()[source]

Constructs the completed EdgeAclProvider object from the current state of this builder.

Return type:

EdgeAclProvider

Returns:

EdgeAclProvider

column_acl(group, columns, acl)[source]

Adds a Column ACL for the specified group and column(s) to the table with a filter generator. The filter generator is created by calling one of the factory functions in acl_generator. The Column ACL controls access to specific values of columns of a table.

Parameters:
  • group (str) – the group the ACL applies to

  • columns (Union[str, list[str]]) – the column(s) the acl applies to

  • acl (JAclFilterGenerator) – the generator that will produce a filter for a given user

Return type:

EdgeAclProviderBuilder

Returns:

self

j_object_type

alias of EdgeAclProvider$Builder

orphan_promotion(promote_orphans)[source]

Specify whether orphans should be promoted after applying this ACL to a tree table. Defaults to False and is ignored on other types of tables.

Parameters:

promote_orphans (bool) – whether orphans should be promoted after applying this ACL

Returns:

this builder

row_acl(group, acl)[source]

Adds a Row ACL for the specified group to the table with a filter generator. The filter generator is created by calling one of the factory functions in acl_generator. The Row Acl controls access to rows of a table.

Parameters:
  • group (str) – the group the ACL applies to

  • acl (JAclFilterGenerator) – the generator that will produce a filter for a given user

Return type:

EdgeAclProviderBuilder

Returns:

self

class EdgeAclProviderBuilder(j_builder)[source]

Bases: JObjectWrapper

A builder for constructing an EdgeAclProvider for access control on the result tables of Persistent Queries.

Note that it should not be instantiated directly, but rather through the static EdgeAclProvider.builder().

build()[source]

Constructs the completed EdgeAclProvider object from the current state of this builder.

Return type:

EdgeAclProvider

Returns:

EdgeAclProvider

column_acl(group, columns, acl)[source]

Adds a Column ACL for the specified group and column(s) to the table with a filter generator. The filter generator is created by calling one of the factory functions in acl_generator. The Column ACL controls access to specific values of columns of a table.

Parameters:
  • group (str) – the group the ACL applies to

  • columns (Union[str, list[str]]) – the column(s) the acl applies to

  • acl (JAclFilterGenerator) – the generator that will produce a filter for a given user

Return type:

EdgeAclProviderBuilder

Returns:

self

j_object_type

alias of EdgeAclProvider$Builder

orphan_promotion(promote_orphans)[source]

Specify whether orphans should be promoted after applying this ACL to a tree table. Defaults to False and is ignored on other types of tables.

Parameters:

promote_orphans (bool) – whether orphans should be promoted after applying this ACL

Returns:

this builder

row_acl(group, acl)[source]

Adds a Row ACL for the specified group to the table with a filter generator. The filter generator is created by calling one of the factory functions in acl_generator. The Row Acl controls access to rows of a table.

Parameters:
  • group (str) – the group the ACL applies to

  • acl (JAclFilterGenerator) – the generator that will produce a filter for a given user

Return type:

EdgeAclProviderBuilder

Returns:

self