File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed
Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ package terraform.tag_validation
2+
3+ # Tag checking functions
4+ # Read all tags from a resource
5+ readTags (resource) = tags if {
6+ tags = resource.change.after.tags
7+ }
8+
9+ # Check if tag is present for a given resource
10+ findTag (resource, tagName) if {
11+ readTags (resource)[tagName]
12+ }
13+
14+ # Check if tag has proper value for a given resource
15+ findValue (resource, tagName, tagValue) if {
16+ readTags (resource)[tagName] == tagValue
17+ }
18+
19+ # Check if all tags are present for a given resource
20+ missingTags (resource, tagList) if {
21+ keys := { key | resource.change.after.tags[key] }
22+ missing := tagList - keys
23+ missing == set ()
24+ }
Original file line number Diff line number Diff line change 1+ package terraform.plan_functions
2+
3+ # Get resources by type
4+ get_resources_by_type (type, resources) = filtered_resources if {
5+ filtered_resources := [resource | resource := resources[_]; resource.type = type]
6+ }
7+
8+ # Get resources by action
9+ get_resources_by_action (action, resources) = filtered_resources if {
10+ filtered_resources := [resource | resource := resources[_]; resource.change.actions[_] = action]
11+ }
12+
13+ # Get resources by type and action
14+ get_resources_by_type_and_action (type, action, resources) = filtered_resources if {
15+ filtered_resources := [resource | resource := resources[_]; resource.type = type; resource.change.actions[_] = action]
16+ }
17+
18+ # Get resource by name
19+ get_resource_by_name (resource_name, resources) = filtered_resources if {
20+ filtered_resources := [resource | resource := resources[_]; resource.name = resource_name]
21+ }
22+
23+ # Get resource by type and name
24+ get_resource_by_type_and_name (type, resource_name, resources) = filtered_resources if {
25+ filtered_resources := [resource | resource := resources[_]; resource.type = type; resource.name = resource_name]
26+ }
You can’t perform that action at this time.
0 commit comments