Ресурс google_compute_address
Синтаксис
Для проверки ресурса Google Address используется google_compute_address
Ресурс Beta
У этого ресурса доступны поля beta-версии. Чтобы получить доступ к этим полям, включите beta: true в конструктор ресурса
Примеры
describe google_compute_address(project: 'chef-gcp-inspec', location: 'europe-west2', name: 'inspec-gcp-global-address') do
it { should exist }
its('address') { should eq '10.2.0.3' }
its('address_type') { should eq 'INTERNAL' }
its('user_count') { should eq 0 }
end
describe google_compute_address(project: 'chef-gcp-inspec', location: 'europe-west2', name: 'nonexistent') do
it { should_not exist }
end
Проверка существования IP-адреса GCP compute address
describe google_compute_address(project: 'chef-inspec-gcp', location: 'europe-west2', name: 'compute-address') do
its('address_ip_exists') { should be true }
end
Проверка статуса GCP compute address
describe google_compute_address(project: 'chef-inspec-gcp', location: 'europe-west2', name: 'compute-address') do
its('status') { should eq "IN_USE" }
end
Проверка ожидаемого количества пользователей для IP-адреса GCP compute address
describe google_compute_address(project: 'chef-inspec-gcp', location: 'europe-west2', name: 'compute-address') do
its('user_count') { should eq 1 }
end
Проверка ожидаемого имени ресурса для первого пользователя GCP compute address
describe google_compute_address(project: 'chef-inspec-gcp', location: 'europe-west2', name: 'compute-address') do
its('user_resource_name') { should eq "gcp_ext_vm_name" }
end
Свойства
Свойства, доступные для ресурса google_compute_address:
address- Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес может быть указан только для типов адресов INTERNAL. IP-адрес должен находиться в указанной подсети, если таковая имеется.
address_type- Тип резервируемого адреса.
Возможные значения:
- INTERNAL
- EXTERNAL
creation_timestamp- Дата и время создания в формате RFC3339.
description- Необязательное описание этого ресурса.
id- Уникальный идентификатор ресурса.
name- Имя ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. То есть длина должна быть от 1 до 63 символов и соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. purpose- Назначение этого ресурса, которое может быть одним из следующих значений: - GCE_ENDPOINT для адресов, используемых виртуальными машинами, диапазонами IP-адресов алиасов, внутренними балансировщиками и подобными ресурсами. Это значение должно быть установлено только при использовании внутреннего адреса.
Возможные значения:
- GCE_ENDPOINT
network_tier- Сеть, используемая для настройки этого адреса. Если это поле не указано, предполагается, что это PREMIUM.
Возможные значения:
- PREMIUM
- STANDARD
subnetwork- URL подсети, в которой нужно зарезервировать адрес. Если указан IP-адрес, он должен находиться в диапазоне IP-адресов подсети. Это поле может использоваться только с типом адреса INTERNAL с целями GCE_ENDPOINT/DNS_RESOLVER.
users- URL ресурсов, которые используют этот адрес.
labels- (Только для Beta) Метки для применения к этому адресу. Список пар ключ-значение.
label_fingerprint- (Только для Beta) Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется внутри при обновлениях.
status- Статус адреса, который может быть одним из следующих: RESERVING, RESERVED или IN_USE. Адрес RESERVING в настоящее время резервируется. Адрес RESERVED в настоящее время зарезервирован и доступен для использования. Адрес IN_USE в настоящее время используется другим ресурсом и недоступен.
Возможные значения:
- RESERVING
- RESERVED
- IN_USE
region- URL региона, в котором находится региональный адрес. Это поле не применимо к глобальным адресам.
Разрешения GCP
Убедитесь, что API Compute Engine включен для текущего проекта.
© 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_compute_address/