community.dns.hetzner_dns_record_set 模块 – 在 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
。
community.dns 2.0.0 中的新增功能
概要
在 Hetzner DNS 服务中创建和删除 DNS 记录集。
参数
参数 |
注释 |
---|---|
确定何时开始使用批量操作的阈值。 默认值 2 表示,如果计划执行 2 个或更多同种操作,并且 API 支持这种操作类型的批量操作,则将使用它们。 默认值: |
|
Hetzner API 的令牌。 如果未提供,将从环境变量 |
|
如果记录集已存在,但与指定的记录集不同,则此选项定义行为。对于此比较, 如果设置为 如果设置为 如果设置为 如果设置为 如果 选项
|
|
指定资源记录的状态。 选项
|
|
新记录的 TTL(以秒为单位)。 |
|
是否将数字转义序列 ( 默认值在 community.dns 3.0.0 中更改为 选项
|
|
确定如何在 API 和此模块的输入和输出之间转换 TXT 条目值。 值 值 值 默认值 注意:转换代码假定值的编码为 UTF-8。如果需要其他编码,请使用 选项
|
|
要创建或删除的 DNS 记录类型。 选项
|
|
创建 DNS 记录时的新值。 允许使用 YAML 列表或多个逗号分隔的值。 删除记录时,必须指定该记录的所有值,否则将不会删除该记录。 如果 如果 |
|
属性
属性 |
支持 |
描述 |
---|---|---|
操作组: community.dns.hetzner 在 community.dns 2.4.0 中添加 |
在 |
|
支持: full |
可以在 |
|
支持: full |
当处于 diff 模式时,将返回有关已更改的内容(或在 |
注释
注意
对于
CNAME
记录,请使用值的绝对 DNS 名称。绝对 DNS 名称以尾随句点.
结尾,例如foo.example.com.
。如果您使用不带尾随句点的相对 DNS 名称,则该值将相对于CNAME
记录的区域。
示例
- name: Add new.foo.com as an A record with 3 IPs
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: new.foo.com
type: A
ttl: 7200
value: 1.1.1.1,2.2.2.2,3.3.3.3
hetzner_token: access_token
- name: Update new.foo.com as an A record with a list of 3 IPs
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: new.foo.com
type: A
ttl: 7200
value:
- 1.1.1.1
- 2.2.2.2
- 3.3.3.3
hetzner_token: access_token
- name: Retrieve the details for 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: Delete new.foo.com A record using the results from the facts retrieval command
community.dns.hetzner_dns_record_set:
state: absent
zone: foo.com
record: "{{ rec.set.record }}"
ttl: "{{ rec.set.ttl }}"
type: "{{ rec.set.type }}"
value: "{{ rec.set.value }}"
hetzner_token: access_token
- name: Add an AAAA record
# Note that because there are colons in the value that the IPv6 address must be quoted!
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: localhost.foo.com
type: AAAA
ttl: 7200
value: "::1"
hetzner_token: access_token
- name: Add a TXT record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: localhost.foo.com
type: TXT
ttl: 7200
value: 'bar'
hetzner_token: access_token
- name: Remove the TXT record
community.dns.hetzner_dns_record_set:
state: absent
zone: foo.com
record: localhost.foo.com
type: TXT
ttl: 7200
value: 'bar'
hetzner_token: access_token
- name: Add a CAA record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: foo.com
type: CAA
value:
- '128 issue "letsencrypt.org"'
- '128 iodef "mailto:[email protected]"'
hetzner_token: access_token
- name: Add an MX record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: foo.com
type: MX
ttl: 3600
value:
- "10 mail.foo.com"
hetzner_token: access_token
- name: Add a CNAME record
community.dns.hetzner_dns_record_set:
state: present
zone: bla.foo.com
record: foo.com
type: CNAME
ttl: 3600
value:
- foo.foo.com
hetzner_token: access_token
- name: Add a PTR record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.foo.com
record: foo.com
type: PTR
ttl: 3600
value:
- foo.foo.com
hetzner_token: access_token
- name: Add an SPF record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: foo.com
type: SPF
ttl: 3600
value:
- "v=spf1 a mx ~all"
hetzner_token: access_token
- name: Add a PTR record
community.dns.hetzner_dns_record_set:
state: present
zone: foo.com
record: foo.com
type: PTR
ttl: 3600
value:
- "10 100 3333 service.foo.com"
hetzner_token: access_token
返回值
此处记录了常见的返回值 这里,以下是此模块特有的字段
键 |
描述 |
---|---|
区域的 ID。 返回: 成功 示例: |