community.dns.hosttech_dns_record 模块 – 在 Hosttech DNS 服务中添加或删除单个记录

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.dns。您需要更多要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:community.dns.hosttech_dns_record

community.dns 2.0.0 中的新增功能

概要

  • 在 Hosttech DNS 服务中创建和删除单个 DNS 记录。

  • 如果您不想添加/删除值,而是替换值,您将对修改记录集而不是单个记录感兴趣。当使用 CNAMESOA 记录时,这一点尤其重要。使用 community.dns.hosttech_dns_record_set 模块来处理记录集。

  • 记录通过前缀/记录名称和值进行匹配。

  • 此模块替换 2.0.0 之前的 community.dns 中的 hosttech_dns_record

要求

以下要求需要在执行此模块的主机上满足。

  • lxml

参数

参数

注释

hosttech_password

字符串

Hosttech API 用户的密码。

如果提供,则还必须提供 hosttech_username

hosttech_token 互斥。

hosttech_token

别名:api_token

字符串

在 community.dns 0.2.0 中添加

Hosttech API 用户的密码。

hosttech_usernamehosttech_password 互斥。

自 community.dns 1.2.0 起,可以使用别名 api_token

hosttech_username

字符串

Hosttech API 用户的用户名。

如果提供,则还必须提供 hosttech_password

hosttech_token 互斥。

prefix

字符串

DNS 记录的前缀。

这是 recordzone_name 之前的的部分。例如,如果要修改的记录是 www.example.com,区域为 example.com,则前缀为 www。如果此示例中的记录为 example.com,则前缀将为 ''(空字符串)。

必须指定 recordprefix 中的一个。

record

字符串

要创建或删除的完整 DNS 记录。

必须指定 recordprefix 中的一个。

state

字符串 / 必需

指定资源记录的状态。

选项

  • "present"

  • "absent"

ttl

整数

为新记录提供的 TTL(以秒为单位)。

这不用于记录删除。

默认值: 3600

txt_character_encoding

字符串

在 community.dns 2.5.0 中添加

是否将数字转义序列 (\xyz) 视为八进制或十进制数字。仅当 txt_transformation=quoted 时使用。

默认值在 community.dns 3.0.0 中更改为 decimal。之前,默认值是 octal。值 decimalRFC 1035 兼容。

选项

  • "decimal" ← (默认)

  • "octal"

txt_transformation

字符串

确定如何在 API 和此模块的输入和输出之间转换 TXT 条目值。

api 表示从此模块返回的值与从 API 返回的值相同,并且推送给 API 的值与传递给此模块的值相同。对于幂等性检查,输入字符串将与 API 返回的字符串进行比较。API 可能会自动转换某些值,例如拆分长值或添加引号,这可能会导致幂等性问题。

unquoted 会自动转换值,以便您可以传入不带引号的值,并且模块将返回不带引号的值。如果传入带引号的值,它们将被双引号引起来。

quoted 会自动转换值,以便您必须对包含空格、引号和反斜杠等字符以及长度超过 255 字节的值使用引号。它还确保以规范化的编码返回 API 中的值。

默认值 unquoted 确保您可以处理值,而无需关心如何为 DNS 正确添加引号。大多数用户应使用 unquotedquoted 中的一个,而不是 api

注意:转换代码假定值为 UTF-8 编码。如果需要其他编码,请使用 txt_transformation=api 并自行处理编码。

选项

  • "api"

  • "quoted"

  • "unquoted" ← (默认)

type

字符串 / 必需

要创建或删除的 DNS 记录的类型。

选项

  • "A"

  • "AAAA"

  • "CAA"

  • "CNAME"

  • "MX"

  • "NS"

  • "PTR"

  • "SPF"

  • "SRV"

  • "TXT"

value

字符串 / 必需

创建 DNS 记录时的新值。

删除记录时,必须指定记录的所有值,否则将不会删除该记录。

zone_id

整数

要修改的 DNS 区域的 ID。

必须指定 zone_namezone_id 中的一个。

zone_name

别名: zone

字符串

要修改的 DNS 区域。

必须指定 zone_namezone_id 中的一个。

属性

属性

支持

描述

action_group

操作组: community.dns.hosttech

在 community.dns 2.4.0 中添加

module_defaults 中使用 group/community.dns.hosttech 设置此模块的默认值。

check_mode

支持: 完全

可以在 check_mode 中运行,并返回已更改的状态预测,而无需修改目标。

diff_mode

支持: 完全

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

示例

- name: Add a new.foo.com A record
  community.dns.hosttech_dns_record:
    state: present
    zone: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value: 1.1.1.1
    hosttech_token: access_token

- name: Remove a new.foo.com A record
  community.dns.hosttech_dns_record:
    state: absent
    zone_name: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value: 2.2.2.2
    hosttech_token: access_token

返回值

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

描述

zone_id

整数

区域的 ID。

返回: 成功

示例: 23

作者

  • Felix Fontein (@felixfontein)