Skip to main content
policy.yaml796 B
View on GitHub
apiVersion: atmos/v1
kind: Policy
metadata:
name: terraform-starlark-change-budget
description: Limit a plan's change budget, charging more for deletions and replacements.
spec:
policies:
change-budget:
on: terraform.plan
engine: cel
action: deny
reason: The plan exceeds the permitted change budget
with:
maximum: 5
deletion_weight: 3
rule: |
((has(input.resource_changes) ? input.resource_changes : []).filter(r,
r.mode == 'managed' && 'delete' in r.change.actions).size() * params.deletion_weight +
(has(input.resource_changes) ? input.resource_changes : []).filter(r,
r.mode == 'managed' && !('delete' in r.change.actions) &&
r.change.actions != ['no-op']).size()) > params.maximum