https://github.com/padok-team/terraform-google-network
https://github.com/padok-team/terraform-google-network
google ready-to-use terraform
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/padok-team/terraform-google-network
- Owner: padok-team
- License: apache-2.0
- Created: 2021-10-28T09:16:48.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-15T11:35:26.000Z (over 1 year ago)
- Last Synced: 2024-11-15T12:25:08.482Z (over 1 year ago)
- Topics: google, ready-to-use, terraform
- Language: HCL
- Homepage:
- Size: 201 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Google Network Terraform module
Terraform module which creates network, subnets, and few peerings resources on Google Cloud Platform.
## Examples
- [Example of basic network configuration use case](examples/basic/main.tf)
- [Example of network for GKE use case](examples/gke/main.tf)
## Modules
| Name | Source | Version |
|------|--------|---------|
| [vpc](#module\_vpc) | terraform-google-modules/network/google | 7.0.0 |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [gcp\_peering\_cidr](#input\_gcp\_peering\_cidr) | The CIDR to reserve for GCP service in this VPC. | `string` | n/a | yes |
| [name](#input\_name) | The name of the network being created. | `string` | n/a | yes |
| [project\_id](#input\_project\_id) | The ID of the project where this VPC will be created. | `string` | n/a | yes |
| [subnets](#input\_subnets) | The list of subnets beeing created. |
map(object({
name = string
region = string
primary_cidr = string
serverless_cidr = string
connector_specs = optional(object({
machine_type = optional(string, null)
min_throughput = optional(number, null)
min_instances = optional(number, null)
max_throughput = optional(number, null)
max_instances = optional(number, null)
}), {})
secondary_ranges = map(object({
name = string
cidr = string
}))
})) | n/a | yes |
| [nats](#input\_nats) | The custom configuration for NAT gateways. The map key must be the nat region and there must be a subnet in that region. Possible values for mode are `ENDPOINT_INDEPENDANT_MAPPING`, `DYNAMIC_PORT_ALLOCATION` or `NONE`. | map(object({
mode = optional(string, "ENDPOINT_INDEPENDANT_MAPPING")
min_ports = optional(number, 64)
max_ports = optional(number, null)
})) | `{}` | no |
| [routing\_mode](#input\_routing\_mode) | The network routing mode (default 'GLOBAL'). | `string` | `"GLOBAL"` | no |
## Outputs
| Name | Description |
|------|-------------|
| [gcp\_services\_networking\_connection](#output\_gcp\_services\_networking\_connection) | The networking connection used by GCP for services like Cloud SQL |
| [network](#output\_network) | The created network |
| [network\_id](#output\_network\_id) | The ID of the VPC being created |
| [network\_name](#output\_network\_name) | The name of the VPC being created |
| [network\_self\_link](#output\_network\_self\_link) | The URI of the VPC being created |
| [subnets](#output\_subnets) | A map with keys of form subnet\_region/subnet\_name and values being the outputs of the google\_compute\_subnetwork resources used to create corresponding subnets. |
| [subnets\_ids](#output\_subnets\_ids) | The IDs of the subnets being created |
| [subnets\_names](#output\_subnets\_names) | The names of the subnets being created |
| [vpc\_access\_connectors](#output\_vpc\_access\_connectors) | The VPC Access Connectors being created. |
## License
[](https://opensource.org/licenses/Apache-2.0)
See [LICENSE](LICENSE) for full details.
```text
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
```