community.digitalocean.digital_ocean_cdn_endpoints – Create, update, and delete DigitalOcean CDN Endpoints

Note

This plugin is part of the community.digitalocean collection (version 1.12.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.digitalocean.

To use it in a playbook, specify: community.digitalocean.digital_ocean_cdn_endpoints.

New in version 1.10.0: of community.digitalocean

Synopsis

  • Create, update, and delete DigitalOcean CDN Endpoints

Parameters

Parameter Choices/Defaults Comments
certificate_id
string
The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
custom_domain
string
The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.
oauth_token
string
DigitalOcean OAuth token.
There are several other environment variables which can be used to provide this value.
i.e., - 'DO_API_TOKEN', 'DO_API_KEY', 'DO_OAUTH_TOKEN' and 'OAUTH_TOKEN'

aliases: api_token
origin
string / required
The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN.
This is currently restricted to a Space.
state
string
    Choices:
  • present ←
  • absent
The usual, present to create, absent to destroy
timeout
integer
Default:
30
The timeout in seconds used for polling DigitalOcean's API.
ttl
integer
    Choices:
  • 60
  • 600
  • 3600
  • 86400
  • 604800
Default:
3600
The amount of time the content is cached by the CDN's edge servers in seconds.
TTL must be one of 60, 600, 3600, 86400, or 604800.
Defaults to 3600 (one hour) when excluded.
validate_certs
boolean
    Choices:
  • no
  • yes ←
If set to no, the SSL certificates will not be validated.
This should only set to no used on personally controlled sites using self-signed certificates.

Examples

- name: Create DigitalOcean CDN Endpoint
  community.digitalocean.digital_ocean_cdn_endpoints_info:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    origin: mamercad.nyc3.digitaloceanspaces.com

- name: Update DigitalOcean CDN Endpoint (change ttl to 600, default is 3600)
  community.digitalocean.digital_ocean_cdn_endpoints_info:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    origin: mamercad.nyc3.digitaloceanspaces.com
    ttl: 600

- name: Delete DigitalOcean CDN Endpoint
  community.digitalocean.digital_ocean_cdn_endpoints_info:
    state: absent
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    origin: mamercad.nyc3.digitaloceanspaces.com

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
data
dictionary
success
DigitalOcean CDN Endpoints

Sample:
{'data': {'endpoint': {'created_at': '2021-09-05T13:47:23Z', 'endpoint': 'mamercad.nyc3.cdn.digitaloceanspaces.com', 'id': '01739563-3f50-4da4-a451-27f6d59d7573', 'origin': 'mamercad.nyc3.digitaloceanspaces.com', 'ttl': 3600}}}


Authors

  • Mark Mercado (@mamercad)