Skip to content

Commit 8cbc1d0

Browse files
Added support for resource usage export config
* Based on PR #230 * Add support for beta feature resource_usage_export_config (Fixes #232) * Fixed `google-beta` provider version
1 parent 6ae2caa commit 8cbc1d0

File tree

30 files changed

+61
-58
lines changed

30 files changed

+61
-58
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Extending the adopted spec, each change should have a link to its corresponding
99
## [Unreleased]
1010
### Added
1111

12+
* Added support for resource usage export config [#238]
1213
* Support for Intranode Visbiility (IV) and Veritical Pod Autoscaling (VPA) beta features [#216]
1314
* Support for Workload Identity beta feature [#234]
1415

@@ -168,6 +169,7 @@ Extending the adopted spec, each change should have a link to its corresponding
168169
[v0.3.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v0.2.0...v0.3.0
169170
[v0.2.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v0.1.0...v0.2.0
170171

172+
[#238]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/238
171173
[#234]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/234
172174
[#216]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/216
173175
[#214]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/214

autogen/cluster.tf

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,13 @@ resource "google_container_cluster" "primary" {
6666
enabled = pod_security_policy_config.value.enabled
6767
}
6868
}
69+
6970
dynamic "resource_usage_export_config" {
7071
for_each = var.resource_usage_export_dataset_id != "" ? [var.resource_usage_export_dataset_id] : []
7172
content {
7273
enable_network_egress_metering = true
7374
bigquery_destination {
74-
dataset_id = resource_usage_export_dataset_id.value
75+
dataset_id = resource_usage_export_config.value
7576
}
7677
}
7778
}

autogen/main.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,10 @@ locals {
9898

9999
{% if beta_cluster %}
100100
# BETA features
101-
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config != null ? google_container_cluster.primary.addons_config.0.istio_config.0.disabled : "true"
102-
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config != null ? google_container_cluster.primary.pod_security_policy_config.0.enabled : "false"
101+
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config.0.disabled
102+
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config.0.enabled
103103
cluster_output_intranode_visbility_enabled = google_container_cluster.primary.enable_intranode_visibility
104-
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling != null ? google_container_cluster.primary.vertical_pod_autoscaling.0.enabled : "false"
104+
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling.0.enabled
105105

106106
# /BETA features
107107
{% endif %}

autogen/variables.tf

+1
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ variable "pod_security_policy_config" {
361361
}
362362

363363
variable "resource_usage_export_dataset_id" {
364+
type = string
364365
description = "The dataset id for which network egress metering for this cluster will be enabled. If enabled, a daemonset will be created in the cluster to meter network egress traffic."
365366
default = ""
366367
}

autogen/versions.tf

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616

1717
terraform {
1818
required_version = ">= 0.12"
19+
required_providers {
20+
google-beta = "~> 2.12.0"
21+
google = "~> 2.12.0"
22+
}
1923
}

examples/deploy_service/main.tf

+1-3
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
2322
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
provider "kubernetes" {

examples/disable_client_cert/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/node_pool/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/shared_vpc/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/simple_regional/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/simple_regional_beta/main.tf

-2
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
2322
credentials = file(var.credentials_path)
2423
region = var.region
2524
}
2625

2726
provider "google-beta" {
28-
version = "~> 2.12.0"
2927
credentials = file(var.credentials_path)
3028
region = var.region
3129
}

examples/simple_regional_private/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
data "google_compute_subnetwork" "subnetwork" {

examples/simple_regional_private_beta/main.tf

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22-
version = "~> 2.12.0"
2322
credentials = file(var.credentials_path)
2423
region = var.region
2524
}

examples/simple_zonal/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/simple_zonal_private/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
data "google_compute_subnetwork" "subnetwork" {

examples/stub_domains/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/stub_domains_private/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
*/
1616

1717
provider "google-beta" {
18-
version = "~> 2.12.0"
19-
region = var.region
18+
region = var.region
2019
}
2120

2221
provider "random" {

examples/stub_domains_upstream_nameservers/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/upstream_nameservers/main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ locals {
1919
}
2020

2121
provider "google" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
provider "google-beta" {
27-
version = "~> 2.12.0"
28-
region = var.region
26+
region = var.region
2927
}
3028

3129
module "gke" {

examples/workload_metadata_config/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22-
version = "~> 2.12.0"
23-
region = var.region
22+
region = var.region
2423
}
2524

2625
data "google_compute_subnetwork" "subnetwork" {

modules/beta-private-cluster/cluster.tf

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,13 @@ resource "google_container_cluster" "primary" {
6161
enabled = pod_security_policy_config.value.enabled
6262
}
6363
}
64+
6465
dynamic "resource_usage_export_config" {
6566
for_each = var.resource_usage_export_dataset_id != "" ? [var.resource_usage_export_dataset_id] : []
6667
content {
6768
enable_network_egress_metering = true
6869
bigquery_destination {
69-
dataset_id = resource_usage_export_dataset_id.value
70+
dataset_id = resource_usage_export_config.value
7071
}
7172
}
7273
}

modules/beta-private-cluster/main.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ locals {
8787
cluster_output_kubernetes_dashboard_enabled = google_container_cluster.primary.addons_config.0.kubernetes_dashboard.0.disabled
8888

8989
# BETA features
90-
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config != null ? google_container_cluster.primary.addons_config.0.istio_config.0.disabled : "true"
91-
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config != null ? google_container_cluster.primary.pod_security_policy_config.0.enabled : "false"
90+
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config.0.disabled
91+
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config.0.enabled
9292
cluster_output_intranode_visbility_enabled = google_container_cluster.primary.enable_intranode_visibility
93-
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling != null ? google_container_cluster.primary.vertical_pod_autoscaling.0.enabled : "false"
93+
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling.0.enabled
9494

9595
# /BETA features
9696

modules/beta-private-cluster/variables.tf

+1
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ variable "pod_security_policy_config" {
358358
}
359359

360360
variable "resource_usage_export_dataset_id" {
361+
type = string
361362
description = "The dataset id for which network egress metering for this cluster will be enabled. If enabled, a daemonset will be created in the cluster to meter network egress traffic."
362363
default = ""
363364
}

modules/beta-private-cluster/versions.tf

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616

1717
terraform {
1818
required_version = ">= 0.12"
19+
required_providers {
20+
google-beta = "~> 2.12.0"
21+
google = "~> 2.12.0"
22+
}
1923
}

modules/beta-public-cluster/cluster.tf

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,13 @@ resource "google_container_cluster" "primary" {
6161
enabled = pod_security_policy_config.value.enabled
6262
}
6363
}
64+
6465
dynamic "resource_usage_export_config" {
6566
for_each = var.resource_usage_export_dataset_id != "" ? [var.resource_usage_export_dataset_id] : []
6667
content {
6768
enable_network_egress_metering = true
6869
bigquery_destination {
69-
dataset_id = resource_usage_export_dataset_id.value
70+
dataset_id = resource_usage_export_config.value
7071
}
7172
}
7273
}

modules/beta-public-cluster/main.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ locals {
8787
cluster_output_kubernetes_dashboard_enabled = google_container_cluster.primary.addons_config.0.kubernetes_dashboard.0.disabled
8888

8989
# BETA features
90-
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config != null ? google_container_cluster.primary.addons_config.0.istio_config.0.disabled : "true"
91-
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config != null ? google_container_cluster.primary.pod_security_policy_config.0.enabled : "false"
90+
cluster_output_istio_enabled = google_container_cluster.primary.addons_config.0.istio_config.0.disabled
91+
cluster_output_pod_security_policy_enabled = google_container_cluster.primary.pod_security_policy_config.0.enabled
9292
cluster_output_intranode_visbility_enabled = google_container_cluster.primary.enable_intranode_visibility
93-
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling != null ? google_container_cluster.primary.vertical_pod_autoscaling.0.enabled : "false"
93+
cluster_output_vertical_pod_autoscaling_enabled = google_container_cluster.primary.vertical_pod_autoscaling.0.enabled
9494

9595
# /BETA features
9696

modules/beta-public-cluster/variables.tf

+1
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ variable "pod_security_policy_config" {
334334
}
335335

336336
variable "resource_usage_export_dataset_id" {
337+
type = string
337338
description = "The dataset id for which network egress metering for this cluster will be enabled. If enabled, a daemonset will be created in the cluster to meter network egress traffic."
338339
default = ""
339340
}

modules/beta-public-cluster/versions.tf

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616

1717
terraform {
1818
required_version = ">= 0.12"
19+
required_providers {
20+
google-beta = "~> 2.12.0"
21+
google = "~> 2.12.0"
22+
}
1923
}

modules/private-cluster/versions.tf

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616

1717
terraform {
1818
required_version = ">= 0.12"
19+
required_providers {
20+
google-beta = "~> 2.12.0"
21+
google = "~> 2.12.0"
22+
}
1923
}

versions.tf

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616

1717
terraform {
1818
required_version = ">= 0.12"
19+
required_providers {
20+
google-beta = "~> 2.12.0"
21+
google = "~> 2.12.0"
22+
}
1923
}

0 commit comments

Comments
 (0)