google.cloud.gcp_dns_managed_zone – Создаёт GCP ManagedZone
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: 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 могут быть обновлены только когда состояние `выкл`. | |||
| 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 может быть обновлен только когда состояние `выкл`. Некоторые допустимые значения включают: "nsec", "nsec3" | |||
| state строка | Указывает, включена ли DNSSEC и в каком режиме она находится. Некоторые допустимые значения включают: "выкл", "вкл", "передача" | |||
| env_type строка | Указывает, в какой среде Ansible вы запускаете этот модуль. Не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для запросов API. | |||
| forwarding_config словарь | Наличие этого поля указывает, что для этой зоны включено обратное перенаправление. Значение этого поля содержит набор направлений для перенаправления. | |||
| target_name_servers список / элементы=словарь / обязательно | Список целевых имен серверов для перенаправления. Cloud DNS выберет лучший доступный сервер, если указано более одного целевого значения. | |||
| forwarding_path строка | Путь перенаправления для этого TargetNameServer. Если не задано или `default`, Cloud DNS примет решение о перенаправлении на основе диапазонов адресов, то есть адреса RFC1918 перенаправляются в VPC, адреса Non-RFC1918 — в Интернет. При установке значения `private` Cloud DNS всегда будет отправлять запросы через VPC для этого целевого значения. Некоторые допустимые значения включают: "default", "private" | |||
| ipv4_address строка / обязательно | IPv4-адрес целевого сервера имён. | |||
| labels словарь | Набор пар ключ/значение меток, которые необходимо назначить этой ManagedZone. | |||
| name строка / обязательно | Назначенное пользователем имя для этого ресурса. Должно быть уникальным в рамках проекта. | |||
| name_server_set строка | Необязательно указывает NameServerSet для этой ManagedZone. NameServerSet — это набор серверов DNS, на которых размещены все ManagedZones. Большинство пользователей оставят это поле незаполненным. | |||
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_dns_managed_zone_module.html