Ресурс google_dns_managed_zone
Синтаксис
Для проверки ресурса Google ManagedZone используется google_dns_managed_zone
Ресурс бета-версии
Этот ресурс содержит поля бета-версии. Для получения этих полей включите beta: true в конструктор ресурса
Примеры
describe google_dns_managed_zone(project: 'chef-gcp-inspec', zone: 'example-zone') do
it { should exist }
its('dns_name') { should cmp 'dns-zone-name.com.' }
its('description') { should cmp 'example description' }
its('zone_signing_key_algorithm') { should cmp 'rsasha256' }
its('key_signing_key_algorithm') { should cmp 'rsasha512' }
end
describe google_dns_managed_zone(project: 'chef-gcp-inspec', zone: 'nonexistent') do
it { should_not exist }
end
Проверка существования зоны GCP compute
describe google_dns_managed_zone(project: 'chef-inspec-gcp', zone: 'zone-name') do
it { should exist }
end
Проверка, что у управляемой зоны GCP DNS есть ожидаемое имя DNS
describe google_dns_managed_zone(project: 'chef-inspec-gcp', zone: 'zone-name') do
its('dns_name') { should match 'mydomain.com' }
end
Проверка, что у управляемой зоны GCP DNS есть ожидаемый имя сервера
describe google_dns_managed_zone(project: 'chef-inspec-gcp', zone: 'zone-name') do
its('name_servers') { should include 'ns-cloud-d1.googledomains.com.' }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_dns_managed_zone:
description- Изменяемая строка длиной не более 1024 символов, связанная с этим ресурсом для удобства пользователя. Не влияет на работу управляемой зоны.
dns_name- Имя DNS этой управляемой зоны, например, «example.com».
dnssec_config- Настройка DNSSEC
kind- Идентифицирует тип ресурса
non_existence- Определяет механизм, используемый для предоставления аутентифицированных ответов об отсутствии существования. non_existence может быть обновлен только при состоянии
off.Возможные значения:
- nsec
- nsec3
state- Определяет, включен ли DNSSEC и в каком режиме он находится
Возможные значения:
- выкл
- вкл
- передача
default_key_specs- Определяет параметры, которые будут использоваться для генерации начальных ключей Dns для этой управляемой зоны. Если вы предоставили спецификацию для 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- Идентифицирует тип ресурса
id- Уникальный идентификатор ресурса, определённый сервером.
name- Назначаемое пользователем имя для этого ресурса. Должно быть уникальным в рамках проекта.
name_servers- Делегируйте свою управляемую зону этим виртуальным серверам имен; определено сервером
name_server_set- Необязательно указывает NameServerSet для этой ManagedZone. NameServerSet — это набор DNS-серверов, на которых размещаются все ManagedZones. Большинство пользователей оставят это поле незаполненным.
creation_time- Время создания этого ресурса на сервере. Формат — RFC3339.
labels- Набор пар "ключ-значение" меток, которые нужно назначить этой управляемой зоне.
visibility- Видимость зоны: публичные зоны доступны в интернете, а частные зоны видны только ресурсам Virtual Private Cloud.
Возможные значения:
- private
- public
private_visibility_config- Для частных видимых зон набор ресурсов Virtual Private Cloud, с которых зона видна.
networks- Список VPC-сетей, которые могут видеть эту зону.
network_url- Полный квалифицированный URL VPC-сети для привязки. Должен быть отформатирован как
https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
forwarding_config- (Только бета) Наличие этого поля указывает на то, что для этой зоны включено обратное переадресация. Значение этого поля содержит набор пунктов назначения для переадресации.
target_name_servers- Список целевых серверов имен для переадресации. Cloud DNS выберет лучший доступный сервер имен, если указано более одного целевого сервера.
ipv4_address- IPv4-адрес целевого сервера имен.
forwarding_path- Маршрут переадресации для этого целевого сервера имен. Если не задано или
default, Cloud DNS будет принимать решение о переадресации на основе диапазонов адресов, т. е. адреса RFC1918 направляются в VPC, адреса, не относящиеся к RFC1918, — в Интернет. При установке значенияprivate, Cloud DNS всегда будет отправлять запросы через VPC для этого целевого сервераВозможные значения:
- default
- private
peering_config- (Только бета) Наличие этого поля указывает на то, что для этой зоны включено DNS-пееринг. Значение этого поля содержит сеть для пееринга.
target_network- Сеть для пееринга.
network_url- Полный квалифицированный URL VPC-сети для переадресации запросов. Должен быть отформатирован как
https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
reverse_lookup- (Только бета) Указывает, является ли это управляемой зоной обратного поиска. Если значение true, Cloud DNS будет разрешать запросы обратного поиска с использованием автоматически настроенных записей для ресурсов VPC. Это относится только к сетям, перечисленным в
private_visibility_config. service_directory_config- (Только бета) Наличие этого поля указывает на то, что эта зона поддерживается Service Directory. Значение этого поля содержит информацию, связанную с пространством имён, связанным с зоной.
namespace- Пространство имён, связанное с зоной.
namespace_url- Полный квалифицированный URL пространства имён каталога сервисов, который должен быть связан с зоной. Игнорируется для зон видимости
public.
Разрешения GCP
Убедитесь, что для текущего проекта включен API Google Cloud DNS.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_dns_managed_zone/