def get_data(self, parsed_args):
     self.log.debug('get_data(%s)' % parsed_args)
     quantum_client = self.get_client()
     quantum_client.format = parsed_args.request_format
     body = self.args2body(parsed_args)
     _extra_values = parse_args_to_dict(parsed_args.value_specs)
     body[self.resource].update(_extra_values)
     obj_creator = getattr(quantum_client, "create_%s" % self.resource)
     data = obj_creator(body)
     # {u'network': {u'id': u'e9424a76-6db4-4c93-97b6-ec311cd51f19'}}
     info = self.resource in data and data[self.resource] or None
     if info:
         print >> self.app.stdout, _('Created a new %s:' % self.resource)
     else:
         info = {'': ''}
     for k, v in info.iteritems():
         if isinstance(v, list):
             value = ""
             for _item in v:
                 if value:
                     value += "\n"
                 if isinstance(_item, dict):
                     value += utils.dumps(_item)
                 else:
                     value += str(_item)
             info[k] = value
         elif v is None:
             info[k] = ''
     return zip(*sorted(info.iteritems()))
예제 #2
0
 def get_data(self, parsed_args):
     self.log.debug('run(%s)' % parsed_args)
     quantum_client = self.get_client()
     quantum_client.format = parsed_args.request_format
     quota = {}
     for resource in ('network', 'subnet', 'port'):
         if getattr(parsed_args, resource):
             quota[resource] = self._validate_int(
                 resource, getattr(parsed_args, resource))
     value_specs = parsed_args.value_specs
     if value_specs:
         quota.update(quantumv20.parse_args_to_dict(value_specs))
     obj_updator = getattr(quantum_client, "update_%s" % self.resource)
     tenant_id = get_tenant_id(parsed_args.tenant_id, quantum_client)
     data = obj_updator(tenant_id, {self.resource: quota})
     if self.resource in data:
         for k, v in data[self.resource].iteritems():
             if isinstance(v, list):
                 value = ""
                 for _item in v:
                     if value:
                         value += "\n"
                     if isinstance(_item, dict):
                         value += utils.dumps(_item)
                     else:
                         value += str(_item)
                 data[self.resource][k] = value
             elif v is None:
                 data[self.resource][k] = ''
         return zip(*sorted(data[self.resource].iteritems()))
     else:
         return None
예제 #3
0
 def get_data(self, parsed_args):
     self.log.debug('get_data(%s)' % parsed_args)
     quantum_client = self.get_client()
     quantum_client.format = parsed_args.request_format
     tenant_id = get_tenant_id(parsed_args.tenant_id, quantum_client)
     params = {}
     obj_shower = getattr(quantum_client, "show_%s" % self.resource)
     data = obj_shower(tenant_id, **params)
     if self.resource in data:
         for k, v in data[self.resource].iteritems():
             if isinstance(v, list):
                 value = ""
                 for _item in v:
                     if value:
                         value += "\n"
                     if isinstance(_item, dict):
                         value += utils.dumps(_item)
                     else:
                         value += str(_item)
                 data[self.resource][k] = value
             elif v is None:
                 data[self.resource][k] = ''
         return zip(*sorted(data[self.resource].iteritems()))
     else:
         return None
    def get_data(self, parsed_args):
        self.log.debug('get_data(%s)' % parsed_args)
        quantum_client = self.get_client()
        quantum_client.format = parsed_args.request_format

        params = {}
        if parsed_args.show_details:
            params = {'verbose': 'True'}
        if parsed_args.fields:
            params = {'fields': parsed_args.fields}
        if self.allow_names:
            _id = find_resourceid_by_name_or_id(quantum_client, self.resource,
                                                parsed_args.id)
        else:
            _id = parsed_args.id

        obj_shower = getattr(quantum_client, "show_%s" % self.resource)
        data = obj_shower(_id, **params)
        if self.resource in data:
            for k, v in data[self.resource].iteritems():
                if isinstance(v, list):
                    value = ""
                    for _item in v:
                        if value:
                            value += "\n"
                        if isinstance(_item, dict):
                            value += utils.dumps(_item)
                        else:
                            value += str(_item)
                    data[self.resource][k] = value
                elif isinstance(v, dict):
                    value = utils.dumps(v)
                    data[self.resource][k] = value
                elif v is None:
                    data[self.resource][k] = ''
            return zip(*sorted(data[self.resource].iteritems()))
        else:
            return None
예제 #5
0
def _format_external_gateway_info(router):
    try:
        return utils.dumps(router['external_gateway_info'])
    except Exception:
        return ''
예제 #6
0
def _format_fixed_ips(port):
    try:
        return '\n'.join([utils.dumps(ip) for ip in port['fixed_ips']])
    except Exception:
        return ''
예제 #7
0
 def _to_json(self, data):
     return utils.dumps(data)