diff options
| author | Lingxian Kong <anlin.kong@gmail.com> | 2020-01-07 12:24:16 +1300 |
|---|---|---|
| committer | Lingxian Kong <anlin.kong@gmail.com> | 2020-01-07 16:39:59 +1300 |
| commit | c4b1e91cc7582ce0d51fdd40741e79ef4fbac8a2 (patch) | |
| tree | b0c5fc4dc723dccab82b71748b2fc44a6c8d015e /troveclient/osc | |
| parent | 68e3ae83c17aaa97309ba412dc5ef3885d6c2cc5 (diff) | |
| download | python-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.py | 24 |
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) |
