rax_dns_record – Manage DNS records on Rackspace Cloud DNS¶
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
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
added in 2.1 |
|
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: 1
to avoid exceeding the API request limit imposed by the Rackspace CloudDNS APITo manipulate a
PTR
record eitherloadbalancer
orserver
must be suppliedAs of version 1.7, the
type
field is required and no longer defaults to anA
record.PTR
record support was added in version 1.7The following environment variables can be used,
RAX_USERNAME
,RAX_API_KEY
,RAX_CREDS_FILE
,RAX_CREDENTIALS
,RAX_REGION
.RAX_CREDENTIALS
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_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
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_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¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]