google.cloud.gcp_compute_instance_info – Сбор информации о виртуальной машине GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: 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 зарезервирован для загрузочного диска. Например, если к экземпляру подключено много дисков, каждый диск будет иметь уникальный индекс. Если не указано, сервер выберет соответствующее значение. | ||||
| initializeParams complex | успех | Указывает параметры для нового диска, который будет создан вместе с новым экземпляром. Используйте параметры инициализации для создания загрузочных дисков или локальных SSD, подключенных к новому экземпляру. | ||||
| diskName string | успех | Указывает имя диска. Если не указано, используется имя экземпляра по умолчанию. | ||||
| diskSizeGb integer | успех | Указывает размер диска в гигабайтах (base-2). | ||||
| 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 | Массив диапазонов alias IP для этого сетевого интерфейса. Может быть указан только для сетевых интерфейсов на сетях в режиме подсети. | ||||
| ipCidrRange string | success | Диапазон IP CIDR, представленный этим alias IP-диапазоном. Этот диапазон IP CIDR должен принадлежать указанной подсети и не может содержать IP-адреса, зарезервированные системой или используемые другими сетевыми интерфейсами. Этот диапазон может быть отдельным IP-адресом (например, 10.2.3.4), маской сети (например, /24) или строкой в формате CIDR (например, 10.1.2.0/24). | ||||
| subnetworkRangeName string | success | Необязательное имя вторичного диапазона подсети, указывающее вторичный диапазон, из которого следует выделять диапазон IP CIDR для этого диапазона alias 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_instance_info_module.html