community.general.cloudflare_dns – Управление записями DNS в Cloudflare
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.cloudflare_dns.
Обзор
- Управляет записями DNS через API Cloudflare, см. документацию: https://api.cloudflare.com/.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account_api_key строка | Ключ API учетной записи. Необходим для аутентификации по ключам API. Вы можете получить свой ключ API в нижней части страницы Cloudflare «Мой аккаунт»: https://dash.cloudflare.com/. псевдонимы: account_api_token | |
| account_email строка | Электронная почта учетной записи. Требуется для аутентификации по ключам API. | |
| algorithm целое число | Номер алгоритма. Требуется для type=DS и type=SSHFP при state=present. | |
| api_token строка добавлен в 0.2.0 community.general | Токен API. Необходим для аутентификации по токену API. Вы можете получить свой токен API в нижней части страницы Cloudflare «Мой аккаунт»: https://dash.cloudflare.com/. Может быть указан в переменной среды CLOUDFLARE_TOKEN с версии community.general 2.0.0. | |
| cert_usage целое число |
| Номер использования сертификата. Требуется для type=TLSA при state=present. |
| hash_type целое число |
| Номер типа хеша. Требуется для type=DS, type=SSHFP и type=TLSA при state=present. |
| key_tag целое число | Тег ключа DNSSEC. Необходим для type=DS при state=present. | |
| port целое число | Порт службы. Требуется для type=SRV и type=TLSA. | |
| priority целое число | Значение по умолчанию: 1 | Приоритет записи. Требуется для type=MX и type=SRV
|
| proto строка | Протокол службы. Требуется для type=SRV и type=TLSA.Общие значения - TCP и UDP. До Ansible 2.6 доступны только TCP и UDP. | |
| proxied логическое значение |
| Проксирование через сеть Cloudflare или просто использование DNS. |
| record строка | Значение по умолчанию: "@" | Запись для добавления. Требуется, если state=present.Значение по умолчанию @ (например, имя зоны).псевдонимы: name |
| selector целое число |
| Номер селектора. Требуется для type=TLSA при state=present. |
| service строка | Служба записи. Требуется для type=SRV. | |
| solo логическое значение |
| Должна ли запись быть единственной для данного типа и имени записи. Используйте только с state=present.Это удалит все другие записи с тем же именем и типом записи. |
| state строка |
| Существует ли запись(и) или нет. |
| timeout целое число | Значение по умолчанию: 30 | Таймаут для вызовов API Cloudflare. |
| ttl целое число | Значение по умолчанию: 1 | Значение TTL для новой записи. Должно быть между 120 и 2 147 483 647 секундами или 1 для автоматического значения. |
| type строка |
| Тип записи DNS для создания. Требуется, если state=present.type=DS, type=SSHFP и type=TLSA добавлены в Ansible 2.7. |
| value строка | Значение записи. Требуется для state=present.псевдонимы: content | |
| weight целое число | Значение по умолчанию: 1 | Вес службы. Требуется для type=SRV. |
| zone строка / требуется | Имя зоны для работы (например, "example.com"). Должна существовать. псевдонимы: domain |
Примеры
- name: Create a test.example.net A record to point to 127.0.0.1
community.general.cloudflare_dns:
zone: example.net
record: test
type: A
value: 127.0.0.1
account_email: test@example.com
account_api_key: dummyapitoken
register: record
- name: Create a record using api token
community.general.cloudflare_dns:
zone: example.net
record: test
type: A
value: 127.0.0.1
api_token: dummyapitoken
- name: Create a example.net CNAME record to example.com
community.general.cloudflare_dns:
zone: example.net
type: CNAME
value: example.com
account_email: test@example.com
account_api_key: dummyapitoken
state: present
- name: Change its TTL
community.general.cloudflare_dns:
zone: example.net
type: CNAME
value: example.com
ttl: 600
account_email: test@example.com
account_api_key: dummyapitoken
state: present
- name: Delete the record
community.general.cloudflare_dns:
zone: example.net
type: CNAME
value: example.com
account_email: test@example.com
account_api_key: dummyapitoken
state: absent
- name: Create a example.net CNAME record to example.com and proxy through Cloudflare's network
community.general.cloudflare_dns:
zone: example.net
type: CNAME
value: example.com
proxied: yes
account_email: test@example.com
account_api_key: dummyapitoken
state: present
# This deletes all other TXT records named "test.example.net"
- name: Create TXT record "test.example.net" with value "unique value"
community.general.cloudflare_dns:
domain: example.net
record: test
type: TXT
value: unique value
solo: true
account_email: test@example.com
account_api_key: dummyapitoken
state: present
- name: Create an SRV record _foo._tcp.example.net
community.general.cloudflare_dns:
domain: example.net
service: foo
proto: tcp
port: 3500
priority: 10
weight: 20
type: SRV
value: fooserver.example.net
- name: Create a SSHFP record login.example.com
community.general.cloudflare_dns:
zone: example.com
record: login
type: SSHFP
algorithm: 4
hash_type: 2
value: 9dc1d6742696d2f51ca1f1a78b3d16a840f7d111eb9454239e70db31363f33e1
- name: Create a TLSA record _25._tcp.mail.example.com
community.general.cloudflare_dns:
zone: example.com
record: mail
port: 25
proto: tcp
type: TLSA
cert_usage: 3
selector: 1
hash_type: 1
value: 6b76d034492b493e15a7376fccd08e63befdad0edab8e442562f532338364bf3
- name: Create a DS record for subdomain.example.com
community.general.cloudflare_dns:
zone: example.com
record: subdomain
type: DS
key_tag: 5464
algorithm: 8
hash_type: 2
value: B4EB5AC4467D2DFB3BAF9FB9961DC1B6FED54A58CDFAA3E465081EC86F89BFAB
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| record сложный | успех, за исключением удаления записи | Словарь, содержащий данные записи. | |
| content строка | успех | Контент записи (подробности зависят от типа записи). Пример: 192.0.2.91 | |
| created_on строка | успех | Дата создания записи. Пример: 2016-03-25T19:09:42.516553Z | |
| data словарь | успех, если тип SRV, DS, SSHFP или TLSA | Дополнительные данные записи. Пример: {'name': 'jabber', 'port': 8080, 'priority': 10, 'proto': '_tcp', 'service': '_xmpp', 'target': 'jabberhost.sample.com', 'weight': 5} | |
| id строка | успех | Идентификатор записи. Пример: f9efb0549e96abcb750de63b38c9576e | |
| locked булево | успех | Доступная документация отсутствует. | |
| meta словарь | успех | Доступная документация отсутствует. Пример: {'auto_added': False} | |
| modified_on строка | успех | Дата изменения записи. Пример: 2016-03-25T19:09:42.516553Z | |
| name строка | успех | Имя записи как FQDN (включая _service и _proto для SRV). Пример: www.sample.com | |
| priority целое число | успех, если тип MX | Приоритет записи MX. Пример: 10 | |
| proxiable булево | успех | Можно ли проксировать эту запись через Cloudflare. | |
| proxied булево | успех | Запись проксируется через Cloudflare. | |
| ttl целое число | успех | Время жизни записи. Пример: 300 | |
| type строка | успех | Тип записи. Пример: A | |
| zone_id строка | успех | Идентификатор зоны, содержащей запись. Пример: abcede0bf9f0066f94029d2e6b73856a | |
| zone_name строка | успех | Имя зоны, содержащей запись. Пример: sample.com | |
Авторы
- Michael Gruener (@mgruener)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/cloudflare_dns_module.html