1- # Copyright 2022 Google LLC
1+ # Copyright 2024 Google LLC
22#
33# Licensed under the Apache License, Version 2.0 (the "License");
44# you may not use this file except in compliance with the License.
@@ -19,183 +19,191 @@ metadata:
1919 annotations :
2020 config.kubernetes.io/local-config : " true"
2121spec :
22- title : Google Cloud VPC Firewall
23- source :
24- repo : https://github.com/terraform-google-modules/terraform-google-network
25- sourceType : git
26- version : 9.1.0
27- actuationTool :
28- type : Terraform
29- version : ' >= 0.13.0'
30- examples :
31- - name : basic_auto_mode
32- location : examples/basic_auto_mode
33- - name : basic_custom_mode
34- location : examples/basic_custom_mode
35- - name : basic_firewall_rule
36- location : examples/basic_firewall_rule
37- - name : basic_secondary_ranges
38- location : examples/basic_secondary_ranges
39- - name : basic_shared_vpc
40- location : examples/basic_shared_vpc
41- - name : basic_vpc_peering
42- location : examples/basic_vpc_peering
43- - name : delete_default_gateway_routes
44- location : examples/delete_default_gateway_routes
45- - name : firewall_logging
46- location : examples/firewall_logging
47- - name : ilb_routing
48- location : examples/ilb_routing
49- - name : multi_vpc
50- location : examples/multi_vpc
51- - name : network_service_tiers
52- location : examples/network_service_tiers
53- - name : packet_mirroring
54- location : examples/packet_mirroring
55- - name : private_service_connect
56- location : examples/private_service_connect
57- - name : private_service_connect_google_apis
58- location : examples/private_service_connect_google_apis
59- - name : routes
60- location : examples/routes
61- - name : secondary_ranges
62- location : examples/secondary_ranges
63- - name : simple_project
64- location : examples/simple_project
65- - name : simple_project_with_regional_network
66- location : examples/simple_project_with_regional_network
67- - name : submodule_firewall
68- location : examples/submodule_firewall
69- - name : submodule_network_peering
70- location : examples/submodule_network_peering
71- - name : submodule_svpc_access
72- location : examples/submodule_svpc_access
73- - name : submodule_vpc_serverless_connector
74- location : examples/submodule_vpc_serverless_connector
75- variables :
76- - name : admin_ranges
77- description : IP CIDR ranges that have complete access to all subnets.
78- type : list(string)
79- default : []
80- required : false
81- - name : admin_ranges_enabled
82- description : Enable admin ranges-based rules.
83- type : bool
84- default : false
85- required : false
86- - name : custom_rules
87- description : List of custom rule definitions (refer to variables file for syntax).
88- type : |-
89- map(object({
90- description = string
91- direction = string
92- action = string # (allow|deny)
93- ranges = list(string)
94- sources = list(string)
95- targets = list(string)
96- use_service_accounts = bool
97- rules = list(object({
98- protocol = string
99- ports = list(string)
100- }))
101- extra_attributes = map(string)
102- }))
103- default : {}
104- required : false
105- - name : http_source_ranges
106- description : List of IP CIDR ranges for tag-based HTTP rule, defaults to 0.0.0.0/0.
107- type : list(string)
108- default :
109- - 0.0.0.0/0
110- required : false
111- - name : http_target_tags
112- description : List of target tags for tag-based HTTP rule, defaults to http-server.
113- type : list(string)
114- default :
115- - http-server
116- required : false
117- - name : https_source_ranges
118- description : List of IP CIDR ranges for tag-based HTTPS rule, defaults to 0.0.0.0/0.
119- type : list(string)
120- default :
121- - 0.0.0.0/0
122- required : false
123- - name : https_target_tags
124- description : List of target tags for tag-based HTTPS rule, defaults to https-server.
125- type : list(string)
126- default :
127- - https-server
128- required : false
129- - name : internal_allow
130- description : Allow rules for internal ranges.
131- type : |-
132- list(object({
133- protocol = string
134- ports = optional(list(string))
135- }))
136- default :
137- - protocol : icmp
138- required : false
139- - name : internal_ranges
140- description : IP CIDR ranges for intra-VPC rules.
141- type : list(string)
142- default : []
143- required : false
144- - name : internal_ranges_enabled
145- description : Create rules for intra-VPC ranges.
146- type : bool
147- default : false
148- required : false
149- - name : internal_target_tags
150- description : List of target tags for intra-VPC rules.
151- type : list(string)
152- default : []
153- required : false
154- - name : network
155- description : Name of the network this set of firewall rules applies to.
156- type : string
157- required : true
158- - name : project_id
159- description : Project id of the project that holds the network.
160- type : string
161- required : true
162- - name : ssh_source_ranges
163- description : List of IP CIDR ranges for tag-based SSH rule, defaults to 0.0.0.0/0.
164- type : list(string)
165- default :
166- - 0.0.0.0/0
167- required : false
168- - name : ssh_target_tags
169- description : List of target tags for tag-based SSH rule, defaults to ssh.
170- type : list(string)
171- default :
172- - ssh
173- required : false
174- outputs :
175- - name : admin_ranges
176- description : Admin ranges data.
177- - name : custom_egress_allow_rules
178- description : Custom egress rules with allow blocks.
179- - name : custom_egress_deny_rules
180- description : Custom egress rules with allow blocks.
181- - name : custom_ingress_allow_rules
182- description : Custom ingress rules with allow blocks.
183- - name : custom_ingress_deny_rules
184- description : Custom ingress rules with deny blocks.
185- - name : internal_ranges
186- description : Internal ranges.
187- roles :
188- - level : Project
22+ info :
23+ title : Google Cloud VPC Firewall
24+ source :
25+ repo : https://github.com/terraform-google-modules/terraform-google-network.git
26+ sourceType : git
27+ dir : /modules/fabric-net-firewall
28+ version : 9.1.0
29+ actuationTool :
30+ flavor : Terraform
31+ version : " >= 1.3"
32+ description : {}
33+ content :
34+ examples :
35+ - name : basic_auto_mode
36+ location : examples/basic_auto_mode
37+ - name : basic_custom_mode
38+ location : examples/basic_custom_mode
39+ - name : basic_firewall_rule
40+ location : examples/basic_firewall_rule
41+ - name : basic_secondary_ranges
42+ location : examples/basic_secondary_ranges
43+ - name : basic_shared_vpc
44+ location : examples/basic_shared_vpc
45+ - name : basic_vpc_peering
46+ location : examples/basic_vpc_peering
47+ - name : bidirectional-firewall-rules
48+ location : examples/bidirectional-firewall-rules
49+ - name : delete_default_gateway_routes
50+ location : examples/delete_default_gateway_routes
51+ - name : firewall_logging
52+ location : examples/firewall_logging
53+ - name : global-network-firewall-policy
54+ location : examples/global-network-firewall-policy
55+ - name : hierarchical-firewall-policy
56+ location : examples/hierarchical-firewall-policy
57+ - name : ilb_routing
58+ location : examples/ilb_routing
59+ - name : multi_vpc
60+ location : examples/multi_vpc
61+ - name : network_service_tiers
62+ location : examples/network_service_tiers
63+ - name : packet_mirroring
64+ location : examples/packet_mirroring
65+ - name : private_service_connect
66+ location : examples/private_service_connect
67+ - name : private_service_connect_google_apis
68+ location : examples/private_service_connect_google_apis
69+ - name : regional-network-firewall-policy
70+ location : examples/regional-network-firewall-policy
71+ - name : routes
72+ location : examples/routes
73+ - name : secondary_ranges
74+ location : examples/secondary_ranges
75+ - name : simple_ipv6_project
76+ location : examples/simple_ipv6_project
77+ - name : simple_project
78+ location : examples/simple_project
79+ - name : simple_project_with_regional_network
80+ location : examples/simple_project_with_regional_network
81+ - name : submodule_firewall
82+ location : examples/submodule_firewall
83+ - name : submodule_network_peering
84+ location : examples/submodule_network_peering
85+ - name : submodule_svpc_access
86+ location : examples/submodule_svpc_access
87+ - name : submodule_vpc_serverless_connector
88+ location : examples/submodule_vpc_serverless_connector
89+ interfaces :
90+ variables :
91+ - name : admin_ranges
92+ description : IP CIDR ranges that have complete access to all subnets.
93+ varType : list(string)
94+ defaultValue : []
95+ - name : admin_ranges_enabled
96+ description : Enable admin ranges-based rules.
97+ varType : bool
98+ defaultValue : false
99+ - name : custom_rules
100+ description : List of custom rule definitions (refer to variables file for syntax).
101+ varType : |-
102+ map(object({
103+ description = string
104+ direction = string
105+ action = string # (allow|deny)
106+ ranges = list(string)
107+ sources = list(string)
108+ targets = list(string)
109+ use_service_accounts = bool
110+ rules = list(object({
111+ protocol = string
112+ ports = list(string)
113+ }))
114+ extra_attributes = map(string)
115+ }))
116+ defaultValue : {}
117+ - name : http_source_ranges
118+ description : List of IP CIDR ranges for tag-based HTTP rule, defaults to 0.0.0.0/0.
119+ varType : list(string)
120+ defaultValue :
121+ - 0.0.0.0/0
122+ - name : http_target_tags
123+ description : List of target tags for tag-based HTTP rule, defaults to http-server.
124+ varType : list(string)
125+ defaultValue :
126+ - http-server
127+ - name : https_source_ranges
128+ description : List of IP CIDR ranges for tag-based HTTPS rule, defaults to 0.0.0.0/0.
129+ varType : list(string)
130+ defaultValue :
131+ - 0.0.0.0/0
132+ - name : https_target_tags
133+ description : List of target tags for tag-based HTTPS rule, defaults to https-server.
134+ varType : list(string)
135+ defaultValue :
136+ - https-server
137+ - name : internal_allow
138+ description : Allow rules for internal ranges.
139+ varType : |-
140+ list(object({
141+ protocol = string
142+ ports = optional(list(string))
143+ }))
144+ defaultValue :
145+ - protocol : icmp
146+ - name : internal_ranges
147+ description : IP CIDR ranges for intra-VPC rules.
148+ varType : list(string)
149+ defaultValue : []
150+ - name : internal_ranges_enabled
151+ description : Create rules for intra-VPC ranges.
152+ varType : bool
153+ defaultValue : false
154+ - name : internal_target_tags
155+ description : List of target tags for intra-VPC rules.
156+ varType : list(string)
157+ defaultValue : []
158+ - name : network
159+ description : Name of the network this set of firewall rules applies to.
160+ varType : string
161+ required : true
162+ - name : project_id
163+ description : Project id of the project that holds the network.
164+ varType : string
165+ required : true
166+ - name : ssh_source_ranges
167+ description : List of IP CIDR ranges for tag-based SSH rule, defaults to 0.0.0.0/0.
168+ varType : list(string)
169+ defaultValue :
170+ - 0.0.0.0/0
171+ - name : ssh_target_tags
172+ description : List of target tags for tag-based SSH rule, defaults to ssh.
173+ varType : list(string)
174+ defaultValue :
175+ - ssh
176+ outputs :
177+ - name : admin_ranges
178+ description : Admin ranges data.
179+ - name : custom_egress_allow_rules
180+ description : Custom egress rules with allow blocks.
181+ - name : custom_egress_deny_rules
182+ description : Custom egress rules with allow blocks.
183+ - name : custom_ingress_allow_rules
184+ description : Custom ingress rules with allow blocks.
185+ - name : custom_ingress_deny_rules
186+ description : Custom ingress rules with deny blocks.
187+ - name : internal_ranges
188+ description : Internal ranges.
189+ requirements :
189190 roles :
190- - roles/compute.networkAdmin
191- - roles/compute.securityAdmin
192- - roles/iam.serviceAccountUser
193- - roles/vpcaccess.admin
194- - roles/serviceusage.serviceUsageAdmin
195- - roles/dns.admin
196- services :
197- - cloudresourcemanager.googleapis.com
198- - compute.googleapis.com
199- - serviceusage.googleapis.com
200- - vpcaccess.googleapis.com
201- - dns.googleapis.com
191+ - level : Project
192+ roles :
193+ - roles/compute.networkAdmin
194+ - roles/compute.securityAdmin
195+ - roles/iam.serviceAccountUser
196+ - roles/vpcaccess.admin
197+ - roles/serviceusage.serviceUsageAdmin
198+ - roles/dns.admin
199+ - roles/resourcemanager.tagAdmin
200+ - roles/iam.serviceAccountAdmin
201+ - roles/compute.orgFirewallPolicyAdmin
202+ services :
203+ - cloudresourcemanager.googleapis.com
204+ - compute.googleapis.com
205+ - serviceusage.googleapis.com
206+ - vpcaccess.googleapis.com
207+ - dns.googleapis.com
208+ - networksecurity.googleapis.com
209+ - iam.googleapis.com
0 commit comments