Terraform 0.11

google_dns_record_set




terraform

google_dns_record_set

Google क्लाउड DNS के भीतर DNS रिकॉर्ड का एक सेट प्रबंधित करता है। अधिक जानकारी के लिए आधिकारिक दस्तावेज और API

उदाहरण उपयोग

एक नए उदाहरण के पंचांग आईपी के लिए एक DNS नाम बांधना:

resource "google_dns_record_set" "frontend" {
  name = "frontend.${google_dns_managed_zone.prod.dns_name}"
  type = "A"
  ttl  = 300

  managed_zone = "${google_dns_managed_zone.prod.name}"

  rrdatas = ["${google_compute_instance.frontend.network_interface.0.access_config.0.assigned_nat_ip}"]
}

resource "google_compute_instance" "frontend" {
  name         = "frontend"
  machine_type = "g1-small"
  zone         = "us-central1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-8"
    }
  }

  network_interface {
    network       = "default"
    access_config = {}
  }
}

resource "google_dns_managed_zone" "prod" {
  name     = "prod-zone"
  dns_name = "prod.mydomain.com."
}

एक रिकॉर्ड जोड़ना

resource "google_dns_record_set" "a" {
  name = "backend.${google_dns_managed_zone.prod.dns_name}"
  managed_zone = "${google_dns_managed_zone.prod.name}"
  type = "A"
  ttl  = 300

  rrdatas = ["8.8.8.8"]
}

resource "google_dns_managed_zone" "prod" {
  name     = "prod-zone"
  dns_name = "prod.mydomain.com."
}

एक MX रिकॉर्ड जोड़ना

resource "google_dns_record_set" "mx" {
  name = "${google_dns_managed_zone.prod.dns_name}"
  managed_zone = "${google_dns_managed_zone.prod.name}"
  type = "MX"
  ttl  = 3600

  rrdatas = [
    "1 aspmx.l.google.com.",
    "5 alt1.aspmx.l.google.com.",
    "5 alt2.aspmx.l.google.com.",
    "10 alt3.aspmx.l.google.com.",
    "10 alt4.aspmx.l.google.com."
  ]
}

resource "google_dns_managed_zone" "prod" {
  name     = "prod-zone"
  dns_name = "prod.mydomain.com."
}

एसपीएफ़ रिकॉर्ड जोड़ना

एक SPF रिकॉर्ड के लिए उद्धरण ( "" ) को आपके rrdatas आसपास जोड़ा जाना चाहिए। अन्यथा rrdatas स्ट्रिंग स्थानों पर विभाजित हो जाते हैं।

resource "google_dns_record_set" "spf" {
  name = "frontend.${google_dns_managed_zone.prod.dns_name}"
  managed_zone = "${google_dns_managed_zone.prod.name}"
  type = "TXT"
  ttl  = 300

  rrdatas = ["\"v=spf1 ip4:111.111.111.111 include:backoff.email-example.com -all\""]
}

resource "google_dns_managed_zone" "prod" {
  name     = "prod-zone"
  dns_name = "prod.mydomain.com."
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • managed_zone - (आवश्यक) उस क्षेत्र का नाम जिसमें यह रिकॉर्ड सेट निवास करेगा।

  • name - (आवश्यक) DNS नाम इस रिकॉर्ड सेट पर लागू होगा।

  • rrdatas - (आवश्यक) इस रिकॉर्ड में रिकॉर्ड के लिए स्ट्रिंग डेटा सेट जिसका अर्थ DNS प्रकार पर निर्भर करता है। TXT रिकॉर्ड के लिए, यदि स्ट्रिंग डेटा में रिक्त स्थान हैं, तो आसपास जोड़ें \" यदि आप नहीं चाहते कि आपका स्ट्रिंग रिक्त स्थान पर विभाजित हो।

  • ttl - (आवश्यक) इस रिकॉर्ड सेट (सेकंड) का समय-से-लाइव।

  • type - (आवश्यक) DNS रिकॉर्ड सेट प्रकार।

  • project - (वैकल्पिक) उस परियोजना की आईडी जिसमें संसाधन है। यदि यह प्रदान नहीं किया जाता है, तो प्रदाता परियोजना का उपयोग किया जाता है।

संदर्भ संदर्भित करता है

केवल ऊपर सूचीबद्ध तर्क विशेषता के रूप में सामने आए हैं।

आयात

DNS रिकॉर्ड सेट को zone name , record name और रिकॉर्ड type , जैसे का उपयोग करके आयात किया जा सकता है

$ terraform import google_dns_record_set.frontend prod-zone/frontend.prod.mydomain.com./A

नोट: रिकॉर्ड नाम में अंत में पीछे चल रहा डॉट शामिल होना चाहिए।