community.general.memset_zone_record 模块 – 在 Memset DNS 区域中创建和删除记录

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在剧本中使用它,请指定:community.general.memset_zone_record

概要

  • 管理 Memset 帐户中的 DNS 记录。

参数

参数

注释

address

别名:ip,data

字符串 / 必需

此记录的地址(可以是 IP 或文本字符串,取决于记录类型)。

api_key

字符串 / 必需

从 Memset 控制面板获取的 API 密钥。

priority

整数

SRVTXT 记录优先级,范围为 0 > 999(包含)。

默认值: 0

record

字符串

要创建的子域名。

默认值: ""

relative

布尔值

如果设置,则将当前域添加到 CNAMEMXNSSRV 记录类型的 address 字段。

选项

  • false ← (默认)

  • true

state

字符串

指示所需的资源状态。

选项

  • "absent"

  • "present" ← (默认)

ttl

整数

记录的 TTL(以秒为单位)(如果未显式设置,则将继承区域的 TTL)。这必须是从 https://www.memset.com/apidocs/methods_dns.html#dns.zone_record_create 获取的有效整数。

选项

  • 0 ← (默认)

  • 300

  • 600

  • 900

  • 1800

  • 3600

  • 7200

  • 10800

  • 21600

  • 43200

  • 86400

type

字符串 / 必需

要创建的 DNS 记录的类型。

选项

  • "A"

  • "AAAA"

  • "CNAME"

  • "MX"

  • "NS"

  • "SRV"

  • "TXT"

zone

字符串 / 必需

要向其添加记录的区域的名称。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于 diff 模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • 区域可以被认为是域的逻辑组,所有这些域共享相同的 DNS 记录(即它们指向相同的 IP)。需要通过 Memset 客户控制面板生成的 API 密钥,并具有以下最低范围 - dns.zone_createdns.zone_deletedns.zone_list

  • 目前,此模块一次只能创建一个 DNS 记录。应使用 loop 创建多个记录。

示例

# 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' }

返回值

常见返回值已在此处 记录,以下是此模块特有的字段

描述

memset_api

复杂类型

来自 Memset API 的记录信息。

返回:当 state == present 时

address

字符串

记录内容(可能是 IP、字符串或空字符串,取决于记录类型)。

返回:始终返回

示例: "1.1.1.1"

id

字符串

记录 ID。

返回:始终返回

示例: "b0bb1ce851aeea6feeb2dc32fe83bf9c"

priority

整数

MXSRV 记录的优先级。

返回:始终返回

示例: 10

record

字符串

记录名称。

返回:始终返回

示例: "www"

relative

布尔值

CNAMEMXNSSRV类型添加当前域名到地址字段。

返回:始终返回

示例: false

ttl

整数

记录 TTL(生存时间)。

返回:始终返回

示例: 10

type

字符串

记录类型。

返回:始终返回

示例: "AAAA"

zone_id

字符串

区域ID。

返回:始终返回

示例: "b0bb1ce851aeea6feeb2dc32fe83bf9c"

作者

  • Simon Weald (@glitchcrab)