# Terraform: control-core/modules/hub/gcp/infra

## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
| <a name="requirement_google"></a> [google](#requirement\_google) | >= 5.0 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_google"></a> [google](#provider\_google) | >= 5.0 |

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_gke"></a> [gke](#module\_gke) | terraform-google-modules/kubernetes-engine/google//modules/private-cluster | ~> 33.0.4 |

## Resources

| Name | Type |
|------|------|
| [google_compute_shared_vpc_service_project.service_project](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_shared_vpc_service_project) | resource |
| [google_compute_subnetwork.hub_subnet](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_subnetwork) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name) | Name of the GKE cluster | `string` | n/a | yes |
| <a name="input_deletion_protection"></a> [deletion\_protection](#input\_deletion\_protection) | Enable deletion protection for the cluster | `bool` | `false` | no |
| <a name="input_node_disk_size"></a> [node\_disk\_size](#input\_node\_disk\_size) | Disk size for nodes in GB | `number` | `100` | no |
| <a name="input_node_initial_count"></a> [node\_initial\_count](#input\_node\_initial\_count) | Initial number of nodes | `number` | `2` | no |
| <a name="input_node_machine_type"></a> [node\_machine\_type](#input\_node\_machine\_type) | Machine type for GKE nodes | `string` | `"n2-standard-4"` | no |
| <a name="input_node_max_count"></a> [node\_max\_count](#input\_node\_max\_count) | Maximum number of nodes | `number` | `10` | no |
| <a name="input_node_min_count"></a> [node\_min\_count](#input\_node\_min\_count) | Minimum number of nodes | `number` | `1` | no |
| <a name="input_pod_cidr"></a> [pod\_cidr](#input\_pod\_cidr) | CIDR block for pods | `string` | n/a | yes |
| <a name="input_project_id"></a> [project\_id](#input\_project\_id) | GCP project ID for the hub cluster | `string` | n/a | yes |
| <a name="input_region"></a> [region](#input\_region) | GCP region for the hub cluster | `string` | `"us-central1"` | no |
| <a name="input_services_cidr"></a> [services\_cidr](#input\_services\_cidr) | CIDR block for services | `string` | n/a | yes |
| <a name="input_subnet_cidr"></a> [subnet\_cidr](#input\_subnet\_cidr) | CIDR block for the subnet (/23) | `string` | n/a | yes |
| <a name="input_subnet_name"></a> [subnet\_name](#input\_subnet\_name) | Name of the subnet to create in shared VPC | `string` | n/a | yes |
| <a name="input_zones"></a> [zones](#input\_zones) | GCP zones for the hub cluster | `list(string)` | <pre>[<br/>  "us-central1-a",<br/>  "us-central1-b",<br/>  "us-central1-f"<br/>]</pre> | no |

## Outputs

No outputs.
