gcp_compute_instance_info – Сбор информации о виртуальной машине GCP
Новая версия 2.7.
Описание
- Сбор информации о виртуальной машине GCP
- Этот модуль назывался
gcp_compute_instance_factsдо Ansible 2.9. Способ использования не изменился.
Псевдонимы: gcp_compute_instance_facts
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| env_type строка | Указывает, в какой среде Ansible выполняется данный модуль. Не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для любых запросов к API. | |
| filters список | Список пар значений фильтров. Доступные фильтры перечислены здесь https://cloud.google.com/sdk/gcloud/reference/topic/filters. Каждый дополнительный фильтр в списке будет добавлен как условие И (filter1 и filter2). | |
| project строка | Проект Google Cloud Platform, который использовать. | |
| scopes список | Массив используемых областей. | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount. | |
| 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: get info on an instance
gcp_compute_instance_info:
zone: us-central1-a
filters:
- name = test_object
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, а следующие поля уникальны для данного модуля:
| Ключевые значения | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| resources complex | всегда | Список ресурсов | ||||
| canIpForward boolean | успех | Разрешает этому экземпляру отправлять и получать пакеты с несовпадающими IP-адресами назначения или источника. Это необходимо, если вы планируете использовать этот экземпляр для переадресации маршрутов. | ||||
| cpuPlatform string | успех | Платформа процессора, используемая этим экземпляром. | ||||
| creationTimestamp string | успех | Дата и время создания в формате RFC3339. | ||||
| deletionProtection boolean | успех | Указывает, должен ли ресурс быть защищен от удаления. | ||||
| disks complex | успех | Массив дисков, связанных с экземплярами, созданными по этому шаблону. | ||||
| autoDelete boolean | успех | Указывает, будет ли диск автоматически удален при удалении экземпляра (но не при отсоединении диска от экземпляра). Подсказка: Диски следует устанавливать autoDelete=true, чтобы не оставались ненужные диски после удаления машины. | ||||
| boot boolean | успех | Указывает, что это загрузочный диск. Виртуальная машина будет использовать первый раздел диска для своей корневой файловой системы. | ||||
| deviceName string | успех | Указывает уникальное имя устройства по вашему выбору, которое отражается в дереве /dev/disk/by-id/google-* в Linux-системе, работающей внутри экземпляра. Это имя можно использовать для ссылки на устройство для монтирования, изменения размера и т. д. внутри экземпляра. | ||||
| diskEncryptionKey complex | успех | Шифрует или расшифровывает диск с помощью предоставленного пользователем ключа шифрования. | ||||
| rawKey string | успех | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 RFC 4648 для шифрования или расшифровки этого ресурса. | ||||
| rsaEncryptedKey string | успех | Указывает закодированный в base64 RFC 4648, RSA-зашифрованный 2048-битный ключ шифрования, предоставленный пользователем, для шифрования или расшифровки этого ресурса. | ||||
| sha256 string | успех | Закодированный в base64 RFC 4648 хеш SHA-256 предоставленного пользователем ключа шифрования, который защищает этот ресурс. | ||||
| index integer | успех | Присваивает этому диску индекс от нуля, где 0 зарезервирован для загрузочного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный номер индекса. Если не указано, сервер выберет подходящее значение. | ||||
| initializeParams complex | успех | Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD-дисков, подключенных к новому экземпляру. | ||||
| diskName string | успех | Указывает имя диска. Если не указано, по умолчанию используется имя экземпляра. | ||||
| diskSizeGb integer | успех | Указывает размер диска в ГБ в двоичной системе. | ||||
| diskType string | успех | Ссылка на тип диска. Указывает тип диска, который нужно использовать для создания экземпляра. Если не указано, по умолчанию используется pd-standard. | ||||
| sourceImage string | успех | Исходный образ для создания этого диска. При создании нового экземпляра требуется либо initializeParams.sourceImage, либо disks.source. Для создания диска с одним из общедоступных образов операционной системы укажите имя семейства образа. | ||||
| sourceImageEncryptionKey complex | успех | Ключ шифрования исходного образа, предоставленный пользователем. Требуется, если исходный образ защищен ключом шифрования, предоставленным пользователем. Шаблоны экземпляров не хранят ключи шифрования, предоставленные пользователем, поэтому вы не можете создавать диски для экземпляров в управляемой группе экземпляров, если исходные образы зашифрованы с помощью ваших собственных ключей. | ||||
| rawKey string | успех | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 RFC 4648 для шифрования или расшифровки этого ресурса. | ||||
| sha256 string | успех | Закодированный в base64 RFC 4648 хеш SHA-256 предоставленного пользователем ключа шифрования, который защищает этот ресурс. | ||||
| interface string | успех | Указывает интерфейс диска для подключения, который может быть SCSI или NVME. По умолчанию используется SCSI. Постоянные диски всегда должны использовать SCSI, и запрос завершится неудачей, если вы попытаетесь подключить постоянный диск в другом формате, кроме SCSI. | ||||
| mode string | успех | Режим подключения этого диска, либо READ_WRITE, либо READ_ONLY. Если не указано, по умолчанию используется режим READ_WRITE. | ||||
| source dictionary | успех | Ссылка на диск. При создании нового экземпляра требуется либо initializeParams.sourceImage, либо disks.source. Если нужно, вы также можете подключить существующие постоянные диски, не являющиеся корневыми, с помощью этого свойства. Это поле применимо только для постоянных дисков. | ||||
| type string | успех | Указывает тип диска, либо SCRATCH, либо PERSISTENT. Если не указано, по умолчанию используется PERSISTENT. | ||||
| guestAccelerators complex | успех | Список типов и количества ускорительных карт, подключенных к экземпляру. | ||||
| acceleratorCount integer | успех | Количество ускорительных карт гостевой ОС, доступных этому экземпляру. | ||||
| acceleratorType string | успех | Полный или частичный URL ресурса типа ускорителя, который нужно предоставить этому экземпляру. | ||||
| hostname string | success | Имя хоста создаваемого экземпляра. Указанное имя хоста должно соответствовать RFC1035. Если имя хоста не указано, по умолчанию используется [INSTANCE_NAME].c.[PROJECT_ID].internal при использовании глобального DNS и [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal при использовании зонального DNS. | ||||
| id integer | success | Уникальный идентификатор ресурса. Этот идентификатор определяется сервером. | ||||
| labelFingerprint string | success | Отпечаток метки, используемый для оптимистической блокировки этого ресурса. Используется во внутренних операциях обновления. | ||||
| labels dictionary | success | Метки для применения к этому экземпляру. Список пар ключ-значение. | ||||
| machineType string | success | Ссылка на тип машины, определяющий тип виртуальной машины. | ||||
| metadata dictionary | success | Ключевые пары метаданных, которые необходимо назначить экземплярам, созданным из этой шаблона. Эти пары могут содержать пользовательские метаданные или предопределенные ключи. | ||||
| minCpuPlatform string | success | Указывает минимальную платформу процессора для виртуального экземпляра. Допустимые значения — это дружественные имена платформ процессоров. | ||||
| name string | success | Имя ресурса, предоставленное клиентом при первоначальном создании ресурса. Имя ресурса должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть длина должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — тире, строчные буквы или цифры, за исключением последнего символа, который не может быть тире. | ||||
| networkInterfaces complex | success | Массив конфигураций для этого интерфейса. Это определяет, как этот интерфейс настроен для взаимодействия с другими сетевыми службами, например, для подключения к интернету. На экземпляр разрешено только один сетевой интерфейс. | ||||
| accessConfigs complex | success | Массив конфигураций для этого интерфейса. В настоящее время поддерживается только одна конфигурация доступа ONE_TO_ONE_NAT. Если конфигурации доступа не указаны, этот экземпляр не будет иметь внешнего доступа к интернету. | ||||
| name string | success | Имя этой конфигурации доступа. По умолчанию и рекомендуется имя External NAT, но вы можете использовать любое произвольное имя. Например, My external IP или Network Access. | ||||
| natIP dictionary | success | Ссылка на адрес. Внешний IP-адрес, связанный с этим экземпляром. Укажите неиспользуемый статический внешний IP-адрес, доступный для проекта, или оставьте это поле пустым, чтобы использовать IP из общего пула временных IP-адресов. Если вы укажете статический внешний IP-адрес, он должен находиться в той же области, что и зона экземпляра. | ||||
| type string | success | Тип конфигурации. По умолчанию и единственный вариант — ONE_TO_ONE_NAT. | ||||
| aliasIpRanges complex | success | Массив диапазонов IP-адресов для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях в режиме подсети. | ||||
| ipCidrRange string | success | Диапазон IP CIDR, представленный этим диапазоном IP-адресов. Этот диапазон IP CIDR должен принадлежать указанной подсети и не может содержать IP-адреса, зарезервированные системой или используемые другими сетевыми интерфейсами. Этот диапазон может быть одиночным IP-адресом (например, 10.2.3.4), маской сети (например, /24) или строкой в формате CIDR (например, 10.1.2.0/24). | ||||
| subnetworkRangeName string | success | Необязательное имя вторичного диапазона подсети, указывающее вторичный диапазон, из которого следует выделять диапазон IP CIDR для этого диапазона IP-адресов. Если не указано, будет использован основной диапазон подсети. | ||||
| name string | success | Имя сетевого интерфейса, сгенерированное сервером. Для сетевых устройств это eth0, eth1 и т. д. | ||||
| network dictionary | success | Указывает заголовок существующей сети. Если не указать заголовок сети, будет выбран интерфейс по умолчанию, который мог быть уже настроен для SSH. | ||||
| networkIP string | success | Внутренний IPv4-адрес сети, который нужно назначить экземпляру для этого сетевого интерфейса. Если пользователь не указывает, система назначает неиспользуемый внутренний IP-адрес. | ||||
| subnetwork dictionary | success | Ссылка на сеть VPC. Если сетевой ресурс находится в режиме legacy, не указывайте это свойство. Если сеть находится в режиме автоматической подсети, указание подсети является необязательным. Если сеть находится в режиме пользовательской подсети, это поле должно быть указано. | ||||
| scheduling complex | success | Устанавливает параметры планирования для этого экземпляра. | ||||
| automaticRestart boolean | success | Указывает, следует ли автоматически перезапускать экземпляр, если он был завершён Compute Engine (а не пользователем). Вы можете установить параметр автоматического перезапуска только для стандартных экземпляров. Для предварительных экземпляров автоматический перезапуск невозможен. | ||||
| onHostMaintenance string | success | Определяет поведение обслуживания для этого экземпляра. Для стандартных экземпляров по умолчанию используется поведение MIGRATE. Для предварительных экземпляров по умолчанию и единственно возможное поведение — TERMINATE. Дополнительную информацию см. в разделе Установка параметров планирования экземпляров. | ||||
| preemptible boolean | success | Определяет, является ли экземпляр предварительным. Это можно установить только при создании экземпляра, изменить после создания экземпляра нельзя. | ||||
| serviceAccounts complex | success | Список учетных записей сервисов со своими указанными разрешениями, авторизованными для этого экземпляра. На один виртуальный экземпляр разрешена только одна учетная запись сервиса. | ||||
| email string | success | Электронный адрес учетной записи сервиса. | ||||
| scopes list | success | Список разрешений, которые должны быть доступны для этой учетной записи сервиса. | ||||
| shieldedInstanceConfig complex | success | Настройка различных параметров, связанных с защищенными экземплярами. | ||||
| enableIntegrityMonitoring boolean | success | Определяет, включено ли для экземпляра мониторинг целостности. | ||||
| enableSecureBoot boolean | success | Определяет, включён ли на экземпляре Secure Boot. | ||||
| enableVtpm boolean | success | Определяет, включён ли на экземпляре vTPM. | ||||
| status string | success | Состояние экземпляра. Одно из следующих значений: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED и TERMINATED. В качестве пользователя используйте RUNNING, чтобы сохранить машину «включённой», и TERMINATED, чтобы выключить машину. | ||||
| statusMessage string | success | Необязательное, понятное для человека объяснение состояния. | ||||
| tags complex | success | Список тегов для применения к этому экземпляру. Теги используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании экземпляра. Теги могут быть изменены позднее методом setTags. Каждый тег в списке должен соответствовать RFC1035. | ||||
| fingerprint string | success | Указывает отпечаток для этого запроса, который представляет собой хэш содержимого метаданных и используется для оптимистической блокировки. Отпечаток первоначально генерируется Compute Engine и изменяется после каждого запроса на изменение или обновление метаданных. Для обновления или изменения метаданных необходимо всегда предоставлять актуальный хэш отпечатка. | ||||
| items list | success | Массив тегов. Каждый тег должен иметь длину от 1 до 63 символов и соответствовать RFC1035. | ||||
| zone string | success | Ссылка на зону, в которой находится машина. | ||||
Состояние
- Данный модуль не гарантирует обратную совместимость интерфейса. [preview]
- Данный модуль поддерживается сообществом 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_info_module.html