policyweaver.models.fabric¶
policyweaver.models.fabric¶
- class policyweaver.models.fabric.ColumnConstraint(*, tablePath: str | None = None, columnNames: List[str] | None = None, columnEffect: PolicyEffectType | None = None, columnAction: List[FabricPolicyAccessType] | None = None)¶
Bases:
CommonBaseModelRepresents a column constraint in a policy decision rule. Attributes:
table_path: The path of the table to which the constraint applies. column_names: A list of column names to which the constraint applies. column_effect: The effect of the constraint (e.g., Permit). column_action: The action associated with the constraint (e.g., Read, Write).
- _abc_impl = <_abc._abc_data object>¶
- column_action: List[FabricPolicyAccessType] | None¶
- column_effect: PolicyEffectType | None¶
- column_names: List[str] | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- table_path: str | None¶
- class policyweaver.models.fabric.Constraints(*, columns: List[ColumnConstraint] | None = None, rows: List[RowConstraint] | None = None)¶
Bases:
CommonBaseModelRepresents constraints in a policy decision rule. Attributes:
columns: A list of column constraints associated with the policy decision.
- _abc_impl = <_abc._abc_data object>¶
- columns: List[ColumnConstraint] | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- rows: List[RowConstraint] | None¶
- class policyweaver.models.fabric.DataAccessPolicy(*, id: str | None = None, name: str | None = None, decisionRules: List[PolicyDecisionRule] | None = None, members: PolicyMembers | None = None)¶
Bases:
CommonBaseModelRepresents a data access policy in a Fabric environment. Attributes:
id: The unique identifier of the policy. name: The name of the policy. decision_rules: A list of decision rules associated with the policy. members: The members associated with the policy, including Fabric and Entra members.
- _abc_impl = <_abc._abc_data object>¶
- decision_rules: List[PolicyDecisionRule] | None¶
- id: str | None¶
- members: PolicyMembers | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- class policyweaver.models.fabric.EntraMember(*, objectId: str | None = None, objectType: FabricMemberObjectType | None = None, tenantId: str | None = None)¶
Bases:
CommonBaseModelRepresents a member in Microsoft Entra. Attributes:
object_id: The unique identifier of the member. object_type: The type of the member (e.g., Group, User). tenant_id: The identifier of the tenant to which the member belongs.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- object_id: str | None¶
- object_type: FabricMemberObjectType | None¶
- tenant_id: str | None¶
- class policyweaver.models.fabric.PolicyDecisionRule(*, effect: PolicyEffectType | None = None, permission: List[PolicyPermissionScope] | None = None, constraints: Constraints | None = None)¶
Bases:
CommonBaseModelRepresents a decision rule in a policy. Attributes:
effect: The effect of the policy decision (e.g., Permit). permission: A list of permission scopes associated with the policy decision.
- _abc_impl = <_abc._abc_data object>¶
- constraints: Constraints | None¶
- effect: PolicyEffectType | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- permission: List[PolicyPermissionScope] | None¶
- class policyweaver.models.fabric.PolicyMember(*, sourcePath: str | None = None, itemAccess: List[FabricPolicyAccessType] | None = None)¶
Bases:
CommonBaseModelRepresents a member in a Fabric policy. Attributes:
object_id: The unique identifier of the member. object_type: The type of the member (e.g., Group, User). tenant_id: The identifier of the tenant to which the member belongs. source_path: The source path associated with the member. item_access: A list of access types granted to the member.
- _abc_impl = <_abc._abc_data object>¶
- item_access: List[FabricPolicyAccessType] | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- source_path: str | None¶
- class policyweaver.models.fabric.PolicyMembers(*, fabricItemMembers: List[PolicyMember] | None = None, microsoftEntraMembers: List[EntraMember] | None = None)¶
Bases:
CommonBaseModelRepresents the members of a policy, including Fabric and Entra members. Attributes:
fabric_members: A list of Fabric policy members. entra_members: A list of Microsoft Entra members.
- _abc_impl = <_abc._abc_data object>¶
- entra_members: List[EntraMember] | None¶
- fabric_members: List[PolicyMember] | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class policyweaver.models.fabric.PolicyPermissionScope(*, attributeName: PolicyAttributeType | None = None, attributeValueIncludedIn: List[str] | None = None)¶
Bases:
CommonBaseModelRepresents the scope of permissions in a policy. Attributes:
attribute_name: The name of the attribute for the permission scope. attribute_value_included_in: A list of values that are included in the attribute.
- _abc_impl = <_abc._abc_data object>¶
- attribute_name: PolicyAttributeType | None¶
- attribute_value_included_in: List[str] | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class policyweaver.models.fabric.RowConstraint(*, tablePath: str | None = None, value: str | None = None)¶
Bases:
CommonBaseModelRepresents a row constraint in a policy decision rule. Attributes:
table_path: The path of the table to which the constraint applies. value: The condition or value defining the row constraint.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'exclude_none': True, 'exclude_unset': True, 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- table_path: str | None¶
- value: str | None¶