- Docs »
- memset_zone_record - Create and delete records in Memset DNS zones.
-
You are reading an unmaintained version of the Ansible documentation. Unmaintained Ansible versions can contain unfixed security vulnerabilities (CVE). Please upgrade to a maintained version. See the latest Ansible documentation.
memset_zone_record - Create and delete records in Memset DNS zones.
- Manage DNS records in a Memset account.
Parameter |
Choices/Defaults |
Comments |
address
required |
|
The address for this record (can be IP or text string depending on record type).
aliases: ip, data
|
api_key
required |
|
The API key obtained from the Memset control panel.
|
priority
|
|
SRV and TXT record priority, in the range 0 > 999 (inclusive).
|
record
|
|
The subdomain to create.
|
relative
bool |
|
If set then the current domain is added onto the address field for CNAME , MX , NS and SRV record types.
|
state
|
Choices:
- absent
present ←
|
Indicates desired state of resource.
|
ttl
|
Choices:
- 0
- 300
- 600
- 900
- 1800
- 3600
- 7200
- 10800
- 21600
- 43200
- 86400
|
|
type
required |
Choices:
- A
- AAAA
- CNAME
- MX
- NS
- SRV
- TXT
|
The type of DNS record to create.
|
zone
required |
|
The name of the zone to which to add the record to.
|
Note
- Zones can be thought of as a logical group of domains, all of which share the same DNS records (i.e. they point to the same IP). An API key generated via the Memset customer control panel is needed with the following minimum scope - dns.zone_create, dns.zone_delete, dns.zone_list.
- Currently this module can only create one DNS record at a time. Multiple records should be created using
with_items
.
# Create DNS record for www.domain.com
- name: create DNS record
memset_zone_record:
api_key: dcf089a2896940da9ffefb307ef49ccd
state: present
zone: domain.com
type: A
record: www
address: 1.2.3.4
ttl: 300
relative: false
delegate_to: localhost
# create an SPF record for domain.com
- name: create SPF record for domain.com
memset_zone_record:
api_key: dcf089a2896940da9ffefb307ef49ccd
state: present
zone: domain.com
type: TXT
address: "v=spf1 +a +mx +ip4:a1.2.3.4 ?all"
delegate_to: localhost
# create multiple DNS records
- name: create multiple DNS records
memset_zone_record:
api_key: dcf089a2896940da9ffefb307ef49ccd
zone: "{{ item.zone }}"
type: "{{ item.type }}"
record: "{{ item.record }}"
address: "{{ item.address }}"
delegate_to: localhost
with_items:
- { 'zone': 'domain1.com', 'type': 'A', 'record': 'www', 'address': '1.2.3.4' }
- { 'zone': 'domain2.com', 'type': 'A', 'record': 'mail', 'address': '4.3.2.1' }
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
memset_api
complex
|
when state == present |
Record info from the Memset API.
|
|
priority
integer
|
always |
Priority for MX and SRV records.
Sample:
10
|
|
zone_id
string
|
always |
Zone ID.
Sample:
b0bb1ce851aeea6feeb2dc32fe83bf9c
|
|
ttl
integer
|
always |
Record TTL.
Sample:
10
|
|
relative
boolean
|
always |
Adds the current domain onto the address field for CNAME , MX , NS and SRV types.
|
|
record
string
|
always |
Name of record.
Sample:
www
|
|
address
string
|
always |
Record content (may be an IP, string or blank depending on record type).
Sample:
1.1.1.1
|
|
type
string
|
always |
Record type.
Sample:
AAAA
|
|
id
string
|
always |
Record ID.
Sample:
b0bb1ce851aeea6feeb2dc32fe83bf9c
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.