{"id":22472982,"url":"https://github.com/truefoundry/terraform-google-truefoundry-cluster-classic","last_synced_at":"2026-01-06T12:55:46.708Z","repository":{"id":180680857,"uuid":"665521258","full_name":"truefoundry/terraform-google-truefoundry-cluster-classic","owner":"truefoundry","description":"Truefoundry Google Cloud Cluster Classic Module","archived":false,"fork":false,"pushed_at":"2025-02-12T19:39:54.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-12T20:31:43.633Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/truefoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-12T11:43:28.000Z","updated_at":"2025-02-12T19:38:59.000Z","dependencies_parsed_at":"2023-07-27T19:15:27.117Z","dependency_job_id":"ebd88f5e-b428-4a81-88c2-c8d710005b05","html_url":"https://github.com/truefoundry/terraform-google-truefoundry-cluster-classic","commit_stats":null,"previous_names":["truefoundry/terraform-google-truefoundry-cluster-classic"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-truefoundry-cluster-classic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-truefoundry-cluster-classic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-truefoundry-cluster-classic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-google-truefoundry-cluster-classic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/truefoundry","download_url":"https://codeload.github.com/truefoundry/terraform-google-truefoundry-cluster-classic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245880842,"owners_count":20687615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-06T12:18:19.127Z","updated_at":"2026-01-06T12:55:46.702Z","avatar_url":"https://github.com/truefoundry.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-google-truefoundry-cluster-classic\nTruefoundry Google Cloud Cluster Classic Module\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | ~\u003e 1.4 |\n| \u003ca name=\"requirement_google\"\u003e\u003c/a\u003e [google](#requirement\\_google) | 6.47 |\n| \u003ca name=\"requirement_google-beta\"\u003e\u003c/a\u003e [google-beta](#requirement\\_google-beta) | 6.47 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_google\"\u003e\u003c/a\u003e [google](#provider\\_google) | 6.47 |\n| \u003ca name=\"provider_google-beta\"\u003e\u003c/a\u003e [google-beta](#provider\\_google-beta) | 6.47 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [google-beta_google_container_cluster.cluster](https://registry.terraform.io/providers/hashicorp/google-beta/6.47/docs/resources/google_container_cluster) | resource |\n| [google_compute_firewall.fix_webhooks](https://registry.terraform.io/providers/hashicorp/google/6.47/docs/resources/compute_firewall) | resource |\n| [google_container_node_pool.control_plane_pool](https://registry.terraform.io/providers/hashicorp/google/6.47/docs/resources/container_node_pool) | resource |\n| [google_container_node_pool.critical_pool](https://registry.terraform.io/providers/hashicorp/google/6.47/docs/resources/container_node_pool) | resource |\n| [google_container_cluster.existing_cluster](https://registry.terraform.io/providers/hashicorp/google/6.47/docs/data-sources/container_cluster) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_allowed_ip_ranges\"\u003e\u003c/a\u003e [allowed\\_ip\\_ranges](#input\\_allowed\\_ip\\_ranges) | Allowed IP ranges to connect to the master endpoint | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"0.0.0.0/0\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_cluster_endpoint_public_access\"\u003e\u003c/a\u003e [cluster\\_endpoint\\_public\\_access](#input\\_cluster\\_endpoint\\_public\\_access) | Enable public access to the cluster endpoint. Set to true to allow access from public CIDRs, which is required for TrueFoundry modules running locally. | `bool` | `true` | no |\n| \u003ca name=\"input_cluster_master_ipv4_cidr_block\"\u003e\u003c/a\u003e [cluster\\_master\\_ipv4\\_cidr\\_block](#input\\_cluster\\_master\\_ipv4\\_cidr\\_block) | IPv4 CIDR block for the master nodes | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | Name of the cluster. If use\\_existing\\_cluster is enabled cluster\\_name is used to fetch details of existing cluster | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_nap_node_config\"\u003e\u003c/a\u003e [cluster\\_nap\\_node\\_config](#input\\_cluster\\_nap\\_node\\_config) | Configuration for the NAP (Node Auto Provisioning) node pool. This includes:\u003cbr/\u003e- disk\\_size\\_gb: Size of the disk attached to each node (default: \"300\")\u003cbr/\u003e- disk\\_type: Type of disk attached to each node (pd-standard, pd-balanced, pd-ssd) (default: \"pd-balanced\")\u003cbr/\u003e- enable\\_secure\\_boot: Secure Boot helps ensure that the system only runs authentic software (default: true)\u003cbr/\u003e- enable\\_integrity\\_monitoring: Enables monitoring and attestation of the boot integrity (default: true)\u003cbr/\u003e- autoscaling\\_profile: Profile for autoscaling optimization (default: \"OPTIMIZE\\_UTILIZATION\")\u003cbr/\u003e- max\\_cpu: Maximum CPU cores allowed per node (default: 1024)\u003cbr/\u003e- max\\_memory: Maximum memory in MB allowed per node (default: 8172)\u003cbr/\u003e- auto\\_repair: Flag to enable auto repair for the nodes (default: true)\u003cbr/\u003e- auto\\_upgrade: Flag to enable auto upgrade for the nodes (default: true)\u003cbr/\u003e- max\\_surge: Maximum number of nodes that can be created beyond the current size during updates (default: 1)\u003cbr/\u003e- max\\_unavailable: Maximum number of nodes that can be unavailable during updates (default: 0)\u003cbr/\u003e\u003cbr/\u003eSee GKE docs for more information: https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning | \u003cpre\u003eobject({\u003cbr/\u003e    disk_size_gb                = optional(string, \"300\")\u003cbr/\u003e    disk_type                   = optional(string, \"pd-balanced\")\u003cbr/\u003e    enable_secure_boot          = optional(bool, true)\u003cbr/\u003e    enable_integrity_monitoring = optional(bool, true)\u003cbr/\u003e    autoscaling_profile         = optional(string, \"OPTIMIZE_UTILIZATION\")\u003cbr/\u003e    max_cpu                     = optional(number, 1024)\u003cbr/\u003e    max_memory                  = optional(number, 8172)\u003cbr/\u003e    auto_repair                 = optional(bool, true)\u003cbr/\u003e    auto_upgrade                = optional(bool, true)\u003cbr/\u003e    max_surge                   = optional(number, 1)\u003cbr/\u003e    max_unavailable             = optional(number, 0)\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_cluster_network_id\"\u003e\u003c/a\u003e [cluster\\_network\\_id](#input\\_cluster\\_network\\_id) | Existing VPC network ID for the cluster | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_networking_mode\"\u003e\u003c/a\u003e [cluster\\_networking\\_mode](#input\\_cluster\\_networking\\_mode) | Networking mode for the cluster. Values can be VPC\\_NATIVE (recommended) or ROUTES. VPC\\_NATIVE is default after google-beta 5.0.0 | `string` | `\"VPC_NATIVE\"` | no |\n| \u003ca name=\"input_cluster_node_locations\"\u003e\u003c/a\u003e [cluster\\_node\\_locations](#input\\_cluster\\_node\\_locations) | Availability zones for nodes - should match the region | `list(string)` | n/a | yes |\n| \u003ca name=\"input_cluster_secondary_range_name\"\u003e\u003c/a\u003e [cluster\\_secondary\\_range\\_name](#input\\_cluster\\_secondary\\_range\\_name) | VPC secondary range name for pods | `string` | `\"\"` | no |\n| \u003ca name=\"input_cluster_subnet_id\"\u003e\u003c/a\u003e [cluster\\_subnet\\_id](#input\\_cluster\\_subnet\\_id) | Existing subnet ID for the cluster | `string` | n/a | yes |\n| \u003ca name=\"input_control_plane_enabled\"\u003e\u003c/a\u003e [control\\_plane\\_enabled](#input\\_control\\_plane\\_enabled) | Enable dedicated control plane nodes for the cluster | `bool` | `false` | no |\n| \u003ca name=\"input_control_plane_pool_config\"\u003e\u003c/a\u003e [control\\_plane\\_pool\\_config](#input\\_control\\_plane\\_pool\\_config) | Configuration for the control plane node pool | \u003cpre\u003eobject({\u003cbr/\u003e    disk_size_gb = optional(string, \"100\")\u003cbr/\u003e    disk_type    = optional(string, \"pd-balanced\")\u003cbr/\u003e    machine_type = optional(string, \"e2-standard-4\")\u003cbr/\u003e    autoscaling = optional(object({\u003cbr/\u003e      min_node_count  = optional(number, 1)\u003cbr/\u003e      max_node_count  = optional(number, 2)\u003cbr/\u003e      location_policy = optional(string, \"BALANCED\")\u003cbr/\u003e    }), {})\u003cbr/\u003e    enable_secure_boot            = optional(bool, true)\u003cbr/\u003e    enable_integrity_monitoring   = optional(bool, true)\u003cbr/\u003e    auto_repair                   = optional(bool, true)\u003cbr/\u003e    auto_upgrade                  = optional(bool, true)\u003cbr/\u003e    workload_metadata_config_mode = optional(string, \"GKE_METADATA\")\u003cbr/\u003e    service_account               = optional(string, \"default\")\u003cbr/\u003e    labels = optional(map(string), {\u003cbr/\u003e      \"class.truefoundry.com/component\" = \"control-plane\"\u003cbr/\u003e    })\u003cbr/\u003e    taints = optional(object(\u003cbr/\u003e      {\u003cbr/\u003e        key    = optional(string, \"class.truefoundry.com/component\")\u003cbr/\u003e        value  = optional(string, \"control-plane\")\u003cbr/\u003e        effect = optional(string, \"NO_SCHEDULE\")\u003cbr/\u003e      }\u003cbr/\u003e    ), {})\u003cbr/\u003e    preemptible = optional(bool, false)\u003cbr/\u003e    spot        = optional(bool, false)\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_critical_pool_config\"\u003e\u003c/a\u003e [critical\\_pool\\_config](#input\\_critical\\_pool\\_config) | Configuration for the critical workloads node pool | \u003cpre\u003eobject({\u003cbr/\u003e    disk_size_gb = optional(string, \"100\")\u003cbr/\u003e    disk_type    = optional(string, \"pd-balanced\")\u003cbr/\u003e    machine_type = optional(string, \"e2-standard-4\")\u003cbr/\u003e    autoscaling = optional(object({\u003cbr/\u003e      min_node_count  = optional(number, 1)\u003cbr/\u003e      max_node_count  = optional(number, 2)\u003cbr/\u003e      location_policy = optional(string, \"BALANCED\")\u003cbr/\u003e    }), {})\u003cbr/\u003e    enable_secure_boot            = optional(bool, true)\u003cbr/\u003e    enable_integrity_monitoring   = optional(bool, true)\u003cbr/\u003e    auto_repair                   = optional(bool, true)\u003cbr/\u003e    auto_upgrade                  = optional(bool, true)\u003cbr/\u003e    workload_metadata_config_mode = optional(string, \"GKE_METADATA\")\u003cbr/\u003e    service_account               = optional(string, \"default\")\u003cbr/\u003e    labels = optional(map(string), {\u003cbr/\u003e      \"class.truefoundry.com/component\" = \"critical\"\u003cbr/\u003e    })\u003cbr/\u003e    taints = optional(object(\u003cbr/\u003e      {\u003cbr/\u003e        key    = optional(string, \"class.truefoundry.com/component\")\u003cbr/\u003e        value  = optional(string, \"critical\")\u003cbr/\u003e        effect = optional(string, \"NO_SCHEDULE\")\u003cbr/\u003e      }\u003cbr/\u003e    ), {})\u003cbr/\u003e    preemptible = optional(bool, false)\u003cbr/\u003e    spot        = optional(bool, false)\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_default_node_pool_config\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_config](#input\\_default\\_node\\_pool\\_config) | Configuration for the default node pool | \u003cpre\u003eobject({\u003cbr/\u003e    service_account = optional(string, \"default\")\u003cbr/\u003e    oauth_scopes = optional(list(string), [\u003cbr/\u003e      \"https://www.googleapis.com/auth/cloud-platform\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/devstorage.read_only\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/logging.write\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/monitoring\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/service.management.readonly\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/servicecontrol\",\u003cbr/\u003e      \"https://www.googleapis.com/auth/trace.append\"\u003cbr/\u003e    ])\u003cbr/\u003e    disk_size_gb         = optional(string, \"100\")\u003cbr/\u003e    disk_type            = optional(string, \"pd-balanced\")\u003cbr/\u003e    secure_boot          = optional(bool, true)\u003cbr/\u003e    integrity_monitoring = optional(bool, true)\u003cbr/\u003e    enable_spot          = optional(bool, false)\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_deletion_protection\"\u003e\u003c/a\u003e [deletion\\_protection](#input\\_deletion\\_protection) | Enable deletion protection for the cluster | `bool` | `false` | no |\n| \u003ca name=\"input_enable_container_image_streaming\"\u003e\u003c/a\u003e [enable\\_container\\_image\\_streaming](#input\\_enable\\_container\\_image\\_streaming) | Enable/disable container image streaming | `bool` | `true` | no |\n| \u003ca name=\"input_enable_eol_maintenance_exclusion\"\u003e\u003c/a\u003e [enable\\_eol\\_maintenance\\_exclusion](#input\\_enable\\_eol\\_maintenance\\_exclusion) | Enable automatic End-of-Life (EOL) maintenance exclusion for the GKE cluster.\u003cbr/\u003e\u003cbr/\u003eWhen set to true (default), this automatically adds maintenance exclusions that prevent\u003cbr/\u003eautomatic minor version upgrades and node upgrades during the end-of-life period for\u003cbr/\u003ethe specified Kubernetes version. This helps maintain cluster stability by preventing\u003cbr/\u003eautomatic upgrades that could potentially cause issues during EOL periods.\u003cbr/\u003e\u003cbr/\u003eThis exclusion is scoped to NO\\_MINOR\\_UPGRADES. This will prevent control plane upgrades, \u003cbr/\u003ebut will allow node patch level upgrades.\u003cbr/\u003e\u003cbr/\u003eThe EOL maintenance exclusions are version-specific and include:\u003cbr/\u003e- Kubernetes 1.32: EOL from 2024-06-01 to 2026-04-11\u003cbr/\u003e- Kubernetes 1.33: EOL from 2024-06-01 to 2026-08-03\u003cbr/\u003e- Kubernetes 1.34: EOL from 2024-06-01 to 2026-10-01\u003cbr/\u003e\u003cbr/\u003eWhen disabled (false), only user-defined maintenance exclusions from the maintenance\\_policy\u003cbr/\u003evariable will be applied. This gives you full control over maintenance scheduling.\u003cbr/\u003e\u003cbr/\u003eFor more information on GKE release schedules and EOL dates, see:\u003cbr/\u003ehttps://cloud.google.com/kubernetes-engine/docs/release-schedule | `bool` | `true` | no |\n| \u003ca name=\"input_enable_gce_persistent_disk_csi_driver\"\u003e\u003c/a\u003e [enable\\_gce\\_persistent\\_disk\\_csi\\_driver](#input\\_enable\\_gce\\_persistent\\_disk\\_csi\\_driver) | Enable/disable GCE Persistent Disk CSI driver | `bool` | `true` | no |\n| \u003ca name=\"input_enable_gcp_filestore_csi_driver\"\u003e\u003c/a\u003e [enable\\_gcp\\_filestore\\_csi\\_driver](#input\\_enable\\_gcp\\_filestore\\_csi\\_driver) | Enable/disable GCP Filestore CSI driver | `bool` | `false` | no |\n| \u003ca name=\"input_enable_gcs_fuse_csi_driver\"\u003e\u003c/a\u003e [enable\\_gcs\\_fuse\\_csi\\_driver](#input\\_enable\\_gcs\\_fuse\\_csi\\_driver) | Enable/disable GCS Fuse CSI driver | `bool` | `false` | no |\n| \u003ca name=\"input_kubernetes_version\"\u003e\u003c/a\u003e [kubernetes\\_version](#input\\_kubernetes\\_version) | Kubernetes version for the GKE cluster | `string` | `\"1.33\"` | no |\n| \u003ca name=\"input_logging_config\"\u003e\u003c/a\u003e [logging\\_config](#input\\_logging\\_config) | Configuration for cluster logging components | \u003cpre\u003eobject({\u003cbr/\u003e    enable_components = optional(list(string), [\"SYSTEM_COMPONENTS\", \"APISERVER\", \"CONTROLLER_MANAGER\", \"SCHEDULER\"])\u003cbr/\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr/\u003e  \"enable_components\": [\u003cbr/\u003e    \"SYSTEM_COMPONENTS\",\u003cbr/\u003e    \"APISERVER\",\u003cbr/\u003e    \"CONTROLLER_MANAGER\",\u003cbr/\u003e    \"SCHEDULER\"\u003cbr/\u003e  ]\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_maintenance_recurring_window_policy\"\u003e\u003c/a\u003e [maintenance\\_recurring\\_window\\_policy](#input\\_maintenance\\_recurring\\_window\\_policy) | Recurring maintenance window for the GKE cluster\u003cbr/\u003e\u003cbr/\u003eWhen set to true (default), this automatically adds a recurring maintenance window for the GKE cluster. \u003cbr/\u003eThis helps maintain cluster stability by preventing automatic upgrades that could potentially cause \u003cbr/\u003eissues during EOL periods.\u003cbr/\u003e\u003cbr/\u003eThe recurring maintenance window default is set to every Saturday and Sunday from 9:00 AM to 9:00 AM.\u003cbr/\u003e\u003cbr/\u003eWhen enable\\_eol\\_maintenance\\_exclusion is set to true, this window is used for patch upgrades.\u003cbr/\u003eGKE may apply critical upgrades outside of this window. \u003cbr/\u003e(https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#security-patching)\u003cbr/\u003e\u003cbr/\u003eSee https://cloud.google.com/kubernetes-engine/docs/how-to/maintenance-windows-and-exclusions#maintenance-window-existing_cluster for more information. | \u003cpre\u003eobject({\u003cbr/\u003e    start_time = string\u003cbr/\u003e    end_time   = string\u003cbr/\u003e    recurrence = string\u003cbr/\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr/\u003e  \"end_time\": \"2023-10-03T09:00:00Z\",\u003cbr/\u003e  \"recurrence\": \"FREQ=WEEKLY;BYDAY=SA,SU\",\u003cbr/\u003e  \"start_time\": \"2023-10-01T09:00:00Z\"\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_max_pods_per_node\"\u003e\u003c/a\u003e [max\\_pods\\_per\\_node](#input\\_max\\_pods\\_per\\_node) | Maximum number of pods per node in this cluster. | `string` | `\"32\"` | no |\n| \u003ca name=\"input_network_tags\"\u003e\u003c/a\u003e [network\\_tags](#input\\_network\\_tags) | A list of network tags to add to all instances | `list(string)` | `[]` | no |\n| \u003ca name=\"input_oauth_scopes\"\u003e\u003c/a\u003e [oauth\\_scopes](#input\\_oauth\\_scopes) | OAuth scopes to attach to the cluster | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"https://www.googleapis.com/auth/cloud-platform\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/devstorage.read_only\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/logging.write\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/monitoring\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/service.management.readonly\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/servicecontrol\",\u003cbr/\u003e  \"https://www.googleapis.com/auth/trace.append\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | GCP project ID | `string` | n/a | yes |\n| \u003ca name=\"input_region\"\u003e\u003c/a\u003e [region](#input\\_region) | GCP region for the cluster | `string` | n/a | yes |\n| \u003ca name=\"input_services_secondary_range_name\"\u003e\u003c/a\u003e [services\\_secondary\\_range\\_name](#input\\_services\\_secondary\\_range\\_name) | VPC secondary range name for services | `string` | `\"\"` | no |\n| \u003ca name=\"input_shared_vpc\"\u003e\u003c/a\u003e [shared\\_vpc](#input\\_shared\\_vpc) | Flag to enable shared VPC for the cluster | `bool` | `false` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A map of tags to add to all resources. Tags are key-value pairs used for grouping and filtering | `map(string)` | `{}` | no |\n| \u003ca name=\"input_use_existing_cluster\"\u003e\u003c/a\u003e [use\\_existing\\_cluster](#input\\_use\\_existing\\_cluster) | Flag to enable the use of an existing GKE cluster or create a new one | `bool` | `false` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_cluster_endpoint\"\u003e\u003c/a\u003e [cluster\\_endpoint](#output\\_cluster\\_endpoint) | Endpoint for your Kubernetes API server |\n| \u003ca name=\"output_cluster_id\"\u003e\u003c/a\u003e [cluster\\_id](#output\\_cluster\\_id) | The id of the GKE cluster |\n| \u003ca name=\"output_cluster_master_version\"\u003e\u003c/a\u003e [cluster\\_master\\_version](#output\\_cluster\\_master\\_version) | Master version for the cluster |\n| \u003ca name=\"output_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#output\\_cluster\\_name) | The name of the GKE cluster |\n| \u003ca name=\"output_cluster_secondary_range_name\"\u003e\u003c/a\u003e [cluster\\_secondary\\_range\\_name](#output\\_cluster\\_secondary\\_range\\_name) | Cluster secondary range name for pod IPs |\n| \u003ca name=\"output_services_secondary_range_name\"\u003e\u003c/a\u003e [services\\_secondary\\_range\\_name](#output\\_services\\_secondary\\_range\\_name) | Cluster secondry range name for service IPs |\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-google-truefoundry-cluster-classic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruefoundry%2Fterraform-google-truefoundry-cluster-classic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-google-truefoundry-cluster-classic/lists"}