def begin_delete(self, resource_group_name, express_route_gateway_name, **kwargs):
    'Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway\n        resource can only be deleted when there are no connection subresources.\n\n        :param resource_group_name: The name of the resource group.\n        :type resource_group_name: str\n        :param express_route_gateway_name: The name of the ExpressRoute gateway.\n        :type express_route_gateway_name: str\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :keyword str continuation_token: A continuation token to restart a poller from a saved state.\n        :keyword polling: True for ARMPolling, False for no polling, or a\n         polling object for personal polling strategy\n        :paramtype polling: bool or ~azure.core.polling.PollingMethod\n        :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n        :return: An instance of LROPoller that returns either None or the result of cls(response)\n        :rtype: ~azure.core.polling.LROPoller[None]\n        :raises ~azure.core.exceptions.HttpResponseError:\n        '
    polling = kwargs.pop('polling', True)
    cls = kwargs.pop('cls', None)
    lro_delay = kwargs.pop('polling_interval', self._config.polling_interval)
    cont_token = kwargs.pop('continuation_token', None)
    if (cont_token is None):
        raw_result = self._delete_initial(resource_group_name=resource_group_name, express_route_gateway_name=express_route_gateway_name, cls=(lambda x, y, z: x), **kwargs)
    kwargs.pop('error_map', None)
    kwargs.pop('content_type', None)

    def get_long_running_output(pipeline_response):
        if cls:
            return cls(pipeline_response, None, {})
    if (polling is True):
        polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
    elif (polling is False):
        polling_method = NoPolling()
    else:
        polling_method = polling
    if cont_token:
        return LROPoller.from_continuation_token(polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output)
    else:
        return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway
resource can only be deleted when there are no connection subresources.

:param resource_group_name: The name of the resource group.
:type resource_group_name: str
:param express_route_gateway_name: The name of the ExpressRoute gateway.
:type express_route_gateway_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: True for ARMPolling, False for no polling, or a
 polling object for personal polling strategy
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
:return: An instance of LROPoller that returns either None or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[None]
:raises ~azure.core.exceptions.HttpResponseError:
def begin_delete(self, resource_group_name, express_route_gateway_name, **kwargs):
    'Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway\n        resource can only be deleted when there are no connection subresources.\n\n        :param resource_group_name: The name of the resource group.\n        :type resource_group_name: str\n        :param express_route_gateway_name: The name of the ExpressRoute gateway.\n        :type express_route_gateway_name: str\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :keyword str continuation_token: A continuation token to restart a poller from a saved state.\n        :keyword polling: True for ARMPolling, False for no polling, or a\n         polling object for personal polling strategy\n        :paramtype polling: bool or ~azure.core.polling.PollingMethod\n        :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n        :return: An instance of LROPoller that returns either None or the result of cls(response)\n        :rtype: ~azure.core.polling.LROPoller[None]\n        :raises ~azure.core.exceptions.HttpResponseError:\n        '
    polling = kwargs.pop('polling', True)
    cls = kwargs.pop('cls', None)
    lro_delay = kwargs.pop('polling_interval', self._config.polling_interval)
    cont_token = kwargs.pop('continuation_token', None)
    if (cont_token is None):
        raw_result = self._delete_initial(resource_group_name=resource_group_name, express_route_gateway_name=express_route_gateway_name, cls=(lambda x, y, z: x), **kwargs)
    kwargs.pop('error_map', None)
    kwargs.pop('content_type', None)

    def get_long_running_output(pipeline_response):
        if cls:
            return cls(pipeline_response, None, {})
    if (polling is True):
        polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
    elif (polling is False):
        polling_method = NoPolling()
    else:
        polling_method = polling
    if cont_token:
        return LROPoller.from_continuation_token(polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output)
    else:
        return LROPoller(self._client, raw_result, get_long_running_output, polling_method)