def _list_images(self): rsp = self.request.invoke(Action="DescribeImages") validate_rsp(rsp, "DescribeImages") rsp = eval(rsp.replace("true", '\\"true\\"').replace("false", '\\"false\\"')) if eval(rsp)["Images"] is None: return None return eval(rsp)["Images"]["Image"]
def query_instance_details(self, instance): rsp = self.request.invoke(Action='DescribeInstanceAttribute', InstanceId=instance) validate_rsp(rsp) rsp = eval(eval(rsp)) return to_instance(instance, rsp['InstanceName'], rsp['InnerIpAddress']['IpAddress'], rsp['ImageId'])
def _list_images(self): rsp = self.request.invoke(Action='DescribeImages') validate_rsp(rsp, 'DescribeImages') rsp = eval(rsp.replace("true", "\\\"true\\\"").replace("false", "\\\"false\\\"")) if eval(rsp)['Images'] is None: return None return eval(rsp)['Images']['Image']
def create_security_group(self, name=None, description=None, **kwargs): rsp = self.request.invoke(Action='CreateSecurityGroup', Description=description, **kwargs) validate_rsp(rsp, 'CreateSecurityGroup') rsp = eval(rsp) return eval(rsp)['SecurityGroupId']
def create_snapshot(self, disk=None, name=None, **kwargs): rsp = self.request.invoke(Action='CreateSnapshot', DiskId=disk, SnapshotName=name, **kwargs) validate_rsp(rsp, 'CreateSnapshot') return eval(rsp)['SnapshotId']
def create_scaling_group(self, name, max, min, **kwargs): rsp = self.request.invoke(Action='CreateScalingGroup', MaxSize=max, MinSize=min, ScalingGroupName=name, **kwargs) validate_rsp(rsp) rsp = eval(rsp) return eval(rsp)['ScalingGroupId']
def list_instances(self): rsp = self.request.invoke(Action='DescribeInstanceStatus', InstanceStatus='LockReason') validate_rsp(rsp, 'DescribeInstanceStatus') status = eval(eval(rsp))['InstanceStatuses'] ret = status['InstanceStatus'] instances = [] for instance in ret: instances.append(instance['InstanceId']) return instances
def list_snapshot(self, instance=None, disk=None, **kwargs): rsp = self.request.invoke(Aciton='DescribeSnapshots', InstanceId=instance, **kwargs) validate_rsp(rsp, 'DescribeSnapshots') rsp = eval(eval(rsp)) if len(rsp['Snapshots']) <= 0: return None snapshots = [] for snapshot in rsp['Snapshots']['SnapshotResource']: snapshots.append(snapshot['SnapshotId']) return snapshots
def list_scaling_groups(self): rsp = self.request.invoke(Action='DescribeScalingGroups') validate_rsp(rsp) rsp = eval(rsp) if 'ScalingGroups' not in eval(rsp): return None groups = [] for item in eval(rsp)['ScalingGroups']['ScalingGroup']: groups.append(item) return groups
def query_volume_details(self, volume): rsp = self.request.invoke(Action='DescribeDisks') validate_rsp(rsp, 'DescribeDisks') rsp = eval(replace_java_keyword(rsp)) volumes = eval(rsp)['Disks'] if volumes is None or len(volumes) <= 0: return None for details in volumes['Disk']: if details['DiskId'] == volume: return to_volume(volume, details['DiskName'], details['Size'], details['InstanceId'])
def list_regions(self): rsp = self.request.invoke(Action="DescribeRegions") validate_rsp(rsp, "DescribeRegions") rsp = eval(rsp) region = eval(rsp)["Regions"] if region is None or len(region) <= 0: return None region_ids = [] for r in region["Region"]: region_ids.append(r["RegionId"]) return region_ids
def list_regions(self): rsp = self.request.invoke(Action='DescribeRegions') validate_rsp(rsp, 'DescribeRegions') rsp = eval(rsp) region = eval(rsp)['Regions'] if region is None or len(region) <= 0: return None region_ids = [] for r in region['Region']: region_ids.append(r['RegionId']) return region_ids
def list_volume(self): rsp = self.request.invoke(Action='DescribeDisks') validate_rsp(rsp, 'DescribeDisks') rsp = eval(replace_java_keyword(rsp)) volumes = eval(rsp)['Disks'] if volumes is None or len(volumes) <= 0: return None ret = [] for volume in volumes['Disk']: ret.append(volume['DiskId']) return ret
def list_zones(self): rsp = self.request.invoke(Action="DescribeZones") validate_rsp(rsp, "DescribeZones") rsp = eval(rsp) zone = eval(rsp)["Zones"] if zone is None or len(zone) <= 0: return None zones = [] for z in zone["Zone"]: zones.append(z["ZoneId"]) return zones
def list_zones(self): rsp = self.request.invoke(Action='DescribeZones') validate_rsp(rsp, 'DescribeZones') rsp = eval(rsp) zone = eval(rsp)['Zones'] if zone is None or len(zone) <= 0: return None zones = [] for z in zone['Zone']: zones.append(z['ZoneId']) return zones
def create_volume(self, name=None, snapshot=None, size=0, **kwargs): """ :param zoneId:need :return: """ rsp = None if snapshot is None: rsp = self.request.invoke(Action='CreateDisk', Size=size, **kwargs) else: rsp = self.request.invoke(Action='CreateDisk', SnapshotId=snapshot, **kwargs) validate_rsp(replace_java_keyword(rsp), 'CreateDisk') return eval(rsp)['DiskId']
def list_security_group(self): rsp = self.request.invoke(Action='DescribeSecurityGroups') validate_rsp(rsp, 'DescribeSecurityGroups') rsp = eval(rsp) sgs = eval(rsp)['SecurityGroups'] if sgs is None or len(sgs) <= 0: return None items = sgs['SecurityGroup'] security = [] for item in items: security.append(item['SecurityGroupId']) return security
def launch(self, image=None, flavor=None, hostname=None, bandwidth=None, callback=None, **kwargs): rsp = self.request.invoke(action='CreateInstance', hostname=hostname, ImageId=image, InternetMaxBandwidthOut=bandwidth, InstanceType=flavor, **kwargs) validate_rsp(rsp, 'CreateInstance') return eval(rsp)['InstanceId']
def remove_image(self, image): rsp = self.request.invoke(Action='DeleteImage', ImageId=image) validate_rsp(rsp, 'DeleteImage')
def remove_volume(self, volume): rsp = self.request.invoke(Action='DeleteDisk', DiskId=volume) validate_rsp(rsp, 'DeleteDisk')
def remove_security_group(self, group): rsp = self.request.invoke(Action='DeleteSecurityGroup', SecurityGroupId=group) validate_rsp(rsp, 'DeleteSecurityGroup')
def attach_volume(self, instance=None, volume=None, device=None, **kwargs): rsp = self.request.invoke(Action='AttachDisk', InstanceId=instance, DiskId=volume, Device=device, **kwargs) validate_rsp(rsp, 'AttachDisk')
def detach_volume(self, instance=None, volume=None): rsp = self.request.invoke(Action='DetachDisk', InstanceId=instance, DiskId=volume) validate_rsp(rsp, 'DetachDisk')
def unactive_scaling_group(self, group): rsp = self.request.invoke(Action='DisableScalingGroup', ScalingGroupId=group) validate_rsp(rsp)
def remove_instance(self, instance): rsp = self.request.invoke(Action='DeleteInstance', InstanceId=instance) validate_rsp(rsp, 'DeleteInstance')
def remove_image(self, image): rsp = self.request.invoke(Action="DeleteImage", ImageId=image) validate_rsp(rsp, "DeleteImage")
def start(self, instance): rsp = self.request.invoke(Action='StartInstance', InstanceId=instance) validate_rsp(rsp, 'StartInstance')
def remove_snapshot(self, snapshot): rsp = self.request.invoke(Action='DeleteSnapshot', SnapshotId=snapshot) validate_rsp(rsp, 'DeleteSnapshot')
def stop(self, instance, force=False): rsp = self.request.invoke(Action='StopInstance', InstanceId=instance, ForceStop=FORCE[force]) validate_rsp(rsp, 'StopInstance')
def remove_scaling_group(self, group): rsp = self.request.invoke(Action='DeleteScalingGroup', ScalingGroupId=group) validate_rsp(rsp)
def create_image(self, from_snapshot=None, from_instance=None, name=None, **kwargs): rsp = self.request.invoke(Action='CreateImage', SnapshotId=from_snapshot, ImageName=name, **kwargs) validate_rsp(rsp, 'CreateImage') rsp = eval(rsp) return eval(rsp)['ImageId']
def create_image(self, from_snapshot=None, from_instance=None, name=None, **kwargs): rsp = self.request.invoke(Action="CreateImage", SnapshotId=from_snapshot, ImageName=name, **kwargs) validate_rsp(rsp, "CreateImage") rsp = eval(rsp) return eval(rsp)["ImageId"]