diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-08-24 22:17:15 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-08-24 23:37:17 +0000 |
| commit | 2b8a3dc1c28330c8355000e38ac74803954a146c (patch) | |
| tree | c55f5904086f503fab0b669a041346e2e9e7bc1e /troveclient/v1 | |
| parent | cbf9d92d8263991754c48a16778d76b954ed0372 (diff) | |
| parent | 5d82867d57aa157da3c9680f49e2b8d10f489135 (diff) | |
| download | python-troveclient-2b8a3dc1c28330c8355000e38ac74803954a146c.tar.gz | |
Merge "module-update with --all_datastores doesn't work"
Diffstat (limited to 'troveclient/v1')
| -rw-r--r-- | troveclient/v1/modules.py | 18 | ||||
| -rw-r--r-- | troveclient/v1/shell.py | 21 |
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) |
