list[dict]: A list of dictionary items describing the details of
        vlan interfaces.
        This method fetches the VLAN interfaces
        Examples:
            >>> import pynos.device
            >>> switch = '10.24.39.202'
            >>> auth = ('admin', 'password')
            >>> conn = (switch, '22')
            >>> with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...     output = dev.interface.add_vlan_int('736')
            ...     interfaces = dev.interface.vlans
            ...     is_vlan_interface_present = False
            ...     for interface in interfaces:
            ...         if interface['vlan-id'] == '736':
            ...             is_vlan_interface_present = True
            ...             break
            ...     dev.interface.del_vlan_int('736')
            ...     assert is_vlan_interface_present
            True

def vlans(self):
        """list[dict]: A list of dictionary items describing the details of
        vlan interfaces.
        This method fetches the VLAN interfaces
        Examples:
            >>> import pynos.device
            >>> switch = '10.24.39.202'
            >>> auth = ('admin', 'password')
            >>> conn = (switch, '22')
            >>> with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...     output = dev.interface.add_vlan_int('736')
            ...     interfaces = dev.interface.vlans
            ...     is_vlan_interface_present = False
            ...     for interface in interfaces:
            ...         if interface['vlan-id'] == '736':
            ...             is_vlan_interface_present = True
            ...             break
            ...     dev.interface.del_vlan_int('736')
            ...     assert is_vlan_interface_present
            True
        """
        urn = "{urn:brocade.com:mgmt:brocade-interface-ext}"

        result = []
        has_more = ''
        last_vlan_id = ''
        while (has_more == '') or (has_more == 'true'):
            request_interface = self.get_vlan_brief_request(last_vlan_id)
            interface_result = self._callback(request_interface, 'get')
            has_more = self.get_node_value(interface_result, '%shas-more', urn)
            last_vlan_id = self.get_node_value(
                interface_result, '%slast-vlan-id', urn)
            for interface in interface_result.findall('%svlan' % urn):
                vlan_id = self.get_node_value(interface, '%svlan-id', urn)
                vlan_type = self.get_node_value(interface, '%svlan-type', urn)
                vlan_name = self.get_node_value(interface, '%svlan-name', urn)
                vlan_state = self.get_node_value(
                    interface, '%svlan-state', urn)
                ports = []
                for intf in interface.findall('%sinterface' % urn):
                    interface_type = self.get_node_value(
                        intf, '%sinterface-type', urn)
                    interface_name = self.get_node_value(
                        intf, '%sinterface-name', urn)
                    tag = self.get_node_value(intf, '%stag', urn)
                    port_results = {'interface-type': interface_type,
                                    'interface-name': interface_name,
                                    'tag': tag}
                    ports.append(port_results)
                results = {'interface-name': vlan_name,
                           'vlan-state': vlan_state,
                           'vlan-id': vlan_id,
                           'vlan-type': vlan_type,
                           'interface': ports}
                result.append(results)
        return result