troveclient.base module¶
Base utilities to build API operation managers and objects on top of.
- class troveclient.base.Manager(api)¶
- Bases: - HookableMixin- Manager defining CRUD operations for API. - Managers interact with a particular type of API (servers, flavors, images, etc.) and provide CRUD operations for them. - completion_cache(cache_type, obj_class, mode)¶
- Bash-completion cache. - The completion cache store items that can be used for bash autocompletion, like UUIDs or human-friendly IDs. - A resource listing will clear and repopulate the cache. - A resource create will append to the cache. - Delete is not handled because listings are assumed to be performed often enough to keep the cache reasonably up-to-date. 
 - resource_class = None¶
 - write_to_completion_cache(cache_type, val)¶
 
- class troveclient.base.ManagerWithFind(api)¶
- Bases: - Manager- Like a Manager, but with additional find()/findall() methods. - find(**kwargs)¶
- Find a single item with attributes matching - **kwargs.- This isn’t very efficient: it loads the entire list then filters on the Python side. 
 - findall(**kwargs)¶
- Find all items with attributes matching - **kwargs.- This isn’t very efficient: it loads the entire list then filters on the Python side. 
 - abstract list()¶
 
- class troveclient.base.Resource(manager, info, loaded=False)¶
- Bases: - Resource- A resource represents a particular instance of an object like server. - This is pretty much just a bag for attributes. :param manager: Manager object :param info: dictionary representing resource attributes :param loaded: prevent lazy-loading if set to True - HUMAN_ID = False¶
 
- troveclient.base.getid(obj)¶
- Retrieves an id from object or integer. - Abstracts the common pattern of allowing both an object or an object’s ID as a parameter when dealing with relationships. 
