def create_image(self, from_snapshot=None, from_instance=None, name=None, **kwargs): rsp = self.request.invoke(Action='CreateImage', instanceId=from_instance, imageName=name) validate_rsp(rsp, 'CreateImage') images = self._images() for image in images: if image['imageName'].__eq__(name): logger.info("find image", image) return image['imageId'] return None
def _images(self, image_type=1): rsp = self.request.invoke(Action='DescribeImages', imageType=image_type) validate_rsp(rsp, 'DescribeImages') if rsp is None: return [] if 'imageSet' not in rsp: logger.error("can not find the images", rsp) return [] images = [] rsp = eval(rsp) for image in eval(rsp)['imageSet']: images.append(image) return images
def remove_image(self, image): data = {"imageIds.1": image} rsp = self.request.invoke(Action='DeleteImages', **data) validate_rsp(rsp, 'DeleteImages')
def list_regions(self): rsp = self.request.invoke(Action="DescribeProductRegionList", instanceType=1) validate_rsp(rsp, "DescribeProductRegionList") rsp = eval(rsp) return eval(rsp)["availableRegion"].keys()
def list_regions(self): rsp = self.request.invoke(Action='DescribeProductRegionList', instanceType=1) validate_rsp(rsp, 'DescribeProductRegionList') rsp = eval(rsp) return eval(rsp)['availableRegion'].keys()