Skip to content

Terraform module which creates DNS resources on Google Cloud Provider. You can determine if it will be public or private and a list of your DNS records.

License

Notifications You must be signed in to change notification settings

padok-team/terraform-google-dns

Repository files navigation

Google DNS Terraform module

Terraform module which creates DNS resources on Google Cloud Provider. You can determine if it will be public or private and a list of your DNS records.

User Stories for this module

  • AAOps I am able to list all my DNS records and set them
  • AAOps I can create a public or private DNS zone
  • AAOps I can create a DNS zone and record separatly

Usage

module "simple_public_zone" {
  source = "git@github.com:padok-team/terraform-google-dns.git?ref=v1.4.0"

  project_id = "my-awesome-project"

  name   = "padok-simple-public-zone"
  fqdn   = "test.library.padok.fr."
  public = true
  records = {
    "rec1" = {
      name    = "www"
      type    = "A"
      rrdatas = ["35.189.202.112"]
      ttl     = 60
    }
    "rec2" = {
      name    = ""
      type    = "A"
      rrdatas = ["35.189.202.112"]
      ttl     = 60
    }
    "rec3" = {
      name    = ""
      type    = "MX"
      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.",
      ]
      ttl = 60
    }
  }
}

Examples

All examples are in the examples folder:

Modules

No modules.

Inputs

Name Description Type Default Required
name Name of your DNS zone. string n/a yes
project_id The project ID to manage the DNS resources. string n/a yes
fqdn The Full Qualified Domain Name of your DNS zone. If not provided implies that the zone already exist. string "" no
public Visibility of your zone. bool true no
records List of your DNS records.
map(object({
name = string
type = string
rrdatas = list(string)
ttl = number
}))
{} no

Outputs

Name Description
managed_zone_id ID of the deployed DNS zone.
managed_zone_ns Delegate your managed_zone to these virtual name servers.

License

License

See LICENSE for full details.

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.