community.digitalocean.digital_ocean_domain 模块 – 在 DigitalOcean 中创建/删除 DNS 域名

注意

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

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

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

要在 playbook 中使用它,请指定:community.digitalocean.digital_ocean_domain

概要

  • 在 DigitalOcean 中创建/删除 DNS 域名。

要求

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

  • python >= 2.6

参数

参数

注释

baseurl

字符串

DigitalOcean API 基本 URL。

默认值: "https://api.digitalocean.com/v2"

id

别名:droplet_id

整数

您要操作的 droplet ID。

ip

别名:ip4, ipv4

字符串

将使用值“ip”为“@”($ORIGIN) 创建一个“A”记录。“ip”是 IPv4 地址。

ip6

别名:ipv6

字符串

将使用值“ip6”为“@”($ORIGIN) 创建一个“AAAA”记录。“ip6”是 IPv6 地址。

name

字符串

droplet 的名称 - 必须按照主机名规则格式化,或者 SSH 密钥的名称,或者域的名称。

oauth_token

别名:api_token

字符串

DigitalOcean OAuth 令牌。

还有其他几个环境变量可用于提供此值。

例如,- DO_API_TOKENDO_API_KEYDO_OAUTH_TOKENOAUTH_TOKEN

project_name

别名:project

字符串

要将资源分配到的项目(项目名称,而不是 UUID)。

默认为帐户的默认项目(空字符串)。

目前仅在创建域时受支持。

默认值: ""

state

字符串

指示目标所需的 state。

选项

  • "present" ← (默认值)

  • "absent"

timeout

整数

用于轮询 DigitalOcean API 的超时时间(以秒为单位)。

默认值: 30

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

仅应在个人控制的使用自签名证书的站点上将其设置为 no

选项

  • false

  • true ← (默认值)

备注

注意

  • 环境变量 DO_OAUTH_TOKEN 可用于 oauth_token。

  • 从 Ansible 1.9.5 和 2.0 开始,使用 DigitalOcean API 的版本 2,这删除了 client_idapi_key 选项,而支持 oauth_token

  • 如果您正在运行 Ansible 1.9.4 或更早版本,您可能无法使用此模块的随附版本,因为使用的 API 版本已停用。

示例

- name: Create a domain
  community.digitalocean.digital_ocean_domain:
    state: present
    name: my.digitalocean.domain
    ip: 127.0.0.1

- name: Create a domain (and associate to Project "test")
  community.digitalocean.digital_ocean_domain:
    state: present
    name: my.digitalocean.domain
    ip: 127.0.0.1
    project: test

# Create a droplet and corresponding domain
- name: Create a droplet
  community.digitalocean.digital_ocean:
    state: present
    name: test_droplet
    size_id: 1gb
    region_id: sgp1
    image_id: ubuntu-14-04-x64
  register: test_droplet

- name: Create a corresponding domain
  community.digitalocean.digital_ocean_domain:
    state: present
    name: "{{ test_droplet.droplet.name }}.my.domain"
    ip: "{{ test_droplet.droplet.ip_address }}"

作者

  • Michael Gregson (@mgregson)