community.general.dnsmadeeasy 模块 – 与 dnsmadeeasy.com(一个 DNS 托管服务)交互
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
软件包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装它,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:community.general.dnsmadeeasy
。
概要
通过 DNS Made Easy 服务的 v2 REST API 管理 DNS 记录。它只处理记录;目前尚不支持域或监控/帐户操作。请参见:https://www.dnsmadeeasy.com/integration/restapi/
要求
以下要求是在执行此模块的主机上所需的。
hashlib
hmac
参数
参数 |
注释 |
---|---|
帐户 API 密钥。 |
|
帐户密钥。 |
|
如果为真,则故障转移后手动回退到主 IP 地址。 如果为假,则故障转移后自动回退到主 IP 地址。 选项
|
|
监控将通知的联系人列表的名称或 ID。 默认值 |
|
要使用的域。可以是域名(例如,“mydomain.com”)或 DNS Made Easy 中域的数字 ID(例如,“839989”),以加快解析速度。 |
|
如果 选项
|
|
监控查询 HTTP 或 HTTPS 的 Fqdn 处的文件。 |
|
监控使用的完全限定域名。 |
|
监控查询 HTTP 或 HTTPS 的 httpFile 中的字符串。 |
|
故障转移的主 IP 地址。 如果添加或更改监控或故障转移,则需要此参数。 |
|
故障转移的辅助 IP 地址。 如果添加或更改故障转移,则需要此参数。 |
|
故障转移的三级 IP 地址。 |
|
故障转移的四级 IP 地址。 |
|
故障转移的五级 IP 地址。 |
|
监控发送到联系人列表的电子邮件数量。 默认值: |
|
如果 选项
|
|
监控使用的端口。 默认值: |
|
监控使用的协议。 选项
|
|
要获取/创建/删除/更新的记录名称。如果未指定 record_name;则无论 state 参数如何,所有域记录都将在“result”中返回。 |
|
记录的“生存时间”。记录在 DNS 服务器中缓存的秒数。 默认值: |
|
记录类型。 选项
|
|
记录值。HTTPRED:<重定向 URL>,MX:<优先级> <目标名称>,NS:<名称服务器>,PTR:<目标名称>,SRV:<优先级> <权重> <端口> <目标名称>,TXT:<文本值>“ 如果未指定 record_value;则不会进行任何更改,并且记录将在‘result’中返回(换句话说,此模块可用于获取记录的当前 id、类型和 ttl)。 |
|
决定是否应使用沙盒 API。否则(默认情况下)将使用 DNS Made Easy 的生产 API。 选项
|
|
监控在发生故障转移之前执行的检查次数,其中低 = 8,中 = 5,高 = 3。 选项
|
|
记录是否存在 选项
|
|
监控器使用的描述。 默认值: |
|
如果 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:不支持 |
可以在 |
|
支持:不支持 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
备注
注意
DNS Made Easy 服务要求与 API 交互的机器设置正确的日期和时间区域。请使用 NTP 确保您的时间与实际时间相差几秒钟以内。
当 'state' 设置为 'present' 时,此模块在“result”元素中返回记录和监控器。这些值可以在您的剧本中注册和使用。
只有 A 记录可以具有监控器或故障转移。
要添加故障转移,需要 'failover'、'autoFailover'、'port'、'protocol'、'ip1' 和 'ip2' 选项。
要添加监控器,需要 'monitor'、'port'、'protocol'、'maxEmails'、'systemDescription' 和 'ip1' 选项。
监控器和故障转移将共享 'port'、'protocol' 和 'ip1' 选项。
示例
- name: Fetch my.com domain records
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
register: response
- name: Create a record
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
- name: Update the previously created record
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_value: 192.0.2.23
- name: Fetch a specific record
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
register: response
- name: Delete a record
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
record_type: A
state: absent
record_name: test
- name: Add a failover
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: true
ip1: 127.0.0.2
ip2: 127.0.0.3
- name: Add a failover
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: true
ip1: 127.0.0.2
ip2: 127.0.0.3
ip3: 127.0.0.4
ip4: 127.0.0.5
ip5: 127.0.0.6
- name: Add a monitor
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: true
ip1: 127.0.0.2
protocol: HTTP # default
port: 80 # default
maxEmails: 1
systemDescription: Monitor Test A record
contactList: my contact list
- name: Add a monitor with http options
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: true
ip1: 127.0.0.2
protocol: HTTP # default
port: 80 # default
maxEmails: 1
systemDescription: Monitor Test A record
contactList: 1174 # contact list id
httpFqdn: http://my.com
httpFile: example
httpQueryString: some string
- name: Add a monitor and a failover
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: true
ip1: 127.0.0.2
ip2: 127.0.0.3
monitor: true
protocol: HTTPS
port: 443
maxEmails: 1
systemDescription: monitoring my.com status
contactList: emergencycontacts
- name: Remove a failover
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: false
- name: Remove a monitor
community.general.dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: false