rax_dns_record – Manage DNS records on Rackspace Cloud DNS

From Get docs
Ansible/docs/2.7/modules/rax dns record module


rax_dns_record – Manage DNS records on Rackspace Cloud DNS

New in version 1.5.


Synopsis

  • Manage DNS records on Rackspace Cloud DNS

Requirements

The below requirements are needed on the host that executes this module.

  • pyrax
  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments

api_key

-

Rackspace API key, overrides credentials.


aliases: password

auth_endpoint

-

added in 1.5

Default:

The URI of the authentication service.

comment

-

Brief description of the domain. Maximum length of 160 characters

credentials

-

File to find the Rackspace credentials in. Ignored if api_key and username are provided.


aliases: creds_file

data

- / required

IP address for A/AAAA record, FQDN for CNAME/MX/NS, or text data for SRV/TXT

domain

-

Domain name to create the record in. This is an invalid option when type=PTR

env

-

added in 1.5

identity_type

-

added in 1.5

Default:

"rackspace"

Authentication mechanism to use, such as rackspace or keystone.

loadbalancer

-

added in 1.7

Load Balancer ID to create a PTR record for. Only used with type=PTR

name

- / required

FQDN record name to create

overwrite

-

added in 2.1

Default:

"yes"

Add new records if data doesn't match, instead of updating existing record with matching name. If there are already multiple records with matching name and overwrite=true, this module will fail.

priority

-

Required for MX and SRV records, but forbidden for other record types. If specified, must be an integer from 0 to 65535.

region

-

Default:

"DFW"

Region to create an instance in.

server

-

added in 1.7

Server ID to create a PTR record for. Only used with type=PTR

state

-

  • present

  • absent

Indicate desired state of the resource

tenant_id

-

added in 1.5

The tenant ID used for authentication.

tenant_name

-

added in 1.5

The tenant name used for authentication.

ttl

-

Default:

3600

Time to live of record in seconds

type

- / required

  • A
  • AAAA
  • CNAME
  • MX
  • NS
  • SRV
  • TXT
  • PTR

DNS record type

username

-

Rackspace username, overrides credentials.

verify_ssl

-

added in 1.5

Whether or not to require SSL validation of API endpoints.



Notes

Note

  • It is recommended that plays utilizing this module be run with serial: 1 to avoid exceeding the API request limit imposed by the Rackspace CloudDNS API
  • To manipulate a PTR record either loadbalancer or server must be supplied
  • As of version 1.7, the type field is required and no longer defaults to an A record.
  • PTR record support was added in version 1.7
  • The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.
  • RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
  • RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file
  • RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, …)
  • The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.
  • RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
  • RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file
  • RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, …)


Examples

- name: Create DNS Records
  hosts: all
  gather_facts: False
  tasks:
    - name: Create A record
      local_action:
        module: rax_dns_record
        credentials: ~/.raxpub
        domain: example.org
        name: www.example.org
        data: "{{ rax_accessipv4 }}"
        type: A
      register: a_record

    - name: Create PTR record
      local_action:
        module: rax_dns_record
        credentials: ~/.raxpub
        server: "{{ rax_id }}"
        name: "{{ inventory_hostname }}"
        region: DFW
      register: ptr_record

Status

Authors

  • Matt Martz (@sivel)

Hint

If you notice any issues in this documentation you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/rax_dns_record_module.html