From e8c82f9e572e8be5287d17eb96a6abcc5a4174b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20=C5=9Aliwka?= Date: Fri, 31 Aug 2018 23:24:55 +0200 Subject: [PATCH] Implement Ansible:check_mode() Not very elegant way, but seems to work. --- src/ansible.lua | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ansible.lua b/src/ansible.lua index 7266c55..b0dfdaa 100644 --- a/src/ansible.lua +++ b/src/ansible.lua @@ -60,6 +60,20 @@ local function findspec(name, spec) return nil end +local function starts_with(str, start) + return str:sub(1, #start) == start +end + +local function extract_internal_ansible_params(params) + local copy = {} + for k,v in pairs(params) do + if starts_with(k, "_ansible") then + copy[k] = v + end + end + return copy +end + local function canonicalize(params, spec) local copy = {} for k,v in pairs(params) do @@ -236,6 +250,8 @@ function Ansible:parse(inputfile) self:fail_json({msg="INTERNAL: Illegal json input received"}) end + self.internal_params = extract_internal_ansible_params(params) + -- resolve aliases params, err = canonicalize(params, self.spec) @@ -460,8 +476,7 @@ function Ansible:is_dir(path) end function Ansible:check_mode() - -- FIXME - return false + return self.internal_params["_ansible_check_mode"] end return Ansible