summaryrefslogtreecommitdiff
path: root/troveclient/v1/management.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-11-13 08:53:57 +0000
committerGerrit Code Review <review@openstack.org>2020-11-13 08:53:57 +0000
commitf28390ee5ddf83c0dfbf886b7e99c192fa7f4ecc (patch)
tree9b5e95d315a4669a526fe1eb9163f45e6a3a0413 /troveclient/v1/management.py
parent20566017e5c5c4c5b2ebf3629c062f8f2521e0c7 (diff)
parentc04e299b1d503f2ce67730398b9585a196616e51 (diff)
downloadpython-troveclient-f28390ee5ddf83c0dfbf886b7e99c192fa7f4ecc.tar.gz
Merge "Revert "Remove flavor API""
Diffstat (limited to 'troveclient/v1/management.py')
-rw-r--r--troveclient/v1/management.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/troveclient/v1/management.py b/troveclient/v1/management.py
index 38923ad..478d086 100644
--- a/troveclient/v1/management.py
+++ b/troveclient/v1/management.py
@@ -21,6 +21,7 @@ from troveclient import common
from troveclient.v1 import clusters
from troveclient.v1 import configurations
from troveclient.v1 import datastores
+from troveclient.v1 import flavors
from troveclient.v1 import instances
@@ -149,6 +150,44 @@ class MgmtClusters(base.ManagerWithFind):
self._action(cluster_id, body)
+class MgmtFlavors(base.ManagerWithFind):
+ """Manage :class:`Flavor` resources."""
+ resource_class = flavors.Flavor
+
+ def __repr__(self):
+ return "<Flavors Manager at %s>" % id(self)
+
+ # Appease the abc gods
+ def list(self):
+ pass
+
+ def create(self, name, ram, disk, vcpus,
+ flavorid="auto", ephemeral=None, swap=None, rxtx_factor=None,
+ service_type=None):
+ """Create a new flavor."""
+ body = {"flavor": {
+ "flavor_id": flavorid,
+ "name": name,
+ "ram": ram,
+ "disk": disk,
+ "vcpu": vcpus,
+ "ephemeral": 0,
+ "swap": 0,
+ "rxtx_factor": "1.0",
+ "is_public": "True"
+ }}
+ if ephemeral:
+ body["flavor"]["ephemeral"] = ephemeral
+ if swap:
+ body["flavor"]["swap"] = swap
+ if rxtx_factor:
+ body["flavor"]["rxtx_factor"] = rxtx_factor
+ if service_type:
+ body["flavor"]["service_type"] = service_type
+
+ return self._create("/mgmt/flavors", body, "flavor")
+
+
class MgmtConfigurationParameters(configurations.ConfigurationParameters):
def create(self, version, name, restart_required, data_type,
max_size=None, min_size=None):