community.general.rax_dns_record (6.6.8) — module

Manage DNS records on Rackspace Cloud DNS

Authors: Matt Martz (@sivel)

Install collection

Install with ansible-galaxy collection install community.general:==6.6.8


Add to requirements.yml

  collections:
    - name: community.general
      version: 6.6.8

Description

Manage DNS records on Rackspace Cloud DNS.

This module relies on the C(pyrax) package which is deprecated in favour of using Openstack API.

Unless maintainers step up to work on the module, it will be marked as deprecated in community.general 7.0.0 and removed in version 9.0.0.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
env:
    description:
    - Environment as configured in I(~/.pyrax.cfg), see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
    type: str

ttl:
    default: 3600
    description:
    - Time to live of record in seconds
    type: int

data:
    description:
    - IP address for A/AAAA record, FQDN for CNAME/MX/NS, or text data for SRV/TXT
    required: true
    type: str

name:
    description:
    - FQDN record name to create
    required: true
    type: str

type:
    choices:
    - A
    - AAAA
    - CNAME
    - MX
    - NS
    - SRV
    - TXT
    - PTR
    description:
    - DNS record type
    required: true
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Indicate desired state of the resource
    type: str

domain:
    description:
    - Domain name to create the record in. This is an invalid option when type=PTR
    type: str

region:
    description:
    - Region to create an instance in.
    type: str

server:
    description:
    - Server ID to create a PTR record for. Only used with type=PTR
    type: str

api_key:
    aliases:
    - password
    description:
    - Rackspace API key, overrides I(credentials).
    type: str

comment:
    description:
    - Brief description of the domain. Maximum length of 160 characters
    type: str

priority:
    description:
    - Required for MX and SRV records, but forbidden for other record types. If specified,
      must be an integer from 0 to 65535.
    type: int

username:
    description:
    - Rackspace username, overrides I(credentials).
    type: str

overwrite:
    default: true
    description:
    - 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.
    type: bool

tenant_id:
    description:
    - The tenant ID used for authentication.
    type: str

credentials:
    aliases:
    - creds_file
    description:
    - File to find the Rackspace credentials in. Ignored if I(api_key) and I(username)
      are provided.
    type: path

tenant_name:
    description:
    - The tenant name used for authentication.
    type: str

loadbalancer:
    description:
    - Load Balancer ID to create a PTR record for. Only used with type=PTR
    type: str

auth_endpoint:
    description:
    - The URI of the authentication service.
    - If not specified will be set to U(https://identity.api.rackspacecloud.com/v2.0/)
    type: str

identity_type:
    default: rackspace
    description:
    - Authentication mechanism to use, such as rackspace or keystone.
    type: str

validate_certs:
    aliases:
    - verify_ssl
    description:
    - Whether or not to require SSL validation of API endpoints.
    type: bool