Git Product home page Git Product logo

telekom-mms / terraform-azurerm-dns Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 5.0 58 KB

A Terraform module that manages the container resources from the azurerm provider.

Home Page: https://telekom-mms.github.io/terraform-template

License: Mozilla Public License 2.0

HCL 100.00%
azure terraform azure-dns-zone terraform-module dns-zone private-dns-zone dns-a-record dns-cname-record dns-txt-record

terraform-azurerm-dns's Introduction

dns

This module manages the hashicorp/azurerm dns resources. For more information see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs > dns

<-- This file is autogenerated, please do not change. -->

Requirements

Name Version
terraform >=1.5
azurerm >=3.72.0

Providers

Name Version
azurerm >=3.72.0

Resources

Name Type
azurerm_dns_a_record.dns_a_record resource
azurerm_dns_cname_record.dns_cname_record resource
azurerm_dns_mx_record.dns_mx_record resource
azurerm_dns_txt_record.dns_txt_record resource
azurerm_dns_zone.dns_zone resource
azurerm_private_dns_zone.private_dns_zone resource
azurerm_private_dns_zone_virtual_network_link.private_dns_zone_virtual_network_link resource

Inputs

Name Description Type Default Required
dns_a_record resource definition, default settings are defined within locals and merged with var settings any {} no
dns_cname_record resource definition, default settings are defined within locals and merged with var settings any {} no
dns_mx_record resource definition, default settings are defined within locals and merged with var settings any {} no
dns_txt_record resource definition, default settings are defined within locals and merged with var settings any {} no
dns_zone resource definition, default settings are defined within locals and merged with var settings any {} no
private_dns_zone resource definition, default settings are defined within locals and merged with var settings any {} no
private_dns_zone_virtual_network_link resource definition, default settings are defined within locals and merged with var settings any {} no

Outputs

Name Description
dns_a_record Outputs all attributes of resource_type.
dns_cname_record Outputs all attributes of resource_type.
dns_mx_record Outputs all attributes of resource_type.
dns_txt_record Outputs all attributes of resource_type.
dns_zone Outputs all attributes of resource_type.
private_dns_zone Outputs all attributes of resource_type.
private_dns_zone_virtual_network_link Outputs all attributes of resource_type.
variables Displays all configurable variables passed by the module. default = predefined values per module. merged = result of merging the default values and custom values passed to the module

Examples

Minimal configuration to install the desired resources with the module

module "network" {
  source = "registry.terraform.io/telekom-mms/network/azurerm"
  virtual_network = {
    vn-app-mms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      address_space       = ["173.0.0.0/23"]
    }
  }
}

module "dns" {
  source = "registry.terraform.io/telekom-mms/dns/azurerm"
  dns_zone = {
    "mms-github-plattform.com" = {
      resource_group_name = "rg-mms-github"
    }
  }
  private_dns_zone = {
    "mms-github-privat-plattform.com" = {
      resource_group_name = "rg-mms-github"
    }
  }
  dns_a_record = {
    "@" = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      records             = ["127.0.0.2"]
    }
  }
  dns_cname_record = {
    www = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record              = module.dns.dns_a_record["@"].fqdn
    }
  }
  dns_txt_record = {
    dnsauth = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record = {
        frontdoor = {
          value = "frontdoor"
        }
      }
    }
  }
  dns_mx_record = {
    mail = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record = {
        mail1 = {
          preference = 10
          exchange   = "mail1.telekom-mms.com"
        }
      }
    }
  }
  private_dns_zone_virtual_network_link = {
    pl-mms-github = {
      resource_group_name   = "rg-mms-github"
      private_dns_zone_name = module.dns.private_dns_zone["mms-github-privat-plattform.com"].name
      virtual_network_id    = module.network.virtual_network["vn-app-mms"].id
    }
  }
}

Advanced configuration to install the desired resources with the module

module "network" {
  source = "registry.terraform.io/telekom-mms/network/azurerm"
  virtual_network = {
    vn-app-mms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      address_space       = ["173.0.0.0/23"]
    }
  }
}

module "dns" {
  source = "registry.terraform.io/telekom-mms/dns/azurerm"
  dns_zone = {
    "mms-github-plattform.com" = {
      resource_group_name = "rg-mms-github"
      soa_record = {
        email = "telekom-mms.com"
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  private_dns_zone = {
    "mms-github-privat-plattform.com" = {
      resource_group_name = "rg-mms-github"
      soa_record = {
        email = "telekom-mms.com"
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  dns_a_record = {
    "@" = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      records             = ["127.0.0.2"]
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  dns_cname_record = {
    www = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record              = module.dns.dns_a_record["@"].fqdn
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  dns_txt_record = {
    dnsauth = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record = {
        frontdoor = {
          value = "frontdoor"
        }
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  dns_mx_record = {
    mail = {
      resource_group_name = module.dns.dns_zone["mms-github-plattform.com"].resource_group_name
      zone_name           = module.dns.dns_zone["mms-github-plattform.com"].name
      record = {
        mail1 = {
          preference = 10
          exchange   = "mail1.telekom-mms.com"
        }
        mail2 = {
          preference = 20
          exchange   = "mail2.telekom-mms.com"
        }
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  private_dns_zone_virtual_network_link = {
    pl-mms-github = {
      resource_group_name   = "rg-mms-github"
      private_dns_zone_name = module.dns.private_dns_zone["mms-github-privat-plattform.com"].name
      virtual_network_id    = module.network.virtual_network["vn-app-mms"].id
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
}

terraform-azurerm-dns's People

Contributors

michaelamattes avatar renovate-bot avatar renovate[bot] avatar rndmh3ro avatar schurzi avatar

Watchers

 avatar  avatar  avatar

terraform-azurerm-dns's Issues

Please add support for resource azurerm_private_dns_zone_virtual_network_link to Module

example:
resource "azurerm_private_dns_zone_virtual_network_link" "db_private_dns_zone_virtual_network_link" {
name = format("db-vnet-zone-link-%s",terraform.workspace)
private_dns_zone_name = data.azurerm_private_dns_zone.mysql_private_dns_zone.id
virtual_network_id = module.network.virtual_network[terraform.workspace].id
resource_group_name = module.resource_group.resource_group[terraform.workspace].name
}

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/codespell.yml
  • telekom-mms/.github main
.github/workflows/linting.yml
  • telekom-mms/.github main
.github/workflows/release.yml
  • telekom-mms/.github main
  • telekom-mms/.github main
.github/workflows/settings.yml
  • telekom-mms/.github main
.github/workflows/terrascan.yml
  • telekom-mms/.github main
.github/workflows/terratest.yml
  • telekom-mms/.github main
terraform
providers.tf
versions.tf
  • azurerm >=3.72.0
  • hashicorp/terraform >=1.5

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.