ec2_metadata_facts – Сбор фактов (метаданных экземпляра) о удалённых хостах в ec2
Описание
- Этот модуль извлекает данные с конечной точки метаданных экземпляра в ec2 в соответствии с https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html. Модуль должен вызываться непосредственно внутри экземпляра EC2.
Примечания
Примечание
- Параметры для фильтрации в 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 с частотой 1 минута. Пример: enabled | |
| ansible_ec2_hostname строка | Частное имя хоста IPv4 DNS экземпляра. В случае наличия нескольких сетевых интерфейсов это относится к устройству eth0 (устройству, номер которого 0). Пример: ip-10-0-0-1.ec2.internal | |
| ansible_ec2_iam_info сложная | Если с экземпляром связан роль IAM, содержит информацию о последнем обновлении профиля экземпляра, включая дату последнего обновления экземпляра, InstanceProfileArn и InstanceProfileId. В противном случае отсутствует. | |
| ansible_ec2_iam_info_instanceprofilearn строка | ARN профиля экземпляра IAM. Пример: arn:aws:iam::<идентификатор учетной записи>: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, имя_роли — это имя роли, и имя_роли содержит временные учетные данные безопасности, связанные с ролью. В противном случае отсутствует. | |
| 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 строка | Тарифы на услуги для этого экземпляра. | |
| ansible_ec2_instance_identity_document_devpayproductcodes строка | Коды продуктов для запущенного AMI. | |
| ansible_ec2_instance_identity_document_imageid строка | Идентификатор AMI, используемый для запуска экземпляра. Пример: ami-01234567 | |
| ansible_ec2_instance_identity_document_instanceid строка | Идентификатор этого экземпляра. Пример: i-0123456789abcdef0 | |
| ansible_ec2_instance_identity_document_instancetype строка | Тип экземпляра. Пример: m4.large | |
| ansible_ec2_instance_identity_document_kernelid строка | Идентификатор ядра, запущенного с этим экземпляром (применимо). | |
| ansible_ec2_instance_identity_document_pendingtime строка | Время ожидания экземпляра. Пример: 2017-05-11T20:51:20Z | |
| ansible_ec2_instance_identity_document_privateip строка | Приватный IPv4-адрес экземпляра. В случаях наличия нескольких сетевых интерфейсов, это относится к устройству eth0 (устройство с номером 0). Пример: 10.0.0.1 | |
| ansible_ec2_instance_identity_document_ramdiskid строка | Идентификатор RAM-диска, указанного при запуске (применимо). | |
| ansible_ec2_instance_identity_document_region строка | Регион, в котором запущен экземпляр. Пример: us-east-1 | |
| ansible_ec2_instance_identity_document_version строка | Версия документа удостоверения личности. Пример: 2010-08-31 | |
| ansible_ec2_instance_identity_pkcs7 строка | Используется для проверки подлинности и содержимого документа по отношению к подписи. | |
| ansible_ec2_instance_identity_rsa2048 строка | Используется для проверки подлинности и содержимого документа по отношению к подписи. | |
| ansible_ec2_instance_identity_signature строка | Данные, которые могут быть использованы другими сторонами для проверки происхождения и подлинности. | |
| ansible_ec2_instance_type строка | Тип экземпляра. Пример: m4.large | |
| ansible_ec2_local_hostname строка | Приватное IPv4 DNS-имя хоста экземпляра. В случаях наличия нескольких сетевых интерфейсов, это относится к устройству eth0 (устройство с номером 0). Пример: ip-10-0-0-1.ec2.internal | |
| ansible_ec2_local_ipv4 строка | Приватный IPv4-адрес экземпляра. В случаях наличия нескольких сетевых интерфейсов, это относится к устройству eth0 (устройство с номером 0). Пример: 10.0.0.1 | |
| ansible_ec2_mac строка | MAC-адрес экземпляра. В случаях наличия нескольких сетевых интерфейсов, это относится к устройству eth0 (устройство с номером 0). Пример: 00:11:22:33:44:55 | |
| ansible_ec2_metrics_vhostmd строка | Метрики. | |
| ansible_ec2_network_interfaces_macs_ строка | Уникальный номер устройства, связанный с этим интерфейсом. Номер устройства соответствует имени устройства; например, номер устройства 2 соответствует устройству eth2. Эта категория соответствует полям DeviceIndex и device-index, которые используются API Amazon EC2 и командами EC2 для AWS CLI. Пример: 0 | |
| ansible_ec2_network_interfaces_macs_ строка | Идентификатор эластичного сетевого интерфейса. Пример: eni-12345678 | |
| ansible_ec2_network_interfaces_macs_ строка | Приватные IPv4-адреса, связанные с каждым публичным IP-адресом и назначенные этому интерфейсу. | |
| ansible_ec2_network_interfaces_macs_ строка | IPv6-адреса, связанные с интерфейсом. Возвращаются только для экземпляров, запущенных в VPC. | |
| ansible_ec2_network_interfaces_macs_ строка | Локальное имя хоста интерфейса. | |
| ansible_ec2_network_interfaces_macs_ строка | Приватные IPv4-адреса, связанные с интерфейсом. | |
| ansible_ec2_network_interfaces_macs_ строка | MAC-адрес экземпляра. Пример: 00:11:22:33:44:55 | |
| ansible_ec2_network_interfaces_macs_ строка | Идентификатор владельца сетевого интерфейса. В средах с несколькими интерфейсами интерфейс может быть подключен третьей стороной, например, Elastic Load Balancing. Трафик по интерфейсу всегда оплачивается владельцем интерфейса. Пример: 01234567890 | |
| ansible_ec2_network_interfaces_macs_ строка | Общедоступное DNS-имя хоста интерфейса (IPv4). Если экземпляр находится в VPC, эта категория возвращается только в том случае, если атрибут enableDnsHostnames установлен в true. Пример: ec2-1-2-3-4.compute-1.amazonaws.com | |
| ansible_ec2_network_interfaces_macs_ строка | Связанные с интерфейсом адреса Elastic IP. Может быть несколько IPv4-адресов на экземпляре. Пример: 1.2.3.4 | |
| ansible_ec2_network_interfaces_macs_ строка | Идентификаторы групп безопасности, к которым принадлежит сетевой интерфейс. Возвращаются только для экземпляров, запущенных в VPC. Пример: sg-01234567,sg-01234568 | |
| ansible_ec2_network_interfaces_macs_ строка | Группы безопасности, к которым принадлежит сетевой интерфейс. Возвращаются только для экземпляров, запущенных в VPC. Пример: secgroup1,secgroup2 |
| ansible_ec2_network_interfaces_macs_ строка | ID подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в 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_ строка | ID 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-адрес. Если с экземпляром связан упругий IP-адрес, возвращаемое значение — это упругий IP-адрес. Пример: 1.2.3.4 | |
| ansible_ec2_public_key строка | Открытый ключ. Доступен только при предоставлении в момент запуска экземпляра. | |
| ansible_ec2_ramdisk_id строка | ID диска RAM, указанного при запуске, если применимо. | |
| ansible_ec2_reservation_id строка | 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 получит сигнал завершения работы. Этот элемент присутствует и содержит значение времени только в том случае, если Amazon EC2 пометил экземпляр Spot на завершение. Элемент termination-time не устанавливается в время, если вы сами завершили экземпляр Spot. Пример: 2015-01-05T18:02:00Z | |
| ansible_ec2_user_data строка | Данные пользователя экземпляра. Пример: #!/bin/bash |
Статус
- Этот модуль гарантирует отсутствие изменений интерфейса, несовместимых с предыдущими версиями, в дальнейшем. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в статье базы знаний Red Hat Red Hat Knowledge Base article.
Авторы
- 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.8/modules/ec2_metadata_facts_module.html