summaryrefslogtreecommitdiff
path: root/troveclient/v1
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-24 22:17:15 +0000
committerGerrit Code Review <review@openstack.org>2016-08-24 23:37:17 +0000
commit2b8a3dc1c28330c8355000e38ac74803954a146c (patch)
treec55f5904086f503fab0b669a041346e2e9e7bc1e /troveclient/v1
parentcbf9d92d8263991754c48a16778d76b954ed0372 (diff)
parent5d82867d57aa157da3c9680f49e2b8d10f489135 (diff)
downloadpython-troveclient-2b8a3dc1c28330c8355000e38ac74803954a146c.tar.gz
Merge "module-update with --all_datastores doesn't work"
Diffstat (limited to 'troveclient/v1')
-rw-r--r--troveclient/v1/modules.py18
-rw-r--r--troveclient/v1/shell.py21
2 files changed, 21 insertions, 18 deletions
diff --git a/troveclient/v1/modules.py b/troveclient/v1/modules.py
index 15d90c9..e8dc76e 100644
--- a/troveclient/v1/modules.py
+++ b/troveclient/v1/modules.py
@@ -21,7 +21,6 @@ from troveclient import utils
class Module(base.Resource):
- NO_CHANGE_TO_ARG = 'no_change_to_argument'
ALL_KEYWORD = 'all'
def __repr__(self):
@@ -75,9 +74,10 @@ class Modules(base.ManagerWithFind):
def update(self, module, name=None, module_type=None,
contents=None, description=None,
- all_tenants=None, datastore=Module.NO_CHANGE_TO_ARG,
- datastore_version=Module.NO_CHANGE_TO_ARG, auto_apply=None,
- visible=None, live_update=None):
+ all_tenants=None, datastore=None,
+ datastore_version=None, auto_apply=None,
+ visible=None, live_update=None,
+ all_datastores=None, all_datastore_versions=None):
"""Update an existing module. Passing in
datastore=None or datastore_version=None has the effect of
making it available for all datastores/versions.
@@ -96,13 +96,17 @@ class Modules(base.ManagerWithFind):
if description is not None:
body["module"]["description"] = description
datastore_obj = {}
- if datastore is None or datastore != Module.NO_CHANGE_TO_ARG:
+ if datastore:
datastore_obj["type"] = datastore
- if (datastore_version is None or
- datastore_version != Module.NO_CHANGE_TO_ARG):
+ if datastore_version:
datastore_obj["version"] = datastore_version
if datastore_obj:
body["module"]["datastore"] = datastore_obj
+ if all_datastores:
+ body["module"]["all_datastores"] = int(all_datastores)
+ if all_datastore_versions:
+ body["module"]["all_datastore_versions"] = int(
+ all_datastore_versions)
if all_tenants is not None:
body["module"]["all_tenants"] = int(all_tenants)
if auto_apply is not None:
diff --git a/troveclient/v1/shell.py b/troveclient/v1/shell.py
index 0bb9353..37bbb32 100644
--- a/troveclient/v1/shell.py
+++ b/troveclient/v1/shell.py
@@ -1688,17 +1688,18 @@ def do_module_create(cs, args):
@utils.arg('--description', metavar='<description>', type=str, default=None,
help='Description of the module.')
@utils.arg('--datastore', metavar='<datastore>',
+ default=None,
help='Name or ID of datastore this module can be applied to. '
'If not specified, module can be applied to all datastores.')
-@utils.arg('--all_datastores', dest='datastore', action='store_const',
- const=None,
+@utils.arg('--all_datastores', default=None, action='store_const', const=True,
help='Module is valid for all datastores.')
@utils.arg('--datastore_version', metavar='<version>',
+ default=None,
help='Name or ID of datastore version this module can be applied '
'to. If not specified, module can be applied to all versions.')
-@utils.arg('--all_datastore_versions', dest='datastore_version',
- action='store_const', const=None,
- help='Module is valid for all datastore version.')
+@utils.arg('--all_datastore_versions', default=None,
+ action='store_const', const=True,
+ help='Module is valid for all datastore versions.')
@utils.arg('--auto_apply', action='store_true', default=None,
help='Automatically apply this module when creating an instance '
'or cluster.')
@@ -1731,16 +1732,14 @@ def do_module_update(cs, args):
module = _find_module(cs, args.module)
contents = args.file.read() if args.file else None
visible = not args.hidden if args.hidden is not None else None
- datastore_args = {}
- if args.datastore:
- datastore_args['datastore'] = args.datastore
- if args.datastore_version:
- datastore_args['datastore_version'] = args.datastore_version
+ datastore_args = {'datastore': args.datastore,
+ 'datastore_version': args.datastore_version}
updated_module = cs.modules.update(
module, name=args.name, module_type=args.type, contents=contents,
description=args.description, all_tenants=args.all_tenants,
auto_apply=args.auto_apply, visible=visible,
- live_update=args.live_update, **datastore_args)
+ live_update=args.live_update, all_datastores=args.all_datastores,
+ all_datastore_versions=args.all_datastore_versions, **datastore_args)
_print_object(updated_module)