gcp_compute_instance_group – Создаёт группу виртуальных машин GCP
Новая версия с 2.6.
Описание
- Представляет ресурс группы виртуальных машин. Группы виртуальных машин самоуправляемые и могут содержать одинаковые или разные виртуальные машины. Группы виртуальных машин не используют шаблон виртуальной машины. В отличие от управляемых групп виртуальных машин, вы должны вручную создавать и добавлять виртуальные машины в группу виртуальных машин.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не должно быть установлено, если вы не знаете, что делаете. Это изменяет только строку User Agent для любых запросов к API. | ||
| instances список добавлен в 2.8 | Список виртуальных машин, связанных с этой группой виртуальных машин. Все виртуальные машины должны быть созданы перед добавлением в группу виртуальных машин. Все виртуальные машины, не входящие в этот список, будут удалены из группы виртуальных машин и не будут удалены. Будет возвращён только полный идентификатор виртуальной машины. | ||
| name строка | Имя группы виртуальных машин. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. | ||
| named_ports список | Присваивает имя номеру порта. Например: {name: "http", port: 80}. Это позволяет системе ссылаться на порты по назначенному имени вместо номера порта. Имена портов также могут содержать несколько портов. Например: [{name: "http", port: 80},{name: "http", port: 8080}] Имена портов применяются ко всем виртуальным машинам в этой группе виртуальных машин. | ||
| name строка | Имя для этого имени порта. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. | ||
| port целое число | Номер порта, который может быть значением от 1 до 65535. | ||
| network словарь | Сеть, к которой принадлежат все виртуальные машины в группе виртуальных машин. Это поле представляет собой ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_network, а затем установить это поле сети в "{{ имя-ресурса }}" | ||
| project строка | Проект Google Cloud Platform, который использовать. | ||
| region строка | Регион расположения группы виртуальных машин (для региональных ресурсов). | ||
| scopes список | Массив используемых областей. | ||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, либо в словаре, либо в виде JSON-строки, которая его представляет. | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если в качестве типа выбран serviceaccount. | ||
| state строка |
| Требуется ли существование данного объекта в GCP | |
| subnetwork словарь | Подсеть, к которой принадлежат все виртуальные машины в группе виртуальных машин. Это поле представляет собой ссылку на ресурс подсети в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_subnetwork, а затем установить это поле подсети в "{{ имя-ресурса }}" | ||
| 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-instancegroup
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a instance group
gcp_compute_instance_group:
name: test_object
named_ports:
- name: ansible
port: 1234
network: "{{ network }}"
zone: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Результат | Описание | |
|---|---|---|---|
| creationTimestamp строка | успешно | Маркер создания в формате RFC3339. | |
| description строка | успешно | Необязательное описание данного ресурса. Предоставьте это свойство при создании ресурса. | |
| id целое число | успешно | Уникальный идентификатор этой группы экземпляров. | |
| instances список | успешно | Список экземпляров, связанных с этой группой экземпляров. Все экземпляры должны быть созданы перед добавлением в группу экземпляров. Все экземпляры, не входящие в этот список, будут удалены из группы экземпляров и не будут удалены. Будет возвращен только полный идентификатор экземпляра. | |
| name строка | успешно | Имя группы экземпляров. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. | |
| namedPorts сложный тип | успешно | Присваивает имя номеру порта. Например: {name: "http", port: 80}. Это позволяет системе ссылаться на порты по назначенному имени, а не по номеру порта. Имена портов также могут содержать несколько портов. Например: [{name: "http", port: 80},{name: "http", port: 8080}] Имена портов применяются ко всем экземплярам в этой группе экземпляров. | |
| name строка | успешно | Имя для этого имени порта. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. | |
| port целое число | успешно | Номер порта, который может быть значением от 1 до 65535. | |
| network словарь | успешно | Сеть, к которой принадлежат все экземпляры в группе экземпляров. | |
| region строка | успешно | Регион, в котором расположена группа экземпляров (для региональных ресурсов). | |
| subnetwork словарь | успешно | Подсеть, к которой принадлежат все экземпляры в группе экземпляров. | |
| zone строка | успешно | Ссылка на зону, в которой находится группа экземпляров. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.9/modules/gcp_compute_instance_group_module.html