community.windows.win_dns_record (2.2.0) — module

Manage Windows Server DNS records

Authors: Sebastian Gruber (@sgruber94), John Nelson (@johnboy2)

Install collection

Install with ansible-galaxy collection install community.windows:==2.2.0


Add to requirements.yml

  collections:
    - name: community.windows
      version: 2.2.0

Description

Manage DNS records within an existing Windows Server DNS zone.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate creating a matching A and PTR record.

- name: Create database server record
  community.windows.win_dns_record:
    name: "cgyl1404p.amer.example.com"
    type: "A"
    value: "10.1.1.1"
    zone: "amer.example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create matching PTR record
  community.windows.win_dns_record:
    name: "1.1.1"
    type: "PTR"
    value: "db1"
    zone: "10.in-addr.arpa"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate replacing an A record with a CNAME

- name: Remove static record
  community.windows.win_dns_record:
    name: "db1"
    type: "A"
    state: absent
    zone: "amer.example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create database server alias
  community.windows.win_dns_record:
    name: "db1"
    type: "CNAME"
    value: "cgyl1404p.amer.example.com"
    zone: "amer.example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate creating multiple A records for the same name

- name: Create multiple A record values for www
  community.windows.win_dns_record:
    name: "www"
    type: "A"
    values:
      - 10.0.42.5
      - 10.0.42.6
      - 10.0.42.7
    zone: "example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrates a partial update (replace some existing values with new ones)
# for a pre-existing name

- name: Update www host with new addresses
  community.windows.win_dns_record:
    name: "www"
    type: "A"
    values:
      - 10.0.42.5  # this old value was kept (others removed)
      - 10.0.42.12  # this new value was added
    zone: "example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate creating a SRV record

- name: Creating a SRV record with port number and priority
  community.windows.win_dns_record:
    name: "test"
    priority: 5
    port: 995
    state: present
    type: "SRV"
    weight: 2
    value: "amer.example.com"
    zone: "example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate creating a NS record with multiple values

- name: Creating NS record
  community.windows.win_dns_record:
    name: "ansible.prog"
    state: present
    type: "NS"
    values:
      - 10.0.0.1
      - 10.0.0.2
      - 10.0.0.3
      - 10.0.0.4
    zone: "example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demonstrate creating a TXT record

- name: Creating a TXT record with descriptive Text
  community.windows.win_dns_record:
    name: "test"
    state: present
    type: "TXT"
    value: "justavalue"
    zone: "example.com"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Demostrate creating a A record to Zone Scope

- name: Create database server record
  community.windows.win_dns_record:
    name: "cgyl1404p.amer.example.com"
    type: "A"
    value: "10.1.1.1"
    zone: "amer.example.com"
    zone_scope: "external"

Inputs

    
ttl:
    default: 3600
    description:
    - The "time to live" of the record, in seconds.
    - Ignored when C(state=absent).
    - Valid range is 1 - 31557600.
    - Note that an Active Directory forest can specify a minimum TTL, and will dynamically
      "round up" other values to that minimum.
    type: int

name:
    description:
    - The name of the record.
    required: true
    type: str

port:
    description:
    - The port number of the record.
    - Required when C(type=SRV).
    - Supported only for C(type=SRV).
    type: int
    version_added: 1.0.0
    version_added_collection: community.windows

type:
    choices:
    - A
    - AAAA
    - CNAME
    - DHCID
    - NS
    - PTR
    - SRV
    - TXT
    description:
    - The type of DNS record to manage.
    - C(SRV) was added in the 1.0.0 release of this collection.
    - C(NS) was added in the 1.1.0 release of this collection.
    - C(TXT) was added in the 1.6.0 release of this collection.
    - C(DHCID) was added in the 1.12.0 release of this collection.
    required: true
    type: str

zone:
    description:
    - The name of the zone to manage (eg C(example.com)).
    - The zone must already exist.
    required: true
    type: str

aging:
    default: false
    description:
    - Should aging be activated for the record.
    - If set to C(false), the record will be static.
    type: bool
    version_added: 1.13.0
    version_added_collection: community.windows

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Whether the record should exist or not.
    type: str

value:
    aliases:
    - values
    default: []
    description:
    - The value(s) to specify. Required when C(state=present).
    - When C(type=PTR) only the partial part of the IP should be given.
    - Multiple values can be passed when C(type=NS)
    elements: str
    type: list

weight:
    description:
    - Weightage given to each service record in SRV record.
    - Required when C(type=SRV).
    - Supported only for C(type=SRV).
    type: int
    version_added: 1.0.0
    version_added_collection: community.windows

priority:
    description:
    - The priority number for each service in SRV record.
    - Required when C(type=SRV).
    - Supported only for C(type=SRV).
    type: int
    version_added: 1.0.0
    version_added_collection: community.windows

zone_scope:
    description:
    - The name of the zone scope to manage (eg C(ScopeAZ)).
    - The zone must already exist.
    required: false
    type: str
    version_added: 2.0.0
    version_added_collection: community.windows

computer_name:
    description:
    - Specifies a DNS server.
    - You can specify an IP address or any value that resolves to an IP address, such
      as a fully qualified domain name (FQDN), host name, or NETBIOS name.
    type: str