diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index d7ea202175d..c61452839ab 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -459,7 +459,12 @@ class Runner(object): if len(items) and utils.is_list_of_strings(items) and self.module_name in [ 'apt', 'yum', 'pkgng' ]: # hack for apt, yum, and pkgng so that with_items maps back into a single module call - inject['item'] = ",".join(items) + use_these_items = [] + for x in items: + inject['item'] = x + if not self.conditional or utils.check_conditional(self.conditional, self.basedir, inject, fail_on_undefined=self.error_on_undefined_vars): + use_these_items.append(item) + inject['item'] = ",".join(use_these_items) items = None # logic to replace complex args if possible