Skip to content

Commit 830b09c

Browse files
q2wbharathkkb
andauthored
feat: Change serverless-connector input type and update metadata (#568)
Co-authored-by: Bharath KKB <[email protected]>
1 parent fa63420 commit 830b09c

File tree

18 files changed

+2165
-1379
lines changed

18 files changed

+2165
-1379
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ docker_restore_examples:
8989
.PHONY: docker_generate_docs
9090
docker_generate_docs:
9191
docker run --rm -it \
92+
-e ENABLE_BPMETADATA \
9293
-v $(CURDIR):/workspace \
9394
$(REGISTRY_URL)/${DOCKER_IMAGE_DEVELOPER_TOOLS}:${DOCKER_TAG_VERSION_DEVELOPER_TOOLS} \
9495
/bin/bash -c 'source /usr/local/bin/task_helper_functions.sh && generate_docs'

metadata.yaml

Lines changed: 303 additions & 180 deletions
Large diffs are not rendered by default.
Lines changed: 188 additions & 180 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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"
2121
spec:
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

Comments
 (0)