gcdns_record - Создание или удаление записей ресурсов в Google Cloud DNS
Новая версия 2.2.
- Описание
- Требования (к хосту, выполняющему модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Создаёт или удаляет записи ресурсов в Google Cloud DNS.
Требования (к хосту, выполняющему модуль)
- python >= 2.6
- apache-libcloud >= 0.19.0
Параметры
| параметр | обязателен | значение по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| credentials_file | нет | Путь к JSON-файлу, связанному с адресом электронной почты учетной записи службы. | ||
| overwrite | нет |
| Определяет, должно ли попытка перезаписи существующей записи завершиться успешно или неудачно. Поведение этого параметра зависит от параметра state. Если state равен present и overwrite равен True, этот модуль заменит существующую запись ресурса с тем же именем предоставленными данными record_data. Если state равен present и overwrite равен False, этот модуль завершится неудачно, если существует запись ресурса с тем же именем и типом, но с другими данными ресурса.Если state равен absent и overwrite равен True, этот модуль удалит заданную запись ресурса безусловно. Если state равен absent и overwrite равен False, этот модуль завершится неудачно, если предоставленные данные record_data не совпадают точно с данными записи ресурса. | |
| pem_file | нет | Путь к PEM-файлу, связанному с адресом электронной почты учетной записи службы. Этот параметр устарел и может быть удалён в будущих версиях. Используйте параметр credentials_file вместо него. | ||
| project_id | нет | Идентификатор проекта Google Cloud Platform, который следует использовать. | ||
| record | да | Полное доменное имя записи ресурса. псевдонимы: name | ||
| record_data | нет | Данные record_data для использования в записи ресурса.
record_data должен быть указан, если state равен present или overwrite равен True, иначе модуль завершится неудачно.Допустимые значения record_data зависят от типа записи. Кроме того, записи ресурсов, содержащие доменное имя DNS в поле значения (например, CNAME, PTR, SRV и т. д.) ДОЛЖНЫ содержать заключительную точку в значении. Отдельные строковые данные record_data для записей TXT должны быть заключены в двойные кавычки. Для записей ресурсов с одинаковым именем, но разными record_data (например, несколько записей A), они должны быть определены как несколько записей в списке в одной записи. псевдонимы: value | ||
| service_account_email | нет | Адрес электронной почты учетной записи службы с доступом к Google Cloud DNS. | ||
| state | нет | present |
| Указывает, должна ли заданная запись ресурса присутствовать или отсутствовать. |
| ttl | нет | 300 | Время кэширования записи ресурса кэширующим разрешителем в секундах. | |
| type | да |
| Тип записи ресурса, который следует добавить. | |
| zone | нет | Доменное имя DNS зоны (например, example.com). Один из параметров zone или zone_id должен быть указан, иначе модуль завершится неудачно. Если оба параметра zone и zone_id указаны, будет использован zone_id. | ||
| zone_id | нет | Идентификатор зоны Google Cloud (например, example-com). Один из параметров zone или zone_id должен быть указан, иначе модуль завершится неудачно. Обычно они имеют вид доменных имён, в которых точки заменены дефисами. В идентификаторе зоны никогда не будет точек.
zone_id может быть быстрее, чем zone в проектах с большим количеством зон. Если оба параметра zone и zone_id указаны, будет использован zone_id. |
Примеры
# Create an A record.
- gcdns_record:
record: 'www1.example.com'
zone: 'example.com'
type: A
value: '1.2.3.4'
# Update an existing record.
- gcdns_record:
record: 'www1.example.com'
zone: 'example.com'
type: A
overwrite: true
value: '5.6.7.8'
# Remove an A record.
- gcdns_record:
record: 'www1.example.com'
zone_id: 'example-com'
state: absent
type: A
value: '5.6.7.8'
# Create a CNAME record.
- gcdns_record:
record: 'www.example.com'
zone_id: 'example-com'
type: CNAME
value: 'www.example.com.' # Note the trailing dot
# Create an MX record with a custom TTL.
- gcdns_record:
record: 'example.com'
zone: 'example.com'
type: MX
ttl: 3600
value: '10 mail.example.com.' # Note the trailing dot
# Create multiple A records with the same name.
- gcdns_record:
record: 'api.example.com'
zone_id: 'example-com'
type: A
record_data:
- '192.0.2.23'
- '10.4.5.6'
- '198.51.100.5'
- '203.0.113.10'
# Change the value of an existing record with multiple record_data.
- gcdns_record:
record: 'api.example.com'
zone: 'example.com'
type: A
overwrite: true
record_data: # WARNING: All values in a record will be replaced
- '192.0.2.23'
- '192.0.2.42' # The changed record
- '198.51.100.5'
- '203.0.113.10'
# Safely remove a multi-line record.
- gcdns_record:
record: 'api.example.com'
zone_id: 'example-com'
state: absent
type: A
record_data: # NOTE: All of the values must match exactly
- '192.0.2.23'
- '192.0.2.42'
- '198.51.100.5'
- '203.0.113.10'
# Unconditionally remove a record.
- gcdns_record:
record: 'api.example.com'
zone_id: 'example-com'
state: absent
overwrite: true # overwrite is true, so no values are needed
type: A
# Create an AAAA record
- gcdns_record:
record: 'www1.example.com'
zone: 'example.com'
type: AAAA
value: 'fd00:db8::1'
# Create a PTR record
- gcdns_record:
record: '10.5.168.192.in-addr.arpa'
zone: '5.168.192.in-addr.arpa'
type: PTR
value: 'api.example.com.' # Note the trailing dot.
# Create an NS record
- gcdns_record:
record: 'subdomain.example.com'
zone: 'example.com'
type: NS
ttl: 21600
record_data:
- 'ns-cloud-d1.googledomains.com.' # Note the trailing dots on values
- 'ns-cloud-d2.googledomains.com.'
- 'ns-cloud-d3.googledomains.com.'
- 'ns-cloud-d4.googledomains.com.'
# Create a TXT record
- gcdns_record:
record: 'example.com'
zone_id: 'example-com'
type: TXT
record_data:
- '"v=spf1 include:_spf.google.com -all"' # A single-string TXT value
- '"hello " "world"' # A multi-string TXT value
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| название | описание | возвращаемое значение | тип | пример |
|---|---|---|---|---|
| overwrite | Указание, было ли модулю разрешено перезаписать запись | успех | boolean | True |
| record | Полное доменное имя записи ресурса | успех | строка | mail.example.com. |
| record_data | Значения записи ресурса | успех | список | ['5.6.7.8', '9.10.11.12'] |
| state | Указание, присутствует ли запись или отсутствует | успех | строка | present |
| ttl | Время жизни записи ресурса | успех | целое | 300 |
| type | Тип записи ресурса | успех | строка | A |
| zone | Имя домена зоны | успех | строка | example.com. |
| zone_id | Идентификатор зоны Google Cloud DNS | успех | строка | example-com |
Примечания
Примечание
- См. также gcdns_zone.
- В базовой библиотеке этого модуля не поддерживаются обновление записей ресурсов DNS на месте. Вместо этого записи ресурсов быстро удаляются и воссоздаются.
- Записи SOA технически поддерживаются, но их функциональность ограничена проверкой соответствия существующей записи SOA зоны предопределённому значению. Запись SOA обновить нельзя.
- Записи корневых NS не могут быть обновлены.
- Записи NAPTR не поддерживаются.
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Для получения помощи в разработке модулей, если у вас есть желание, пожалуйста, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/gcdns_record_module.html