Spec-Zone.ru › Ansible 2.6

gcp_compute_instance_template - Создаёт шаблон виртуальной машины GCP

Новая версия с 2.6.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Определяет ресурс шаблона виртуальной машины, который предоставляет параметры конфигурации для ваших виртуальных машин. Шаблоны виртуальных машин не привязаны к жизненному циклу экземпляра и могут использоваться и повторно использоваться для развертывания виртуальных машин. Вы также можете использовать различные шаблоны для создания различных конфигураций виртуальных машин. Шаблоны виртуальных машин необходимы при создании управляемой группы экземпляров.
  • Подсказка: Диски должны быть настроены с autoDelete=true, чтобы после удаления машины не оставались лишние диски.

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
обязательно
    Варианты:
  • machineaccount
  • serviceaccount
  • application
Тип используемых учетных данных.
description
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
name
обязательно
Имя ресурса. Имя состоит из 1-63 символов и соответствует RFC1035.
project
Проект Google Cloud Platform для использования.
properties
Свойства виртуальной машины для этой модели виртуальной машины.
can_ip_forward
bool
    Варианты:
  • no
  • yes
Разрешает экземплярам, созданным на основе этой модели, отправлять пакеты с исходными IP-адресами, отличными от их собственных, и принимать пакеты с целевыми IP-адресами, отличными от их собственных. Если эти экземпляры будут использоваться в качестве IP-шлюза или будут установлены как следующий узел в ресурсе маршрута, укажите true. Если не уверены, оставьте это значение false.
description
Необязательное текстовое описание экземпляров, созданных из этой модели виртуальной машины.
disks
Массив дисков, связанных с экземплярами, созданными из этой модели.
auto_delete
bool
    Варианты:
  • no
  • yes
Указывает, будет ли диск автоматически удален при удалении экземпляра (но не при отделении диска от экземпляра).
Совет: Диски должны быть установлены autoDelete=true, чтобы избежать оставшихся дисков при удалении машины.
boot
bool
    Варианты:
  • no
  • yes
Указывает, что это загрузочный диск. Виртуальная машина будет использовать первый раздел диска для своей корневой файловой системы.
device_name
Указывает уникальное имя устройства по вашему выбору, которое отображается в дереве /dev/disk/by-id/google-* операционной системы Linux, работающей в экземпляре. Это имя можно использовать для ссылки на устройство для монтирования, изменения размера и т. д. изнутри экземпляра.
disk_encryption_key
Шифрует или расшифровывает диск с помощью предоставленного пользователем ключа шифрования.
raw_key
Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 RFC 4648 для шифрования или дешифрования этого ресурса.
rsa_encrypted_key
Указывает закодированный в base64 RFC 4648, обернутый RSA, 2048-битный ключ шифрования, предоставленный пользователем, для шифрования или дешифрования этого ресурса.
sha256
Закодированный в base64 RFC 4648 SHA-256 хэш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.
index
Назначает индекс, начинающийся с нуля, этому диску, где 0 зарезервирован для загрузочного диска. Например, если у вас много дисков, подключенных к экземпляру, каждый диск будет иметь уникальный номер индекса. Если не указано, сервер выберет соответствующее значение.
initialize_params
Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD, подключенных к новому экземпляру.
disk_name
Указывает имя диска. Если не указано, по умолчанию используется имя экземпляра.
disk_size_gb
Указывает размер диска в ГБ.
disk_type
Ссылка на ресурс типа диска.
source_image
Исходный образ для создания этого диска. При создании нового экземпляра требуется один из initializeParams.sourceImage или disks.source. Чтобы создать диск с одним из общедоступных образов операционной системы, укажите имя семейства образа.
source_image_encryption_key
Ключ шифрования, предоставленный пользователем, исходного образа. Требуется, если исходный образ защищен ключом шифрования, предоставленным пользователем.
Шаблоны экземпляров не хранят ключи шифрования, предоставленные пользователем, поэтому вы не можете создавать диски для экземпляров в управляемой группе экземпляров, если исходные образы зашифрованы с помощью ваших собственных ключей.
raw_key
Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 RFC 4648 для шифрования или дешифрования этого ресурса.
sha256
Закодированный в base64 RFC 4648 SHA-256 хэш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.
interface
    Варианты:
  • SCSI
  • NVME
Указывает интерфейс диска для подключения этого диска, который может быть SCSI или NVME. По умолчанию используется SCSI.
Постоянные диски всегда должны использовать SCSI, и запрос завершится ошибкой, если вы попытаетесь подключить постоянный диск в любом другом формате, кроме SCSI.
mode
    Варианты:
  • READ_WRITE
  • READ_ONLY
Режим подключения этого диска, либо READ_WRITE, либо READ_ONLY. Если не указано, по умолчанию диск подключается в режиме READ_WRITE.
source
Ссылка на ресурс диска.
type
    Варианты:
  • SCRATCH
  • PERSISTENT
Указывает тип диска, либо SCRATCH, либо PERSISTENT. Если не указано, по умолчанию используется PERSISTENT.
machine_type
обязательно
Ссылка на ресурс типа виртуальной машины.
metadata
Ключевые пары метаданных для назначения экземплярам, созданным из этой модели. Эти пары могут состоять из пользовательских метаданных или предопределённых ключей.
guest_accelerators
Список типа и количества ускорителей, подключенных к экземпляру.
accelerator_count
Количество ускорителей гостевой ОС, доступных для этого экземпляра.
accelerator_type
Полный или частичный URL ресурса типа ускорителя, доступного для этого экземпляра.
network_interfaces
Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, например, для подключения к интернету. Поддерживается только один сетевой интерфейс на один экземпляр.
access_configs
Массив конфигураций для этого интерфейса. В настоящее время поддерживается только одна конфигурация доступа ONE_TO_ONE_NAT. Если конфигурации доступа не указаны, у этого экземпляра не будет внешнего доступа к интернету.
name
обязательно
Имя этой конфигурации доступа. По умолчанию и рекомендуется использовать имя External NAT, но можно использовать любую произвольную строку. Например, My external IP или Network Access.
nat_ip
обязательно
Ссылка на ресурс адреса.
тип
обязательно
    Варианты:
  • ONE_TO_ONE_NAT
Тип конфигурации. По умолчанию и единственный вариант — ONE_TO_ONE_NAT.
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-адреса. Если не указано, будет использоваться основной диапазон подсети.
имя
Имя сетевого интерфейса, сгенерированное сервером. Для сетевых устройств это eth0, eth1 и т. д.
сеть
Ссылка на сетевой ресурс.
network_ip
Внутренний IPv4-адрес сети для назначения экземпляру для этого сетевого интерфейса. Если не указан пользователем, система присваивает неиспользуемый внутренний IP-адрес.
подсеть
Ссылка на ресурс подсети.
планирование
Устанавливает параметры планирования для этого экземпляра.
автоматический_перезапуск
bool
    Варианты:
  • нет
  • да
Указывает, следует ли автоматически перезапускать экземпляр, если он завершается системой Compute Engine (а не пользователем).
Вы можете установить параметр автоматического перезапуска только для стандартных экземпляров. Для предварительно предопределённых экземпляров автоматический перезапуск недоступен.
при_техническом_обслуживании
Определяет поведение при техническом обслуживании для этого экземпляра. Для стандартных экземпляров поведение по умолчанию — MIGRATE. Для предварительно предопределённых экземпляров поведение по умолчанию и единственно возможное — TERMINATE.
Для получения дополнительной информации см. Установка параметров планирования экземпляров.
предварительно_определённый
bool
    Варианты:
  • нет
  • да
Определяет, является ли экземпляр предварительно предопределённым. Это может быть установлено только во время создания экземпляра, оно не может быть установлено или изменено после создания экземпляра.
service_accounts
Список учётных записей службы с указанными областями, авторизованными для этого экземпляра. Поддерживается только одна учётная запись службы на виртуальной машине.
email
bool
    Варианты:
  • нет
  • да
Электронный адрес учётной записи службы.
scopes
Список областей, которые должны быть доступны для этой учётной записи службы.
теги
Список тегов, применяемых к этому экземпляру. Теги используются для идентификации допустимых источников или целей сетевых брандмауэров и указываются клиентом при создании экземпляра. Теги могут быть позже изменены методом setTags. Каждый тег в списке должен соответствовать RFC1035.
отпечаток
Указывает отпечаток для этого запроса, который представляет собой хэш содержимого метаданных и используется для оптимистической блокировки.
Отпечаток первоначально генерируется Compute Engine и меняется после каждого запроса на изменение или обновление метаданных. Вы всегда должны предоставить актуальный хэш отпечатка для обновления или изменения метаданных.
элементы
Массив тегов. Каждый тег должен иметь длину от 1 до 63 символов и соответствовать RFC1035.
области
обязательно
Массив областей, которые будут использоваться.
service_account_email
Необязательный адрес электронной почты учётной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
Путь к файлу JSON учётной записи службы, если тип serviceaccount выбран.
состояние
обязательно
    Варианты:
  • present ←
  • absent
Должен ли данный объект существовать в GCP

Примечания

Примечание

  • Для аутентификации вы можете установить service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации вы можете установить 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 network
  gcp_compute_network:
      name: 'network-instancetemplate'
      project: "{{ gcp_project }}"
      auth_kind: "{{ gcp_cred_kind }}"
      service_account_file: "{{ gcp_cred_file }}"
      scopes:
        - https://www.googleapis.com/auth/compute
      state: present
  register: network
- name: create a address
  gcp_compute_address:
      name: 'address-instancetemplate'
      region: 'us-west1'
      project: "{{ gcp_project }}"
      auth_kind: "{{ gcp_cred_kind }}"
      service_account_file: "{{ gcp_cred_file }}"
      scopes:
        - https://www.googleapis.com/auth/compute
      state: present
  register: address
- name: create a instance template
  gcp_compute_instance_template:
      name: testObject
      properties:
        disks:
          - auto_delete: true
            boot: true
            initialize_params:
              source_image: 'projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts'
        machine_type: n1-standard-1
        network_interfaces:
          - network: "{{ network }}"
            access_configs:
              - name: 'test-config'
                type: 'ONE_TO_ONE_NAT'
                nat_ip: "{{ address }}"
      project: testProject
      auth_kind: service_account
      service_account_file: /tmp/auth.pem
      scopes:
        - https://www.googleapis.com/auth/compute
      state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:

Ключ Возвращаемое значение Описание
creation_timestamp
str
success
Маркер времени создания в формате RFC3339.

description
str
success
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

id
int
success
Уникальный идентификатор ресурса. Этот идентификатор определяется сервером.

name
str
success
Имя ресурса. Длина имени составляет от 1 до 63 символов и соответствует RFC1035.

properties
complex
success
Свойства экземпляра для этой шаблона экземпляра.

can_ip_forward
bool
success
Включает возможность для экземпляров, созданных на основе этого шаблона, отправлять пакеты с исходными IP-адресами, отличными от их собственных, и получать пакеты с целевыми IP-адресами, отличными от их собственных. Если эти экземпляры будут использоваться в качестве IP-шлюза или они будут установлены как следующий узел в ресурсе маршрута, укажите true. Если не уверены, оставьте это значение false.

description
str
success
Необязательное текстовое описание для экземпляров, которые создаются из этого шаблона экземпляра.

disks
complex
success
Массив дисков, связанных с экземплярами, которые создаются из этого шаблона.

auto_delete
bool
success
Указывает, будет ли диск автоматически удален при удалении экземпляра (но не при отделении диска от экземпляра).
Подсказка: диски должны быть настроены на autoDelete=true, чтобы не оставались ненужные диски после удаления машины.

boot
bool
success
Указывает, что это загрузочный диск. Виртуальная машина будет использовать первый раздел диска для своей корневой файловой системы.

device_name
str
success
Указывает уникальное имя устройства по вашему выбору, которое отображается в дереве /dev/disk/by-id/google-* операционной системы Linux, работающей внутри экземпляра. Это имя можно использовать для ссылки на устройство для монтирования, изменения размера и т. д. изнутри экземпляра.

disk_encryption_key
complex
success
Шифрует или дешифрует диск с помощью предоставленного пользователем ключа шифрования.

raw_key
str
success
Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в формате RFC 4648 base64 для шифрования или дешифрования этого ресурса.

rsa_encrypted_key
str
success
Указывает закодированный в формате RFC 4648 base64 ключ шифрования, защищённый RSA, 2048-битный ключ, предоставленный пользователем, для шифрования или дешифрования этого ресурса.

sha256
str
success
Закодированный в RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.

index
int
success
Назначает индекс от нуля до этого диска, где 0 зарезервирован для загрузочного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный номер индекса. Если не указано, сервер выберет подходящее значение.

initialize_params
complex
success
Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD, подключенных к новому экземпляру.

disk_name
str
success
Указывает имя диска. Если не указано, по умолчанию используется имя экземпляра.

disk_size_gb
int
success
Указывает размер диска в ГБ (в двоичной системе).

disk_type
str
success
Ссылка на ресурс DiskType.

source_image
str
success
Источник образа для создания этого диска. При создании нового экземпляра необходимо указать либо initializeParams.sourceImage, либо disks.source. Для создания диска с одним из публичных образов операционной системы укажите имя семейства образа.

source_image_encryption_key
complex
success
Ключ шифрования источника образа, предоставленный пользователем. Требуется, если образ источника защищен пользовательским ключом шифрования.
Шаблоны экземпляров не хранят ключи шифрования, предоставленные пользователем, поэтому вы не можете создавать диски для экземпляров в управляемой группе экземпляров, если образы источника зашифрованы вашими собственными ключами.

raw_key
str
success
Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64, для шифрования или дешифрования этого ресурса.

sha256
str
success
Закодированный в RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.

interface
str
success
Указывает интерфейс диска для подключения, который может быть SCSI или NVME. По умолчанию используется SCSI.
Постоянные диски всегда должны использовать SCSI, и запрос завершится ошибкой, если вы попытаетесь подключить постоянный диск в другом формате, кроме SCSI.

mode
str
success
Режим подключения диска, либо READ_WRITE, либо READ_ONLY. Если не указано, по умолчанию используется режим READ_WRITE.

source
dict
success
Ссылка на ресурс диска.

type
str
success
Указывает тип диска, либо SCRATCH, либо PERSISTENT. Если не указано, по умолчанию используется PERSISTENT.

machine_type
str
success
Ссылка на ресурс типа машины.

metadata
dict
success
Ключевые значения метаданных, которые нужно назначить экземплярам, созданным из этого шаблона. Эти пары могут состоять из пользовательских метаданных или предопределённых ключей.

guest_accelerators
complex
success
Список типов и количества ускорителей, подключённых к экземпляру.

accelerator_count
int
success
Количество ускорителей гостя, доступных для этого экземпляра.

accelerator_type
str
success
Полный или частичный URL ресурса типа ускорителя, доступного этому экземпляру.

network_interfaces
complex
success
Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, такими как подключение к интернету. На экземпляр поддерживается только один сетевой интерфейс.

access_configs
complex
success
Массив конфигураций для этого интерфейса. В настоящее время поддерживается только одна конфигурация доступа, ONE_TO_ONE_NAT. Если accessConfigs не указаны, то у этого экземпляра не будет внешнего доступа к интернету.

name
str
success
Имя этой конфигурации доступа. Рекомендуемое имя — External NAT, но вы можете использовать любую произвольную строку. Например, My external IP или Network Access.

nat_ip
dict
success
Ссылка на ресурс Address.

type
str
success
Тип конфигурации. Единственный и стандартный вариант — ONE_TO_ONE_NAT.

alias_ip_ranges
complex
success
Массив диапазонов IP-адресов для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях в режиме подсети.

ip_cidr_range
str
success
Диапазон IP CIDR, представленный этим диапазоном IP-адресов.
Этот диапазон IP CIDR должен принадлежать указанной подсети и не может содержать IP-адреса, зарезервированные системой или используемые другими сетевыми интерфейсами. Этот диапазон может быть одиночным IP-адресом (например, 10.2.3.4), маской сети (например, /24) или строкой в формате CIDR (например, 10.1.2.0/24).

subnetwork_range_name
str
success
Необязательное имя вторичного диапазона подсети, определяющее вторичный диапазон для выделения диапазона IP CIDR для этого диапазона IP-адресов. Если не указано, будет использоваться первичный диапазон подсети.

name
str
success
Имя сетевого интерфейса, сгенерированное сервером. Для сетевых устройств это eth0, eth1 и т.д.

network
dict
success
Ссылка на ресурс Network.

network_ip
str
success
Внутренний IPv4-адрес сети для назначения экземпляру для этого сетевого интерфейса. Если пользователь не указывает, система назначает свободный внутренний IP-адрес.

subnetwork
dict
success
Ссылка на ресурс Subnetwork.

scheduling
complex
success
Устанавливает параметры планирования для этого экземпляра.

automatic_restart
bool
success
Определяет, должен ли экземпляр автоматически перезапускаться, если он завершает работу Compute Engine (не по запросу пользователя).
Вы можете установить параметр автоматического перезапуска только для стандартных экземпляров. Для предварительно резервируемых экземпляров автоматический перезапуск невозможен.

on_host_maintenance
str
success
Определяет поведение при обслуживании хоста для этого экземпляра. Для стандартных экземпляров поведение по умолчанию — MIGRATE. Для предварительно резервируемых экземпляров поведение по умолчанию и единственно возможное — TERMINATE.
Для получения дополнительной информации см. Установка параметров планирования экземпляров.

preemptible
bool
success
Определяет, является ли экземпляр предварительно резервируемым. Это можно установить только при создании экземпляра, изменить после создания экземпляра нельзя.

service_accounts
complex
success
Список учетных записей сервиса с указанными областями видимости, авторизованными для этого экземпляра. На один виртуальный компьютер поддерживается только одна учетная запись сервиса.

email
bool
success
Электронный адрес учетной записи сервиса.

scopes
list
success
Список областей видимости, доступных для этой учетной записи сервиса.

tags
complex
success
Список тегов для применения к этому экземпляру. Теги используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании экземпляра. Теги можно позже изменить методом setTags. Каждый тег в списке должен соответствовать RFC1035.

fingerprint
str
success
Указывает отпечаток для этого запроса, который представляет собой хэш содержимого метаданных и используется для оптимистической блокировки.
Отпечаток первоначально генерируется Compute Engine и изменяется после каждого запроса для изменения или обновления метаданных. Для обновления или изменения метаданных всегда необходимо предоставить актуальный хэш отпечатка.

items
list
success
Массив тегов. Каждый тег должен иметь длину от 1 до 63 символов и соответствовать RFC1035.



Статус

Этот модуль помечен как preview, что означает, что он не гарантирует обратную совместимость.

Обслуживание

Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. См. Обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Google Inc. (@googlecloudplatform)

Подсказка

Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/gcp_compute_instance_template_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API