community.dns.hetzner_dns_record_set_info 模块 – 在 Hetzner DNS 服务中检索记录集

注意

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

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

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

要在 playbook 中使用它,请指定:community.dns.hetzner_dns_record_set_info

community.dns 2.0.0 中的新增功能

概要

  • 检索 Hetzner DNS 服务中的 DNS 记录集。

参数

参数

注释

hetzner_token

别名:api_token

字符串 / 必需

Hetzner API 的令牌。

如果未提供,将从环境变量 HETZNER_DNS_TOKEN 中读取。

前缀

字符串

在 community.dns 0.2.0 中添加

DNS 记录的前缀。

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

如果 whatsingle_recordall_types_for_record,则需要 recordprefix 中的一个。

记录

字符串

要检索的完整 DNS 记录。

如果 whatsingle_recordall_types_for_record,则需要 recordprefix 中的一个。

txt_character_encoding

字符串

在 community.dns 2.5.0 中添加

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

默认值在 community.dns 3.0.0 中更改为 decimal。之前,默认值曾经是 octaldecimal 值与 RFC 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" ←(默认)

类型

字符串

要检索的 DNS 记录的类型。

whatsingle_record 时,此项为必填项。

选择

  • "A"

  • "AAAA"

  • "CAA"

  • "CNAME"

  • "DANE"

  • "DS"

  • "HINFO"

  • "MX"

  • "NS"

  • "RP"

  • "SOA"

  • "SRV"

  • "TLSA"

  • "TXT"

what

字符串

描述是获取单个记录和类型组合,还是获取一个记录的所有类型,或者获取所有记录。默认情况下,获取单个记录和类型组合。

请注意,返回值结构取决于此选项。

选择

  • "single_record" ← (默认)

  • "all_types_for_record"

  • "all_records"

zone_id

字符串

在 community.dns 0.2.0 中添加

要修改的 DNS 区域的 ID。

必须指定 zone_namezone_id 中的一个。

zone_name

别名: zone

字符串

要修改的 DNS 区域。

必须指定 zone_namezone_id 中的一个。

属性

属性

支持

描述

action_group

操作组: community.dns.hetzner

在 community.dns 2.4.0 中添加

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

check_mode

支持: 完整

此操作不修改状态。

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

diff_mode

支持: 不适用

此操作不修改状态。

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

另请参阅

另请参阅

community.dns.hetzner_dns_record_info

检索 Hetzner DNS 服务中的记录。

community.dns.hetzner_dns_records 清单插件

从 Hetzner DNS 记录创建清单。

示例

- name: Retrieve the details for the A records of new.foo.com
  community.dns.hetzner_dns_record_set_info:
    zone: foo.com
    record: new.foo.com
    type: A
    hetzner_token: access_token
  register: rec

- name: Print the A record set
  ansible.builtin.debug:
    msg: "{{ rec.set }}"

返回值

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

描述

set

字典

获取的记录集。如果记录集不存在,则为空。

返回: 成功且 whatsingle_record

示例: {"record": "sample.example.com", "ttl": 3600, "type": "A", "value": ["1.2.3.4", "1.2.3.5"]}

前缀

字符串

在 community.dns 0.2.0 中添加

记录前缀。

返回: 成功

示例: "sample"

记录

字符串

记录名称。

返回: 成功

示例: "sample.example.com"

ttl

整数

TTL。

如果此集中存在具有不同 TTL 的记录,则此处将显示 TTL 的最小值。

如果使用该区域的默认 TTL,将返回 none

返回: 成功

示例: 3600

ttls

列表 / elements=整数

如果此集中存在具有不同 TTL 值的记录,这将是记录中出现的 TTL 列表。

每个不同的 TTL 将出现一次,并且 TTL 按升序排列。

返回: 当存在多个不同的 TTL 时

示例: [300, 3600]

类型

字符串

DNS 记录类型。

返回: 成功

示例: "A"

value

列表 / elements=字符串

DNS 记录集的值。

返回: 成功

示例: ["1.2.3.4", "1.2.3.5"]

sets

列表 / elements=字典

获取的记录集列表。

返回: 成功且 what 不为 single_record

示例: [{"record": "sample.example.com", "ttl": 3600, "type": "A", "value": ["1.2.3.4", "1.2.3.5"]}]

前缀

字符串

在 community.dns 0.2.0 中添加

记录前缀。

返回: 成功

示例: "sample"

记录

字符串

记录名称。

返回: 成功

示例: "sample.example.com"

ttl

整数

TTL。

如果此集中存在具有不同 TTL 的记录,则此处将显示 TTL 的最小值。

如果使用该区域的默认 TTL,将返回 none

返回: 成功

示例: 3600

ttls

列表 / elements=整数

如果此集中存在具有不同 TTL 值的记录,这将是记录中出现的 TTL 列表。

每个不同的 TTL 将出现一次,并且 TTL 按升序排列。

返回: 当存在多个不同的 TTL 时

示例: [300, 3600]

类型

字符串

DNS 记录类型。

返回: 成功

示例: "A"

value

列表 / elements=字符串

DNS 记录集的值。

返回: 成功

示例: ["1.2.3.4", "1.2.3.5"]

zone_id

字符串

在 community.dns 0.2.0 中添加

区域的 ID。

返回: 成功

示例: "23"

作者

  • Markus Bergholz (@markuman)

  • Felix Fontein (@felixfontein)