Exemple #1
0
 def get_region(self, params):
     region = params.get('region', None)
     if isinstance(region, str) or isinstance(region, unicode):
         region = boto.ec2.get_region(region)
         params['region'] = region
     if not region:
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #2
0
 def get_region(self, params):
     region = params.get('region', None)
     if isinstance(region, str) or isinstance(region, unicode):
         region = boto.ec2.get_region(region)
         params['region'] = region
     if not region:
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #3
0
 def get_region(self, params):
     region = params.get('region', None)
     if isinstance(region, basestring):
         region = boto.ec2.get_region(region)
         params['region'] = region
     if not region:
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
     self.ec2 = params['region'].connect()
Exemple #4
0
 def get_region(self, params):
     region = params.get('region', None)
     if isinstance(region, basestring):
         region = boto.ec2.get_region(region)
         params['region'] = region
     if not region:
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
     self.ec2 = params['region'].connect()
 def get_ami_id(self, params):
     ami = params.get('ami', None)
     if isinstance(ami, str) or isinstance(ami, unicode):
         for a in self.ec2.get_all_images():
             if a.id == ami:
                 params['ami'] = a
     if not params.get('ami', None):
         prop = StringProperty(name='ami', verbose_name='AMI',
                               choices=self.get_ami_list)
         params['ami'] = propget.get(prop)
Exemple #6
0
 def get_ami_id(self, params):
     ami = params.get('ami', None)
     if isinstance(ami, str) or isinstance(ami, unicode):
         for a in self.ec2.get_all_images():
             if a.id == ami:
                 params['ami'] = a
     if not params.get('ami', None):
         prop = StringProperty(name='ami', verbose_name='AMI',
                               choices=self.get_ami_list)
         params['ami'] = propget.get(prop)
Exemple #7
0
 def get_group(self, params):
     group = params.get('group', None)
     if isinstance(group, basestring):
         group_list = self.ec2.get_all_security_groups()
         for g in group_list:
             if g.name == group:
                 group = g
                 params['group'] = g
     if not group:
         prop = StringProperty(name='group', verbose_name='EC2 Security Group',
                               choices=self.ec2.get_all_security_groups)
         params['group'] = propget.get(prop)
Exemple #8
0
 def get_group(self, params):
     group = params.get('group', None)
     if isinstance(group, basestring):
         group_list = self.ec2.get_all_security_groups()
         for g in group_list:
             if g.name == group:
                 group = g
                 params['group'] = g
     if not group:
         prop = StringProperty(name='group', verbose_name='EC2 Security Group',
                               choices=self.ec2.get_all_security_groups)
         params['group'] = propget.get(prop)
Exemple #9
0
 def get_key(self, params):
     keypair = params.get('keypair', None)
     if isinstance(keypair, basestring):
         key_list = self.ec2.get_all_key_pairs()
         for k in key_list:
             if k.name == keypair:
                 keypair = k.name
                 params['keypair'] = k.name
     if not keypair:
         prop = StringProperty(name='keypair', verbose_name='EC2 KeyPair',
                               choices=self.ec2.get_all_key_pairs)
         params['keypair'] = propget.get(prop).name
Exemple #10
0
 def get_key(self, params):
     keypair = params.get('keypair', None)
     if isinstance(keypair, basestring):
         key_list = self.ec2.get_all_key_pairs()
         for k in key_list:
             if k.name == keypair:
                 keypair = k.name
                 params['keypair'] = k.name
     if not keypair:
         prop = StringProperty(name='keypair', verbose_name='EC2 KeyPair',
                               choices=self.ec2.get_all_key_pairs)
         params['keypair'] = propget.get(prop).name
Exemple #11
0
 def get_ami_id(self, params):
     valid = False
     while not valid:
         ami = params.get('ami', None)
         if not ami:
             prop = StringProperty(name='ami', verbose_name='AMI')
             ami = propget.get(prop)
         try:
             rs = self.ec2.get_all_images([ami])
             if len(rs) == 1:
                 valid = True
                 params['ami'] = rs[0]
         except EC2ResponseError:
             pass
Exemple #12
0
 def get_ami_id(self, params):
     valid = False
     while not valid:
         ami = params.get('ami', None)
         if not ami:
             prop = StringProperty(name='ami', verbose_name='AMI')
             ami = propget.get(prop)
         try:
             rs = self.ec2.get_all_images([ami])
             if len(rs) == 1:
                 valid = True
                 params['ami'] = rs[0]
         except EC2ResponseError:
             pass
Exemple #13
0
 def get_name(self, params):
     if not params.get('name', None):
         prop = self.cls.find_property('name')
         params['name'] = propget.get(prop)
Exemple #14
0
 def get_region(self, params):
     if not params.get('region', None):
         prop = StringProperty(name='region',
                               verbose_name='EC2 Region',
                               choices=boto.ec2.regions)
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #15
0
 def get_quantity(self, params):
     if not params.get('quantity', None):
         prop = IntegerProperty(name='quantity', verbose_name='Number of Instances')
         params['quantity'] = propget.get(prop)
Exemple #16
0
 def get_description(self, params):
     if not params.get('description', None):
         prop = self.cls.find_property('description')
         params['description'] = propget.get(prop)
Exemple #17
0
 def get_zone(self, params):
     if not params.get("zone", None):
         prop = StringProperty(name="zone", verbose_name="EC2 Availability Zone", choices=self.ec2.get_all_zones)
         params["zone"] = propget.get(prop)
Exemple #18
0
 def get_quantity(self, params):
     if not params.get('quantity', None):
         prop = IntegerProperty(name='quantity', verbose_name='Number of Instances')
         params['quantity'] = propget.get(prop)
Exemple #19
0
 def get_mount_point(self, params):
     if not params.get('mount_point', None):
         prop = self.cls.find_property('mount_point')
         params['mount_point'] = propget.get(prop)
Exemple #20
0
 def get_device(self, params):
     if not params.get('device', None):
         prop = self.cls.find_property('device')
         params['device'] = propget.get(prop)
Exemple #21
0
 def get_region(self, params):
     if not params.get('region', None):
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #22
0
 def get_size(self, params):
     if not params.get('size', None):
         prop = IntegerProperty(name='size', verbose_name='Size (GB)')
         params['size'] = propget.get(prop)
Exemple #23
0
 def get_key(self, params):
     if not params.get('keypair', None):
         prop = StringProperty(name='keypair', verbose_name='EC2 KeyPair',
                               choices=self.ec2.get_all_key_pairs)
         params['keypair'] = propget.get(prop)
Exemple #24
0
 def get_group(self, params):
     if not params.get('groups', None):
         prop = StringProperty(name='groups', verbose_name='EC2 Security Group',
                               choices=self.ec2.get_all_security_groups)
         params['groups'] = [propget.get(prop)]
Exemple #25
0
 def get_ami_id(self, params):
     if not params.get('ami', None):
         prop = StringProperty(name='ami', verbose_name='AMI',
                               choices=self.get_ami_list)
         params['ami'] = propget.get(prop)
Exemple #26
0
 def get_description(self, params):
     if not params.get('description', None):
         prop = self.cls.find_property('description')
         params['description'] = propget.get(prop)
Exemple #27
0
 def get_device(self, params):
     if not params.get("device", None):
         prop = self.cls.find_property("device")
         params["device"] = propget.get(prop)
Exemple #28
0
 def get_instance_type(self, params):
     if not params.get('instance_type', None):
         prop = StringProperty(name='instance_type', verbose_name='Instance Type',
                               choices=InstanceTypes)
         params['instance_type'] = propget.get(prop)
Exemple #29
0
 def get_mount_point(self, params):
     if not params.get("mount_point", None):
         prop = self.cls.find_property("mount_point")
         params["mount_point"] = propget.get(prop)
Exemple #30
0
 def get_zone(self, params):
     if not params.get('zone', None):
         prop = StringProperty(name='zone', verbose_name='EC2 Availability Zone',
                               choices=self.ec2.get_all_zones)
         params['zone'] = propget.get(prop)
Exemple #31
0
 def get_mount_point(self, params):
     if not params.get('mount_point', None):
         prop = self.cls.find_property('mount_point')
         params['mount_point'] = propget.get(prop)
Exemple #32
0
 def get_name(self, params):
     if not params.get("name", None):
         prop = self.cls.find_property("name")
         params["name"] = propget.get(prop)
Exemple #33
0
 def get_group(self, params):
     if not params.get('groups', None):
         prop = StringProperty(name='groups',
                               verbose_name='EC2 Security Group',
                               choices=self.ec2.get_all_security_groups)
         params['groups'] = [propget.get(prop)]
Exemple #34
0
 def get_region(self, params):
     if not params.get("region", None):
         prop = self.cls.find_property("region_name")
         params["region"] = propget.get(prop, choices=boto.ec2.regions)
def get_region():
    prop = StringProperty(name='region', verbose_name='EC2 Region',
            choices=boto.ec2.regions)
    return propget.get(prop, choices=boto.ec2.regions)
Exemple #36
0
 def get_instance_type(self, params):
     if not params.get('instance_type', None):
         prop = StringProperty(name='instance_type', verbose_name='Instance Type',
                               choices=InstanceTypes)
         params['instance_type'] = propget.get(prop)
Exemple #37
0
 def get_size(self, params):
     if not params.get("size", None):
         prop = IntegerProperty(name="size", verbose_name="Size (GB)")
         params["size"] = propget.get(prop)
Exemple #38
0
 def get_region(self, params):
     if not params.get('region', None):
         prop = self.cls.find_property('region_name')
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #39
0
        self.get_instance_type(params)
        self.get_zone(params)
        self.get_quantity(params)


if __name__ == "__main__":
    obj = BuyReservation()
    params = {}
    obj.get(params)
    offerings = obj.ec2.get_all_reserved_instances_offerings(
        instance_type=params['instance_type'],
        availability_zone=params['zone'].name)
    print '\nThe following Reserved Instances Offerings are available:\n'
    for offering in offerings:
        offering.describe()
    prop = StringProperty(name='offering',
                          verbose_name='Offering',
                          choices=offerings)
    offering = propget.get(prop)
    print '\nYou have chosen this offering:'
    offering.describe()
    unit_price = float(offering.fixed_price)
    total_price = unit_price * params['quantity']
    print '!!! You are about to purchase %d of these offerings for a total of $%.2f !!!' % (
        params['quantity'], total_price)
    answer = raw_input('Are you sure you want to do this?  If so, enter YES: ')
    if answer.strip().lower() == 'yes':
        offering.purchase(params['quantity'])
    else:
        print 'Purchase cancelled'
Exemple #40
0
 def get_name(self, params):
     if not params.get('name', None):
         prop = self.cls.find_property('name')
         params['name'] = propget.get(prop)
Exemple #41
0
 def get_key(self, params):
     if not params.get('keypair', None):
         prop = StringProperty(name='keypair',
                               verbose_name='EC2 KeyPair',
                               choices=self.ec2.get_all_key_pairs)
         params['keypair'] = propget.get(prop)
Exemple #42
0
 def get_zone(self, params):
     if not params.get('zone', None):
         prop = StringProperty(name='zone', verbose_name='EC2 Availability Zone',
                               choices=self.ec2.get_all_zones)
         params['zone'] = propget.get(prop)
Exemple #43
0
            
    def get(self, params):
        self.get_region(params)
        self.ec2 = params['region'].connect()
        self.get_instance_type(params)
        self.get_zone(params)
        self.get_quantity(params)

if __name__ == "__main__":
    obj = BuyReservation()
    params = {}
    obj.get(params)
    offerings = obj.ec2.get_all_reserved_instances_offerings(instance_type=params['instance_type'],
                                                             availability_zone=params['zone'].name)
    print('\nThe following Reserved Instances Offerings are available:\n')
    for offering in offerings:
        offering.describe()
    prop = StringProperty(name='offering', verbose_name='Offering',
                          choices=offerings)
    offering = propget.get(prop)
    print('\nYou have chosen this offering:')
    offering.describe()
    unit_price = float(offering.fixed_price)
    total_price = unit_price * params['quantity']
    print(('!!! You are about to purchase %d of these offerings for a total of $%.2f !!!' % (params['quantity'], total_price)))
    answer = eval(input('Are you sure you want to do this?  If so, enter YES: '))
    if answer.strip().lower() == 'yes':
        offering.purchase(params['quantity'])
    else:
        print('Purchase cancelled')
Exemple #44
0
 def get_size(self, params):
     if not params.get('size', None):
         prop = IntegerProperty(name='size', verbose_name='Size (GB)')
         params['size'] = propget.get(prop)
Exemple #45
0
 def get_region(self, params):
     if not params.get('region', None):
         prop = StringProperty(name='region', verbose_name='EC2 Region',
                               choices=boto.ec2.regions)
         params['region'] = propget.get(prop, choices=boto.ec2.regions)
Exemple #46
0
 def get_device(self, params):
     if not params.get('device', None):
         prop = self.cls.find_property('device')
         params['device'] = propget.get(prop)
Exemple #47
0
 def get_ami_id(self, params):
     if not params.get('ami', None):
         prop = StringProperty(name='ami',
                               verbose_name='AMI',
                               choices=self.get_ami_list)
         params['ami'] = propget.get(prop)