Deprecated

Removed in 9.0.0

i

Reason:This module relies on the deprecated package pyrax. | Alternative:Use the Openstack modules instead.

community.general.rax_dns_record (8.5.0) — module

Manage DNS records on Rackspace Cloud DNS

Authors: Matt Martz (@sivel)

Install collection

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


Add to requirements.yml

  collections:
    - name: community.general
      version: 8.5.0

Description

Manage DNS records on Rackspace Cloud DNS


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 C(~/.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 O(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 O(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 O(api_key) and O(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