community.general.rax_dns_record – Manage DNS records on Rackspace Cloud DNS¶
Note
This plugin is part of the community.general collection (version 2.5.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.rax_dns_record
.
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
string
|
The URI of the authentication service.
If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/
|
|
comment
string
|
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
string
/ required
|
IP address for A/AAAA record, FQDN for CNAME/MX/NS, or text data for SRV/TXT
|
|
domain
string
|
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
string
|
Default: "rackspace"
|
Authentication mechanism to use, such as rackspace or keystone.
|
loadbalancer
string
|
Load Balancer ID to create a PTR record for. Only used with type=PTR
|
|
name
string
/ 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
integer
|
Required for MX and SRV records, but forbidden for other record types. If specified, must be an integer from 0 to 65535.
|
|
region
string
|
Region to create an instance in.
|
|
server
string
|
Server ID to create a PTR record for. Only used with type=PTR
|
|
state
string
|
|
Indicate desired state of the resource
|
tenant_id
string
|
The tenant ID used for authentication.
|
|
tenant_name
string
|
The tenant name used for authentication.
|
|
ttl
integer
|
Default: 3600
|
Time to live of record in seconds
|
type
string
/ 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
Authors¶
Matt Martz (@sivel)