Remove default values for access_config.ip_config for gke cluster modules (#3083)
* Change default values for authorized_ranges from {} to null and
gcp_public_cidrs_access_enabled from false to null in the
access_config.ip_access variable. This ensures the dynamic
master_authorized_networks_config block is properly
conditional on user input.
Previously, these fields would never be null due to their
default values, causing the block to always be initialized
even when users didn't intend to configure authorized networks.
* remove explicit null
* Remove all defaults for access_config.ip_access. Fix permadiff.
* Fix tests
* Swap try with coalesce
---------
Co-authored-by: Julio Castillo <jccb@google.com>
This commit is contained in:
@@ -272,7 +272,7 @@ module "cluster-1" {
|
||||
| [name](variables.tf#L226) | Cluster name. | <code>string</code> | ✓ | |
|
||||
| [project_id](variables.tf#L258) | Cluster project ID. | <code>string</code> | ✓ | |
|
||||
| [vpc_config](variables.tf#L274) | VPC-level configuration. | <code title="object({ disable_default_snat = optional(bool) network = string subnetwork = string secondary_range_blocks = optional(object({ pods = string services = string })) secondary_range_names = optional(object({ pods = optional(string) services = optional(string) })) additional_ranges = optional(list(string)) stack_type = optional(string) })">object({…})</code> | ✓ | |
|
||||
| [access_config](variables.tf#L17) | Control plane endpoint and nodes access configurations. | <code title="object({ dns_access = optional(bool, true) ip_access = optional(object({ authorized_ranges = optional(map(string), {}) disable_public_endpoint = optional(bool, true) gcp_public_cidrs_access_enabled = optional(bool, false) private_endpoint_config = optional(object({ endpoint_subnetwork = optional(string) global_access = optional(bool, true) }), {}) })) private_nodes = optional(bool, true) })">object({…})</code> | | <code>{}</code> |
|
||||
| [access_config](variables.tf#L17) | Control plane endpoint and nodes access configurations. | <code title="object({ dns_access = optional(bool, true) ip_access = optional(object({ authorized_ranges = optional(map(string)) disable_public_endpoint = optional(bool) gcp_public_cidrs_access_enabled = optional(bool) private_endpoint_config = optional(object({ endpoint_subnetwork = optional(string) global_access = optional(bool, true) })) })) private_nodes = optional(bool, true) })">object({…})</code> | | <code>{}</code> |
|
||||
| [backup_configs](variables.tf#L43) | Configuration for Backup for GKE. | <code title="object({ enable_backup_agent = optional(bool, false) backup_plans = optional(map(object({ encryption_key = optional(string) include_secrets = optional(bool, true) include_volume_data = optional(bool, true) labels = optional(map(string)) namespaces = optional(list(string)) region = string schedule = string retention_policy_days = optional(string) retention_policy_lock = optional(bool, false) retention_policy_delete_lock_days = optional(string) })), {}) })">object({…})</code> | | <code>{}</code> |
|
||||
| [deletion_protection](variables.tf#L64) | Whether or not to allow Terraform to destroy the cluster. Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the cluster will fail. | <code>bool</code> | | <code>true</code> |
|
||||
| [description](variables.tf#L71) | Cluster description. | <code>string</code> | | <code>null</code> |
|
||||
|
||||
@@ -218,7 +218,7 @@ resource "google_container_cluster" "cluster" {
|
||||
gcp_public_cidrs_access_enabled = try(var.access_config.ip_access.gcp_public_cidrs_access_enabled, null)
|
||||
|
||||
dynamic "cidr_blocks" {
|
||||
for_each = try(var.access_config.ip_access.authorized_ranges, {})
|
||||
for_each = coalesce(var.access_config.ip_access.authorized_ranges, {})
|
||||
iterator = range
|
||||
content {
|
||||
cidr_block = range.value
|
||||
@@ -282,11 +282,12 @@ resource "google_container_cluster" "cluster" {
|
||||
for_each = var.access_config.private_nodes == true ? [""] : []
|
||||
content {
|
||||
enable_private_nodes = true
|
||||
enable_private_endpoint = try(
|
||||
var.access_config.ip_access.disable_public_endpoint,
|
||||
# this should be null, but when ip_access is disabled, the API
|
||||
# returns true. We return true to avoid a permadiff
|
||||
true
|
||||
enable_private_endpoint = (
|
||||
var.access_config.ip_access == null
|
||||
# when ip_access is disabled, the API returns true. We return
|
||||
# true to avoid a permadiff
|
||||
? true
|
||||
: try(var.access_config.ip_access.disable_public_endpoint, null)
|
||||
)
|
||||
private_endpoint_subnetwork = try(
|
||||
var.access_config.ip_access.private_endpoint_config.endpoint_subnetwork,
|
||||
|
||||
@@ -19,13 +19,13 @@ variable "access_config" {
|
||||
type = object({
|
||||
dns_access = optional(bool, true)
|
||||
ip_access = optional(object({
|
||||
authorized_ranges = optional(map(string), {})
|
||||
disable_public_endpoint = optional(bool, true)
|
||||
gcp_public_cidrs_access_enabled = optional(bool, false)
|
||||
authorized_ranges = optional(map(string))
|
||||
disable_public_endpoint = optional(bool)
|
||||
gcp_public_cidrs_access_enabled = optional(bool)
|
||||
private_endpoint_config = optional(object({
|
||||
endpoint_subnetwork = optional(string)
|
||||
global_access = optional(bool, true)
|
||||
}), {})
|
||||
}))
|
||||
}))
|
||||
private_nodes = optional(bool, true)
|
||||
})
|
||||
|
||||
@@ -47,10 +47,6 @@ module "cluster-1" {
|
||||
authorized_ranges = {
|
||||
internal-vms = "10.0.0.0/8"
|
||||
}
|
||||
# disable_public_endpoint = true
|
||||
# private_endpoint_config = {
|
||||
# global_access = true
|
||||
# }
|
||||
}
|
||||
# private_nodes = true
|
||||
}
|
||||
@@ -86,7 +82,8 @@ module "cluster-1" {
|
||||
authorized_ranges = {
|
||||
"corporate proxy" = "8.8.8.8/32"
|
||||
}
|
||||
disable_public_endpoint = false
|
||||
gcp_public_cidrs_access_enabled = false
|
||||
disable_public_endpoint = false
|
||||
}
|
||||
private_nodes = false
|
||||
}
|
||||
@@ -117,13 +114,13 @@ module "cluster-1" {
|
||||
name = "cluster-1"
|
||||
location = "europe-west1-b"
|
||||
access_config = {
|
||||
dns_access = false
|
||||
gcp_public_cidrs_access_enabled = true
|
||||
dns_access = false
|
||||
ip_access = {
|
||||
authorized_ranges = {
|
||||
internal-vms = "10.0.0.0/8"
|
||||
}
|
||||
disable_public_endpoint = false
|
||||
gcp_public_cidrs_access_enabled = true
|
||||
disable_public_endpoint = false
|
||||
}
|
||||
private_nodes = false
|
||||
}
|
||||
@@ -154,13 +151,6 @@ module "cluster-1" {
|
||||
name = "cluster-1"
|
||||
location = "europe-west1"
|
||||
node_locations = ["europe-west1-b"]
|
||||
access_config = {
|
||||
ip_access = {
|
||||
authorized_ranges = {
|
||||
internal-vms = "10.0.0.0/8"
|
||||
}
|
||||
}
|
||||
}
|
||||
vpc_config = {
|
||||
network = var.vpc.self_link
|
||||
subnetwork = var.subnet.self_link
|
||||
@@ -500,7 +490,7 @@ module "cluster-1" {
|
||||
| [name](variables.tf#L382) | Cluster name. | <code>string</code> | ✓ | |
|
||||
| [project_id](variables.tf#L416) | Cluster project id. | <code>string</code> | ✓ | |
|
||||
| [vpc_config](variables.tf#L427) | VPC-level configuration. | <code title="object({ disable_default_snat = optional(bool) network = string subnetwork = string secondary_range_blocks = optional(object({ pods = string services = string })) secondary_range_names = optional(object({ pods = optional(string) services = optional(string) })) additional_ranges = optional(list(string)) stack_type = optional(string) })">object({…})</code> | ✓ | |
|
||||
| [access_config](variables.tf#L17) | Control plane endpoint and nodes access configurations. | <code title="object({ dns_access = optional(bool, true) ip_access = optional(object({ authorized_ranges = optional(map(string), {}) disable_public_endpoint = optional(bool, true) gcp_public_cidrs_access_enabled = optional(bool, false) private_endpoint_config = optional(object({ endpoint_subnetwork = optional(string) global_access = optional(bool, true) }), {}) })) private_nodes = optional(bool, true) })">object({…})</code> | | <code>{}</code> |
|
||||
| [access_config](variables.tf#L17) | Control plane endpoint and nodes access configurations. | <code title="object({ dns_access = optional(bool, true) ip_access = optional(object({ authorized_ranges = optional(map(string)) disable_public_endpoint = optional(bool) gcp_public_cidrs_access_enabled = optional(bool) private_endpoint_config = optional(object({ endpoint_subnetwork = optional(string) global_access = optional(bool, true) })) })) private_nodes = optional(bool, true) })">object({…})</code> | | <code>{}</code> |
|
||||
| [backup_configs](variables.tf#L43) | Configuration for Backup for GKE. | <code title="object({ enable_backup_agent = optional(bool, false) backup_plans = optional(map(object({ region = string applications = optional(map(list(string))) encryption_key = optional(string) include_secrets = optional(bool, true) include_volume_data = optional(bool, true) labels = optional(map(string)) namespaces = optional(list(string)) schedule = optional(string) retention_policy_days = optional(number) retention_policy_lock = optional(bool, false) retention_policy_delete_lock_days = optional(number) })), {}) })">object({…})</code> | | <code>{}</code> |
|
||||
| [cluster_autoscaling](variables.tf#L65) | Enable and configure limits for Node Auto-Provisioning with Cluster Autoscaler. | <code title="object({ enabled = optional(bool, true) autoscaling_profile = optional(string, "BALANCED") auto_provisioning_defaults = optional(object({ boot_disk_kms_key = optional(string) disk_size = optional(number) disk_type = optional(string, "pd-standard") image_type = optional(string) oauth_scopes = optional(list(string)) service_account = optional(string) management = optional(object({ auto_repair = optional(bool, true) auto_upgrade = optional(bool, true) })) shielded_instance_config = optional(object({ integrity_monitoring = optional(bool, true) secure_boot = optional(bool, false) })) upgrade_settings = optional(object({ blue_green = optional(object({ node_pool_soak_duration = optional(string) standard_rollout_policy = optional(object({ batch_percentage = optional(number) batch_node_count = optional(number) batch_soak_duration = optional(string) })) })) surge = optional(object({ max = optional(number) unavailable = optional(number) })) })) })) auto_provisioning_locations = optional(list(string)) cpu_limits = optional(object({ min = optional(number, 0) max = number })) mem_limits = optional(object({ min = optional(number, 0) max = number })) accelerator_resources = optional(list(object({ resource_type = string min = optional(number, 0) max = number }))) })">object({…})</code> | | <code>null</code> |
|
||||
| [default_nodepool](variables.tf#L145) | Enable default nodepool. | <code title="object({ remove_pool = optional(bool, true) initial_node_count = optional(number, 1) })">object({…})</code> | | <code>{}</code> |
|
||||
|
||||
@@ -404,7 +404,7 @@ resource "google_container_cluster" "cluster" {
|
||||
gcp_public_cidrs_access_enabled = try(var.access_config.ip_access.gcp_public_cidrs_access_enabled, null)
|
||||
|
||||
dynamic "cidr_blocks" {
|
||||
for_each = try(var.access_config.ip_access.authorized_ranges, {})
|
||||
for_each = coalesce(var.access_config.ip_access.authorized_ranges, {})
|
||||
iterator = range
|
||||
content {
|
||||
cidr_block = range.value
|
||||
@@ -485,11 +485,12 @@ resource "google_container_cluster" "cluster" {
|
||||
for_each = var.access_config.private_nodes == true ? [""] : []
|
||||
content {
|
||||
enable_private_nodes = true
|
||||
enable_private_endpoint = try(
|
||||
var.access_config.ip_access.disable_public_endpoint,
|
||||
# this should be null, but when ip_access is disabled, the API
|
||||
# returns true. We return true to avoid a permadiff
|
||||
true
|
||||
enable_private_endpoint = (
|
||||
var.access_config.ip_access == null
|
||||
# when ip_access is disabled, the API returns true. We return
|
||||
# true to avoid a permadiff
|
||||
? true
|
||||
: try(var.access_config.ip_access.disable_public_endpoint, null)
|
||||
)
|
||||
private_endpoint_subnetwork = try(
|
||||
var.access_config.ip_access.private_endpoint_config.endpoint_subnetwork,
|
||||
|
||||
@@ -19,13 +19,13 @@ variable "access_config" {
|
||||
type = object({
|
||||
dns_access = optional(bool, true)
|
||||
ip_access = optional(object({
|
||||
authorized_ranges = optional(map(string), {})
|
||||
disable_public_endpoint = optional(bool, true)
|
||||
gcp_public_cidrs_access_enabled = optional(bool, false)
|
||||
authorized_ranges = optional(map(string))
|
||||
disable_public_endpoint = optional(bool)
|
||||
gcp_public_cidrs_access_enabled = optional(bool)
|
||||
private_endpoint_config = optional(object({
|
||||
endpoint_subnetwork = optional(string)
|
||||
global_access = optional(bool, true)
|
||||
}), {})
|
||||
}))
|
||||
}))
|
||||
private_nodes = optional(bool, true)
|
||||
})
|
||||
|
||||
@@ -50,6 +50,7 @@ values:
|
||||
- enabled: true
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -100,12 +101,16 @@ values:
|
||||
network: projects/xxx/global/networks/aaa
|
||||
network_policy: []
|
||||
networking_mode: VPC_NATIVE
|
||||
node_pool_auto_config:
|
||||
- linux_node_config: []
|
||||
network_tags: []
|
||||
node_kubelet_config:
|
||||
- insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
resource_manager_tags: null
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config:
|
||||
- enable_private_endpoint: true
|
||||
- enable_private_endpoint: null
|
||||
enable_private_nodes: true
|
||||
master_global_access_config:
|
||||
- enabled: true
|
||||
private_endpoint_subnetwork: null
|
||||
project: myproject
|
||||
release_channel:
|
||||
|
||||
@@ -50,6 +50,7 @@ values:
|
||||
- enabled: true
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -89,7 +90,6 @@ values:
|
||||
- cidr_blocks:
|
||||
- cidr_block: 10.0.0.0/8
|
||||
display_name: internal-vms
|
||||
gcp_public_cidrs_access_enabled: false
|
||||
min_master_version: null
|
||||
monitoring_config:
|
||||
- enable_components:
|
||||
@@ -100,12 +100,16 @@ values:
|
||||
network: projects/xxx/global/networks/aaa
|
||||
network_policy: []
|
||||
networking_mode: VPC_NATIVE
|
||||
node_pool_auto_config:
|
||||
- linux_node_config: []
|
||||
network_tags: []
|
||||
node_kubelet_config:
|
||||
- insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
resource_manager_tags: null
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config:
|
||||
- enable_private_endpoint: true
|
||||
- enable_private_endpoint: null
|
||||
enable_private_nodes: true
|
||||
master_global_access_config:
|
||||
- enabled: true
|
||||
private_endpoint_subnetwork: null
|
||||
project: myproject
|
||||
release_channel:
|
||||
|
||||
@@ -56,6 +56,7 @@ values:
|
||||
default_max_pods_per_node: 32
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -94,7 +95,7 @@ values:
|
||||
- cidr_blocks:
|
||||
- cidr_block: 10.0.0.0/8
|
||||
display_name: internal-vms
|
||||
gcp_public_cidrs_access_enabled: false
|
||||
gcp_public_cidrs_access_enabled: true
|
||||
min_master_version: null
|
||||
monitoring_config:
|
||||
- enable_components:
|
||||
@@ -112,6 +113,7 @@ values:
|
||||
ephemeral_storage_config: []
|
||||
ephemeral_storage_local_ssd_config: []
|
||||
fast_socket: []
|
||||
flex_start: null
|
||||
gvnic: []
|
||||
host_maintenance_policy: []
|
||||
linux_node_config: []
|
||||
@@ -135,6 +137,7 @@ values:
|
||||
- containerd_config: []
|
||||
gcfs_config:
|
||||
- enabled: false
|
||||
insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config: []
|
||||
project: myproject
|
||||
|
||||
@@ -56,6 +56,7 @@ values:
|
||||
default_max_pods_per_node: 32
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -94,7 +95,6 @@ values:
|
||||
- cidr_blocks:
|
||||
- cidr_block: 10.0.0.0/8
|
||||
display_name: internal-vms
|
||||
gcp_public_cidrs_access_enabled: false
|
||||
min_master_version: null
|
||||
monitoring_config:
|
||||
- enable_components:
|
||||
@@ -112,6 +112,7 @@ values:
|
||||
ephemeral_storage_config: []
|
||||
ephemeral_storage_local_ssd_config: []
|
||||
fast_socket: []
|
||||
flex_start: null
|
||||
gvnic: []
|
||||
host_maintenance_policy: []
|
||||
linux_node_config: []
|
||||
@@ -135,12 +136,11 @@ values:
|
||||
- containerd_config: []
|
||||
gcfs_config:
|
||||
- enabled: false
|
||||
insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config:
|
||||
- enable_private_endpoint: true
|
||||
- enable_private_endpoint: null
|
||||
enable_private_nodes: true
|
||||
master_global_access_config:
|
||||
- enabled: true
|
||||
private_endpoint_subnetwork: null
|
||||
project: myproject
|
||||
remove_default_node_pool: true
|
||||
|
||||
@@ -56,6 +56,7 @@ values:
|
||||
default_max_pods_per_node: 32
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -112,6 +113,7 @@ values:
|
||||
ephemeral_storage_config: []
|
||||
ephemeral_storage_local_ssd_config: []
|
||||
fast_socket: []
|
||||
flex_start: null
|
||||
gvnic: []
|
||||
host_maintenance_policy: []
|
||||
linux_node_config: []
|
||||
@@ -135,6 +137,7 @@ values:
|
||||
- containerd_config: []
|
||||
gcfs_config:
|
||||
- enabled: false
|
||||
insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config: []
|
||||
project: myproject
|
||||
|
||||
@@ -49,13 +49,14 @@ values:
|
||||
- dns_endpoint_config:
|
||||
- allow_external_traffic: true
|
||||
ip_endpoints_config:
|
||||
- enabled: true
|
||||
- enabled: false
|
||||
cost_management_config:
|
||||
- enabled: true
|
||||
datapath_provider: ADVANCED_DATAPATH
|
||||
default_max_pods_per_node: 32
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
environment: dev
|
||||
@@ -90,11 +91,6 @@ values:
|
||||
master_auth:
|
||||
- client_certificate_config:
|
||||
- issue_client_certificate: false
|
||||
master_authorized_networks_config:
|
||||
- cidr_blocks:
|
||||
- cidr_block: 10.0.0.0/8
|
||||
display_name: internal-vms
|
||||
gcp_public_cidrs_access_enabled: false
|
||||
min_master_version: null
|
||||
monitoring_config:
|
||||
- enable_components:
|
||||
@@ -112,6 +108,7 @@ values:
|
||||
ephemeral_storage_config: []
|
||||
ephemeral_storage_local_ssd_config: []
|
||||
fast_socket: []
|
||||
flex_start: null
|
||||
gvnic: []
|
||||
host_maintenance_policy: []
|
||||
linux_node_config: []
|
||||
@@ -137,12 +134,11 @@ values:
|
||||
- containerd_config: []
|
||||
gcfs_config:
|
||||
- enabled: false
|
||||
insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config:
|
||||
- enable_private_endpoint: true
|
||||
enable_private_nodes: true
|
||||
master_global_access_config:
|
||||
- enabled: true
|
||||
private_endpoint_subnetwork: null
|
||||
project: myproject
|
||||
remove_default_node_pool: true
|
||||
|
||||
@@ -48,12 +48,15 @@ values:
|
||||
control_plane_endpoints_config:
|
||||
- dns_endpoint_config:
|
||||
- allow_external_traffic: true
|
||||
ip_endpoints_config:
|
||||
- enabled: true
|
||||
cost_management_config:
|
||||
- enabled: true
|
||||
datapath_provider: ADVANCED_DATAPATH
|
||||
default_max_pods_per_node: 110
|
||||
deletion_protection: true
|
||||
description: null
|
||||
disable_l4_lb_firewall_reconciliation: false
|
||||
dns_config: []
|
||||
effective_labels:
|
||||
goog-terraform-provisioned: 'true'
|
||||
@@ -102,6 +105,7 @@ values:
|
||||
ephemeral_storage_config: []
|
||||
ephemeral_storage_local_ssd_config: []
|
||||
fast_socket: []
|
||||
flex_start: null
|
||||
gvnic: []
|
||||
host_maintenance_policy: []
|
||||
linux_node_config: []
|
||||
@@ -125,12 +129,11 @@ values:
|
||||
- containerd_config: []
|
||||
gcfs_config:
|
||||
- enabled: false
|
||||
insecure_kubelet_readonly_port_enabled: 'TRUE'
|
||||
pod_security_policy_config: []
|
||||
private_cluster_config:
|
||||
- enable_private_endpoint: true
|
||||
- enable_private_endpoint: null
|
||||
enable_private_nodes: true
|
||||
master_global_access_config:
|
||||
- enabled: true
|
||||
private_endpoint_subnetwork: null
|
||||
project: gkehub-test
|
||||
remove_default_node_pool: true
|
||||
@@ -158,7 +161,8 @@ values:
|
||||
module.hub.google_gke_hub_feature_membership.default["cluster-1"]:
|
||||
configmanagement:
|
||||
- config_sync:
|
||||
- enabled: true
|
||||
- deployment_overrides: []
|
||||
enabled: true
|
||||
git:
|
||||
- gcp_service_account_email: null
|
||||
https_proxy: null
|
||||
@@ -320,6 +324,19 @@ values:
|
||||
project: gkehub-test
|
||||
routing_mode: GLOBAL
|
||||
timeouts: null
|
||||
module.vpc.google_compute_route.gateway["directpath-googleapis"]:
|
||||
description: Terraform-managed.
|
||||
dest_range: 34.126.0.0/18
|
||||
name: network-directpath-googleapis
|
||||
network: network
|
||||
next_hop_gateway: default-internet-gateway
|
||||
next_hop_ilb: null
|
||||
next_hop_instance: null
|
||||
next_hop_vpn_tunnel: null
|
||||
priority: 1000
|
||||
project: gkehub-test
|
||||
tags: null
|
||||
timeouts: null
|
||||
module.vpc.google_compute_route.gateway["private-googleapis"]:
|
||||
description: Terraform-managed.
|
||||
dest_range: 199.36.153.8/30
|
||||
@@ -349,6 +366,7 @@ values:
|
||||
module.vpc.google_compute_subnetwork.subnetwork["europe-west1/cluster-1"]:
|
||||
description: Terraform-managed.
|
||||
ip_cidr_range: 10.0.0.0/24
|
||||
ip_collection: null
|
||||
ipv6_access_type: null
|
||||
log_config: []
|
||||
name: cluster-1
|
||||
|
||||
Reference in New Issue
Block a user