From 7b01c831595082f1809efed2725c6e030838bef8 Mon Sep 17 00:00:00 2001
From: Andrew Smith <asmith@bcm.com.au>
Date: Thu, 28 Nov 2013 10:55:35 +1000
Subject: [PATCH] =?UTF-8?q?Passing=20in=20complex=5Fargs=20throws=20?=
 =?UTF-8?q?=E2=80=98unsupported=20parameter=20for=20module=E2=80=99=20erro?=
 =?UTF-8?q?rs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
---
 lib/ansible/runner/action_plugins/assemble.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/ansible/runner/action_plugins/assemble.py b/lib/ansible/runner/action_plugins/assemble.py
index d20b68b1d5..b72572ef72 100644
--- a/lib/ansible/runner/action_plugins/assemble.py
+++ b/lib/ansible/runner/action_plugins/assemble.py
@@ -92,8 +92,8 @@ class ActionModule(object):
             if self.runner.noop_on_check(inject):
                 return ReturnData(conn=conn, comm_ok=True, result=dict(changed=True), diff=dict(before_header=dest, after_header=src, before=dest_contents, after=resultant))
             else:
-                res = self.runner._execute_module(conn, tmp, 'copy', module_args, inject=inject, complex_args=complex_args)
                 res.diff = dict(before=dest_contents, after=resultant)
+                res = self.runner._execute_module(conn, tmp, 'copy', module_args, inject=inject)
                 return res
         else:
-            return self.runner._execute_module(conn, tmp, 'file', module_args, inject=inject, complex_args=complex_args)
+            return self.runner._execute_module(conn, tmp, 'file', module_args, inject=inject)