Вы можете перебрать свой список результатов:
- name: Do some actual tagging
delegate_to: localhost
ec2_tag:
region: '{{ aws_region }}'
resource: "{{ item.volume.id }}"
tags:
environment: test
backup: true
with_items: "{{ ec2_volumes.results }}"
Каждый вход, также в остальной части пьесы, будет очень признателен
Рассмотримиспользуя delegate_to: localhost
вместо local_action
.Рассмотрим следующую задачу:
- name: an example
command: do something
Используя delegate_to
, мне нужно добавить только одну строку:
- name: an example
delegate_to: localhost
command: do something
При использовании local_action
Мне нужно переписать задачу:
- name: an example
local_action:
module: command do something
И, конечно, delegate_to
более гибок: его можно использовать для делегирования на хосты, отличные от localhost.
Обновление
Безвидя вашу настоящую пьесу, трудно определить источник ошибки.Вот полная книга игр, которая успешно запускается (с использованием синтезированных данных и упаковки задачи ec2_tag
в задачу debug
):
---
- hosts: localhost
gather_facts: false
vars:
aws_region: example
ec2_volumes:
results:
- volume:
id: 1
- volume:
id: 2
tasks:
- name: Do some actual tagging
debug:
msg:
ec2_tag:
region: '{{ aws_region }}'
resource: '{{ item.volume.id }}'
tags:
environment: test
backup: true
with_items: "{{ ec2_volumes.results }}"