UNPKG

cloudcms-cli

Version:
85 lines (78 loc) 2.8 kB
var helper = require("../../../helper"); var AbstractCommand = require("../../abstract"); class SetClusterValueCommand extends AbstractCommand { constructor() { super({ "group": "admin", "name": "set-cluster-value", "description": "Sets a key/value onto the cluster config", "schema": { "properties": [{ "name": "key", "type": "string", "description": "Enter the key:", "helper": "The key to retrieve", "required": true, "args": ["key", "k"] }, { "name": "value", "type": "string", "description": "Enter the value:", "helper": "The value to set", "required": true, "args": ["value", "val", "v"] }, { "name": "bool", "type": "boolean", "description": "Is this a boolean value?:", "helper": "Whether the value is true/false", "required": false, "args": ["boolean", "bool"] }, { "name": "int", "type": "boolean", "description": "Is this an integer value?:", "helper": "Whether the value is an integer", "required": false, "args": ["integer", "int"] }, { "name": "username", "type": "string", "description": "Admin username", "required": true, "args": ["username", "u"] }, { "name": "password", "type": "string", "description": "Admin password", "required": true, "hidden": true, "args": ["password", "p"] }] } }); } handle(options, callback) { var value = options.value; if (options.bool) { value = "true".equals(value); } if (options.int) { value = parseInt(value); } var payload = { "patches": [{ "op": "add", "path": options.key, "value": value }] }; helper._handleAdminGitanaPost("/cluster/configuration/modify", {}, payload, options.username, options.password, function(err, jsonResponse) { helper._handleJsonResponse(err, jsonResponse, callback); }); } } module.exports = SetClusterValueCommand;