# Terraform add-on: GCP network

Generated reference for the focused GCP VPC and subnet add-on module.

### Requirements

| Name | Version |
| ---- | ------- |
| terraform | >= 1.14 |
| google | ~> 7.42.0 |

### Providers

| Name | Version |
| ---- | ------- |
| google | ~> 7.42.0 |

### Resources

| Name | Type |
| ---- | ---- |
| [google\_compute\_firewall.allow\_health\_checks](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource |
| [google\_compute\_firewall.allow\_internal](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource |
| [google\_compute\_network.vpc](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_network) | resource |
| [google\_compute\_subnetwork.primary](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_subnetwork) | resource |

### Inputs

| Name | Description | Type | Default | Required |
| ---- | ----------- | ---- | ------- | :------: |
| health\_check\_cidrs | Google Cloud load-balancer health-check source CIDRs. | `list(string)` | n/a | yes |
| name\_prefix | Prefix used for the VPC, subnet, and firewall rule names. | `string` | n/a | yes |
| network\_description | Description assigned to the VPC. | `string` | n/a | yes |
| pods\_secondary\_range\_cidr | Secondary CIDR used by VPC-native GKE Pods. | `string` | n/a | yes |
| project\_id | GCP project that owns the VPC. | `string` | n/a | yes |
| region | Region for the VPC subnetwork. | `string` | n/a | yes |
| services\_secondary\_range\_cidr | Secondary CIDR used by VPC-native GKE Services. | `string` | n/a | yes |
| subnetwork\_cidr | Primary CIDR used by GKE nodes. | `string` | n/a | yes |

### Outputs

| Name | Description |
| ---- | ----------- |
| network\_id | Fully qualified VPC network ID. |
| network\_name | Short VPC network name. The root filters GKE-created forwarding rules by `endswith(rule.network, "/networks/<this>")`, so it must read the name from here rather than re-deriving it — a re-derivation that drifted would match nothing and silently resolve every PSC target to null. |
| network\_self\_link | VPC network self-link. |
| pods\_secondary\_range\_name | Name of the VPC-native Pod alias range. Consumed by the root's ip\_allocation\_policy.cluster\_secondary\_range\_name; renaming the range here therefore reaches the cluster instead of silently mismatching a hardcoded literal. |
| services\_secondary\_range\_name | Name of the VPC-native Service alias range. Consumed by the root's ip\_allocation\_policy.services\_secondary\_range\_name. |
| subnetwork\_cidr | Primary subnetwork CIDR. |
| subnetwork\_id | Fully qualified primary subnetwork ID. |
| subnetwork\_self\_link | Primary subnetwork self-link. |
