Skip to content

Commit c0c2c7f

Browse files
authored
chore: update metadata using cft/developer-tools:1.20 docker image (#122)
1 parent 4129bd9 commit c0c2c7f

File tree

5 files changed

+238
-3
lines changed

5 files changed

+238
-3
lines changed

metadata.yaml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: blueprints.cloud.google.com/v1alpha1
16+
kind: BlueprintMetadata
17+
metadata:
18+
name: terraform-google-cloud-router
19+
annotations:
20+
config.kubernetes.io/local-config: "true"
21+
spec:
22+
info:
23+
source:
24+
repo: https://github.com/terraform-google-modules/terraform-google-cloud-router.git
25+
sourceType: git
26+
version: 6.0.2
27+
actuationTool:
28+
flavor: Terraform
29+
version: ">= 1.3"
30+
description: {}
31+
content:
32+
subBlueprints:
33+
- name: interconnect_attachment
34+
location: modules/interconnect_attachment
35+
- name: interface
36+
location: modules/interface
37+
examples:
38+
- name: interconnect_attachment
39+
location: examples/interconnect_attachment
40+
- name: nat
41+
location: examples/nat
42+
- name: simple_example
43+
location: examples/simple_example
44+
interfaces:
45+
variables:
46+
- name: bgp
47+
description: BGP information specific to this router.
48+
varType: |-
49+
object({
50+
asn = string
51+
advertise_mode = optional(string, "CUSTOM")
52+
advertised_groups = optional(list(string))
53+
advertised_ip_ranges = optional(list(object({
54+
range = string
55+
description = optional(string)
56+
})), [])
57+
keepalive_interval = optional(number)
58+
})
59+
- name: description
60+
description: An optional description of this resource
61+
varType: string
62+
- name: name
63+
description: Name of the router
64+
varType: string
65+
required: true
66+
- name: nats
67+
description: NATs to deploy on this router.
68+
varType: |-
69+
list(object({
70+
name = string
71+
nat_ip_allocate_option = optional(string)
72+
source_subnetwork_ip_ranges_to_nat = optional(string)
73+
nat_ips = optional(list(string), [])
74+
min_ports_per_vm = optional(number)
75+
max_ports_per_vm = optional(number)
76+
udp_idle_timeout_sec = optional(number)
77+
icmp_idle_timeout_sec = optional(number)
78+
tcp_established_idle_timeout_sec = optional(number)
79+
tcp_transitory_idle_timeout_sec = optional(number)
80+
tcp_time_wait_timeout_sec = optional(number)
81+
enable_endpoint_independent_mapping = optional(bool)
82+
enable_dynamic_port_allocation = optional(bool)
83+
84+
log_config = optional(object({
85+
enable = optional(bool, true)
86+
filter = optional(string, "ALL")
87+
}), {})
88+
89+
subnetworks = optional(list(object({
90+
name = string
91+
source_ip_ranges_to_nat = list(string)
92+
secondary_ip_range_names = optional(list(string))
93+
})), [])
94+
95+
}))
96+
defaultValue: []
97+
- name: network
98+
description: A reference to the network to which this router belongs
99+
varType: string
100+
required: true
101+
- name: project
102+
description: The project ID to deploy to
103+
varType: string
104+
required: true
105+
- name: region
106+
description: Region where the router resides
107+
varType: string
108+
required: true
109+
outputs:
110+
- name: nat
111+
description: Created NATs
112+
- name: router
113+
description: Created Router
114+
requirements:
115+
roles:
116+
- level: Project
117+
roles:
118+
- roles/owner
119+
services:
120+
- cloudresourcemanager.googleapis.com
121+
- serviceusage.googleapis.com
122+
- compute.googleapis.com

modules/interconnect_attachment/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Cloud Router Terraform Module
1+
# Interconnect Attachment
22

33
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
44
## Inputs

modules/interconnect_attachment/metadata.yaml

Lines changed: 2 additions & 2 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.
@@ -20,7 +20,7 @@ metadata:
2020
config.kubernetes.io/local-config: "true"
2121
spec:
2222
info:
23-
title: Cloud Router Terraform Module
23+
title: Interconnect Attachment
2424
source:
2525
repo: https://github.com/terraform-google-modules/terraform-google-cloud-router.git
2626
sourceType: git

modules/interface/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Interface
2+
3+
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
4+
## Inputs
5+
6+
| Name | Description | Type | Default | Required |
7+
|------|-------------|------|---------|:--------:|
8+
| interconnect\_attachment | The name or resource link to the VLAN interconnect for this interface | `string` | `null` | no |
9+
| ip\_range | IP address and range of the interface | `string` | `null` | no |
10+
| name | The name of the interface | `string` | n/a | yes |
11+
| peers | BGP peers for this interface. | <pre>list(object({<br> name = string<br> peer_ip_address = string<br> peer_asn = string<br> advertised_route_priority = optional(number)<br> bfd = object({<br> session_initialization_mode = string<br> min_transmit_interval = optional(number)<br> min_receive_interval = optional(number)<br> multiplier = optional(number)<br> })<br> }))</pre> | `[]` | no |
12+
| project | The project ID to deploy to | `string` | n/a | yes |
13+
| region | Region where the interface resides | `string` | n/a | yes |
14+
| router | Name of the router the interface resides | `string` | n/a | yes |
15+
| vpn\_tunnel | The name or resource link to the VPN tunnel this interface will be linked to | `string` | `null` | no |
16+
17+
## Outputs
18+
19+
No outputs.
20+
21+
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->

modules/interface/metadata.yaml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: blueprints.cloud.google.com/v1alpha1
16+
kind: BlueprintMetadata
17+
metadata:
18+
name: terraform-google-cloud-router-interface
19+
annotations:
20+
config.kubernetes.io/local-config: "true"
21+
spec:
22+
info:
23+
title: Interface
24+
source:
25+
repo: https://github.com/terraform-google-modules/terraform-google-cloud-router.git
26+
sourceType: git
27+
dir: /modules/interface
28+
version: 6.0.2
29+
actuationTool:
30+
flavor: Terraform
31+
version: ">= 1.3"
32+
description: {}
33+
content:
34+
examples:
35+
- name: interconnect_attachment
36+
location: examples/interconnect_attachment
37+
- name: nat
38+
location: examples/nat
39+
- name: simple_example
40+
location: examples/simple_example
41+
interfaces:
42+
variables:
43+
- name: interconnect_attachment
44+
description: The name or resource link to the VLAN interconnect for this interface
45+
varType: string
46+
- name: ip_range
47+
description: IP address and range of the interface
48+
varType: string
49+
- name: name
50+
description: The name of the interface
51+
varType: string
52+
required: true
53+
- name: peers
54+
description: BGP peers for this interface.
55+
varType: |-
56+
list(object({
57+
name = string
58+
peer_ip_address = string
59+
peer_asn = string
60+
advertised_route_priority = optional(number)
61+
bfd = object({
62+
session_initialization_mode = string
63+
min_transmit_interval = optional(number)
64+
min_receive_interval = optional(number)
65+
multiplier = optional(number)
66+
})
67+
}))
68+
defaultValue: []
69+
- name: project
70+
description: The project ID to deploy to
71+
varType: string
72+
required: true
73+
- name: region
74+
description: Region where the interface resides
75+
varType: string
76+
required: true
77+
- name: router
78+
description: Name of the router the interface resides
79+
varType: string
80+
required: true
81+
- name: vpn_tunnel
82+
description: The name or resource link to the VPN tunnel this interface will be linked to
83+
varType: string
84+
requirements:
85+
roles:
86+
- level: Project
87+
roles:
88+
- roles/owner
89+
services:
90+
- cloudresourcemanager.googleapis.com
91+
- serviceusage.googleapis.com
92+
- compute.googleapis.com

0 commit comments

Comments
 (0)