google.cloud.gcp_dns_managed_zone – Создаёт GCP ManagedZone
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud
Чтобы использовать его в книге задач, укажите: google.cloud.gcp_dns_managed_zone
Описание
- Зона — это поддерево пространства имён DNS, находящееся под одной административной ответственностью. ManagedZone — это ресурс, представляющий зону DNS, размещённую в службе Cloud DNS.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | ||
| description строка / обязательно | Изменяемая строка длиной не более 1024 символов, связанная с этим ресурсом для удобства пользователя. Не оказывает влияния на работу управляемой зоны. | |||
| dns_name строка / обязательно | Имя DNS этой управляемой зоны, например, "example.com.". | |||
| dnssec_config словарь | Настройка DNSSEC. | |||
| default_key_specs список / элементы=словарь | Определяет параметры, которые будут использоваться для генерации начальных ключей DnsKeys для этой ManagedZone. Если вы предоставляете спецификацию для keySigning или zoneSigning, вы также должны предоставить её для другой. default_key_specs может быть обновлен только при состоянии `off`. | |||
| algorithm строка | Строковое обозначение, указывающее алгоритм DNSSEC этого ключа. Некоторые допустимые значения: "ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512" | |||
| key_length целое число | Длина ключей в битах. | |||
| key_type строка | Указывает, является ли это ключом подписи ключа (KSK) или ключом подписи зоны (ZSK). Ключи подписи ключей имеют установленный флаг Secure Entry Point и, когда активны, будут использоваться только для подписи наборов записей ресурсов типа DNSKEY. Ключи подписи зоны не имеют установленного флага Secure Entry Point и будут использоваться для подписи всех других типов наборов записей ресурсов. Некоторые допустимые значения: "keySigning", "zoneSigning" | |||
| kind строка | По умолчанию: "dns#dnsKeySpec" | Идентифицирует вид ресурса. | ||
| kind строка | По умолчанию: "dns#managedZoneDnsSecConfig" | Идентифицирует вид ресурса. | ||
| non_existence строка | Определяет механизм, используемый для предоставления аутентифицированных ответов об отсутствии. non_existence может быть обновлён только при состоянии `off`. Некоторые допустимые значения: "nsec", "nsec3" | |||
| state строка | Определяет, включена ли DNSSEC и в каком режиме она находится. Некоторые допустимые значения: "off", "on", "transfer" | |||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это значение не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов API. | |||
| forwarding_config словарь | Наличие этого поля указывает, что обратный проброс включён для этой зоны. Значение этого поля содержит набор пунктов назначения для перенаправления. | |||
| target_name_servers список / элементы=словарь / обязательно | Список целевых имен серверов для перенаправления. Cloud DNS выберет лучший доступный сервер имен, если указано более одного целевого объекта. | |||
| forwarding_path строка | Путь переадресации для этого TargetNameServer. Если не задано или `default`, Cloud DNS примет решение о переадресации на основе диапазонов адресов, т. е. адреса RFC1918 направляются в VPC, адреса не RFC1918 — в Интернет. При значении `private` Cloud DNS всегда будет отправлять запросы через VPC для этого целевого сервера. Некоторые допустимые значения: "default", "private" | |||
| ipv4_address строка / обязательно | IPv4-адрес целевого сервера имен. | |||
| labels словарь | Набор пар ключ/значение меток для назначения этой ManagedZone. | |||
| name строка / обязательно | Назначенное пользователем имя для этого ресурса. Должно быть уникальным в проекте. | |||
| name_server_set строка | Необязательно указывает NameServerSet для этой ManagedZone. NameServerSet — это набор серверов DNS, все из которых размещают одни и те же ManagedZone. Большинство пользователей оставят это поле незаполненным. | |||
| peering_config словарь | Наличие этого поля указывает, что взаимное использование DNS включено для этой зоны. Значение этого поля содержит сеть для взаимного использования. | |||
| target_network словарь / обязательно | Сеть, с которой необходимо установить взаимное использование. | |||
| network_url строка / обязательно | Полный URL сети VPC для переадресации запросов. Должен быть отформатирован как `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`. | |||
| private_visibility_config словарь | Для зон с частной видимостью набор ресурсов Virtual Private Cloud, из которых зона видна. | |||
| networks список / элементы=словарь / обязательно | Список сетей VPC, которые могут видеть эту зону. | |||
| network_url строка / обязательно | Полный URL сети VPC, к которой необходимо привязаться. Должен быть отформатирован как `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`. | |||
| project строка | Проект Google Cloud Platform, который следует использовать. | |||
| scopes список / элементы=строка | Массив используемых областей. | |||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как JSON-строка, его представляющая. | |||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если тип выбран как serviceaccount. | |||
| state строка |
| Требуется ли существование данного объекта в GCP | ||
| visibility строка | По умолчанию: "public" | Видимость зоны: публичные зоны доступны в Интернете, а частные зоны видны только ресурсам Virtual Private Cloud. Некоторые допустимые значения: "private", "public" | ||
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/dns/api/v1/managedZones
- Управление зонами: https://cloud.google.com/dns/zones/
- для аутентификации можно установить service_account_file с помощью переменной среды
gcp_service_account_file. - для аутентификации можно установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использованы только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a managed zone
google.cloud.gcp_dns_managed_zone:
name: test_object
dns_name: test.somewild2.example.com.
description: test zone
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| creationTime строка | успех | Время создания этого ресурса на сервере. Формат — RFC3339. | ||
| description строка | успех | Изменяемая строка длиной не более 1024 символов, связанная с этим ресурсом для удобства пользователя. Не влияет на работу управляемой зоны. | ||
| dnsName строка | успех | Имя DNS этой управляемой зоны, например, "example.com.". | ||
| dnssecConfig сложный | успех | Настройка DNSSEC. | ||
| defaultKeySpecs сложный | успех | Указывает параметры, которые будут использоваться для генерации начальных DnsKeys для этой ManagedZone. Если вы предоставляете спецификацию для keySigning или zoneSigning, вы также должны предоставить её для другого. default_key_specs могут быть обновлены только в состоянии `off`. | ||
| algorithm строка | успех | Мемоническая строка, определяющая алгоритм DNSSEC этого ключа. | ||
| keyLength целое число | успех | Длина ключей в битах. | ||
| keyType строка | успех | Указывает, является ли это ключом подписания ключа (KSK) или ключом подписания зоны (ZSK). Ключи подписания ключей имеют установленный флаг Secure Entry Point и, когда активны, будут использоваться только для подписания наборов записей ресурсов типа DNSKEY. Ключи подписания зон не имеют установленного флага Secure Entry Point и будут использоваться для подписания всех других типов наборов записей ресурсов. | ||
| kind строка | успех | Определяет, какой вид ресурса это. | ||
| kind строка | успех | Определяет, какой вид ресурса это. | ||
| nonExistence строка | успех | Указывает механизм, используемый для предоставления аутентифицированных ответов об отсутствии ресурсов. non_existence может быть обновлен только при состоянии `off`. | ||
| state строка | успех | Указывает, включён ли DNSSEC и в каком режиме. | ||
| forwardingConfig сложный | успех | Наличие этого поля указывает на то, что обратное перенаправление включено для этой зоны. Значение этого поля содержит набор пунктов назначения для перенаправления. | ||
| targetNameServers сложный | успех | Список целевых имен серверов для перенаправления. Cloud DNS выберет лучший доступный сервер, если задано несколько целей. | ||
| forwardingPath строка | успех | Путь перенаправления для этого TargetNameServer. Если не задано или `default`, Cloud DNS примет решение о перенаправлении на основе диапазонов адресов, т.е. адреса RFC1918 направляются в VPC, адреса, не являющиеся RFC1918, направляются в Интернет. При установке в значение `private`, Cloud DNS всегда будет отправлять запросы через VPC для этой цели. | ||
| ipv4Address строка | успех | IPv4-адрес целевого имени сервера. | ||
| id целое число | успех | Уникальный идентификатор ресурса; определён сервером. | ||
| labels словарь | успех | Набор пар ключ/значение меток для назначения этой ManagedZone. | ||
| name строка | успех | Присвоенное пользователем имя для этого ресурса. Должно быть уникальным в рамках проекта. | ||
| nameServers список / элементы=строка | успех | Делегируйте свою управляемую зону этим виртуальным серверам имен; определяется сервером. | ||
| nameServerSet строка | успех | Необязательно указывает NameServerSet для этой ManagedZone. NameServerSet — это набор DNS-серверов, на которых размещаются все ManagedZones. Большинство пользователей оставят это поле незаполненным. | ||
| peeringConfig сложный | успех | Наличие этого поля указывает на то, что DNS Peering включено для этой зоны. Значение этого поля содержит сеть для подключения. | ||
| targetNetwork сложный | успех | Сеть, с которой нужно установить подключение. | ||
| networkUrl строка | успех | Полный URL сети VPC, к которой будут перенаправляться запросы. Должен быть отформатирован как `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`. | ||
| privateVisibilityConfig сложный | успех | Для частных зон, набор ресурсов Virtual Private Cloud, из которых зона видна. | ||
| networks сложный | успех | Список сетей VPC, которые могут видеть эту зону. | ||
| networkUrl строка | успех | Полный URL сети VPC, к которой нужно подключиться. Должен быть отформатирован как `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`. | ||
| visibility строка | успех | Видимость зоны: публичные зоны доступны через Интернет, а частные зоны видны только для ресурсов Virtual Private Cloud. | ||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_dns_managed_zone_module.html