PolicyProperties

data class PolicyProperties(val resource: String, val roles: Map<String, List<IhawuProperties.FieldPolicyProperties>> = emptyMap())

The config representation of one resource's masking rules, bound from ihawu.policies[] and mapped to a core ResourcePolicy by the default provider.

Kept as a starter-local binding shape so ihawu-core's ResourcePolicy never becomes part of the configuration contract (see ADR 0004).

Constructors

Link copied to clipboard
constructor(resource: String, roles: Map<String, List<IhawuProperties.FieldPolicyProperties>> = emptyMap())

Properties

Link copied to clipboard

The resource key these rules apply to, matched against the resolved resource name. Required; duplicate keys across entries are rejected at startup.

Link copied to clipboard

The per-role FieldPolicyProperties lists, keyed by role name. Defaults to empty — a resource with no role rules resolves to no policies, so it serializes unmasked (fail open on missing policy; see ADR 0003). Non-null here, unlike core's nullable map, so the config shape is unambiguous for operators.