Ресурс google_compute_instance_template
Синтаксис
Используется google_compute_instance_template для проверки ресурса Google InstanceTemplate.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Чтобы получить эти поля, добавьте beta: true в конструктор ресурса.
Примеры
describe google_compute_instance_template(project: 'chef-gcp-inspec', name: 'inspec-gcp-instance-template') do
it { should exist }
its('description') { should eq 'A description of the instance template' }
its('properties.description') { should eq 'A description of the instance itself' }
its('properties.machine_type') { should eq 'f1-micro' }
its('properties.tags.items') { should include 'foo' }
its('properties.disks.count') { should eq 1 }
its('properties.disks.first.auto_delete') { should eq 'true' }
its('properties.disks.first.boot') { should eq 'true' }
its('properties.network_interfaces.count') { should eq 1 }
its('properties.service_accounts.count') { should eq 1 }
end
describe google_compute_instance_template(project: 'chef-gcp-inspec', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_compute_instance_template:
creation_timestamp- Дата создания в формате RFC3339.
description- Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
id- Уникальный идентификатор ресурса. Этот идентификатор определяется сервером.
name- Имя ресурса. Длина имени составляет от 1 до 63 символов и соответствует RFC1035.
properties
- Свойства экземпляра для этой шаблона экземпляра.
can_ip_forward- Разрешает экземплярам, созданным на основе этого шаблона, отправлять пакеты с адресами источника IP, отличными от их собственных, и получать пакеты с адресами назначения IP, отличными от их собственных. Если эти экземпляры будут использоваться как шлюз IP или будут установлены в качестве следующего узла в ресурсе маршрутизации, укажите true. В противном случае оставьте значение false.
description- Необязательное текстовое описание экземпляров, созданных по этому шаблону экземпляра.
disks- Массив дисков, связанных с экземплярами, созданными по этому шаблону.
licenses- Любой применимый URI лицензии.
auto_delete- Указывает, будет ли диск автоматически удален при удалении экземпляра (но не при отсоединении диска от экземпляра). Совет: диски следует установить в autoDelete=true, чтобы после удаления машины не оставались лишние диски.
boot- Указывает, что это системный диск. Виртуальная машина будет использовать первый раздел диска для своей файловой системы корневого каталога.
device_name- Указывает уникальное имя устройства по вашему выбору, которое отражается в дереве /dev/disk/by-id/google-* операционной системы Linux, работающей внутри экземпляра. Это имя можно использовать для ссылки на устройство для монтирования, изменения размера и т. д. внутри экземпляра.
disk_encryption_key- Шифрует или расшифровывает диск с помощью предоставленного пользователем ключа шифрования.
raw_key- Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в формате RFC 4648 base64 для шифрования или дешифрования этого ресурса.
rsa_encrypted_key- Указывает закодированный в формате RFC 4648 base64 ключ шифрования, предоставленный пользователем, в формате RSA с 2048 битами для шифрования или дешифрования этого ресурса.
sha256- Хэш SHA-256 ключа шифрования, предоставленного пользователем, в формате RFC 4648 base64, который защищает этот ресурс.
index- Присваивает этому диску индекс, начиная с нуля, где 0 зарезервирован для системного диска. Например, если к экземпляру подключено несколько дисков, каждый диск будет иметь уникальный индекс. Если не указано, сервер выберет соответствующее значение.
initialize_params- Указывает параметры нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания системных дисков или локальных SSD, подключенных к новому экземпляру.
disk_name- Указывает имя диска. Если не указано, используется имя экземпляра по умолчанию.
disk_size_gb- Указывает размер диска в гигабайтах в двоичной системе счисления.
disk_type- Ссылка на тип диска. Указывает тип диска для создания экземпляра. Если не указано, используется значение pd-standard по умолчанию.
source_image- Образ-источник для создания этого диска. При создании нового экземпляра требуется один из параметров initializeParams.sourceImage или disks.source. Чтобы создать диск с одним из общедоступных образов операционных систем, укажите образ по его семейному имени.
source_image_encryption_key- Ключ шифрования, предоставленный пользователем, образа-источника. Требуется, если образ-источник защищен ключом шифрования, предоставленным пользователем. Шаблоны экземпляров не хранят ключи шифрования, предоставленные пользователем, поэтому вы не можете создать диски для экземпляров в группе управляемых экземпляров, если образы-источники зашифрованы вашими ключами.
raw_key- Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в формате RFC 4648 base64 для шифрования или дешифрования этого ресурса.
sha256- Закодированный в формате RFC 4648 base64 хэш SHA-256 ключа шифрования, предоставленного пользователем, который защищает этот ресурс.
interface- Указывает интерфейс диска для подключения этого диска, который может быть SCSI или NVME. По умолчанию используется SCSI. Постоянные диски всегда должны использовать SCSI, и запрос завершится неудачно, если вы попытаетесь подключить постоянный диск в другом формате, кроме SCSI.
Возможные значения:
- SCSI
- NVME
mode- Режим подключения этого диска, либо READ_WRITE, либо READ_ONLY. Если не указано, по умолчанию диск подключается в режиме READ_WRITE.
Возможные значения:
- READ_WRITE
- READ_ONLY
source- Ссылка на диск. При создании нового экземпляра требуется один из параметров initializeParams.sourceImage или disks.source. Если необходимо, вы также можете подключить существующие постоянные диски, не являющиеся системными, с помощью этого свойства. Это поле применимо только для постоянных дисков. Обратите внимание, что для InstanceTemplate укажите имя диска, а не URL-адрес диска.
type- Указывает тип диска, либо SCRATCH, либо PERSISTENT. Если не указано, по умолчанию используется PERSISTENT.
Возможные значения:
- SCRATCH
- PERSISTENT
labels- Метки, применяемые к этому адресу. Список пар ключ-значение.
machine_type- Тип машины для использования в шаблоне виртуального экземпляра.
min_cpu_platform- Указывает минимальную платформу процессора для виртуального экземпляра. Применимы дружественные имена платформ процессоров.
metadata- Пары ключ-значение метаданных, которые необходимо назначить экземплярам, созданным по этому шаблону. Эти пары могут состоять из пользовательских метаданных или предопределенных ключей.
guest_accelerators- Список типов и количества ускорительных карт, подключенных к экземпляру.
accelerator_count- Количество гостевых ускорительных карт, доступных для этого экземпляра.
accelerator_type- Полный или частичный URL-адрес ресурса типа ускорителя, который необходимо предоставить этому экземпляру.
network_interfaces- Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, например, подключением к Интернету. Поддерживается только один сетевой интерфейс на экземпляр.
access_configs- Массив конфигураций для этого интерфейса. В настоящее время поддерживается только один тип доступа ONE_TO_ONE_NAT. Если конфигурации доступа не указаны, этот экземпляр не будет иметь внешнего доступа к Интернету.
name- Имя этой конфигурации доступа. По умолчанию и рекомендуется использовать имя External NAT, но вы можете использовать любую произвольную строку. Например, Мой внешний IP или Доступ к сети.
nat_ip- Ссылка на адрес. Внешний адрес IP, связанный с этим экземпляром. Укажите неиспользуемый статический внешний адрес IP, доступный для проекта, или оставьте это поле незаполненным, чтобы использовать IP из общего пула адресов IP. Если вы укажете статический внешний адрес IP, он должен находиться в той же области, что и зона экземпляра.
type- Тип конфигурации. По умолчанию и единственный вариант - ONE_TO_ONE_NAT.
Возможные значения:
- ONE_TO_ONE_NAT
set_public_ptr- Указывает, должен ли быть создан публичный DNS-запись PTR для сопоставления внешнего адреса IP экземпляра с именем домена DNS.
public_ptr_domain_name- Имя домена DNS для публичной записи PTR. Вы можете установить это поле только если поле setPublicPtr включено.
network_tier- Это указывает уровень сети, используемый для настройки этой конфигурации доступа. Если AccessConfig указан без действительного внешнего адреса IP, будет создан временный IP-адрес с этим networkTier. Если указан AccessConfig с действительным внешним адресом IP, он должен совпадать с networkTier, связанным с ресурсом Address, владеющим этим IP-адресом.
Возможные значения:
- PREMIUM
- STANDARD
alias_ip_ranges- Массив псевдонимов диапазонов IP для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов в сетях с режимом подсети.
ip_cidr_range- Диапазон IP CIDR, представленный этим диапазоном псевдонима IP. Этот диапазон IP CIDR должен принадлежать указанной подсети и не может содержать IP-адреса, зарезервированные системой или используемые другими сетевыми интерфейсами. Этот диапазон может быть одним IP-адресом (например, 10.2.3.4), маской (например, /24) или строкой в формате CIDR (например, 10.1.2.0/24).
subnetwork_range_name- Необязательное имя вторичного диапазона подсети, указывающее вторичный диапазон, из которого следует выделить диапазон IP CIDR для этого диапазона псевдонима IP. Если не указано, будет использован первичный диапазон подсети.
name- Имя сетевого интерфейса, сгенерированное сервером. Для сетевых устройств это eth0, eth1 и т. д.
network- Указывает заголовок существующей сети. При создании экземпляра, если ни сеть, ни подсеть не указаны, используется сеть по умолчанию global/networks/default; если сеть не указана, но подсеть указана, сеть определяется автоматически.
network_ip- Внутренний адрес сети IPv4, который следует назначить экземпляру для этого сетевого интерфейса. Если пользователь не указывает, система присваивает неиспользуемый внутренний IP-адрес.
subnetwork- Ссылка на сеть VPC. Если сетевой ресурс в режиме «legacy», не предоставляйте это свойство. Если сеть в режиме «auto subnet», предоставление подсети необязательно. Если сеть в режиме «custom subnet», это поле должно быть указано.
scheduling- Настройка параметров планирования для этого экземпляра.
automatic_restart- Указывает, должен ли экземпляр автоматически перезапускаться, если он был завершен Compute Engine (а не пользователем). Вы можете установить параметр автоматического перезапуска только для стандартных экземпляров. Предварительно выделенные экземпляры не могут быть автоматически перезапущены.
on_host_maintenance- Определяет поведение технического обслуживания для этого экземпляра. Для стандартных экземпляров поведение по умолчанию — MIGRATE. Для предварительно выделенных экземпляров поведение по умолчанию и единственное возможное — TERMINATE. Дополнительную информацию см. в разделе Настройка параметров планирования экземпляра.
preemptible- Определяет, является ли экземпляр предварительно выделенным. Это можно установить только при создании экземпляра, оно не может быть установлено или изменено после создания экземпляра.
service_accounts- Список учетных записей сервиса со соответствующими разрешениями, авторизованными для этого экземпляра. Только одна учетная запись сервиса на один виртуальный экземпляр поддерживается.
email- Адрес электронной почты учетной записи сервиса.
scopes- Список разрешений, которые должны быть предоставлены этой учетной записи сервиса.
tags
- Список тегов, применяемых к этому экземпляру. Теги используются для идентификации допустимых источников или целей сетевых брандмауэров и указываются клиентом при создании экземпляра. Теги можно позже изменить методом setTags. Каждый тег в списке должен соответствовать RFC1035.
fingerprint- Указывает отпечаток для этого запроса, который представляет собой хэш содержимого метаданных и используется для оптимистической блокировки. Отпечаток первоначально генерируется Compute Engine и изменяется после каждого запроса на изменение или обновление метаданных. Для обновления или изменения метаданных необходимо всегда предоставлять актуальный хэш отпечатка.
items- Массив тегов. Каждый тег должен иметь длину от 1 до 63 символов и соответствовать RFC1035.
- Список тегов, применяемых к этому экземпляру. Теги используются для идентификации допустимых источников или целей сетевых брандмауэров и указываются клиентом при создании экземпляра. Теги можно позже изменить методом setTags. Каждый тег в списке должен соответствовать RFC1035.
Разрешения 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_instance_template/