Ansible: register: ec2 / with_items: ec2.instances - результат "str object has no attribute"

Созданный на 18 июн. 2015  ·  3Комментарии  ·  Источник: ansible/ansible

У меня есть учебник, очень похожий на примеры в Интернете:


задания:
- name: создать экземпляр EC2
ec2:
[-snip-]
регистр: ec2
- имя: распечатать
отладка: msg = "элемент имеет - {{item.public_ip}}"
with_items: ec2.instances


Это дает ошибку:


fatal: [localhost] => Одна или несколько неопределенных переменных: 'str object' не имеет атрибута 'public_ip'

Если я изменю его на {{item}}, я увижу:

ЗАДАЧА: [распечатать] * * * * * * * * * * * * * * * * * * * *
ок: [localhost] => (item = ec2.instances) => {
"item": "ec2.instances",
"msg": "item has - ec2.instances"
}


Кажется, что ec2.instances - это просто строка? Наконец, если я использую «with_items: ec2.results», я могу перебирать его, но я должен ссылаться на него как на item.instances.0.public_ip

Любая идея, почему ec2_instances кажется строкой, а не словарем?

Редактировать:
: arp_kiki / pts / 55: 0.08: новое; ansible - версия ansible 1.5.4

после обновления:

ок: [localhost] => (item = ec2.instances) => {
"item": "ec2.instances",
"msg": "элемент имеет - ec2.instances"
}

ИГРАТЬ резюмировать * * * * * * * * * * * * * * * * * * * * * *
localhost: ok = 2 изменено = 1 недоступен = 0 сбой = 0

: arp_kiki / pts / 55: 0.31: новое; ansible --version
доступный 1.9.1

Самый полезный комментарий

Понял. Я предположил, что это ошибка, потому что следил за документацией и получал разные результаты.

Все 3 Комментарий

Привет!

Большое спасибо за ваш интерес к Ansible. Это очень много значит для нас.

Похоже, это вопрос пользователя, и мы хотели бы направлять подобные вещи либо в список рассылки, либо на канал IRC.

также причина в том, что используется with_items, следовательно, будет несколько экземпляров, и результаты каждого созданного экземпляра хранятся в dict ec2.results. если есть только один экземпляр create excluild with_items, тогда вы должны получить то, что вам нужно, или, если у вас есть несколько экземпляров для создания, затем использовать общедоступный IP-адрес with_items: ec2.results и item.public_ip

IRC: #ansible на irc.freenode.net
список рассылки: https://groups.google.com/forum/#!forum/ansible -project
Если вы можете зайти туда, мы будем признательны. Это позволяет нам отслеживать ошибки, извлекать запросы, RFE и тому подобное.

Еще раз спасибо, и мы с нетерпением ждем встречи с вами в списке IRC. Спасибо!

Понял. Я предположил, что это ошибка, потому что следил за документацией и получал разные результаты.

Я просто зашел в эту ветку из-за той же «ошибки пользователя», причину которой with_items будет очень распространенным шаблоном управление системами в установленных зонах доступности.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги