Update images client

*Added url_addition parameter to list_images method
*Added location parameter to register_image method
*Added deactivate_image method
*Added reactivate_image method

Change-Id: I7fe531b759f004adddd0dc9c0f6dd3d59060d192
This commit is contained in:
Luke Wollney 2015-05-05 12:32:55 -05:00
parent 0bb1276af9
commit b78058a639

View File

@ -41,12 +41,15 @@ class ImagesClient(AutoMarshallingHTTPClient):
self.default_headers['Accept'] = accept self.default_headers['Accept'] = accept
self.base_url = base_url self.base_url = base_url
def list_images(self, params=None, requestslib_kwargs=None): def list_images(self, params=None, url_addition=None,
requestslib_kwargs=None):
""" """
@summary: List subset of images @summary: List subset of images
@param params: Parameters to alter the returned list of images @param params: Parameters to alter the returned list of images
@type params: Dictionary @type params: Dictionary
@param url_addition: Additional text to be added to the end of the url
@type url_addition: String
@param requestslib_kwargs: Keyword arguments to be passed on to @param requestslib_kwargs: Keyword arguments to be passed on to
python requests python requests
@type requestslib_kwargs: Dictionary @type requestslib_kwargs: Dictionary
@ -57,6 +60,9 @@ class ImagesClient(AutoMarshallingHTTPClient):
url = '{0}/images'.format(self.base_url) url = '{0}/images'.format(self.base_url)
if url_addition:
url = '{0}?{1}'.format(url, url_addition)
return self.request('GET', url, params=params, return self.request('GET', url, params=params,
response_entity_type=Images, response_entity_type=Images,
requestslib_kwargs=requestslib_kwargs) requestslib_kwargs=requestslib_kwargs)
@ -83,10 +89,10 @@ class ImagesClient(AutoMarshallingHTTPClient):
def register_image(self, auto_disk_config=None, checksum=None, def register_image(self, auto_disk_config=None, checksum=None,
container_format=None, created_at=None, container_format=None, created_at=None,
disk_format=None, file_=None, id_=None, image_type=None, disk_format=None, file_=None, id_=None, image_type=None,
min_disk=None, min_ram=None, name=None, os_type=None, location=None, min_disk=None, min_ram=None, name=None,
owner=None, protected=None, schema=None, self_=None, os_type=None, owner=None, protected=None, schema=None,
size=None, status=None, tags=None, updated_at=None, self_=None, size=None, status=None, tags=None,
user_id=None, visibility=None, updated_at=None, user_id=None, visibility=None,
additional_properties=None, requestslib_kwargs=None): additional_properties=None, requestslib_kwargs=None):
""" """
@summary: Register an image - Not listed in the Images API docs @summary: Register an image - Not listed in the Images API docs
@ -107,6 +113,8 @@ class ImagesClient(AutoMarshallingHTTPClient):
@type id_: UUID @type id_: UUID
@param image_type: Image type for the image being created @param image_type: Image type for the image being created
@type image_type: String @type image_type: String
@param location: Location for the image being created
@type location: String
@param min_disk: Minimum disk for the image being created @param min_disk: Minimum disk for the image being created
@type min_disk: String @type min_disk: String
@param min_ram: Minimum ram for the image being created @param min_ram: Minimum ram for the image being created
@ -150,11 +158,11 @@ class ImagesClient(AutoMarshallingHTTPClient):
image = Image(auto_disk_config=auto_disk_config, checksum=checksum, image = Image(auto_disk_config=auto_disk_config, checksum=checksum,
container_format=container_format, created_at=created_at, container_format=container_format, created_at=created_at,
disk_format=disk_format, file_=file_, id_=id_, disk_format=disk_format, file_=file_, id_=id_,
image_type=image_type, min_disk=min_disk, image_type=image_type, location=location,
min_ram=min_ram, name=name, os_type=os_type, owner=owner, min_disk=min_disk, min_ram=min_ram, name=name,
protected=protected, schema=schema, self_=self_, os_type=os_type, owner=owner, protected=protected,
size=size, status=status, tags=tags, schema=schema, self_=self_, size=size, status=status,
updated_at=updated_at, user_id=user_id, tags=tags, updated_at=updated_at, user_id=user_id,
visibility=visibility, visibility=visibility,
additional_properties=additional_properties) additional_properties=additional_properties)
@ -261,6 +269,46 @@ class ImagesClient(AutoMarshallingHTTPClient):
return self.request('DELETE', url, return self.request('DELETE', url,
requestslib_kwargs=requestslib_kwargs) requestslib_kwargs=requestslib_kwargs)
def deactivate_image(self, image_id, requestslib_kwargs=None):
"""
@summary: Deactivate an image
@param image_id: Id of image to deactivate
@type image_id: UUID
@param requestslib_kwargs: Keyword arguments to be passed on to
python requests
@type requestslib_kwargs: Dictionary
@return: Response
@rtype: Object
"""
url = '{0}/images/{1}/actions/deactivate'.format(
self.base_url, image_id)
return self.request('POST', url,
requestslib_kwargs=requestslib_kwargs)
def reactivate_image(self, image_id, requestslib_kwargs=None):
"""
@summary: Reactivate an image
@param image_id: Id of image to reactivate
@type image_id: UUID
@param requestslib_kwargs: Keyword arguments to be passed on to
python requests
@type requestslib_kwargs: Dictionary
@return: Response
@rtype: Object
"""
url = '{0}/images/{1}/actions/reactivate'.format(
self.base_url, image_id)
return self.request('POST', url,
requestslib_kwargs=requestslib_kwargs)
def list_image_members(self, image_id, params=None, def list_image_members(self, image_id, params=None,
requestslib_kwargs=None): requestslib_kwargs=None):
""" """