rax_dns_record – 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 
                    string
                                                                 | Rackspace API key, overrides credentials. aliases: password | |
| auth_endpoint 
                    -
                                                                 | Default: "https://identity.api.rackspacecloud.com/v2.0/" | The URI of the authentication service. | 
| comment 
                    -
                                                                 | Brief description of the domain. Maximum length of 160 characters | |
| credentials 
                    path
                                                                 | 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 
                    string
                                                                 | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| identity_type 
                    -
                                                                 | Default: "rackspace" | Authentication mechanism to use, such as rackspace or keystone. | 
| loadbalancer 
                    -
                                                                 | Load Balancer ID to create a PTR record for. Only used with type=PTR | |
| name 
                    -
                                             / required                     | FQDN record name to create | |
| overwrite 
                    boolean
                                                                 | 
 | 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 
                    string
                                                                 | Default: "DFW" | Region to create an instance in. | 
| server 
                    -
                                                                 | Server ID to create a PTR record for. Only used with type=PTR | |
| state 
                    -
                                                                 | 
 | Indicate desired state of the resource | 
| tenant_id 
                    -
                                                                 | The tenant ID used for authentication. | |
| tenant_name 
                    -
                                                                 | The tenant name used for authentication. | |
| ttl 
                    -
                                                                 | Default: 3600 | Time to live of record in seconds | 
| type 
                    -
                                             / required                     | 
 | DNS record type | 
| username 
                    string
                                                                 | Rackspace username, overrides credentials. | |
| validate_certs 
                    boolean
                                                                 | 
 | Whether or not to require SSL validation of API endpoints. aliases: verify_ssl | 
Notes¶
Note
- It is recommended that plays utilizing this module be run with serial: 1to avoid exceeding the API request limit imposed by the Rackspace CloudDNS API
- To manipulate a PTRrecord eitherloadbalancerorservermust be supplied
- As of version 1.7, the typefield is required and no longer defaults to anArecord.
- PTRrecord 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_CREDENTIALSand- RAX_CREDS_FILEpoints to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
- RAX_USERNAMEand- RAX_API_KEYobviate the use of a credentials file
- RAX_REGIONdefines 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_CREDENTIALSand- RAX_CREDS_FILEpoints to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
- RAX_USERNAMEand- RAX_API_KEYobviate the use of a credentials file
- RAX_REGIONdefines 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¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Matt Martz (@sivel)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
