google_dns_response_policy

A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.

Open in Cloud Shell

Example Usage - Dns Response Policy Basic

resource "google_compute_network" "network-1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network-2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

resource "google_compute_subnetwork" "subnetwork-1" {
  name                     = google_compute_network.network-1.name
  network                  = google_compute_network.network-1.name
  ip_cidr_range            = "10.0.36.0/24"
  region                   = "us-central1"
  private_ip_google_access = true

  secondary_ip_range {
    range_name    = "pod"
    ip_cidr_range = "10.0.0.0/19"
  }

  secondary_ip_range {
    range_name    = "svc"
    ip_cidr_range = "10.0.32.0/22"
  }
}

resource "google_container_cluster" "cluster-1" {
  name               = "cluster-1"
  location           = "us-central1-c"
  initial_node_count = 1

  networking_mode = "VPC_NATIVE"
  default_snat_status {
    disabled = true
  }
  network    = google_compute_network.network-1.name
  subnetwork = google_compute_subnetwork.subnetwork-1.name

  private_cluster_config {
    enable_private_endpoint = true
    enable_private_nodes    = true
    master_ipv4_cidr_block  = "10.42.0.0/28"
    master_global_access_config {
      enabled = true
    }
  }
  master_authorized_networks_config {
  }
  ip_allocation_policy {
    cluster_secondary_range_name  = google_compute_subnetwork.subnetwork-1.secondary_ip_range[0].range_name
    services_secondary_range_name = google_compute_subnetwork.subnetwork-1.secondary_ip_range[1].range_name
  }
  deletion_protection  = "true"
}

resource "google_dns_response_policy" "example-response-policy" {
  response_policy_name = "example-response-policy"

  networks {
    network_url = google_compute_network.network-1.id
  }
  networks {
    network_url = google_compute_network.network-2.id
  }
  gke_clusters {
      gke_cluster_name = google_container_cluster.cluster-1.id
  }
}

Argument Reference

The following arguments are supported:


The networks block supports:

The gke_clusters block supports:

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

Timeouts

This resource provides the following Timeouts configuration options:

Import

ResponsePolicy can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import ResponsePolicy using one of the formats above. For example:

import {
  id = "projects/{{project}}/responsePolicies/{{response_policy_name}}"
  to = google_dns_response_policy.default
}

When using the terraform import command, ResponsePolicy can be imported using one of the formats above. For example:

$ terraform import google_dns_response_policy.default projects/{{project}}/responsePolicies/{{response_policy_name}}
$ terraform import google_dns_response_policy.default {{project}}/{{response_policy_name}}
$ terraform import google_dns_response_policy.default {{response_policy_name}}

User Project Overrides

This resource supports User Project Overrides.