コード例 #1
0
ファイル: image.py プロジェクト: bellamusic/cloudsdk
 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"]
コード例 #2
0
 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'])
コード例 #3
0
 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']
コード例 #4
0
 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']
コード例 #5
0
 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']
コード例 #6
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 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']
コード例 #7
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #8
0
 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
コード例 #9
0
ファイル: snapshot.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #10
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #11
0
 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'])
コード例 #12
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #13
0
ファイル: datacenter.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #14
0
ファイル: datacenter.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #15
0
 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
コード例 #16
0
ファイル: datacenter.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #17
0
ファイル: datacenter.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #18
0
 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']
コード例 #19
0
 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
コード例 #20
0
ファイル: security.py プロジェクト: bellamusic/cloudsdk
 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
コード例 #21
0
 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
コード例 #22
0
 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']
コード例 #23
0
 def remove_image(self, image):
     rsp = self.request.invoke(Action='DeleteImage', ImageId=image)
     validate_rsp(rsp, 'DeleteImage')
コード例 #24
0
 def remove_volume(self, volume):
     rsp = self.request.invoke(Action='DeleteDisk', DiskId=volume)
     validate_rsp(rsp, 'DeleteDisk')
コード例 #25
0
ファイル: security.py プロジェクト: bellamusic/cloudsdk
 def remove_security_group(self, group):
     rsp = self.request.invoke(Action='DeleteSecurityGroup', SecurityGroupId=group)
     validate_rsp(rsp, 'DeleteSecurityGroup')
コード例 #26
0
 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')
コード例 #27
0
 def detach_volume(self, instance=None, volume=None):
     rsp = self.request.invoke(Action='DetachDisk', InstanceId=instance, DiskId=volume)
     validate_rsp(rsp, 'DetachDisk')
コード例 #28
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 def unactive_scaling_group(self, group):
     rsp = self.request.invoke(Action='DisableScalingGroup',
                               ScalingGroupId=group)
     validate_rsp(rsp)
コード例 #29
0
ファイル: security.py プロジェクト: bellamusic/cloudsdk
 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']
コード例 #30
0
 def remove_instance(self, instance):
     rsp = self.request.invoke(Action='DeleteInstance', InstanceId=instance)
     validate_rsp(rsp, 'DeleteInstance')
コード例 #31
0
ファイル: image.py プロジェクト: bellamusic/cloudsdk
 def remove_image(self, image):
     rsp = self.request.invoke(Action="DeleteImage", ImageId=image)
     validate_rsp(rsp, "DeleteImage")
コード例 #32
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 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']
コード例 #33
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 def unactive_scaling_group(self, group):
     rsp = self.request.invoke(Action='DisableScalingGroup', ScalingGroupId=group)
     validate_rsp(rsp)
コード例 #34
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 def start(self, instance):
     rsp = self.request.invoke(Action='StartInstance', InstanceId=instance)
     validate_rsp(rsp, 'StartInstance')
コード例 #35
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 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'])
コード例 #36
0
ファイル: snapshot.py プロジェクト: bellamusic/cloudsdk
 def remove_snapshot(self, snapshot):
     rsp = self.request.invoke(Action='DeleteSnapshot', SnapshotId=snapshot)
     validate_rsp(rsp, 'DeleteSnapshot')
コード例 #37
0
 def remove_security_group(self, group):
     rsp = self.request.invoke(Action='DeleteSecurityGroup',
                               SecurityGroupId=group)
     validate_rsp(rsp, 'DeleteSecurityGroup')
コード例 #38
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 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']
コード例 #39
0
 def start(self, instance):
     rsp = self.request.invoke(Action='StartInstance', InstanceId=instance)
     validate_rsp(rsp, 'StartInstance')
コード例 #40
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 def stop(self, instance, force=False):
     rsp = self.request.invoke(Action='StopInstance', InstanceId=instance, ForceStop=FORCE[force])
     validate_rsp(rsp, 'StopInstance')
コード例 #41
0
 def remove_snapshot(self, snapshot):
     rsp = self.request.invoke(Action='DeleteSnapshot', SnapshotId=snapshot)
     validate_rsp(rsp, 'DeleteSnapshot')
コード例 #42
0
 def stop(self, instance, force=False):
     rsp = self.request.invoke(Action='StopInstance',
                               InstanceId=instance,
                               ForceStop=FORCE[force])
     validate_rsp(rsp, 'StopInstance')
コード例 #43
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 def remove_scaling_group(self, group):
     rsp = self.request.invoke(Action='DeleteScalingGroup', ScalingGroupId=group)
     validate_rsp(rsp)
コード例 #44
0
 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']
コード例 #45
0
ファイル: instance.py プロジェクト: bellamusic/cloudsdk
 def remove_instance(self, instance):
     rsp = self.request.invoke(Action='DeleteInstance', InstanceId=instance)
     validate_rsp(rsp, 'DeleteInstance')
コード例 #46
0
ファイル: image.py プロジェクト: bellamusic/cloudsdk
 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"]
コード例 #47
0
ファイル: autoscale.py プロジェクト: bellamusic/cloudsdk
 def remove_scaling_group(self, group):
     rsp = self.request.invoke(Action='DeleteScalingGroup',
                               ScalingGroupId=group)
     validate_rsp(rsp)
コード例 #48
0
ファイル: snapshot.py プロジェクト: bellamusic/cloudsdk
 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']