New in version 2.1.
Manages dns records via the Cloudflare API, see the docs: https://api.cloudflare.com/
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| account_api_token |
yes | Account API token. You can obtain your API key from the bottom of the Cloudflare 'My Account' page, found here: https://www.cloudflare.com/a/account | ||
| account_email |
yes | Account email. | ||
| port |
no | Service port. Required for type=SRV | ||
| priority |
no | 1 | Record priority. Required for type=MX and type=SRV | |
| proto |
no |
|
Service protocol. Required for type=SRV | |
| record |
no | @ | Record to add. Required if state=present. Default is @ (e.g. the zone name)aliases: name | |
| service |
no | Record service. Required for type=SRV | ||
| solo |
no | Whether the record should be the only one for that record type and record name. Only use with state=presentThis will delete all other records with the same record name and type. | ||
| state |
no | present |
|
Whether the record(s) should exist or not |
| timeout |
no | 30 | Timeout for Cloudflare API calls | |
| ttl |
no | 1 (automatic) | The TTL to give the new record. Min 1 (automatic), max 2147483647 | |
| type |
no |
|
The type of DNS record to create. Required if state=present | |
| value |
no | The record value. Required for state=presentaliases: content | ||
| weight |
no | 1 | Service weight. Required for type=SRV | |
| zone |
yes | The name of the Zone to work with (e.g. "example.com"). The Zone must already exist. aliases: domain |
# create a test.my.com A record to point to 127.0.0.1 - cloudflare_dns: zone: my.com record: test type: A value: 127.0.0.1 account_email: test@example.com account_api_token: dummyapitoken register: record # create a my.com CNAME record to example.com - cloudflare_dns: zone: my.com type: CNAME value: example.com state: present account_email: test@example.com account_api_token: dummyapitoken # change it's ttl - cloudflare_dns: zone: my.com type: CNAME value: example.com ttl: 600 state: present account_email: test@example.com account_api_token: dummyapitoken # and delete the record - cloudflare_dns: zone: my.com type: CNAME value: example.com state: absent account_email: test@example.com account_api_token: dummyapitoken # create TXT record "test.my.com" with value "unique value" # delete all other TXT records named "test.my.com" - cloudflare_dns: domain: my.com record: test type: TXT value: unique value state: present solo: true account_email: test@example.com account_api_token: dummyapitoken # create a SRV record _foo._tcp.my.com - cloudflare_dns: domain: my.com service: foo proto: tcp port: 3500 priority: 10 weight: 20 type: SRV value: fooserver.my.com
Common return values are documented here Common Return Values, the following are the fields unique to this module:
| name | description | returned | type | sample | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| record | dictionary containing the record data | success, except on record deletion | dictionary | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| contains: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For more information on what this means please read Extras Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.