summaryrefslogtreecommitdiff
path: root/troveclient/compat
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-06-10 02:23:52 +0000
committerGerrit Code Review <review@openstack.org>2014-06-10 02:23:52 +0000
commitd2c24d4a9795b921474fe097ebe5850dee412622 (patch)
tree3b4f7eaf6a8cb4c743509d96c2c2ba99eaafa905 /troveclient/compat
parent0462bad1d8253c7e3057698edd982661e23df254 (diff)
parentcb5736433b6fefa67f58f1cdd2e118f5d6c04e7c (diff)
downloadpython-troveclient-d2c24d4a9795b921474fe097ebe5850dee412622.tar.gz
Merge "Add instance_metadata functionality to the trove python library"
Diffstat (limited to 'troveclient/compat')
-rw-r--r--troveclient/compat/cli.py15
-rw-r--r--troveclient/compat/client.py2
-rw-r--r--troveclient/compat/tests/test_common.py2
3 files changed, 19 insertions, 0 deletions
diff --git a/troveclient/compat/cli.py b/troveclient/compat/cli.py
index 35ca7ad..5064c87 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 0613417..b6105f0 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)