def vrf_l3vni(self, **kwargs):
        """Configure Layer3 vni under vrf.
        Args:
            rbridge_id (str): rbridge-id for device.
            vrf_name (str): Name of the vrf (vrf101, vrf-1 etc).
            l3vni (str): <NUMBER:1-16777215>   Layer 3 VNI.
            get (bool): Get config instead of editing config. (True, False)
            delete (bool): False the L3 vni is configured and True if its to
                be deleted (True, False). Default value will be False if not
                specified.
            callback (function): A function executed upon completion of the
                method.  The only parameter passed to `callback` will be the
                ``ElementTree`` `config`.
        Returns:
            Return value of `callback`.
        Raises:
            KeyError: if `rbridge_id`,`vrf_name`, 'l3vni' is not passed.
            ValueError: if `rbridge_id`, `vrf_name`, 'l3vni'  is invalid.
        Examples:
            >>> import pynos.device
            >>> switches = ['10.24.39.211', '10.24.39.203']
            >>> auth = ('admin', 'password')
            >>> for switch in switches:
            ...     conn = (switch, '22')
            ...     with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...         output = dev.interface.vrf_vni(
            ...         vrf_name=vrf1, rbridge_id='2', l3vni ='7201')
            ...         output = dev.interface.vrf_vni(rbridge_id='2',
            ...         get=True)
            ...         output = dev.interface.vrf_vni(rbridge_id='2',
            ...         , vrf_name='vrf2' get=True)
            ...         output = dev.interface.vrf_vni(vrf_name=vrf1,
            ...         rbridge_id='2', l3vni ='7201', delete=True)

        """
        rbridge_id = kwargs['rbridge_id']
        get_config = kwargs.pop('get', False)
        delete = kwargs.pop('delete', False)
        callback = kwargs.pop('callback', self._callback)
        result = []

        method_class = self._rbridge
        method_name = 'rbridge_id_vrf_vni'
        vrf_vni = getattr(method_class, method_name)

        if not get_config:
            vrf_name = kwargs['vrf_name']
            l3vni = kwargs['l3vni']
            vni_args = dict(rbridge_id=rbridge_id, vrf_name=vrf_name,
                            vni=l3vni)
            config = vrf_vni(**vni_args)

            if delete:
                config.find('.//*vni').set('operation', 'delete')
            result = callback(config)

        elif get_config:
            vrf_name = kwargs.pop('vrf_name', '')
            vni_args = dict(rbridge_id=rbridge_id, vrf_name=vrf_name,
                            vni='')
            config = vrf_vni(**vni_args)
            output = callback(config, handler='get_config')
            for item in output.data.findall('.//{*}vrf'):
                vrfname = item.find('.//{*}vrf-name').text
                if item.find('.//{*}vni') is not None:
                    vrfvni = item.find('.//{*}vni').text
                else:
                    vrfvni = ''

                tmp = {'rbridge_id': rbridge_id, 'vrf_name': vrfname,
                       'l3vni': vrfvni}
                result.append(tmp)
        return result
def vrf_l3vni ( self , ** kwargs ) : rbridge_id = kwargs [ 'rbridge_id' ] get_config = kwargs . pop ( 'get' , False ) delete = kwargs . pop ( 'delete' , False ) callback = kwargs . pop ( 'callback' , self . _callback ) result = [ ] method_class = self . _rbridge method_name = 'rbridge_id_vrf_vni' vrf_vni = getattr ( method_class , method_name ) if not get_config : vrf_name = kwargs [ 'vrf_name' ] l3vni = kwargs [ 'l3vni' ] vni_args = dict ( rbridge_id = rbridge_id , vrf_name = vrf_name , vni = l3vni ) config = vrf_vni ( ** vni_args ) if delete : config . find ( './/*vni' ) . set ( 'operation' , 'delete' ) result = callback ( config ) elif get_config : vrf_name = kwargs . pop ( 'vrf_name' , '' ) vni_args = dict ( rbridge_id = rbridge_id , vrf_name = vrf_name , vni = '' ) config = vrf_vni ( ** vni_args ) output = callback ( config , handler = 'get_config' ) for item in output . data . findall ( './/{*}vrf' ) : vrfname = item . find ( './/{*}vrf-name' ) . text if item . find ( './/{*}vni' ) is not None : vrfvni = item . find ( './/{*}vni' ) . text else : vrfvni = '' tmp = { 'rbridge_id' : rbridge_id , 'vrf_name' : vrfname , 'l3vni' : vrfvni } result . append ( tmp ) return result
Configure Layer3 vni under vrf.
        Args:
            rbridge_id (str): rbridge-id for device.
            vrf_name (str): Name of the vrf (vrf101, vrf-1 etc).
            l3vni (str): <NUMBER:1-16777215>   Layer 3 VNI.
            get (bool): Get config instead of editing config. (True, False)
            delete (bool): False the L3 vni is configured and True if its to
                be deleted (True, False). Default value will be False if not
                specified.
            callback (function): A function executed upon completion of the
                method.  The only parameter passed to `callback` will be the
                ``ElementTree`` `config`.
        Returns:
            Return value of `callback`.
        Raises:
            KeyError: if `rbridge_id`,`vrf_name`, 'l3vni' is not passed.
            ValueError: if `rbridge_id`, `vrf_name`, 'l3vni'  is invalid.
        Examples:
            >>> import pynos.device
            >>> switches = ['10.24.39.211', '10.24.39.203']
            >>> auth = ('admin', 'password')
            >>> for switch in switches:
            ...     conn = (switch, '22')
            ...     with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...         output = dev.interface.vrf_vni(
            ...         vrf_name=vrf1, rbridge_id='2', l3vni ='7201')
            ...         output = dev.interface.vrf_vni(rbridge_id='2',
            ...         get=True)
            ...         output = dev.interface.vrf_vni(rbridge_id='2',
            ...         , vrf_name='vrf2' get=True)
            ...         output = dev.interface.vrf_vni(vrf_name=vrf1,
            ...         rbridge_id='2', l3vni ='7201', delete=True)