From 396d44e7258f1269910e10b4ce4a8a69c9e75e43 Mon Sep 17 00:00:00 2001 From: Kevin Walter Date: Wed, 19 May 2021 12:14:09 +0200 Subject: [PATCH] add full_return flag for more information --- .../com/suse/salt/netapi/calls/LocalCall.java | 4 ++- .../suse/salt/netapi/client/SaltClient.java | 1 + .../suse/salt/netapi/results/FullReturn.java | 25 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/suse/salt/netapi/results/FullReturn.java diff --git a/src/main/java/com/suse/salt/netapi/calls/LocalCall.java b/src/main/java/com/suse/salt/netapi/calls/LocalCall.java index e99919684..e47d4fae8 100644 --- a/src/main/java/com/suse/salt/netapi/calls/LocalCall.java +++ b/src/main/java/com/suse/salt/netapi/calls/LocalCall.java @@ -17,6 +17,7 @@ import com.suse.salt.netapi.event.JobReturnEvent; import com.suse.salt.netapi.event.RunnerReturnEvent; import com.suse.salt.netapi.parser.JsonParser; +import com.suse.salt.netapi.results.FullReturn; import com.suse.salt.netapi.results.Result; import com.suse.salt.netapi.results.Return; import com.suse.salt.netapi.results.SSHResult; @@ -425,7 +426,8 @@ private CompletionStage>>> callSyncHelperNonBlock( Client clientType = batch.isPresent() ? Client.LOCAL_BATCH : Client.LOCAL; Type xor = parameterizedType(null, Result.class, getReturnType().getType()); - Type map = parameterizedType(null, Map.class, String.class, xor); + Type fullret = parameterizedType(null, FullReturn.class, xor); + Type map = parameterizedType(null, Map.class, String.class, fullret); Type listType = parameterizedType(null, List.class, map); Type wrapperType = parameterizedType(null, Return.class, listType); TypeToken>>>> typeToken = diff --git a/src/main/java/com/suse/salt/netapi/client/SaltClient.java b/src/main/java/com/suse/salt/netapi/client/SaltClient.java index 939780b01..8b5ea4608 100644 --- a/src/main/java/com/suse/salt/netapi/client/SaltClient.java +++ b/src/main/java/com/suse/salt/netapi/client/SaltClient.java @@ -214,6 +214,7 @@ public CompletionStage call(Call call, Client client, Optional props.putAll(t.getProps())); + props.put("full_return", true); props.put("client", client.getValue()); props.putAll(call.getPayload()); props.putAll(custom); diff --git a/src/main/java/com/suse/salt/netapi/results/FullReturn.java b/src/main/java/com/suse/salt/netapi/results/FullReturn.java new file mode 100644 index 000000000..3974eb37f --- /dev/null +++ b/src/main/java/com/suse/salt/netapi/results/FullReturn.java @@ -0,0 +1,25 @@ +package com.suse.salt.netapi.results; + +public class FullReturn { + + private T ret; + private int retcode; + private String jid; + + public int getRetcode() { + return retcode; + } + + public String getJid() { + return jid; + } + + public T getRet() { + return ret; + } + + @Override + public String toString() { + return "FullReturn{" + "ret=" + ret + ", retcode=" + retcode + ", jid='" + jid + '\'' + '}'; + } +}