Пример #1
0
 def describe_volumes(self, context, **kwargs):
     if self.volumes == {}:
         return {'volumeSet': [] }
     volumes = []
     for node_name, node in self.volumes.iteritems():
         for volume in node.values():
             if context.user.is_authorized(volume.get('user_id', None)):
                 v = copy.deepcopy(volume)
                 if context.user.is_admin():
                     v['status'] = '%s (%s, %s, %s, %s)' % (v.get('status', None),
                         v['user_id'], node_name, v.get('instance_id', ''), v.get('mountpoint', ''))
                 del v['user_id']
                 volumes.append(v)
     return defer.succeed({'volumeSet': volumes})
Пример #2
0
 def describe_volumes(self, context, **kwargs):
     if self.volumes == {}:
         return {'volumeSet': []}
     volumes = []
     for node_name, node in self.volumes.iteritems():
         for volume in node.values():
             if context.user.is_authorized(volume.get('user_id', None)):
                 v = copy.deepcopy(volume)
                 if context.user.is_admin():
                     v['status'] = '%s (%s, %s, %s, %s)' % (
                         v.get('status', None), v['user_id'], node_name,
                         v.get('instance_id', ''), v.get('mountpoint', ''))
                 del v['user_id']
                 volumes.append(v)
     return defer.succeed({'volumeSet': volumes})
Пример #3
0
    def format_instances(self, user, reservation_id=None):
        if self.instances == {}:
            return {'reservationSet': []}
        reservations = {}
        for node_name, node in self.instances.iteritems():
            for instance in node.values():
                res_id = instance.get('reservation_id', 'Unknown')
                if (user.is_authorized(instance.get('owner_id', None)) and
                    (reservation_id == None or reservation_id == res_id)):
                    i = {}
                    i['instance_id'] = instance.get('instance_id', None)
                    i['image_id'] = instance.get('image_id', None)
                    i['instance_state'] = {
                        'code': instance.get('state', None),
                        'name': _STATE_NAMES[instance.get('state', None)]
                    }
                    i['public_dns_name'] = self.network.get_public_ip_for_instance(
                        i['instance_id'])
                    i['private_dns_name'] = instance.get(
                        'private_dns_name', None)
                    if not i['public_dns_name']:
                        i['public_dns_name'] = i['private_dns_name']
                    i['dns_name'] = instance.get('dns_name', None)
                    i['key_name'] = instance.get('key_name', None)
                    if user.is_admin():
                        i['key_name'] = '%s (%s, %s)' % (
                            i['key_name'], instance.get('owner_id',
                                                        None), node_name)
                    i['product_codes_set'] = self._convert_to_set(
                        instance.get('product_codes', None), 'product_code')
                    i['instance_type'] = instance.get('instance_type', None)
                    i['launch_time'] = instance.get('launch_time', None)
                    i['ami_launch_index'] = instance.get(
                        'ami_launch_index', None)
                    if not reservations.has_key(res_id):
                        r = {}
                        r['reservation_id'] = res_id
                        r['owner_id'] = instance.get('owner_id', None)
                        r['group_set'] = self._convert_to_set(
                            instance.get('groups', None), 'group_id')
                        r['instances_set'] = []
                        reservations[res_id] = r
                    reservations[res_id]['instances_set'].append(i)

        instance_response = {'reservationSet': list(reservations.values())}
        return instance_response
Пример #4
0
    def format_instances(self, user, reservation_id = None):
        if self.instances == {}:
            return {'reservationSet': []}
        reservations = {}
        for node_name, node in self.instances.iteritems():
            for instance in node.values():
                res_id = instance.get('reservation_id', 'Unknown')
                if (user.is_authorized(instance.get('owner_id', None))
                    and (reservation_id == None or reservation_id == res_id)):
                    i = {}
                    i['instance_id'] = instance.get('instance_id', None)
                    i['image_id'] = instance.get('image_id', None)
                    i['instance_state'] = {
                        'code': instance.get('state', None),
                        'name': _STATE_NAMES[instance.get('state', None)]
                    }
                    i['public_dns_name'] = self.network.get_public_ip_for_instance(i['instance_id'])
                    i['private_dns_name'] = instance.get('private_dns_name', None)
                    if not i['public_dns_name']:
                        i['public_dns_name'] = i['private_dns_name']
                    i['dns_name'] = instance.get('dns_name', None)
                    i['key_name'] = instance.get('key_name', None)
                    if user.is_admin():
                        i['key_name'] = '%s (%s, %s)' % (i['key_name'],
                            instance.get('owner_id', None), node_name)
                    i['product_codes_set'] = self._convert_to_set(
                        instance.get('product_codes', None), 'product_code')
                    i['instance_type'] = instance.get('instance_type', None)
                    i['launch_time'] = instance.get('launch_time', None)
                    i['ami_launch_index'] = instance.get('ami_launch_index',
                                                         None)
                    if not reservations.has_key(res_id):
                        r = {}
                        r['reservation_id'] = res_id
                        r['owner_id'] = instance.get('owner_id', None)
                        r['group_set'] = self._convert_to_set(
                            instance.get('groups', None), 'group_id')
                        r['instances_set'] = []
                        reservations[res_id] = r
                    reservations[res_id]['instances_set'].append(i)

        instance_response = {'reservationSet' : list(reservations.values()) }
        return instance_response