New in version 1.5.
Manage DNS records on Rackspace Cloud DNS
parameter | required | default | choices | comments |
---|---|---|---|---|
api_key | no |
Rackspace API key, overrides credentials. aliases: password
|
||
comment | no | Brief description of the domain. Maximum length of 160 characters |
||
credentials | no |
File to find the Rackspace credentials in. Ignored if api_key and username are provided. aliases: creds_file
|
||
data | yes | IP address for A/AAAA record, FQDN for CNAME/MX/NS, or text data for SRV/TXT |
||
domain | no | Domain name to create the record in. This is an invalid option when type=PTR |
||
env (added in 1.5)
| no | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. |
||
loadbalancer (added in 1.7)
| no | Load Balancer ID to create a PTR record for. Only used with type=PTR |
||
name | yes | FQDN record name to create |
||
overwrite (added in 2.1)
| no | True | 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 | no | Required for MX and SRV records, but forbidden for other record types. If specified, must be an integer from 0 to 65535. |
||
region | no | DFW | Region to create an instance in. |
|
server (added in 1.7)
| no | Server ID to create a PTR record for. Only used with type=PTR |
||
state | no | present |
| Indicate desired state of the resource |
ttl | no | 3600 | Time to live of record in seconds |
|
type | yes |
| DNS record type |
|
username | no | Rackspace username, overrides credentials. |
||
verify_ssl (added in 1.5)
| no | Whether or not to require SSL validation of API endpoints. |
- 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
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
Note
To manipulate a PTR
record either loadbalancer
or server
must be supplied
Note
As of version 1.7, the type
field is required and no longer defaults to an A
record.
Note
PTR
record support was added in version 1.7
Note
The following environment variables can be used, RAX_USERNAME
, RAX_API_KEY
, RAX_CREDS_FILE
, RAX_CREDENTIALS
, RAX_REGION
.
Note
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
Note
RAX_USERNAME
and RAX_API_KEY
obviate the use of a credentials file
Note
RAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
For more information on what this means please read Core Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/rax_dns_record_module.html