Source code for cloudmesh_client.cloud.flavor

from __future__ import print_function

from cloudmesh_client.shell.console import Console
from cloudmesh_client.common.Printer import Printer
from cloudmesh_client.db import CloudmeshDatabase
from cloudmesh_client.cloud.iaas.CloudProvider import CloudProvider
from cloudmesh_client.cloud.ListResource import ListResource


[docs]class Flavor(ListResource): cm = CloudmeshDatabase()
[docs] @classmethod def refresh(cls, cloud): """ This method would refresh the flavor list by first clearing the database, then inserting new data :param cloud: the cloud name """ return cls.cm.refresh('flavor', cloud)
[docs] @classmethod def list(cls, cloud, live=False, format="table"): """ This method lists all flavors of the cloud :param cloud: the cloud name """ try: if live: cls.refresh(cloud) elements = cls.cm.find(kind="flavor", category=cloud) # pprint(elements) (order, header) = CloudProvider(cloud).get_attributes("flavor") return Printer.write(elements, order=order, header=header, output=format) except Exception as ex: Console.error(ex.message)
[docs] @classmethod def details(cls, cloud, id, live=False, format="table"): if live: cls.refresh(cloud) return CloudProvider(cloud).details('flavor', cloud, id, format)