Skip to content

update_direct_query_data_source async

update_direct_query_data_source(
    data_source_name: DirectQueryDataSourceName,
    data_source_type: DirectQueryDataSourceType,
    *,
    config_overrides: Optional[AsyncOpenSearchClientConfig] = None,
    description: Optional[DirectQueryDataSourceDescription] = None,
    open_search_arns: Optional[DirectQueryOpenSearchARNList] = None,
    data_source_access_policy: Optional[PolicyDocument] = None,
) -> UpdateDirectQueryDataSourceResponse

Updates the configuration or properties of an existing direct query data source in Amazon OpenSearch Service.

Parameters:

  • data_source_name (DirectQueryDataSourceName) –

    A unique, user-defined label to identify the data source within your OpenSearch Service environment.

  • data_source_type (DirectQueryDataSourceType) –

    The supported Amazon Web Services service that you want to use as the source for direct queries in OpenSearch Service.

  • description (Optional[DirectQueryDataSourceDescription], default: None ) –

    An optional text field for providing additional context and details about the data source.

  • open_search_arns (Optional[DirectQueryOpenSearchARNList], default: None ) –

    An optional list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source. This field is required for CloudWatchLogs and SecurityLake datasource types.

  • data_source_access_policy (Optional[PolicyDocument], default: None ) –

    An optional IAM access policy document that defines the updated permissions for accessing the direct query data source. The policy document must be in valid JSON format and follow IAM policy syntax. If not specified, the existing access policy if present remains unchanged.

Raises:

Source code in docs_src/capo_opensearch/_services/async_open_search.py
async def update_direct_query_data_source(
    self,
    data_source_name: "capo_opensearch.types.direct_query_data_source_name.DirectQueryDataSourceName",
    data_source_type: "capo_opensearch.types.direct_query_data_source_type.DirectQueryDataSourceType",
    *,
    config_overrides: Optional[AsyncOpenSearchClientConfig] = None,
    description: Optional[
        "capo_opensearch.types.direct_query_data_source_description.DirectQueryDataSourceDescription"
    ] = None,
    open_search_arns: Optional[
        "capo_opensearch.types.direct_query_open_search_arn_list.DirectQueryOpenSearchARNList"
    ] = None,
    data_source_access_policy: Optional[
        "capo_opensearch.types.policy_document.PolicyDocument"
    ] = None,
) -> "capo_opensearch.types.update_direct_query_data_source_response.UpdateDirectQueryDataSourceResponse":
    """<p> Updates the configuration or properties of an existing direct query data source in Amazon OpenSearch Service. </p>

    Args:
        data_source_name: <p> A unique, user-defined label to identify the data source within your OpenSearch Service environment. </p>
        data_source_type: <p> The supported Amazon Web Services service that you want to use as the source for direct queries in OpenSearch Service. </p>
        description: <p> An optional text field for providing additional context and details about the data source. </p>
        open_search_arns: <p> An optional list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source. This field is required for CloudWatchLogs and SecurityLake datasource types. </p>
        data_source_access_policy: <p> An optional IAM access policy document that defines the updated permissions for accessing the direct query data source. The policy document must be in valid JSON format and follow IAM policy syntax. If not specified, the existing access policy if present remains unchanged. </p>

    Raises:
        capo_opensearch.errors.base_exception.BaseException: <p>An error occurred while processing the request.</p>
        capo_opensearch.errors.disabled_operation_exception.DisabledOperationException: <p>An error occured because the client wanted to access an unsupported operation.</p>
        capo_opensearch.errors.internal_exception.InternalException: <p>Request processing failed because of an unknown error, exception, or internal failure.</p>
        capo_opensearch.errors.limit_exceeded_exception.LimitExceededException: <p>An exception for trying to create more than the allowed number of resources or sub-resources.</p>
        capo_opensearch.errors.resource_not_found_exception.ResourceNotFoundException: <p>An exception for accessing or deleting a resource that doesn't exist.</p>
        capo_opensearch.errors.validation_exception.ValidationException: <p>An exception for accessing or deleting a resource that doesn't exist.</p>
        capo_opensearch.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_opensearch.types.update_direct_query_data_source_request.UpdateDirectQueryDataSourceRequest]",
    ) -> AsyncOperationResponse[
        "capo_opensearch.types.update_direct_query_data_source_response.UpdateDirectQueryDataSourceResponse"
    ]:
        import capo_opensearch._operations.amazon_open_search_service.update_direct_query_data_source

        (
            output,
            http_response,
        ) = await capo_opensearch._operations.amazon_open_search_service.update_direct_query_data_source.async_update_direct_query_data_source(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDirectQueryDataSource")
    )
    input_: capo_opensearch.types.update_direct_query_data_source_request.UpdateDirectQueryDataSourceRequest = {
        "data_source_name": data_source_name,
        "data_source_type": data_source_type,
    }
    if description is not None:
        input_["description"] = description
    if open_search_arns is not None:
        input_["open_search_arns"] = open_search_arns
    if data_source_access_policy is not None:
        input_["data_source_access_policy"] = data_source_access_policy

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output