Spec-Zone.ru › Ansible 2.6

gcp_compute_instance - Создаёт виртуальную машину GCP

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

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

Обзор

  • Инстанция — это виртуальная машина (ВМ), размещённая на инфраструктуре Google.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
обязательно
    Варианты:
  • machineaccount
  • serviceaccount
  • application
Тип используемых учетных данных.
can_ip_forward
bool
    Варианты:
  • no
  • yes
Разрешает этому экземпляру отправлять и получать пакеты с несовпадающими IP-адресами назначения или источника. Это требуется, если вы планируете использовать этот экземпляр для перенаправления маршрутов.
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-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или расшифровки этого ресурса.
rsa_encrypted_key
Указывает закодированный в RFC 4648 base64, RSA-завернутый 2048-битный ключ шифрования, предоставленный пользователем, для шифрования или расшифровки этого ресурса.
sha256
Закодированный в RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного пользователем, который защищает этот ресурс.
index
Присваивает индекс с нуля этому диску, где 0 зарезервирован для загрузочного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный индекс. Если не указано, сервер выберет подходящее значение.
initialize_params
Устанавливает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD, подключенных к новому экземпляру.
disk_name
Указывает имя диска. Если не указано, используется имя экземпляра по умолчанию.
disk_size_gb
Указывает размер диска в гигабайтах (base-2).
disk_type
Ссылка на ресурс DiskType.
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 или NVME. По умолчанию используется SCSI.
Постоянные диски всегда должны использовать SCSI, и запрос завершится неудачей, если вы попытаетесь подключить постоянный диск в формате, отличном от SCSI.
mode
    Варианты:
  • READ_WRITE
  • READ_ONLY
Режим подключения этого диска, либо READ_WRITE или READ_ONLY. Если не указано, диск подключается в режиме READ_WRITE по умолчанию.
source
Ссылка на ресурс Disk.
type
    Варианты:
  • SCRATCH
  • PERSISTENT
Указывает тип диска, либо SCRATCH или PERSISTENT. Если не указано, по умолчанию используется PERSISTENT.
guest_accelerators
Список типов и количества ускорителей, подключенных к экземпляру.
accelerator_count
Количество ускорителей гостевой системы, доступных этому экземпляру.
accelerator_type
Полный или частичный URL ресурса типа ускорителя, доступного этому экземпляру.
label_fingerprint
Отпечаток данного запроса, представляющий собой хэш содержимого метаданных и используемый для оптимистической блокировки. Отпечаток первоначально генерируется Compute Engine и изменяется после каждого запроса на изменение или обновление метаданных. Вы всегда должны предоставлять обновленный хэш отпечатка для обновления или изменения метаданных.
machine_type
Ссылка на ресурс MachineType.
metadata
Ключевые/значения метаданных, которые необходимо назначить экземплярам, созданным по этому шаблону. Эти пары могут состоять из пользовательских метаданных или предопределенных ключей.
min_cpu_platform
Устанавливает минимальную платформу процессора для виртуальной машины. Допустимые значения — имена платформ процессоров.
name
Имя ресурса, предоставленное клиентом при первоначальном создании ресурса. Имя ресурса должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network_interfaces
Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, например, для подключения к Интернету. Поддерживается только один сетевой интерфейс на экземпляр.
access_configs
Массив конфигураций для этого интерфейса. В настоящее время поддерживается только одна конфигурация доступа, ONE_TO_ONE_NAT. Если accessConfigs не указаны, то этот экземпляр не будет иметь внешнего доступа к Интернету.
name
обязательно
Имя этой конфигурации доступа. Рекомендуемое имя по умолчанию — External NAT, но вы можете использовать любое произвольное строковое значение. Например, My external IP или Network Access.
nat_ip
обязательно
Ссылка на ресурс Address.
type
обязательно
    Варианты:
  • ONE_TO_ONE_NAT
Тип конфигурации. По умолчанию и единственный вариант — ONE_TO_ONE_NAT.
alias_ip_ranges
Массив диапазонов IP-адресов alias для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях в режиме подсети.
ip_cidr_range
Диапазон IP CIDR, представленный этим диапазоном alias IP-адресов.
Этот диапазон IP CIDR должен принадлежать указанной подсети и не может содержать IP-адреса, зарезервированные системой или используемые другими сетевыми интерфейсами. Этот диапазон может быть единственным IP-адресом (например, 10.2.3.4), маской сети (например, /24) или строкой в формате CIDR (например, 10.1.2.0/24).
имя_диапазона_подсети
Необязательное имя дополнительного диапазона подсети, определяющее дополнительный диапазон, из которого необходимо выделить диапазон IP-адресов CIDR для этого диапазона IP-адресов алиаса. Если не указано, будет использован первичный диапазон подсети.
имя
Имя сетевого интерфейса, сгенерированное сервером. Для сетевых устройств это eth0, eth1 и т. д.
сеть
Ссылка на ресурс сети.
сетевой_ip
Внутренний IPv4-адрес сети, который необходимо назначить экземпляру для этого сетевого интерфейса. Если пользователь не указывает, система назначает свободный внутренний IP-адрес.
подсеть
Ссылка на ресурс подсети.
проект
Используемый проект Google Cloud Platform.
планирование
Устанавливает параметры планирования для данного экземпляра.
автоматический_перезапуск
bool
    Варианты:
  • нет
  • да
Указывает, следует ли автоматически перезапускать экземпляр, если он был завершён Compute Engine (но не пользователем).
Вы можете установить параметр автоматического перезапуска только для стандартных экземпляров. Для предварительных экземпляров автоматический перезапуск невозможен.
при_обслуживании_хоста
Определяет поведение при обслуживании для данного экземпляра. Для стандартных экземпляров поведение по умолчанию — MIGRATE. Для предварительных экземпляров — TERMINATE.
Для получения дополнительной информации см. Установка параметров планирования экземпляра.
предварительный
bool
    Варианты:
  • нет
  • да
Определяет, является ли экземпляр предварительным. Это можно задать только при создании экземпляра, изменить после создания нельзя.
разрешения
обязательно
Массив разрешений для использования.
электронная_почта_учета_службы
Необязательный адрес электронной почты учетной записи службы, если выбрано machineaccount и пользователь не хочет использовать адрес по умолчанию.
файл_учета_службы
Путь к файлу JSON учетной записи службы, если тип учетной записи выбран как serviceaccount.
учетные_записи_служб
Список учетных записей служб с указанными разрешениями, авторизованных для данного экземпляра. Поддерживается только одна учетная запись службы на виртуальной машине.
электронная_почта
bool
    Варианты:
  • нет
  • да
Адрес электронной почты учетной записи службы.
разрешения
Список разрешений, которые должны быть доступны для этой учетной записи службы.
состояние
обязательно
    Варианты:
  • существующий ←
  • отсутствующий
Требуется ли данному объекту существование в GCP
метки
Список меток, которые необходимо применить к этому экземпляру. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании экземпляра. Метки можно позже изменить методом setTags. Каждая метка в списке должна соответствовать RFC1035.
отпечаток
Указывает отпечаток для данного запроса, который представляет собой хэш содержимого метаданных и используется для оптимистического блокирования.
Отпечаток первоначально генерируется Compute Engine и изменяется после каждого запроса для изменения или обновления метаданных. Для обновления или изменения метаданных необходимо всегда указывать актуальный хэш отпечатка.
элементы
Массив меток. Каждая метка должна иметь длину от 1 до 63 символов и соответствовать RFC1035.
зона
обязательно
Ссылка на ресурс зоны.

Примечания

Примечание

  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать разрешения с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file взаимоисключают друг друга.

Примеры

- name: create a disk
  gcp_compute_disk:
      name: 'disk-instance'
      size_gb: 50
      source_image: 'projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts'
      zone: us-central1-a
      project: "{{ gcp_project }}"
      auth_kind: "{{ gcp_cred_kind }}"
      service_account_file: "{{ gcp_cred_file }}"
      scopes:
        - https://www.googleapis.com/auth/compute
      state: present
  register: disk
- name: create a network
  gcp_compute_network:
      name: 'network-instance'
      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-instance'
      region: 'us-central1'
      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
  gcp_compute_instance:
      name: testObject
      machine_type: n1-standard-1
      disks:
        - auto_delete: true
          boot: true
          source: "{{ disk }}"
      metadata:
        startup-script-url: 'gs:://graphite-playground/bootstrap.sh'
        cost-center: '12345'
      network_interfaces:
          - network: "{{ network }}"
            access_configs:
              - name: 'External NAT'
                nat_ip: "{{ address }}"
                type: 'ONE_TO_ONE_NAT'
      zone: 'us-central1-a'
      project: testProject
      auth_kind: service_account
      service_account_file: /tmp/auth.pem
      scopes:
        - https://www.googleapis.com/auth/compute
      state: present

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

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

Ключевые параметры Результат Описание
can_ip_forward
bool
успех
Разрешает этому экземпляру отправлять и получать пакеты с несовпадающими IP-адресами назначения или источника. Это необходимо, если вы планируете использовать этот экземпляр для переадресации маршрутов.

cpu_platform
str
успех
Платформа процессора, используемая этим экземпляром.

creation_timestamp
str
успех
Маркер создания в формате текста RFC3339.

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

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

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

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

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

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

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

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

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

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

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

disk_size_gb
int
успех
Указывает размер диска в ГБ в базе-2.

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

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

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

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

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

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

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

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

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

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

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

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

id
int
успех
Уникальный идентификатор ресурса, определённый сервером.

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

machine_type
str
успех
Ссылка на ресурс MachineType.

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

min_cpu_platform
str
успех
Указывает минимальную платформу процессора для виртуальной машины. Допустимые значения — дружественные имена платформ процессоров.

name
str
успех
Имя ресурса, предоставленное клиентом при первоначальном создании ресурса. Имя ресурса должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть, длина должна быть от 1 до 63 символов, и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефис, строчная буква или цифра, за исключением последнего символа, который не может быть дефисом.

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

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-адресов для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях с режимом subnet.

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
Список областей действия, которые должны быть доступны для этой учетной записи сервиса.

status
str
success
Состояние экземпляра. Одно из следующих значений: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED и TERMINATED.

status_message
str
success
Необязательное удобочитаемое описание состояния.

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

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

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

zone
str
success
Ссылка на ресурс зоны Zone.



Состояние

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

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество 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_module.html

Spec-Zone.ru

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