1313# limitations under the License.
1414
1515terraform {
16- # This project requires a terraform version >= 0.11 but < 0.12. This is
17- # because the module is only tested with 0.11 ,and has not yet been upgraded
18- # to use the new 0.12 syntax.
19- required_version = " ~> 0.11"
16+ required_version = " ~> 0.12"
2017
2118 # Use a GCS Bucket as a backend
2219 backend "gcs" {}
@@ -26,19 +23,19 @@ terraform {
2623# times within a module. They are used here to determine the GCP region from
2724# the given location, which can be either a region or zone.
2825locals {
29- gcp_location_parts = [ " ${ split (" -" , var. gcp_location )} " ]
30- gcp_region = " ${ local . gcp_location_parts [0 ]} - ${ local . gcp_location_parts [1 ]} "
26+ gcp_location_parts = split (" -" , var. gcp_location )
27+ gcp_region = format ( " %s-%s " , local. gcp_location_parts [0 ], local. gcp_location_parts [1 ])
3128}
3229
3330# https://www.terraform.io/docs/providers/google/index.html
3431provider "google" {
3532 version = " 2.5.1"
36- project = " ${ var . gcp_project_id } "
37- region = " ${ local . gcp_region } "
33+ project = var. gcp_project_id
34+ region = local. gcp_region
3835}
3936
4037resource "google_compute_network" "vpc_network" {
41- name = " ${ var . vpc_network_name } "
38+ name = var. vpc_network_name
4239 auto_create_subnetworks = " false"
4340}
4441
@@ -52,60 +49,58 @@ resource "google_compute_subnetwork" "vpc_subnetwork" {
5249 # a dash, lowercase letter, or digit, except the last character, which
5350 # cannot be a dash.
5451 # name = "default-${var.gcp_cluster_region}"
55- name = " ${ var . vpc_subnetwork_name } "
52+ name = var. vpc_subnetwork_name
5653
57- ip_cidr_range = " ${ var . vpc_subnetwork_cidr_range } "
54+ ip_cidr_range = var. vpc_subnetwork_cidr_range
5855
5956 # The network this subnet belongs to. Only networks that are in the
6057 # distributed mode can have subnetworks.
61- network = " ${ var . vpc_network_name } "
58+ network = var. vpc_network_name
6259
63- # An array of configurations for secondary IP ranges for VM instances
64- # contained in this subnetwork. The primary IP of such VM must belong to the
65- # primary ipCidrRange of the subnetwork. The alias IPs may belong to either
66- # primary or secondary ranges.
67- secondary_ip_range = [
68- {
69- range_name = " ${ var . cluster_secondary_range_name } "
70- ip_cidr_range = " ${ var . cluster_secondary_range_cidr } "
71- },
72- {
73- range_name = " ${ var . services_secondary_range_name } "
74- ip_cidr_range = " ${ var . services_secondary_range_cidr } "
75- },
76- ]
60+ # Configurations for secondary IP ranges for VM instances contained in this
61+ # subnetwork. The primary IP of such VM must belong to the primary ipCidrRange
62+ # of the subnetwork. The alias IPs may belong to either primary or secondary
63+ # ranges.
64+ secondary_ip_range {
65+ range_name = var. cluster_secondary_range_name
66+ ip_cidr_range = var. cluster_secondary_range_cidr
67+ }
68+ secondary_ip_range {
69+ range_name = var. services_secondary_range_name
70+ ip_cidr_range = var. services_secondary_range_cidr
71+ }
7772
7873 # When enabled, VMs in this subnetwork without external IP addresses can
7974 # access Google APIs and services by using Private Google Access. This is
8075 # set explicitly to prevent Google's default from fighting with Terraform.
8176 private_ip_google_access = true
8277
8378 depends_on = [
84- " google_compute_network.vpc_network" ,
79+ google_compute_network . vpc_network ,
8580 ]
8681}
8782
8883module "cluster" {
8984 source = " jetstack/gke-cluster/google"
90- version = " 0.1.0 "
85+ version = " 0.2.0-alpha1 "
9186
9287 # These values are set from the terrafrom.tfvas file
93- gcp_project_id = " ${ var . gcp_project_id } "
94- cluster_name = " ${ var . cluster_name } "
95- gcp_location = " ${ var . gcp_location } "
96- daily_maintenance_window_start_time = " ${ var . daily_maintenance_window_start_time } "
97- node_pools = " ${ var . node_pools } "
98- cluster_secondary_range_name = " ${ var . cluster_secondary_range_name } "
99- services_secondary_range_name = " ${ var . services_secondary_range_name } "
100- master_ipv4_cidr_block = " ${ var . master_ipv4_cidr_block } "
101- access_private_images = " ${ var . access_private_images } "
102- http_load_balancing_disabled = " ${ var . http_load_balancing_disabled } "
103- master_authorized_networks_cidr_blocks = " ${ var . master_authorized_networks_cidr_blocks } "
88+ gcp_project_id = var. gcp_project_id
89+ cluster_name = var. cluster_name
90+ gcp_location = var. gcp_location
91+ daily_maintenance_window_start_time = var. daily_maintenance_window_start_time
92+ node_pools = var. node_pools
93+ cluster_secondary_range_name = var. cluster_secondary_range_name
94+ services_secondary_range_name = var. services_secondary_range_name
95+ master_ipv4_cidr_block = var. master_ipv4_cidr_block
96+ access_private_images = var. access_private_images
97+ http_load_balancing_disabled = var. http_load_balancing_disabled
98+ master_authorized_networks_cidr_blocks = var. master_authorized_networks_cidr_blocks
10499
105100 # Refer to the vpc-network and vpc-subnetwork by the name value on the
106101 # resource, rather than the variable used to assign the name, so that
107102 # Terraform knows they must be created before creating the cluster
108- vpc_network_name = " ${ google_compute_network . vpc_network . name } "
109103
110- vpc_subnetwork_name = " ${ google_compute_subnetwork . vpc_subnetwork . name } "
104+ vpc_network_name = google_compute_network. vpc_network . name
105+ vpc_subnetwork_name = google_compute_subnetwork. vpc_subnetwork . name
111106}
0 commit comments