This file defines abstract syntax for Cedar policy templates. In general, Cedar operations (e.g., authorization, validation) are defined over policies rather than templates. We generate policies from templates by using link?. During differential testing, templates are only used during parsing
@[reducible, inline]
Equations
Instances For
- entityUID (entity : EntityUID) : EntityUIDOrSlot
- slot (id : SlotID) : EntityUIDOrSlot
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Cedar.Spec.instDecidableEqEntityUIDOrSlot.decEq (Cedar.Spec.EntityUIDOrSlot.entityUID a) (Cedar.Spec.EntityUIDOrSlot.entityUID b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Cedar.Spec.instDecidableEqEntityUIDOrSlot.decEq (Cedar.Spec.EntityUIDOrSlot.entityUID entity) (Cedar.Spec.EntityUIDOrSlot.slot id) = isFalse ⋯
- Cedar.Spec.instDecidableEqEntityUIDOrSlot.decEq (Cedar.Spec.EntityUIDOrSlot.slot id) (Cedar.Spec.EntityUIDOrSlot.entityUID entity) = isFalse ⋯
- Cedar.Spec.instDecidableEqEntityUIDOrSlot.decEq (Cedar.Spec.EntityUIDOrSlot.slot a) (Cedar.Spec.EntityUIDOrSlot.slot b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
- any : ScopeTemplate
- eq (entityOrSlot : EntityUIDOrSlot) : ScopeTemplate
- mem (entityOrSlot : EntityUIDOrSlot) : ScopeTemplate
- is (ety : EntityType) : ScopeTemplate
- isMem (ety : EntityType) (entityOrSlot : EntityUIDOrSlot) : ScopeTemplate
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
- Cedar.Spec.instDecidableEqScopeTemplate.decEq Cedar.Spec.ScopeTemplate.any Cedar.Spec.ScopeTemplate.any = isTrue ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq Cedar.Spec.ScopeTemplate.any (Cedar.Spec.ScopeTemplate.eq entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq Cedar.Spec.ScopeTemplate.any (Cedar.Spec.ScopeTemplate.mem entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq Cedar.Spec.ScopeTemplate.any (Cedar.Spec.ScopeTemplate.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq Cedar.Spec.ScopeTemplate.any (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.eq entityOrSlot) Cedar.Spec.ScopeTemplate.any = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.eq a) (Cedar.Spec.ScopeTemplate.eq b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.eq entityOrSlot) (Cedar.Spec.ScopeTemplate.mem entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.eq entityOrSlot) (Cedar.Spec.ScopeTemplate.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.eq entityOrSlot) (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.mem entityOrSlot) Cedar.Spec.ScopeTemplate.any = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.mem entityOrSlot) (Cedar.Spec.ScopeTemplate.eq entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.mem a) (Cedar.Spec.ScopeTemplate.mem b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.mem entityOrSlot) (Cedar.Spec.ScopeTemplate.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.mem entityOrSlot) (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.is ety) Cedar.Spec.ScopeTemplate.any = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.is ety) (Cedar.Spec.ScopeTemplate.eq entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.is ety) (Cedar.Spec.ScopeTemplate.mem entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.is a) (Cedar.Spec.ScopeTemplate.is b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.is ety) (Cedar.Spec.ScopeTemplate.isMem ety_1 entityOrSlot) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot) Cedar.Spec.ScopeTemplate.any = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot) (Cedar.Spec.ScopeTemplate.eq entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot) (Cedar.Spec.ScopeTemplate.mem entityOrSlot_1) = isFalse ⋯
- Cedar.Spec.instDecidableEqScopeTemplate.decEq (Cedar.Spec.ScopeTemplate.isMem ety entityOrSlot) (Cedar.Spec.ScopeTemplate.is ety_1) = isFalse ⋯
Instances For
- principalScope (scope : ScopeTemplate) : PrincipalScopeTemplate
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- resourceScope (scope : ScopeTemplate) : ResourceScopeTemplate
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Equations
Instances For
- effect : Effect
- principalScope : PrincipalScopeTemplate
- actionScope : ActionScope
- resourceScope : ResourceScopeTemplate
- condition : Conditions
Instances For
Equations
- Cedar.Spec.instReprTemplate = { reprPrec := Cedar.Spec.instReprTemplate.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Instances For
- id : PolicyID
ID of the link, which for static policies will match the
templateId - templateId : TemplateID
ID of the template, which for static policies will match the
id - slotEnv : SlotEnv
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Instances For
Equations
- Cedar.Spec.link? templates links = List.mapM (Cedar.Spec.linkPolicy?✝ templates) links