async def METHOD_NAME(
    self,
    resource_group_name: str,
    cluster_rp: Union[str, _models.Enum0],
    cluster_resource_name: Union[str, _models.Enum1],
    cluster_name: str,
    flux_configuration_name: str,
    operation_id: str,
    **kwargs: Any
) -> _models.OperationStatusResult:
    """Get Async Operation status.
    :param resource_group_name: The name of the resource group. The name is case insensitive.
     Required.
    :type resource_group_name: str
    :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS
     clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). Known values are:
     "Microsoft.ContainerService" and "Microsoft.Kubernetes". Required.
    :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0
    :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters
     (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). Known values are:
     "managedClusters" and "connectedClusters". Required.
    :type cluster_resource_name: str or
     ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1
    :param cluster_name: The name of the kubernetes cluster. Required.
    :type cluster_name: str
    :param flux_configuration_name: Name of the Flux Configuration. Required.
    :type flux_configuration_name: str
    :param operation_id: operation Id. Required.
    :type operation_id: str
    :keyword callable cls: A custom type or function that will be passed the direct response
    :return: OperationStatusResult or the result of cls(response)
    :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult
    :raises ~azure.core.exceptions.HttpResponseError:
    """
    error_map = {
        401: ClientAuthenticationError,
        404: ResourceNotFoundError,
        409: ResourceExistsError,
        304: ResourceNotModifiedError,
    }
    error_map.update(kwargs.pop("error_map", {}) or {})
    _headers = kwargs.pop("headers", {}) or {}
    _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
    api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview"))
    cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None)
    request = build_get_request(
        resource_group_name=resource_group_name,
        cluster_rp=cluster_rp,
        cluster_resource_name=cluster_resource_name,
        cluster_name=cluster_name,
        flux_configuration_name=flux_configuration_name,
        operation_id=operation_id,
        subscription_id=self._config.subscription_id,
        api_version=api_version,
        template_url=self.METHOD_NAME.metadata["url"],
        headers=_headers,
        params=_params,
    )
    request = _convert_request(request)
    request.url = self._client.format_url(request.url)
    _stream = False
    pipeline_response: PipelineResponse = await self._client._pipeline.run(  # pylint: disable=protected-access
        request, stream=_stream, **kwargs
    )
    response = pipeline_response.http_response
    if response.status_code not in [200]:
        map_error(status_code=response.status_code, response=response, error_map=error_map)
        error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
        raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
    deserialized = self._deserialize("OperationStatusResult", pipeline_response)
    if cls:
        return cls(pipeline_response, deserialized, {})
    return deserialized