On this page
community.general.memset_zone_record – Create and delete records in Memset DNS zones.
Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.memset_zone_record
.
Synopsis
- Manage DNS records in a Memset account.
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
address
string / required
|
The address for this record (can be IP or text string depending on record type).
aliases: ip, data |
|
api_key
string / required
|
The API key obtained from the Memset control panel.
|
|
priority
integer
|
SRV and TXT record priority, in the range 0 > 999 (inclusive).
|
|
record
string
|
The subdomain to create.
|
|
relative
boolean
|
|
If set then the current domain is added onto the address field for CNAME , MX , NS and SRV record types.
|
state
string
|
|
Indicates desired state of resource.
|
ttl
integer
|
|
The record's TTL in seconds (will inherit zone's TTL if not explicitly set). This must be a valid int from https://www.memset.com/apidocs/methods_dns.html#dns.zone_record_create.
|
type
string / required
|
|
The type of DNS record to create.
|
zone
string / required
|
The name of the zone to which to add the record to.
|
Notes
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
.
Examples
# Create DNS record for www.domain.com
- name: Create DNS record
community.general.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
community.general.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
community.general.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' }
Return Values
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.
|
|
address
string
|
always |
Record content (may be an IP, string or blank depending on record type).
Sample:
1.1.1.1
|
|
id
string
|
always |
Record ID.
Sample:
b0bb1ce851aeea6feeb2dc32fe83bf9c
|
|
priority
integer
|
always |
Priority for MX and SRV records.
Sample:
10
|
|
record
string
|
always |
Name of record.
Sample:
www
|
|
relative
boolean
|
always |
Adds the current domain onto the address field for CNAME , MX , NS and SRV types.
|
|
ttl
integer
|
always |
Record TTL.
Sample:
10
|
|
type
string
|
always |
Record type.
Sample:
AAAA
|
|
zone_id
string
|
always |
Zone ID.
Sample:
b0bb1ce851aeea6feeb2dc32fe83bf9c
|
Authors
- Simon Weald (@glitchcrab)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/memset_zone_record_module.html