From d8798ec56fdd89cc0aa0341a7be259a3c628a725 Mon Sep 17 00:00:00 2001 From: Virgil Date: Fri, 3 Apr 2026 12:44:24 +0000 Subject: [PATCH] feat(ansible): return include_vars file list Co-Authored-By: Virgil --- modules.go | 9 ++++++++- modules_adv_test.go | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules.go b/modules.go index fe7f432..d8c27fd 100644 --- a/modules.go +++ b/modules.go @@ -2774,7 +2774,14 @@ func (e *Executor) moduleIncludeVars(args map[string]any) (*TaskResult, error) { msg += ": " + join(", ", sources) } - return &TaskResult{Changed: true, Msg: msg}, nil + result := &TaskResult{Changed: true, Msg: msg} + if len(sources) > 0 { + result.Data = map[string]any{ + "ansible_included_var_files": append([]string(nil), sources...), + } + } + + return result, nil } func normalizeIncludeVarsExtensions(values []string) []string { diff --git a/modules_adv_test.go b/modules_adv_test.go index 0fad7f2..72c58e3 100644 --- a/modules_adv_test.go +++ b/modules_adv_test.go @@ -1089,6 +1089,9 @@ func TestModulesAdv_ModuleIncludeVars_Good_LoadSingleFile(t *testing.T) { assert.True(t, result.Changed) assert.False(t, result.Failed) assert.Contains(t, result.Msg, varsPath) + require.NotNil(t, result.Data) + require.Contains(t, result.Data, "ansible_included_var_files") + assert.Equal(t, []string{varsPath}, result.Data["ansible_included_var_files"]) assert.Equal(t, "demo", e.vars["app_name"]) assert.Equal(t, 8080, e.vars["app_port"]) @@ -1153,6 +1156,11 @@ func TestModulesAdv_ModuleIncludeVars_Good_LoadDirectoryWithMerge(t *testing.T) assert.False(t, result.Failed) assert.Contains(t, result.Msg, joinPath(dir, "01-base.yml")) assert.Contains(t, result.Msg, joinPath(dir, "02-override.yaml")) + require.NotNil(t, result.Data) + assert.Equal(t, []string{ + joinPath(dir, "01-base.yml"), + joinPath(dir, "02-override.yaml"), + }, result.Data["ansible_included_var_files"]) assert.Equal(t, "demo", e.vars["app_name"]) assert.Equal(t, 8080, e.vars["app_port"])