summaryrefslogtreecommitdiff
path: root/troveclient/compat
diff options
context:
space:
mode:
Diffstat (limited to 'troveclient/compat')
-rw-r--r--troveclient/compat/__init__.py2
-rw-r--r--troveclient/compat/cli.py11
-rw-r--r--troveclient/compat/client.py3
-rw-r--r--troveclient/compat/mcli.py26
4 files changed, 42 insertions, 0 deletions
diff --git a/troveclient/compat/__init__.py b/troveclient/compat/__init__.py
index 1e9734d..a08dcb8 100644
--- a/troveclient/compat/__init__.py
+++ b/troveclient/compat/__init__.py
@@ -21,9 +21,11 @@ from troveclient.v1.accounts import Accounts # noqa
from troveclient.v1.databases import Databases # noqa
from troveclient.v1.diagnostics import DiagnosticsInterrogator # noqa
from troveclient.v1.diagnostics import HwInfoInterrogator # noqa
+from troveclient.v1.flavors import Flavors # noqa
from troveclient.v1.hosts import Hosts # noqa
from troveclient.v1.instances import Instances # noqa
from troveclient.v1.management import Management # noqa
+from troveclient.v1.management import MgmtFlavors # noqa
from troveclient.v1.management import RootHistory # noqa
from troveclient.v1.root import Root # noqa
from troveclient.v1.storage import StorageInfo # noqa
diff --git a/troveclient/compat/cli.py b/troveclient/compat/cli.py
index 6f6199e..8d82ab7 100644
--- a/troveclient/compat/cli.py
+++ b/troveclient/compat/cli.py
@@ -129,6 +129,16 @@ class InstanceCommands(common.AuthedCommandsBase):
self._pretty_print(self.dbaas.instances.configuration, self.id)
+class FlavorsCommands(common.AuthedCommandsBase):
+ """Command for listing Flavors."""
+
+ params = []
+
+ def list(self):
+ """List the available flavors."""
+ self._pretty_list(self.dbaas.flavors.list)
+
+
class DatabaseCommands(common.AuthedCommandsBase):
"""Database CRUD operations on an instance."""
@@ -426,6 +436,7 @@ class MetadataCommands(common.AuthedCommandsBase):
COMMANDS = {
'auth': common.Auth,
'instance': InstanceCommands,
+ 'flavor': FlavorsCommands,
'database': DatabaseCommands,
'limit': LimitsCommands,
'backup': BackupsCommands,
diff --git a/troveclient/compat/client.py b/troveclient/compat/client.py
index 1daa129..9dfa284 100644
--- a/troveclient/compat/client.py
+++ b/troveclient/compat/client.py
@@ -309,6 +309,7 @@ class Dbaas(object):
from troveclient.v1 import databases
from troveclient.v1 import datastores
from troveclient.v1 import diagnostics
+ from troveclient.v1 import flavors
from troveclient.v1 import hosts
from troveclient.v1 import instances
from troveclient.v1 import limits
@@ -330,6 +331,7 @@ class Dbaas(object):
region_name=region_name)
self.versions = versions.Versions(self)
self.databases = databases.Databases(self)
+ self.flavors = flavors.Flavors(self)
self.instances = instances.Instances(self)
self.limits = limits.Limits(self)
self.users = users.Users(self)
@@ -347,6 +349,7 @@ class Dbaas(object):
self.storage = storage.StorageInfo(self)
self.management = management.Management(self)
self.mgmt_cluster = management.MgmtClusters(self)
+ self.mgmt_flavor = management.MgmtFlavors(self)
self.accounts = accounts.Accounts(self)
self.diagnostics = diagnostics.DiagnosticsInterrogator(self)
self.hwinfo = diagnostics.HwInfoInterrogator(self)
diff --git a/troveclient/compat/mcli.py b/troveclient/compat/mcli.py
index f151ab7..e3efbae 100644
--- a/troveclient/compat/mcli.py
+++ b/troveclient/compat/mcli.py
@@ -181,6 +181,31 @@ class StorageCommands(common.AuthedCommandsBase):
self._pretty_list(self.dbaas.storage.index)
+class FlavorsCommands(common.AuthedCommandsBase):
+ """Commands for managing Flavors."""
+
+ params = [
+ 'name',
+ 'ram',
+ 'disk',
+ 'vcpus',
+ 'flavor_id',
+ 'ephemeral',
+ 'swap',
+ 'rxtx_factor',
+ 'service_type'
+ ]
+
+ def create(self):
+ """Create a new flavor."""
+ self._require('name', 'ram', 'disk', 'vcpus',
+ 'flavor_id', 'service_type')
+ self._pretty_print(self.dbaas.mgmt_flavor.create, self.name,
+ self.ram, self.disk, self.vcpus, self.flavor_id,
+ self.ephemeral, self.swap, self.rxtx_factor,
+ self.service_type)
+
+
def config_options(oparser):
oparser.add_option("-u", "--url", default="http://localhost:5000/v1.1",
help="Auth API endpoint URL with port and version. \
@@ -194,6 +219,7 @@ COMMANDS = {
'root': RootCommands,
'storage': StorageCommands,
'quota': QuotaCommands,
+ 'flavor': FlavorsCommands,
}