community.digitalocean.digital_ocean_domain_record 模块 – 管理 DigitalOcean 域名记录

注意

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

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

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

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

community.digitalocean 1.1.0 中的新增功能

概要

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

参数

参数

注释

data

字符串

这是记录的值,取决于记录类型。

domain

字符串 / 必需

域名。

flags

整数

用于 CAA 记录的 0-255 之间的无符号整数。

force_update

布尔值

如果已经存在具有相同 nametype 的记录,则强制更新它。

选项

  • false ← (默认)

  • true

name

字符串

A、 AAAA、 CNAME、 TXT、 SRV 记录必需。记录定义的主机名、别名或服务。

默认值: "@"

oauth_token

别名: API_TOKEN

字符串

DigitalOcean OAuth 令牌。可以在 DO_API_KEYDO_API_TOKENDO_OAUTH_TOKEN 环境变量中指定

port

整数

该服务可访问的端口,仅适用于 SRV 记录。

priority

整数

主机的优先级,用于 SRV、 MX 记录)。

record_id

整数

force_update=yesstate='absent' 一起使用,以更新或删除特定记录。

state

字符串

指示目标所需的状态。

选项

  • "present" ← (默认)

  • "absent"

tag

字符串

CAA 记录的参数标签。

选项

  • "issue"

  • "wildissue"

  • "iodef"

ttl

整数

记录的生存时间(以秒为单位)。

默认值: 1800

type

字符串

您要创建的记录类型。

选项

  • "A"

  • "AAAA"

  • "CNAME"

  • "MX"

  • "TXT"

  • "SRV"

  • "NS"

  • "CAA"

weight

整数

仅适用于 SRV 记录,具有相同优先级的记录的权重。

注释

注意

  • 使用 DigitalOcean API 的版本 2。

  • 目前,通过 API 发出的请求数量限制为每个 OAuth 令牌每小时 5,000 个。

示例

- name: Create default A record for example.com
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: A
    name: "@"
    data: 127.0.0.1

- name: Create A record for www
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: A
    name: www
    data: 127.0.0.1

- name: Update A record for www based on name/type/data
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: A
    name: www
    data: 127.0.0.2
    force_update: true

- name: Update A record for www based on record_id
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    record_id: 123456
    type: A
    name: www
    data: 127.0.0.2
    force_update: true

- name: Remove www record based on name/type/data
  community.digitalocean.digital_ocean_domain_record:
    state: absent
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: A
    name: www
    data: 127.0.0.1

- name: Remove www record based on record_id
  community.digitalocean.digital_ocean_domain_record:
    state: absent
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    record_id: 1234567

- name: Create CNAME records for www, git and status subdomains
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: CNAME
    name: "{{ item }}"
    data: example.com
  with_items:
    - www
    - git
    - status

- name: Create MX record with priority 10 for example.com
  community.digitalocean.digital_ocean_domain_record:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    domain: example.com
    type: MX
    data: mail1.example.com
    priority: 10

返回值

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

描述

data

字典

一个 DigitalOcean 域名记录

已返回: 成功

示例: {"data": "192.168.0.1", "flags": 16, "id": 3352896, "name": "www", "port": 5556, "priority": 10, "tag": "issue", "ttl": 3600, "type": "CNAME", "weight": 10}

作者

  • Adam Papai (@woohgit)