Spec-Zone.ru › Ansible 2.9

gcp_compute_instance_group_manager – Создаёт GCP InstanceGroupManager

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

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Создаёт управляемую группу виртуальных машин на основе предоставленных в запросе данных. После создания группы планируется действие по созданию виртуальных машин в группе с использованием указанной шаблона виртуальной машины. Данная операция отмечается как завершённая, когда группа создана, даже если виртуальные машины в группе ещё не созданы. Необходимо отдельно проверить статус отдельных виртуальных машин.
  • Управляемая группа виртуальных машин может содержать до 1000 виртуальных машин в группе.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
base_instance_name
строка / обязательно
Базовое имя виртуальной машины для использования в этой группе. Длина значения должна составлять от 1 до 58 символов. Имя виртуальных машин формируется путем добавления дефиса и случайной четырёхсимвольной строки к базовому имени.
Базовое имя виртуальной машины должно соответствовать RFC1035.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
строка
Указывает среду Ansible, в которой выполняется этот модуль.
Это поле не должно устанавливаться, если вы не знаете, что делаете.
Это поле изменяет только строку User Agent для всех запросов API.
instance_template
словарь / обязательно
Шаблон виртуальной машины, указанный для этой управляемой группы виртуальных машин. Группа использует этот шаблон для создания всех новых виртуальных машин в управляемой группе виртуальных машин.
Это поле представляет ссылку на ресурс InstanceTemplate в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_instance_template, а затем установить это поле instance_template на "{{ имя-ресурса }}"
name
строка / обязательно
Имя управляемой группы виртуальных машин. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035.
named_ports
список
Настроенные именованные порты для групп виртуальных машин, дополняющие эту управляемую группу виртуальных машин.
name
строка
Имя этого именованного порта. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035.
port
целое число
Номер порта, значение которого может находиться в диапазоне от 1 до 65535.
project
строка
Проект Google Cloud Platform, который нужно использовать.
scopes
список
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, представляющей его.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Следует ли создавать данный объект в GCP.
target_pools
список
Ресурсы TargetPool, к которым добавляются виртуальные машины в поле instanceGroup. Целевые пулы автоматически применяются ко всем виртуальным машинам в управляемой группе виртуальных машин.
target_size
целое число
Целевое количество работающих виртуальных машин для этой управляемой группы виртуальных машин. Удаление или отказ от виртуальных машин уменьшает это число. Изменение размера группы изменяет это число.
zone
строка / обязательно
Зона расположения управляемой группы виртуальных машин.

Примечания

Примечание

  • для аутентификации можно установить service_account_file с использованием переменной среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents с использованием переменной среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
  • для аутентификации можно установить 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 }}"
    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 }}"
    state: present
  register: address

- name: create a instance template
  gcp_compute_instance_template:
    name: "{{ resource_name }}"
    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: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancetemplate

- name: create a instance group manager
  gcp_compute_instance_group_manager:
    name: test_object
    base_instance_name: test1-child
    instance_template: "{{ instancetemplate }}"
    target_size: 3
    zone: us-west1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

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

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

Ключ Возвращаемое значение Описание
baseInstanceName
строка
успех
Имя базовой инстанции для использования в этой группе инстанций. Значение должно иметь длину от 1 до 58 символов. Имена инстанций формируются путем добавления дефиса и случайной четырёхсимвольной строки к имени базовой инстанции.
Имя базовой инстанции должно соответствовать RFC1035.

creationTimestamp
строка
успех
Отметка времени создания этой управляемой группы инстанций в формате RFC3339.

currentActions
сложный тип
успех
Список действий инстанции и количество инстанций в этой управляемой группе инстанций, запланированных для каждого из этих действий.

abandoning
целое число
успех
Общее количество инстанций в управляемой группе инстанций, запланированных для отключения. Отключение инстанции удаляет её из управляемой группы инстанций без её удаления.

creating
целое число
успех
Количество инстанций в управляемой группе инстанций, запланированных для создания или в процессе создания. Если группе не удаётся создать какие-либо из этих инстанций, она пытается снова, пока инстанция не будет успешно создана.
Если повторные попытки создания отключены, это поле не будет заполняться; вместо этого будет заполняться поле creatingWithoutRetries.

creatingWithoutRetries
целое число
успех
Количество инстанций, которые управляемая группа инстанций попытается создать. Группа пытается создать каждую инстанцию только один раз. Если группе не удаётся создать какие-либо из этих инстанций, она уменьшает соответствующее значение targetSize группы.

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

none
целое число
успех
Количество инстанций в управляемой группе инстанций, которые работают и для которых не запланировано никаких действий.

recreating
целое число
успех
Количество инстанций в управляемой группе инстанций, запланированных для пересоздания или в процессе пересоздания.
Пересоздание инстанции удаляет существующий корневой постоянный диск и создаёт новый диск из образа, определённого в шаблоне инстанции.

refreshing
целое число
успех
Количество инстанций в управляемой группе инстанций, которые перенастраиваются с помощью свойств, не требующих перезапуска или пересоздания. Например, установка или удаление целевых пулов для инстанции.

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

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

id
целое число
успех
Уникальный идентификатор этого ресурса.

instanceGroup
словарь
успех
Управляемая группа инстанций.

instanceTemplate
словарь
успех
Шаблон инстанции, заданный для этой управляемой группы инстанций. Группа использует этот шаблон для создания всех новых инстанций в управляемой группе инстанций.

name
строка
успех
Имя управляемой группы инстанций. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035.

namedPorts
сложный тип
успех
Назначенные порты, настроенные для групп инстанций, дополняющих эту группу менеджеров инстанций.

name
строка
успех
Имя этого назначенного порта. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035.

port
целое число
успех
Номер порта, который может быть значением от 1 до 65535.

region
строка
успех
Регион, в котором находится эта управляемая группа инстанций (для региональных ресурсов).

targetPools
список
успех
Ресурсы TargetPool, к которым добавляются инстанции в поле instanceGroup. Целевые пулы автоматически применяются ко всем инстанциям в управляемой группе инстанций.

targetSize
целое число
успех
Целевое количество работающих инстанций для этой управляемой группы инстанций. Удаление или отключение инстанций уменьшает это число. Изменение размера группы изменяет это число.

zone
строка
успех
Зона, в которой находится управляемая группа инстанций.



Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.9/modules/gcp_compute_instance_group_manager_module.html

Spec-Zone.ru

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