Ресурс 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- Закодированный в RFC 4648 base64 SHA-256 хеш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.
index- Присваивает этому диску индекс, начиная с нуля, где 0 зарезервирован для системного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный номер индекса. Если не указано, сервер выберет подходящее значение.
initialize_params- Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания системных дисков или локальных твердотельных накопителей, подключенных к новому экземпляру.
disk_name- Указывает имя диска. Если не указано, по умолчанию используется имя экземпляра.
disk_size_gb- Указывает размер диска в гигабайтах (с основанием 2).
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- Тип машины, который следует использовать в шаблоне VM-экземпляра.
min_cpu_platform- Указывает минимальную платформу процессора для VM-экземпляра. Применимые значения — это дружественные имена платформ процессоров.
metadata- Пары ключ-значение метаданных, которые нужно назначить экземплярам, созданным из этой шаблоны. Эти пары могут состоять из пользовательских метаданных или предопределенных ключей.
guest_accelerators- Список типа и количества адаптеров ускорения, подключенных к экземпляру
accelerator_count- Количество адаптеров ускорения гостя, доступных для этого экземпляра.
accelerator_type- Полный или частичный URL-адрес ресурса типа адаптера ускорения, который нужно сделать доступным для этого экземпляра.
network_interfaces- Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, например, для подключения к Интернету. Поддерживается только один сетевой интерфейс на экземпляр.
access_configs- Массив конфигураций для этого интерфейса. В настоящее время поддерживается только один доступный конфиг, ONE_TO_ONE_NAT. Если доступные конфигурации не указаны, то у этого экземпляра не будет внешнего доступа к Интернету.
name- Имя этой конфигурации доступа. По умолчанию и рекомендуется использовать имя Внешний 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- Внутренний IP-адрес IPv4 для назначения экземпляру для этого сетевого интерфейса. Если не указано пользователем, система присваивает неиспользуемый внутренний IP-адрес.
subnetwork- Ссылка на сеть VPC. Если ресурс сети в режиме legacy, не предоставляйте это свойство. Если сеть в режиме автоматической подсети, указание подсети необязательно. Если сеть в режиме настраиваемой подсети, это поле должно быть указано.
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/