ec2_metadata_facts - Сбор фактов (метаданных экземпляра) о удалённых хостах в ec2
Обзор
- Этот модуль извлекает данные из конечной точки метаданных экземпляра в ec2 в соответствии с http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html. Модуль должен вызываться внутри самого экземпляра EC2.
Псевдонимы: ec2_facts
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| client_cert | Файл цепочки сертификатов в формате PEM, который будет использоваться для аутентификации клиента SSL. Этот файл также может содержать ключ, и если ключ включён, client_key не требуется. | |
| client_key | Файл в формате PEM, содержащий ваш закрытый ключ, который будет использоваться для аутентификации клиента SSL. Если client_cert содержит и сертификат, и ключ, этот параметр не требуется. | |
| force |
| Если yes не получить кэшированную копию.псевдонимы: thirsty |
| force_basic_auth |
| Указанные учетные данные с помощью url_username и url_password должны передаваться в HTTP-заголовке. |
| http_agent | Значение по умолчанию: ansible-httpget | Заголовок для идентификации, обычно отображается в журналах веб-сервера. |
| url | HTTP, HTTPS или FTP URL в формате (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь | |
| url_password | Пароль для использования в HTTP-аутентификации по основанию. Если параметр url_username не указан, параметр url_password не будет использован. | |
| url_username | Имя пользователя для использования в HTTP-аутентификации по основанию. Этот параметр может быть использован без url_password для сайтов, которые допускают пустые пароли | |
| use_proxy |
| Если no, он не будет использовать прокси, даже если прокси определён в переменной окружения на целевых хостах. |
| validate_certs |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, использующих самозаверенные сертификаты. |
Примечания
Примечание
- Параметры для фильтрации ec2_metadata_facts могут быть добавлены позже.
Примеры
# Gather EC2 metadata facts
- ec2_metadata_facts:
- debug:
msg: "This instance is a t1.micro"
when: ansible_ec2_instance_type == "t1.micro"
Возвращаемые факты
Возвращаемые этим модулем факты добавляются/обновляются в hostvars фактах хостов и могут быть использованы по имени, как и любой другой факт хоста. Они не нуждаются в регистрации для использования.
| Факт | Возвращено | Описание |
|---|---|---|
| ansible_ec2_ami_id строка | Идентификатор AMI, используемый для запуска экземпляра. Пример: ami-XXXXXXXX | |
| ansible_ec2_ami_launch_index строка | Если вы запустили более одного экземпляра одновременно, это значение указывает порядок запуска экземпляра. Значение первого запущенного экземпляра равно 0. Пример: 0 | |
| ansible_ec2_ami_manifest_path строка | Путь к файлу манифеста AMI в Amazon S3. Если для запуска экземпляра использовался AMI на основе Amazon EBS, возвращаемое значение неизвестно. Пример: (неизвестно) | |
| ansible_ec2_ancestor_ami_ids строка | Идентификаторы AMI любых экземпляров, которые были объединены для создания данного AMI. Это значение будет присутствовать только в том случае, если файл манифеста AMI содержал ключ ancestor-amis. Пример: (неизвестно) | |
| ansible_ec2_block_device_mapping_ami строка | Виртуальное устройство, содержащее корневую/загрузочную файловую систему. Пример: /dev/sda1 | |
| ansible_ec2_block_device_mapping_ebsN строка | Виртуальные устройства, связанные с томами Amazon EBS, если они присутствуют. Тома Amazon EBS доступны в метаданных только в том случае, если они присутствовали во время запуска или при последнем запуске экземпляра. N указывает индекс тома Amazon EBS (например, ebs1 или ebs2). Пример: /dev/xvdb | |
| ansible_ec2_block_device_mapping_ephemeralN строка | Виртуальные устройства, связанные с временными устройствами, если они присутствуют. N указывает индекс временного тома. Пример: /dev/xvdc | |
| ansible_ec2_block_device_mapping_root строка | Виртуальные устройства или разделы, связанные с корневыми устройствами или разделами виртуального устройства, где корневая файловая система (/ или C) связана с данным экземпляром. Пример: /dev/sda1 | |
| ansible_ec2_block_device_mapping_swap строка | Виртуальные устройства, связанные со свопом. Не всегда присутствуют. Пример: /dev/sda2 | |
| ansible_ec2_fws_instance_monitoring строка | Значение, показывающее, включил ли клиент подробное мониторинг в CloudWatch с частотой одной минуты. Пример: enabled | |
| ansible_ec2_hostname строка | Частный IPv4 DNS-хост-имя экземпляра. В тех случаях, когда присутствует несколько сетевых интерфейсов, это относится к устройству eth0 (устройство, номер которого равен 0). Пример: ip-10-0-0-1.ec2.internal | |
| ansible_ec2_iam_info сложное | Если с экземпляром связан роль IAM, содержит информацию о последнем обновлении профиля экземпляра, включая дату LastUpdated экземпляра, InstanceProfileArn и InstanceProfileId. В противном случае отсутствует. | |
| ansible_ec2_iam_info_instanceprofilearn строка | IAM ARN профиля экземпляра. Пример: arn:aws:iam::<id счета>:instance-profile/<имя роли> | |
| ansible_ec2_iam_info_instanceprofileid строка | Идентификатор IAM профиля экземпляра. | |
| ansible_ec2_iam_info_lastupdated строка | Время последнего обновления информации IAM. Пример: 2017-05-12T02:42:27Z | |
| ansible_ec2_iam_instance_profile_role строка | IAM роль экземпляра. Пример: имя_роли | |
| ansible_ec2_iam_security_credentials_ строка | Если с экземпляром связана роль IAM, role-name — это имя роли, и role-name содержит временные учетные данные безопасности, связанные с ролью. В противном случае отсутствует. | |
| ansible_ec2_iam_security_credentials_ строка | Идентификатор ключа доступа к роли IAM. | |
| ansible_ec2_iam_security_credentials_ строка | Код IAM. Пример: Успешно | |
| ansible_ec2_iam_security_credentials_ строка | Время истечения срока действия учетных данных роли IAM. Пример: 2017-05-12T09:11:41Z | |
| ansible_ec2_iam_security_credentials_ строка | Время последнего обновления роли IAM. Пример: 2017-05-12T02:40:44Z | |
| ansible_ec2_iam_security_credentials_ строка | Секретный ключ доступа к роли IAM. | |
| ansible_ec2_iam_security_credentials_ строка | Токен роли IAM. | |
| ansible_ec2_iam_security_credentials_ строка | Тип роли IAM. Пример: AWS-HMAC | |
| ansible_ec2_instance_action строка | Уведомляет экземпляр о том, что он должен перезагрузиться для подготовки к объединению. Пример: none | |
| ansible_ec2_instance_id строка | Идентификатор этого экземпляра. Пример: i-XXXXXXXXXXXXXXXXX | |
| ansible_ec2_instance_identity_document строка | JSON, содержащий атрибуты экземпляра, такие как instance-id, частный IP-адрес и т. д. | |
| ansible_ec2_instance_identity_document_accountid строка | Пример: 012345678901 | |
| ansible_ec2_instance_identity_document_architecture строка | Архитектура системы экземпляра. Пример: x86_64 | |
| ansible_ec2_instance_identity_document_availabilityzone строка | Зона доступности, в которой запущен экземпляр. Пример: us-east-1a |
| ansible_ec2_instance_identity_document_billingproducts string | Счета за продукты для этой инстанции. | |
| ansible_ec2_instance_identity_document_devpayproductcodes string | Коды продуктов для запущенного AMI. | |
| ansible_ec2_instance_identity_document_imageid string | Идентификатор AMI, используемый для запуска экземпляра. Пример: ami-01234567 | |
| ansible_ec2_instance_identity_document_instanceid string | Идентификатор этого экземпляра. Пример: i-0123456789abcdef0 | |
| ansible_ec2_instance_identity_document_instancetype string | Тип экземпляра. Пример: m4.large | |
| ansible_ec2_instance_identity_document_kernelid string | Идентификатор ядра, запущенного с этим экземпляром, если применимо. | |
| ansible_ec2_instance_identity_document_pendingtime string | Время ожидания экземпляра. Пример: 2017-05-11T20:51:20Z | |
| ansible_ec2_instance_identity_document_privateip string | Приватный IPv4-адрес экземпляра. В случаях, когда присутствует несколько сетевых интерфейсов, это относится к устройству eth0 (устройство с номером устройства 0). Пример: 10.0.0.1 | |
| ansible_ec2_instance_identity_document_ramdiskid string | Идентификатор RAM-диска, указанного во время запуска, если применимо. | |
| ansible_ec2_instance_identity_document_region string | Регион, в котором запущен экземпляр. Пример: us-east-1 | |
| ansible_ec2_instance_identity_document_version string | Версия документа удостоверения личности. Пример: 2010-08-31 | |
| ansible_ec2_instance_identity_pkcs7 string | Используется для проверки подлинности и содержимого документа по отношению к подписи. | |
| ansible_ec2_instance_identity_rsa2048 string | Используется для проверки подлинности и содержимого документа по отношению к подписи. | |
| ansible_ec2_instance_identity_signature string | Данные, которые могут использоваться другими сторонами для проверки его происхождения и подлинности. | |
| ansible_ec2_instance_type string | Тип экземпляра. Пример: m4.large | |
| ansible_ec2_local_hostname string | Приватное IPv4 DNS имя хоста экземпляра. В случаях, когда присутствует несколько сетевых интерфейсов, это относится к устройству eth0 (устройство с номером устройства 0). Пример: ip-10-0-0-1.ec2.internal | |
| ansible_ec2_local_ipv4 string | Приватный IPv4-адрес экземпляра. В случаях, когда присутствует несколько сетевых интерфейсов, это относится к устройству eth0 (устройство с номером устройства 0). Пример: 10.0.0.1 | |
| ansible_ec2_mac string | MAC-адрес экземпляра. В случаях, когда присутствует несколько сетевых интерфейсов, это относится к устройству eth0 (устройство с номером устройства 0). Пример: 00:11:22:33:44:55 | |
| ansible_ec2_metrics_vhostmd string | Метрики. | |
| ansible_ec2_network_interfaces_macs_ string | Уникальный номер устройства, связанный с этим интерфейсом. Номер устройства соответствует имени устройства; например, номер устройства 2 соответствует устройству eth2. Эта категория соответствует полям DeviceIndex и device-index, используемым API Amazon EC2 и командами EC2 для AWS CLI. Пример: 0 | |
| ansible_ec2_network_interfaces_macs_ string | Идентификатор эластичного сетевого интерфейса. Пример: eni-12345678 | |
| ansible_ec2_network_interfaces_macs_ string | Приватные IPv4-адреса, которые связаны с каждым общедоступным IP-адресом и назначены этому интерфейсу. | |
| ansible_ec2_network_interfaces_macs_ string | IPv6-адреса, связанные с интерфейсом. Возвращается только для экземпляров, запущенных в VPC. | |
| ansible_ec2_network_interfaces_macs_ string | Локальное имя хоста интерфейса. | |
| ansible_ec2_network_interfaces_macs_ string | Приватные IPv4-адреса, связанные с интерфейсом. | |
| ansible_ec2_network_interfaces_macs_ string | MAC-адрес экземпляра. Пример: 00:11:22:33:44:55 | |
| ansible_ec2_network_interfaces_macs_ string | Идентификатор владельца сетевого интерфейса. В средах с несколькими интерфейсами интерфейс может быть подключен третьей стороной, такой как Elastic Load Balancing. Трафик по интерфейсу всегда оплачивается владельцем интерфейса. Пример: 01234567890 | |
| ansible_ec2_network_interfaces_macs_ string | Общедоступное DNS-имя хоста интерфейса (IPv4). Если экземпляр находится в VPC, эта категория возвращается только в том случае, если атрибут enableDnsHostnames установлен в значение true. Пример: ec2-1-2-3-4.compute-1.amazonaws.com | |
| ansible_ec2_network_interfaces_macs_ string | Общедоступные IP-адреса, связанные с интерфейсом. На экземпляре может быть несколько IPv4-адресов. Пример: 1.2.3.4 | |
| ansible_ec2_network_interfaces_macs_ string | Идентификаторы групп безопасности, к которым принадлежит сетевой интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: sg-01234567,sg-01234568 | |
| ansible_ec2_network_interfaces_macs_ string | Группы безопасности, к которым принадлежит сетевой интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: secgroup1,secgroup2 |
| ansible_ec2_network_interfaces_macs_ строка | Идентификатор подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: subnet-01234567 | |
| ansible_ec2_network_interfaces_macs_ строка | Блок CIDR IPv4 подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.1.0/24 | |
| ansible_ec2_network_interfaces_macs_ строка | Блок CIDR IPv6 подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. | |
| ansible_ec2_network_interfaces_macs_ строка | Идентификатор VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: vpc-0123456 | |
| ansible_ec2_network_interfaces_macs_ строка | Блок CIDR IPv4 VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.0.0/16 | |
| ansible_ec2_network_interfaces_macs_ строка | Блок CIDR IPv4 VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.0.0/16 | |
| ansible_ec2_network_interfaces_macs_ строка | Блок CIDR IPv6 VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. | |
| ansible_ec2_placement_availability_zone строка | Зона доступности, в которой запущен экземпляр. Пример: us-east-1a | |
| ansible_ec2_placement_region строка | Регион, в котором запущен экземпляр. Пример: us-east-1 | |
| ansible_ec2_product_codes строка | Код продукта, связанный с экземпляром, если таковой имеется. Пример: aw0evgkw8e5c1q413zgy5pjce | |
| ansible_ec2_profile строка | Профиль аппаратного обеспечения экземпляра EC2. Пример: default-hvm | |
| ansible_ec2_public_hostname строка | Общедоступный DNS-адрес экземпляра. Если экземпляр находится в VPC, эта категория возвращается только в том случае, если атрибут enableDnsHostnames установлен в значение true. Пример: ec2-1-2-3-4.compute-1.amazonaws.com | |
| ansible_ec2_public_ipv4 строка | Общедоступный IPv4-адрес. Если с экземпляром связан Elastic IP-адрес, возвращаемое значение — это Elastic IP-адрес. Пример: 1.2.3.4 | |
| ansible_ec2_public_key строка | Открытый ключ. Доступен только если он был указан при запуске экземпляра. | |
| ansible_ec2_ramdisk_id строка | Идентификатор RAM-диска, указанного при запуске, если применимо. | |
| ansible_ec2_reservation_id строка | Идентификатор резервации. Пример: r-0123456789abcdef0 | |
| ansible_ec2_security_groups строка | Названия групп безопасности, применённых к экземпляру. После запуска вы можете изменить группы безопасности только для экземпляров, работающих в VPC. Такие изменения отражаются здесь и в network/interfaces/macs/mac/security-groups. Пример: securitygroup1,securitygroup2 | |
| ansible_ec2_services_domain строка | Домен AWS-ресурсов для региона; например, amazonaws.com для us-east-1. Пример: amazonaws.com | |
| ansible_ec2_services_partition строка | Раздел, в котором находится ресурс. Для стандартных AWS-регионов раздел — aws. Если у вас есть ресурсы в других разделах, раздел — aws-partitionname. Например, раздел для ресурсов в регионе Китай (Пекин) — aws-cn. Пример: aws | |
| ansible_ec2_spot_termination_time строка | Приблизительное время (в UTC), когда операционная система вашего экземпляра Spot получит сигнал о завершении работы. Этот элемент присутствует и содержит значение времени только в том случае, если экземпляр Spot помечен для завершения Amazon EC2. Элемент termination-time не установлен на время, если вы сами завершили экземпляр Spot. Пример: 2015-01-05T18:02:00Z | |
| ansible_ec2_user_data строка | Данные пользователя экземпляра. Пример: #!/bin/bash |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься обратные изменения интерфейса.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний
Автор
- Silviu Dicu (@silviud)
- Vinay Dandekar (@roadmapper)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ec2_metadata_facts_module.html