@distributed_trace_async
async def begin_update_by_id(self, resource_id: str, api_version: str, parameters: '_models.GenericResource', **kwargs: Any) -> AsyncLROPoller['_models.GenericResource']:
    'Updates a resource by ID.\n\n        :param resource_id: The fully qualified ID of the resource, including the resource name and\n         resource type. Use the format,\n         /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}.\n        :type resource_id: str\n        :param api_version: The API version to use for the operation.\n        :type api_version: str\n        :param parameters: Update resource parameters.\n        :type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource\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: By default, your polling method will be AsyncARMPolling. Pass in False for\n         this operation to not poll, or pass in your own initialized polling object for a personal\n         polling strategy.\n        :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod\n        :keyword int polling_interval: Default waiting time between two polls for LRO operations if no\n         Retry-After header is present.\n        :return: An instance of AsyncLROPoller that returns either GenericResource or the result of\n         cls(response)\n        :rtype:\n         ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource]\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    content_type = kwargs.pop('content_type', 'application/json')
    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 = (await self._update_by_id_initial(resource_id=resource_id, api_version=api_version, parameters=parameters, content_type=content_type, cls=(lambda x, y, z: x), **kwargs))
    kwargs.pop('error_map', None)

    def get_long_running_output(pipeline_response):
        response = pipeline_response.http_response
        deserialized = self._deserialize('GenericResource', pipeline_response)
        if cls:
            return cls(pipeline_response, deserialized, {})
        return deserialized
    if (polling is True):
        polling_method = AsyncARMPolling(lro_delay, **kwargs)
    elif (polling is False):
        polling_method = AsyncNoPolling()
    else:
        polling_method = polling
    if cont_token:
        return AsyncLROPoller.from_continuation_token(polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output)
    return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
Updates a resource by ID.

:param resource_id: The fully qualified ID of the resource, including the resource name and
 resource type. Use the format,
 /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}.
:type resource_id: str
:param api_version: The API version to use for the operation.
:type api_version: str
:param parameters: Update resource parameters.
:type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource
: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: By default, your polling method will be AsyncARMPolling. Pass in False for
 this operation to not poll, or pass in your own initialized polling object for a personal
 polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
 Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either GenericResource or the result of
 cls(response)
:rtype:
 ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource]
:raises: ~azure.core.exceptions.HttpResponseError
@distributed_trace_async
async def begin_update_by_id(self, resource_id: str, api_version: str, parameters: '_models.GenericResource', **kwargs: Any) -> AsyncLROPoller['_models.GenericResource']:
    'Updates a resource by ID.\n\n        :param resource_id: The fully qualified ID of the resource, including the resource name and\n         resource type. Use the format,\n         /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}.\n        :type resource_id: str\n        :param api_version: The API version to use for the operation.\n        :type api_version: str\n        :param parameters: Update resource parameters.\n        :type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource\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: By default, your polling method will be AsyncARMPolling. Pass in False for\n         this operation to not poll, or pass in your own initialized polling object for a personal\n         polling strategy.\n        :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod\n        :keyword int polling_interval: Default waiting time between two polls for LRO operations if no\n         Retry-After header is present.\n        :return: An instance of AsyncLROPoller that returns either GenericResource or the result of\n         cls(response)\n        :rtype:\n         ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resource.resources.v2019_08_01.models.GenericResource]\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    content_type = kwargs.pop('content_type', 'application/json')
    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 = (await self._update_by_id_initial(resource_id=resource_id, api_version=api_version, parameters=parameters, content_type=content_type, cls=(lambda x, y, z: x), **kwargs))
    kwargs.pop('error_map', None)

    def get_long_running_output(pipeline_response):
        response = pipeline_response.http_response
        deserialized = self._deserialize('GenericResource', pipeline_response)
        if cls:
            return cls(pipeline_response, deserialized, {})
        return deserialized
    if (polling is True):
        polling_method = AsyncARMPolling(lro_delay, **kwargs)
    elif (polling is False):
        polling_method = AsyncNoPolling()
    else:
        polling_method = polling
    if cont_token:
        return AsyncLROPoller.from_continuation_token(polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output)
    return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)