ec2_metadata_facts - Сбор фактов (метаданных экземпляра) о удалённых хостах в рамках ec2
Описание
- Этот модуль извлекает данные с конечной точки метаданных экземпляра в ec2, согласно http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html. Модуль должен вызываться внутри самого экземпляра EC2.
Псевдонимы: ec2_facts
Примечания
Примечание
- Параметры для фильтрации в 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-имя_раздела. Например, раздел для ресурсов в регионе Китай (Пекин) — 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, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых командой Ansible Core, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/ec2_metadata_facts_module.html