Activates the Overlay Gateway Instance on VDX switches

        Args:
            gw_name: Name of Overlay Gateway
            get (bool): Get config instead of editing config. (True, False)
            delete (bool): True, delete the activate config. (True, False)
            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 `gw_name` is not passed.
            ValueError: if `gw_name` is invalid.

        Examples:
            >>> import pynos.device
            >>> conn = ('10.24.39.211', '22')
            >>> auth = ('admin', 'password')
            >>> with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...     output = dev.interface.overlay_gateway_activate(
            ...     gw_name='Leaf')
            ...     output = dev.interface.overlay_gateway_activate(
            ...     get=True)
            ...     output = dev.interface.overlay_gateway_activate(
            ...     gw_name='Leaf', delete=True)

def overlay_gateway_activate(self, **kwargs):
        """Activates the Overlay Gateway Instance on VDX switches

        Args:
            gw_name: Name of Overlay Gateway
            get (bool): Get config instead of editing config. (True, False)
            delete (bool): True, delete the activate config. (True, False)
            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 `gw_name` is not passed.
            ValueError: if `gw_name` is invalid.

        Examples:
            >>> import pynos.device
            >>> conn = ('10.24.39.211', '22')
            >>> auth = ('admin', 'password')
            >>> with pynos.device.Device(conn=conn, auth=auth) as dev:
            ...     output = dev.interface.overlay_gateway_activate(
            ...     gw_name='Leaf')
            ...     output = dev.interface.overlay_gateway_activate(
            ...     get=True)
            ...     output = dev.interface.overlay_gateway_activate(
            ...     gw_name='Leaf', delete=True)
        """

        callback = kwargs.pop('callback', self._callback)
        get_config = kwargs.pop('get', False)
        if not get_config:
            gw_name = kwargs.pop('gw_name')
            overlay_gw = getattr(self._tunnels, 'overlay_gateway_activate')
            config = overlay_gw(name=gw_name)

        if get_config:
            overlay_gw = getattr(self._tunnels, 'overlay_gateway_activate')
            config = overlay_gw(name='')
            output = callback(config, handler='get_config')
            if output.data.find('.//{*}name') is not None:
                if output.data.find('.//{*}activate') is not None:
                    return True
                else:
                    return None
            else:
                return None

        if kwargs.pop('delete', False):
            config.find('.//activate').set('operation', 'delete')
        return callback(config)