domain

Synopsis

  • Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the DigitalOcean DNS interface.

  • This module establishes top-level control over each domain.

  • Actions that affect individual domain records should be taken on the domain_record module.

  • View the API documentation at https://docs.digitalocean.com/reference/api/api-reference/#tag/Domains.

Requirements

  • pydo >= 0.1.3
  • azure-core >= 1.26.1

Parameters

Parameter Choices Default Comments
client_override_options
(dict)
Client override options (developer use). For example, can be used to override the DigitalOcean API endpoint for an internal test suite. If provided, these options will knock out existing options.
ip_address
(str)
This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.
module_override_options
(dict)
Module override options (developer use). Can be used to override module options to support experimental or future options. If provided, these options will knock out existing options.
name
(str)
The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, example.com is a valid domain name.
state
(str)
  • present
  • absent
present State of the resource, present to create, absent to destroy.
timeout
(int)
300 Polling timeout in seconds.
token
(str)
DigitalOcean API token. There are several environment variables which can be used to provide this value. DIGITALOCEAN_ACCESS_TOKEN, DIGITALOCEAN_TOKEN, DO_API_TOKEN, DO_API_KEY, DO_OAUTH_TOKEN and OAUTH_TOKEN

Examples

- name: Create domain
  digitalocean.cloud.domain:
    token: "{{ token }}"
    name: my-test-domain.com

- name: Create domain and apex record
  digitalocean.cloud.domain:
    token: "{{ token }}"
    name: my-test-domain.com
    ip_address: 192.168.100.50

Return Values

Key Returned Description
domain
(dict)
always Domain.

Sample:

{
  "name": "example.com",
  "ttl": 1800,
  "zone_file": "$ORIGIN example.com.\n$TTL 1800\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1672671168 10800 3600 604800 1800\nexample.com. 1800 IN NS ns1.digitalocean.com.\nexample.com. 1800 IN NS ns2.digitalocean.com.\nexample.com. 1800 IN NS ns3.digitalocean.com.\n"
}
error
(dict)
failure DigitalOcean API error.

Sample:

{
  "Message": "Informational error message.",
  "Reason": "Unauthorized",
  "Status Code": 401
}
msg
(str)
always Domain result information.

Sample:

[
  "Created domain example.com",
  "Domain example.com exists",
  "Domain example.com would be created",
  "Domain example.com would be deleted",
  "Domain example.com does not exist"
]