summaryrefslogtreecommitdiff
path: root/troveclient/osc
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2020-01-07 12:24:16 +1300
committerLingxian Kong <anlin.kong@gmail.com>2020-01-07 16:39:59 +1300
commitc4b1e91cc7582ce0d51fdd40741e79ef4fbac8a2 (patch)
treeb0c5fc4dc723dccab82b71748b2fc44a6c8d015e /troveclient/osc
parent68e3ae83c17aaa97309ba412dc5ef3885d6c2cc5 (diff)
downloadpython-troveclient-c4b1e91cc7582ce0d51fdd40741e79ef4fbac8a2.tar.gz
Support to delete datastore version
usage: openstack datastore version delete <datastore_version_id> Change-Id: I4b781e68b81a3888d15d002fcf488a1f765c9f6a
Diffstat (limited to 'troveclient/osc')
-rw-r--r--troveclient/osc/v1/datastores.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/troveclient/osc/v1/datastores.py b/troveclient/osc/v1/datastores.py
index 85983f0..1f2795e 100644
--- a/troveclient/osc/v1/datastores.py
+++ b/troveclient/osc/v1/datastores.py
@@ -123,5 +123,27 @@ class ShowDatastoreVersion(command.ShowOne):
' required to retrieve a'
' datastore version by name.'))
if datastore_version._info.get('links'):
- del(datastore_version._info['links'])
+ del (datastore_version._info['links'])
return zip(*sorted(six.iteritems(datastore_version._info)))
+
+
+class DeleteDatastoreVersion(command.Command):
+ _description = _("Deletes a datastore version.")
+
+ def get_parser(self, prog_name):
+ parser = super(DeleteDatastoreVersion, self).get_parser(prog_name)
+ parser.add_argument(
+ 'datastore_version',
+ metavar='<datastore_version>',
+ help=_('ID of the datastore version.'),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ client = self.app.client_manager.database.mgmt_ds_versions
+ try:
+ client.delete(parsed_args.datastore_version)
+ except Exception as e:
+ msg = (_("Failed to delete datastore version %(version)s: %(e)s")
+ % {'database': parsed_args.datastore_version, 'e': e})
+ raise exceptions.CommandError(msg)