google.cloud.gcp_compute_instance_info – Сбор информации о виртуальной машине GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в плейбуке укажите: google.cloud.gcp_compute_instance_info.
Обзор
- Сбор информации о виртуальной машине GCP
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- 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, используя переменную среды
gcp_service_account_file. - для аутентификации можно установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS. - для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - значения переменных среды будут использоваться только в том случае, если значения плейбука не установлены.
- опции 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-битный ключ шифрования, предоставленный пользователем, закодированный в формате RFC 4648 base64 для шифрования или расшифрования этого ресурса. | ||||
| rsaEncryptedKey string | успех | Указывает закодированный в RFC 4648 base64 ключ шифрования, защищённый RSA, 2048-битный ключ, предоставленный пользователем, для шифрования или расшифрования этого ресурса. | ||||
| sha256 string | успех | Закодированный в формате RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного пользователем, защищающего этот ресурс. | ||||
| index integer | успех | Присваивает индекс (от 0) этому диску, где 0 зарезервирован для загрузочного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный номер индекса. Если не указано, сервер выберет подходящее значение. | ||||
| initializeParams complex | успех | Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD, подключённых к новому экземпляру. | ||||
| diskName string | успех | Указывает имя диска. Если не указано, по умолчанию используется имя экземпляра. | ||||
| diskSizeGb integer | успех | Указывает размер диска в ГБ. | ||||
| diskType string | успех | Ссылка на тип диска. Указывает тип диска для создания экземпляра. Если не указано, по умолчанию используется pd-standard. | ||||
| sourceImage string | успех | Источник образа для создания диска. При создании нового экземпляра требуется один из initializeParams.sourceImage или disks.source. Для создания диска с одним из общедоступных образов операционной системы укажите имя семейства образа. | ||||
| sourceImageEncryptionKey complex | успех | Ключ шифрования источника образа, предоставленный пользователем. Требуется, если образ источника защищен ключом шифрования, предоставленным пользователем. Шаблоны экземпляров не хранят ключи шифрования, предоставленные пользователем, поэтому вы не можете создать диски для экземпляров в группе управляемых экземпляров, если исходные образы зашифрованы с помощью ваших ключей. | ||||
| rawKey string | успех | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в формате RFC 4648 base64 для шифрования или расшифрования этого ресурса. | ||||
| sha256 string | успех | Закодированный в формате RFC 4648 base64 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 | успех | Имя хоста экземпляра для создания. Указанное имя хоста должно соответствовать RFC1035. Если имя хоста не указано, по умолчанию используется [INSTANCE_NAME].c.[PROJECT_ID].internal при использовании глобального DNS и [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal при использовании зонального DNS. | ||||
| id integer | успех | Уникальный идентификатор ресурса, определённый сервером. | ||||
| labelFingerprint string | успех | Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется в обновлениях. | ||||
| labels dictionary | успех | Метки для применения к этому экземпляру. Список пар ключ-значение. | ||||
| machineType string | успех | Ссылка на тип машины, определяющий тип ВМ. | ||||
| metadata dictionary | успех | Ключевые пары метаданных, назначенные экземплярам, созданным по этому шаблону. Эти пары могут содержать пользовательские метаданные или предопределённые ключи. | ||||
| 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-адрес, он должен находиться в той же области, что и зона экземпляра. | ||||
| networkTier string | success | Это указывает на уровень сети, используемый для настройки этой конфигурации доступа. Если AccessConfig указан без действительного внешнего IP-адреса, будет создан временный IP-адрес с этим networkTier. Если AccessConfig с действительным внешним IP-адресом указан, он должен соответствовать уровню сети, связанному с ресурсом Address, владеющим этим IP-адресом. | ||||
| publicPtrDomainName string | success | Имя домена DNS для публичной записи PTR. Вы можете установить это поле только в том случае, если поле setPublicPtr включено. | ||||
| setPublicPtr boolean | success | Указывает, следует ли создавать публичную запись DNS PTR для сопоставления внешнего IP-адреса экземпляра с именем домена DNS. | ||||
| type string | success | Тип конфигурации. По умолчанию и единственный вариант — ONE_TO_ONE_NAT. | ||||
| aliasIpRanges complex | success | Массив диапазонов IP-адресов псевдонимов для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях subnet-mode. | ||||
| 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 / elements=string | 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. | ||||
| отпечаток строка | успех | Указывает отпечаток для этого запроса, который представляет собой хэш содержимого метаданных и используется для оптимистической блокировки. Отпечаток изначально генерируется Compute Engine и изменяется после каждого запроса на изменение или обновление метаданных. Для обновления или изменения метаданных необходимо всегда предоставлять актуальный хэш отпечатка. | ||||
| элементы список / элементы=строка | успех | Массив тегов. Каждый тег должен иметь длину от 1 до 63 символов и соответствовать RFC1035. | ||||
| зона строка | успех | Ссылка на зону, в которой находится виртуальная машина. | ||||
Авторы
- 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.10/collections/google/cloud/gcp_compute_instance_info_module.html