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. Пример: 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::<идентификатор аккаунта>: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 роль экземпляра. Пример: role_name | |
| ansible_ec2_iam_security_credentials_ строка | Если с экземпляром связан IAM роль, role-name — это имя роли, и role-name содержит временные учетные данные безопасности, связанные с ролью. В противном случае отсутствует. | |
| ansible_ec2_iam_security_credentials_ строка | Идентификатор ключа доступа IAM роли. | |
| ansible_ec2_iam_security_credentials_ строка | Код IAM. Пример: Success | |
| 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 string | Архитектура системы экземпляра. Пример: x86_64 | |
| ansible_ec2_instance_identity_document_availabilityzone string | Зона доступности, в которой запущен экземпляр. Пример: 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_ строка | Указанные в интерфейсе адреса 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_ строка | Идентификатор подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: subnet-01234567 | |
| ansible_ec2_network_interfaces_macs_ строка | IPv4-блок CIDR подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.1.0/24 | |
| ansible_ec2_network_interfaces_macs_ строка | IPv6-блок CIDR подсети, в которой находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. | |
| ansible_ec2_network_interfaces_macs_ строка | Идентификатор VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: vpc-0123456 | |
| ansible_ec2_network_interfaces_macs_ строка | IPv4-блок CIDR VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.0.0/16 | |
| ansible_ec2_network_interfaces_macs_ строка | IPv4-блок CIDR VPC, в котором находится интерфейс. Возвращается только для экземпляров, запущенных в VPC. Пример: 10.0.0.0/16 | |
| ansible_ec2_network_interfaces_macs_ строка | IPv6-блок CIDR 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 строка | Идентификатор образов памяти, указанный при запуске, если применимо. | |
| 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]
- Этот модуль поддерживается Командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний 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.9/modules/ec2_metadata_facts_module.html