diff --git a/src/components/AgentTable.vue b/src/components/AgentTable.vue
index 357de6b..80b4d42 100644
--- a/src/components/AgentTable.vue
+++ b/src/components/AgentTable.vue
@@ -511,9 +511,10 @@ export default {
}, 500);
},
runFavScript(scriptpk, agentpk) {
+ let default_timeout = this.favoriteScripts.find(i => i.value === scriptpk).timeout;
const data = {
pk: agentpk,
- timeout: 900,
+ timeout: default_timeout,
scriptPK: scriptpk,
output: "forget",
args: [],
@@ -532,7 +533,7 @@ export default {
}
this.favoriteScripts = r.data
.filter(k => k.favorite === true)
- .map(script => ({ label: script.name, value: script.id }))
+ .map(script => ({ label: script.name, value: script.id, timeout: script.default_timeout }))
.sort((a, b) => a.label.localeCompare(b.label));
});
},
diff --git a/src/components/ScriptManager.vue b/src/components/ScriptManager.vue
index df35c30..0b9dff0 100644
--- a/src/components/ScriptManager.vue
+++ b/src/components/ScriptManager.vue
@@ -291,6 +291,7 @@
props.row.description
}}
+ {{ props.row.default_timeout }}
@@ -368,8 +369,15 @@ export default {
align: "left",
sortable: false,
},
+ {
+ name: "default_timeout",
+ label: "Default Timeout (seconds)",
+ field: "default_timeout",
+ align: "left",
+ sortable: true,
+ },
],
- visibleColumns: ["favorite", "name", "category", "desc", "shell"],
+ visibleColumns: ["favorite", "name", "category", "desc", "shell", "default_timeout"],
};
},
methods: {
diff --git a/src/components/modals/agents/BulkAction.vue b/src/components/modals/agents/BulkAction.vue
index 5d71514..4967a8c 100644
--- a/src/components/modals/agents/BulkAction.vue
+++ b/src/components/modals/agents/BulkAction.vue
@@ -92,6 +92,7 @@
map-options
emit-value
options-dense
+ @input="setDefaultTimeout"
/>
@@ -138,11 +139,7 @@
style="max-width: 150px"
label="Timeout (seconds)"
stack-label
- :rules="[
- val => !!val || '*Required',
- val => val >= 10 || 'Minimum is 10 seconds',
- val => val <= 25200 || 'Maximum is 25,200 seconds',
- ]"
+ :rules="[val => !!val || '*Required', val => val >= 5 || 'Minimum is 5 seconds']"
/>
@@ -200,6 +197,9 @@ export default {
},
},
methods: {
+ setDefaultTimeout() {
+ this.timeout = this.scriptOptions.find(i => i.value === this.scriptPK).timeout;
+ },
getScripts() {
let scripts;
this.$axios.get("/scripts/scripts/").then(r => {
@@ -209,7 +209,7 @@ export default {
scripts = r.data.filter(i => i.script_type !== "builtin");
}
this.scriptOptions = scripts
- .map(script => ({ label: script.name, value: script.id }))
+ .map(script => ({ label: script.name, value: script.id, timeout: script.default_timeout }))
.sort((a, b) => a.label.localeCompare(b.label));
});
},
diff --git a/src/components/modals/agents/RunScript.vue b/src/components/modals/agents/RunScript.vue
index 93ce732..31b6603 100644
--- a/src/components/modals/agents/RunScript.vue
+++ b/src/components/modals/agents/RunScript.vue
@@ -17,6 +17,7 @@
map-options
emit-value
options-dense
+ @input="setDefaultTimeout"
/>
@@ -73,11 +74,7 @@
style="max-width: 150px"
label="Timeout (seconds)"
stack-label
- :rules="[
- val => !!val || '*Required',
- val => val >= 10 || 'Minimum is 10 seconds',
- val => val <= 25200 || 'Maximum is 25,200 seconds',
- ]"
+ :rules="[val => !!val || '*Required', val => val >= 5 || 'Minimum is 5 seconds']"
/>
@@ -92,7 +89,7 @@