community.general.dnsimple 模块 – 与 dnsimple.com(一个 DNS 托管服务)交互

注意

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

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

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

要在 playbook 中使用它,请指定:community.general.dnsimple

概要

需求

执行此模块的主机需要以下需求。

  • dnsimple >= 2.0.0

参数

参数

注释

account_api_token

字符串

帐户 API 令牌。有关更多信息,请参阅 account_email

account_email

字符串

帐户邮箱。如果省略,将查找环境变量 DNSIMPLE_EMAILDNSIMPLE_API_TOKEN

如果找不到这些变量,将查找 .dnsimple 文件,请参阅:https://github.com/mikemaccana/dnsimple-python#getting-started

.dnsimple 配置文件仅在 dnsimple-python<2.0.0 中受支持

domain

字符串

要使用的域名。可以是域名(例如,“mydomain.com”)或 DNSimple 中域名的数字 ID。

如果省略,将返回域名列表。

如果存在 domain 但域名不存在,则将创建它。

priority

整数

记录优先级。

record

字符串

要添加的记录,如果为空,将为域名创建一个记录,支持通配符 (*)。

record_ids

列表 / 元素=字符串

要确保其存在或不存在的记录列表。

sandbox

布尔值

在 community.general 3.5.0 中添加

使用 DNSimple 沙箱环境。

需要在 dnsimple 沙箱环境中拥有专用帐户。

有关更多信息,请查看 https://developer.dnsimple.com/sandbox/

选项

  • false ← (默认)

  • true

solo

布尔值

记录是否应为此记录类型和记录名称的唯一记录。

仅与 state 设置为 present 的记录一起使用。

选项

  • false ← (默认)

  • true

state

字符串

记录是否存在。

选项

  • "present" ← (默认)

  • "absent"

ttl

整数

赋予新记录的 TTL(以秒为单位)。

默认值: 3600

type

字符串

要创建的 DNS 记录类型。

选项

  • "A"

  • "ALIAS"

  • "CNAME"

  • "MX"

  • "SPF"

  • "URL"

  • "TXT"

  • "NS"

  • "SRV"

  • "NAPTR"

  • "PTR"

  • "AAAA"

  • "SSHFP"

  • "HINFO"

  • "POOL"

  • "CAA"

value

字符串

记录值。

尝试确保记录存在时必须指定。

属性

属性

支持

描述

check_mode

支持:完全支持

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

diff_mode

支持:不支持

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

示例

- name: Authenticate using email and API token and fetch all domains
  community.general.dnsimple:
    account_email: [email protected]
    account_api_token: dummyapitoken
  delegate_to: localhost

- name: Delete a domain
  community.general.dnsimple:
    domain: my.com
    state: absent
  delegate_to: localhost

- name: Create a test.my.com A record to point to 127.0.0.1
  community.general.dnsimple:
    domain: my.com
    record: test
    type: A
    value: 127.0.0.1
  delegate_to: localhost
  register: record

- name: Delete record using record_ids
  community.general.dnsimple:
    domain: my.com
    record_ids: '{{ record["id"] }}'
    state: absent
  delegate_to: localhost

- name: Create a my.com CNAME record to example.com
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: present
  delegate_to: localhost

- name: Change TTL value for a record
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    ttl: 600
    state: present
  delegate_to: localhost

- name: Delete the record
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: absent
  delegate_to: localhost

作者

  • Alex Coomans (@drcapulet)