diff options
| author | Daniel Salinas <imsplitbit@gmail.com> | 2014-02-15 00:36:07 -0600 |
|---|---|---|
| committer | Daniel Salinas <imsplitbit@gmail.com> | 2014-05-24 22:35:16 -0500 |
| commit | cb5736433b6fefa67f58f1cdd2e118f5d6c04e7c (patch) | |
| tree | 58c75a3bc07c19bca9518b48bd16db490382ab69 /troveclient/compat | |
| parent | d02764e597b331c0c692488477a9ce29045eb32a (diff) | |
| download | python-troveclient-cb5736433b6fefa67f58f1cdd2e118f5d6c04e7c.tar.gz | |
Add instance_metadata functionality to the trove python library
Implements: blueprint trove-metadata
Change-Id: I4e498844afd2d2730fad2176dccaf1d61d8798c1
Diffstat (limited to 'troveclient/compat')
| -rw-r--r-- | troveclient/compat/cli.py | 15 | ||||
| -rw-r--r-- | troveclient/compat/client.py | 2 | ||||
| -rw-r--r-- | troveclient/compat/tests/test_common.py | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/troveclient/compat/cli.py b/troveclient/compat/cli.py index 3244027..c5d0718 100644 --- a/troveclient/compat/cli.py +++ b/troveclient/compat/cli.py @@ -415,6 +415,20 @@ class SecurityGroupCommands(common.AuthedCommandsBase): self.dbaas.security_group_rules.delete(self.id) +class MetadataCommands(common.AuthedCommandsBase): + """Commands to create/update/replace/delete/show metadata for an instance + """ + params = [ + 'instance_id', + 'metadata' + ] + + def show(self): + """Show instance metadata.""" + self._require('instance_id') + self._pretty_print(self.dbaas.metadata.show(self.instance_id)) + + COMMANDS = { 'auth': common.Auth, 'instance': InstanceCommands, @@ -427,6 +441,7 @@ COMMANDS = { 'root': RootCommands, 'version': VersionCommands, 'secgroup': SecurityGroupCommands, + 'metadata': MetadataCommands, } diff --git a/troveclient/compat/client.py b/troveclient/compat/client.py index bc40074..5c5d5fe 100644 --- a/troveclient/compat/client.py +++ b/troveclient/compat/client.py @@ -311,6 +311,7 @@ class Dbaas(object): from troveclient.v1 import instances from troveclient.v1 import limits from troveclient.v1 import management + from troveclient.v1 import metadata from troveclient.v1 import quota from troveclient.v1 import root from troveclient.v1 import security_groups @@ -347,6 +348,7 @@ class Dbaas(object): self.configurations = configurations.Configurations(self) config_parameters = configurations.ConfigurationParameters(self) self.configuration_parameters = config_parameters + self.metadata = metadata.Metadata(self) class Mgmt(object): def __init__(self, dbaas): diff --git a/troveclient/compat/tests/test_common.py b/troveclient/compat/tests/test_common.py index 53ed30f..1a1ceb1 100644 --- a/troveclient/compat/tests/test_common.py +++ b/troveclient/compat/tests/test_common.py @@ -230,8 +230,10 @@ class CommandsBaseTest(testtools.TestCase): self.assertIsNone(self.cmd_base._pretty_print(func)) def test__dumps(self): + orig_dumps = json.dumps json.dumps = mock.Mock(return_value="test-dump") self.assertEqual("test-dump", self.cmd_base._dumps("item")) + json.dumps = orig_dumps def test__pretty_list(self): func = mock.Mock(return_value=None) |
