def take_action(self, parsed_args): client = self.app.client_manager.nuageclient headers, attrs = utils.calculate_header_and_attrs( column_headers=[x[0] for x in _column_map], attrs=[x[1] for x in _column_map], parsed_args=parsed_args) obj = client.list_nuage_l2bridges()[L2BRIDGES_RESOURCE] return (headers, (utils.get_dict_properties( s, attrs, formatters=_formatters) for s in obj))
def _test_calculate_header_and_attrs(self, parsed_args_columns, expected_headers, expected_attrs): column_headers = ('ID', 'Name', 'Fixed IP Addresses') columns = ('id', 'name', 'fixed_ips') parsed_args = mock.Mock() parsed_args.columns = parsed_args_columns ret_headers, ret_attrs = utils.calculate_header_and_attrs( column_headers, columns, parsed_args) self.assertEqual(expected_headers, ret_headers) self.assertEqual(expected_attrs, ret_attrs) if parsed_args_columns: self.assertEqual(expected_headers, parsed_args.columns) else: self.assertFalse(parsed_args.columns)
def take_action(self, parsed_args): filters = {} if getattr(parsed_args, 'for_subnet', None): subnet_id = self.app.client_manager.network.find_subnet( parsed_args.for_subnet, ignore_missing=False).id filters['for_subnet'] = [subnet_id] elif getattr(parsed_args, 'for_port', None): port_id = self.app.client_manager.network\ .find_port(parsed_args.for_port, ignore_missing=False).id filters['for_port'] = [port_id] headers, attrs = utils.calculate_header_and_attrs( column_headers=[x[0] for x in _column_map], attrs=[x[1] for x in _column_map], parsed_args=parsed_args) floatingips = (self.app.client_manager.nuageclient .list_nuage_floatingips(**filters)['nuage_floatingips']) return (headers, (utils.get_dict_properties( s, attrs) for s in floatingips))
def take_action(self, parsed_args): network_client = self.app.client_manager.network identity_client = self.app.client_manager.identity columns = ( 'id', 'name', 'mac_address', 'fixed_ips', 'status', ) column_headers = ( 'ID', 'Name', 'MAC Address', 'Fixed IP Addresses', 'Status', ) filters = {} if parsed_args.long: columns += ('security_group_ids', 'device_owner', 'tags') column_headers += ('Security Groups', 'Device Owner', 'Tags') if parsed_args.device_owner is not None: filters['device_owner'] = parsed_args.device_owner if parsed_args.device_id is not None: filters['device_id'] = parsed_args.device_id if parsed_args.router: _router = network_client.find_router(parsed_args.router, ignore_missing=False) filters['device_id'] = _router.id if parsed_args.server: compute_client = self.app.client_manager.compute server = utils.find_resource(compute_client.servers, parsed_args.server) filters['device_id'] = server.id if parsed_args.network: network = network_client.find_network(parsed_args.network, ignore_missing=False) filters['network_id'] = network.id if parsed_args.mac_address: filters['mac_address'] = parsed_args.mac_address if parsed_args.project: project_id = identity_common.find_project( identity_client, parsed_args.project, parsed_args.project_domain, ).id filters['tenant_id'] = project_id filters['project_id'] = project_id if parsed_args.fixed_ip: filters['fixed_ips'] = _prepare_filter_fixed_ips( self.app.client_manager, parsed_args) _tag.get_tag_filtering_args(parsed_args, filters) data = network_client.ports(**filters) headers, attrs = utils.calculate_header_and_attrs( column_headers, columns, parsed_args) return (headers, (utils.get_item_properties( s, attrs, formatters=_formatters, ) for s in data))