--- version: '2.0' host-evacuate: description: Evacuate VMs from given host type: direct input: - search_opts - on_shared_storage - flavor_extra_specs tasks: list_vms: action: nova.servers_list search_opts=<% $.search_opts %> publish: vms: <% $.list_vms %> on-success: filter_vms list_flavors: action: custom.find_flavors extra_specs=<% $.flavor_extra_specs %> publish: flavors: <% $.list_flavors %> on-success: filter_vms filter_vms: join: all action: custom.filter flavors=<% $.flavors %> vms=<% $.vms %> publish: filtered_vms: <% $.filter_vms %> on-success: evacuate_vms evacuate_vms: with-items: vm in <% $.filtered_vms %> action: nova.servers_evacuate server=<% $.vm %> on_shared_storage=<% $.on_shared_storage %>