configuration-* cli allow name of configuration group entered
This will allow a user to specify the configuration group name or the id to use for all the cli commands related to configuration groups. Change-Id: I6909b9d8305a42de3d7fbe6c7b7539d7068cc497 Closes-Bug: #1505529
This commit is contained in:
parent
ce9aee2481
commit
c19a63f032
releasenotes/notes
troveclient
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- configuration-* cli commands now allow name of configuration group
|
||||
entered instead of just the configuration id. This will allow a user
|
||||
to specify the configuration group name or the id to use for all
|
||||
the cli commands related to configuration groups. Bug 1505529
|
@ -91,7 +91,7 @@ class ConfigurationsTest(testtools.TestCase):
|
||||
self.configurations.api.client.delete = self._get_mock_method()
|
||||
self._resp.status_code = 200
|
||||
self.configurations.delete(27)
|
||||
self.assertEqual('/configurations/27', self._url)
|
||||
self.assertEqual('/configurations/configuration1', self._url)
|
||||
self._resp.status_code = 500
|
||||
self.assertRaises(Exception, self.configurations.delete, 34)
|
||||
|
||||
@ -122,7 +122,7 @@ class ConfigurationsTest(testtools.TestCase):
|
||||
self._resp.status_code = 200
|
||||
config = '{"test":12}'
|
||||
self.configurations.update(27, config)
|
||||
self.assertEqual('/configurations/27', self._url)
|
||||
self.assertEqual('/configurations/configuration1', self._url)
|
||||
self._resp.status_code = 500
|
||||
self.assertRaises(Exception, self.configurations.update, 34)
|
||||
|
||||
@ -131,7 +131,7 @@ class ConfigurationsTest(testtools.TestCase):
|
||||
self._resp.status_code = 200
|
||||
config = '{"test":12}'
|
||||
self.configurations.edit(27, config)
|
||||
self.assertEqual('/configurations/27', self._url)
|
||||
self.assertEqual('/configurations/configuration1', self._url)
|
||||
self._resp.status_code = 500
|
||||
self.assertRaises(Exception, self.configurations.edit, 34)
|
||||
|
||||
|
@ -74,7 +74,7 @@ class Configurations(base.ManagerWithFind):
|
||||
body['configuration']['description'] = description
|
||||
return self._create("/configurations", body, "configuration")
|
||||
|
||||
def update(self, configuration_id, values, name=None, description=None):
|
||||
def update(self, configuration, values, name=None, description=None):
|
||||
"""Update an existing configuration."""
|
||||
body = {
|
||||
"configuration": {
|
||||
@ -85,27 +85,27 @@ class Configurations(base.ManagerWithFind):
|
||||
body['configuration']['name'] = name
|
||||
if description:
|
||||
body['configuration']['description'] = description
|
||||
url = "/configurations/%s" % configuration_id
|
||||
url = "/configurations/%s" % base.getid(configuration)
|
||||
resp, body = self.api.client.put(url, body=body)
|
||||
common.check_for_exceptions(resp, body, url)
|
||||
|
||||
def edit(self, configuration_id, values):
|
||||
def edit(self, configuration, values):
|
||||
"""Update an existing configuration."""
|
||||
body = {
|
||||
"configuration": {
|
||||
"values": json.loads(values)
|
||||
}
|
||||
}
|
||||
url = "/configurations/%s" % configuration_id
|
||||
url = "/configurations/%s" % base.getid(configuration)
|
||||
resp, body = self.api.client.patch(url, body=body)
|
||||
common.check_for_exceptions(resp, body, url)
|
||||
|
||||
def delete(self, configuration_id):
|
||||
def delete(self, configuration):
|
||||
"""Delete the specified configuration.
|
||||
|
||||
:param configuration_id: The configuration id to delete
|
||||
:param configuration: The configuration id to delete
|
||||
"""
|
||||
url = "/configurations/%s" % configuration_id
|
||||
url = "/configurations/%s" % base.getid(configuration)
|
||||
resp, body = self.api.client.delete(url)
|
||||
common.check_for_exceptions(resp, body, url)
|
||||
|
||||
|
@ -116,7 +116,7 @@ class Instances(base.ManagerWithFind):
|
||||
if nics:
|
||||
body["instance"]["nics"] = nics
|
||||
if configuration:
|
||||
body["instance"]["configuration"] = configuration
|
||||
body["instance"]["configuration"] = base.getid(configuration)
|
||||
if replica_of or slave_of:
|
||||
if slave_of:
|
||||
warnings.warn(_LW("The 'slave_of' argument is deprecated in "
|
||||
@ -138,7 +138,7 @@ class Instances(base.ManagerWithFind):
|
||||
}
|
||||
}
|
||||
if configuration is not None:
|
||||
body["instance"]["configuration"] = configuration
|
||||
body["instance"]["configuration"] = base.getid(configuration)
|
||||
url = "/instances/%s" % base.getid(instance)
|
||||
resp, body = self.api.client.put(url, body=body)
|
||||
common.check_for_exceptions(resp, body, url)
|
||||
@ -155,7 +155,7 @@ class Instances(base.ManagerWithFind):
|
||||
if remove_configuration:
|
||||
body["instance"]["configuration"] = None
|
||||
if configuration is not None:
|
||||
body["instance"]["configuration"] = configuration
|
||||
body["instance"]["configuration"] = base.getid(configuration)
|
||||
if name is not None:
|
||||
body["instance"]["name"] = name
|
||||
if detach_replica_source:
|
||||
|
@ -156,6 +156,11 @@ def _find_datastore_version(cs, datastore_version):
|
||||
return utils.find_resource(cs.datastores, datastore_version)
|
||||
|
||||
|
||||
def _find_configuration(cs, configuration):
|
||||
"""Get a configuration by ID."""
|
||||
return utils.find_resource(cs.configurations, configuration)
|
||||
|
||||
|
||||
# Flavor related calls
|
||||
@utils.arg('--datastore_type', metavar='<datastore_type>',
|
||||
default=None,
|
||||
@ -1248,12 +1253,14 @@ def do_datastore_version_show(cs, args):
|
||||
@utils.arg('configuration',
|
||||
metavar='<configuration>',
|
||||
type=str,
|
||||
help='ID of the configuration group to attach to the instance.')
|
||||
help='ID or name of the configuration group to attach to the'
|
||||
' instance.')
|
||||
@utils.service_type('database')
|
||||
def do_configuration_attach(cs, args):
|
||||
"""Attaches a configuration group to an instance."""
|
||||
instance = _find_instance(cs, args.instance)
|
||||
cs.instances.modify(instance, args.configuration)
|
||||
configuration = _find_configuration(cs, args.configuration)
|
||||
cs.instances.modify(instance, configuration)
|
||||
|
||||
|
||||
@utils.arg('name', metavar='<name>', help='Name of the configuration group.')
|
||||
@ -1293,11 +1300,12 @@ def do_configuration_default(cs, args):
|
||||
|
||||
|
||||
@utils.arg('configuration_group', metavar='<configuration_group>',
|
||||
help='ID of the configuration group.')
|
||||
help='ID or name of the configuration group.')
|
||||
@utils.service_type('database')
|
||||
def do_configuration_delete(cs, args):
|
||||
"""Deletes a configuration group."""
|
||||
cs.configurations.delete(args.configuration_group)
|
||||
configuration = _find_configuration(cs, args.configuration_group)
|
||||
cs.configurations.delete(configuration)
|
||||
|
||||
|
||||
@utils.arg('instance',
|
||||
@ -1365,22 +1373,23 @@ def do_configuration_parameter_list(cs, args):
|
||||
|
||||
|
||||
@utils.arg('configuration_group', metavar='<configuration_group>',
|
||||
help='ID of the configuration group.')
|
||||
help='ID or name of the configuration group.')
|
||||
@utils.arg('values', metavar='<values>',
|
||||
help='Dictionary of the values to set.')
|
||||
@utils.service_type('database')
|
||||
def do_configuration_patch(cs, args):
|
||||
"""Patches a configuration group."""
|
||||
cs.configurations.edit(args.configuration_group,
|
||||
args.values)
|
||||
configuration = _find_configuration(cs, args.configuration_group)
|
||||
cs.configurations.edit(configuration, args.values)
|
||||
|
||||
|
||||
@utils.arg('configuration_group', metavar='<configuration_group>',
|
||||
help='ID of the configuration group.')
|
||||
help='ID or name of the configuration group.')
|
||||
@utils.service_type('database')
|
||||
def do_configuration_instances(cs, args):
|
||||
"""Lists all instances associated with a configuration group."""
|
||||
params = cs.configurations.instances(args.configuration_group)
|
||||
configuration = _find_configuration(cs, args.configuration_group)
|
||||
params = cs.configurations.instances(configuration)
|
||||
utils.print_list(params, ['id', 'name'])
|
||||
|
||||
|
||||
@ -1394,11 +1403,12 @@ def do_configuration_list(cs, args):
|
||||
|
||||
|
||||
@utils.arg('configuration_group', metavar='<configuration_group>',
|
||||
help='ID of the configuration group.')
|
||||
help='ID or name of the configuration group.')
|
||||
@utils.service_type('database')
|
||||
def do_configuration_show(cs, args):
|
||||
"""Shows details of a configuration group."""
|
||||
config_grp = cs.configurations.get(args.configuration_group)
|
||||
configuration = _find_configuration(cs, args.configuration_group)
|
||||
config_grp = cs.configurations.get(configuration)
|
||||
config_grp._info['values'] = json.dumps(config_grp.values)
|
||||
|
||||
del config_grp._info['datastore_version_id']
|
||||
@ -1406,7 +1416,7 @@ def do_configuration_show(cs, args):
|
||||
|
||||
|
||||
@utils.arg('configuration_group', metavar='<configuration_group>',
|
||||
help='ID of the configuration group.')
|
||||
help='ID or name of the configuration group.')
|
||||
@utils.arg('values', metavar='<values>',
|
||||
help='Dictionary of the values to set.')
|
||||
@utils.arg('--name', metavar='<name>', default=None,
|
||||
@ -1417,7 +1427,8 @@ def do_configuration_show(cs, args):
|
||||
@utils.service_type('database')
|
||||
def do_configuration_update(cs, args):
|
||||
"""Updates a configuration group."""
|
||||
cs.configurations.update(args.configuration_group,
|
||||
configuration = _find_configuration(cs, args.configuration_group)
|
||||
cs.configurations.update(configuration,
|
||||
args.values,
|
||||
args.name,
|
||||
args.description)
|
||||
|
Loading…
x
Reference in New Issue
Block a user