py_abac.policy.conditions.attribute package

Submodules

py_abac.policy.conditions.attribute.all_in module

All in attribute condition

class py_abac.policy.conditions.attribute.all_in.AllInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for all attribute values in that of another

is_satisfied(ctx) → bool[source]

Is conditions satisfied?

Parameters

ctx – evaluation context

Returns

True if satisfied else False

class py_abac.policy.conditions.attribute.all_in.AllInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for all in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.all_not_in module

All not in attribute condition

class py_abac.policy.conditions.attribute.all_not_in.AllNotInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for all attribute values not in that of another

is_satisfied(ctx) → bool[source]

Is conditions satisfied?

Parameters

ctx – evaluation context

Returns

True if satisfied else False

class py_abac.policy.conditions.attribute.all_not_in.AllNotInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for all not in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.any_in module

Any in attribute condition

class py_abac.policy.conditions.attribute.any_in.AnyInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for any attribute values in that of another

is_satisfied(ctx) → bool[source]

Is conditions satisfied?

Parameters

ctx – evaluation context

Returns

True if satisfied else False

class py_abac.policy.conditions.attribute.any_in.AnyInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for any in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.any_not_in module

Any not in attribute condition

class py_abac.policy.conditions.attribute.any_not_in.AnyNotInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for any attribute values not in that of another

is_satisfied(ctx) → bool[source]

Is conditions satisfied?

Parameters

ctx – evaluation context

Returns

True if satisfied else False

class py_abac.policy.conditions.attribute.any_not_in.AnyNotInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for any not in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.base module

Attribute Condition Base

class py_abac.policy.conditions.attribute.base.AttributeCondition(ace, path)[source]

Bases: py_abac.policy.conditions.base.ConditionBase

Base class for attribute conditions

Parameters
  • ace – access control element type

  • path – path to the attribute of the access control element

is_satisfied(ctx) → bool[source]

Is conditions satisfied?

Parameters

ctx – evaluation context

Returns

True if satisfied else False

class py_abac.policy.conditions.attribute.base.AttributeConditionSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: marshmallow.schema.Schema

Base JSON schema for attribute condition

opts = <marshmallow.schema.SchemaOpts object>
py_abac.policy.conditions.attribute.base.validate_path(path)[source]

Validate given attribute path satisfies ObjectPath notation. Throws ValidationError for invalid path.

py_abac.policy.conditions.attribute.equals module

Equals attribute condition

class py_abac.policy.conditions.attribute.equals.EqualsAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for attribute value equals that of another

class py_abac.policy.conditions.attribute.equals.EqualsAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for equals attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.is_in module

Is in attribute condition

class py_abac.policy.conditions.attribute.is_in.IsInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for attribute value in that of another

class py_abac.policy.conditions.attribute.is_in.IsInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for is in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.is_not_in module

Is not in attribute condition

class py_abac.policy.conditions.attribute.is_not_in.IsNotInAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for attribute value not in that of another

class py_abac.policy.conditions.attribute.is_not_in.IsNotInAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for is not in attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

py_abac.policy.conditions.attribute.not_equals module

Not equals attribute condition

class py_abac.policy.conditions.attribute.not_equals.NotEqualsAttribute(ace, path)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeCondition

Condition for attribute value not equals that of another

class py_abac.policy.conditions.attribute.not_equals.NotEqualsAttributeSchema(*, only: Union[Sequence[str], Set[str], None] = None, exclude: Union[Sequence[str], Set[str]] = (), many: bool = False, context: Optional[Dict] = None, load_only: Union[Sequence[str], Set[str]] = (), dump_only: Union[Sequence[str], Set[str]] = (), partial: Union[bool, Sequence[str], Set[str]] = False, unknown: Optional[str] = None)[source]

Bases: py_abac.policy.conditions.attribute.base.AttributeConditionSchema

JSON schema for not equals attribute condition

post_load(data, **_)[source]
opts = <marshmallow.schema.SchemaOpts object>

Module contents

Attribute conditions