MXS-1354: Add creation of basic/admin users to maxctrl

The type of the created user can now be specified with the --type option.

Expanded tests that cover the user creation. Also added a test case that
checks that basic users are only allowed to read through the REST API.
This commit is contained in:
Markus Mäkelä
2017-08-16 11:16:38 +03:00
parent 9d24a63c10
commit 6ee7ed6a38
6 changed files with 85 additions and 9 deletions

View File

@ -174,6 +174,13 @@ exports.builder = function(yargs) {
return doRequest(host, 'services/' + argv.service + '/listeners', null, {method: 'POST', body: listener})
})
})
.group(['type'], 'Create user options:')
.option('type', {
describe: 'Type of user to create',
type: 'string',
default: 'basic',
choices: ['admin', 'basic']
})
.command('user <name> <password>', 'Create a new network user', {}, function(argv) {
var user = {
@ -181,7 +188,8 @@ exports.builder = function(yargs) {
'id': argv.name,
'type': 'inet',
'attributes': {
'password': argv.password
'password': argv.password,
'account': argv.type
}
}
}

View File

@ -35,11 +35,21 @@ exports.builder = function(yargs) {
})
}
})
.group(['type'], 'Enable account options:')
.option('type', {
describe: 'Type of user to create',
type: 'string',
default: 'basic',
choices: ['admin', 'basic']
})
.command('account <name>', 'Activate a Linux user account for administrative use', {}, function(argv) {
var req_body = {
data: {
id: argv.name,
type: 'unix'
type: 'unix',
attributes: {
'account': argv.type
}
}
}
maxctrl(argv, function(host) {