Skip to content

register_capability async

register_capability(
    application_id: ApplicationId,
    capability_name: CapabilityName,
    capability_config: CapabilityBaseRequestConfig,
    *,
    config_overrides: Optional[AsyncOpenSearchClientConfig] = None,
) -> RegisterCapabilityResponse

Registers a capability for an OpenSearch UI application. Use this operation to enable specific capabilities, such as AI features, for a given application. The capability configuration defines the type and settings of the capability to register. For more information about the AI features, see Agentic AI for OpenSearch UI.

Parameters:

  • application_id (ApplicationId) –

    The unique identifier of the OpenSearch UI application to register the capability for.

  • capability_name (CapabilityName) –

    The name of the capability to register. Must be between 3 and 30 characters and contain only alphanumeric characters and hyphens. This identifies the type of capability being enabled for the application. For registering AI Assistant capability, use ai-capability

  • capability_config (CapabilityBaseRequestConfig) –

    The configuration settings for the capability being registered. This includes capability-specific settings such as AI configuration.

Raises:

Source code in docs_src/capo_opensearch/_services/async_open_search.py
async def register_capability(
    self,
    application_id: "capo_opensearch.types.application_id.ApplicationId",
    capability_name: "capo_opensearch.types.capability_name.CapabilityName",
    capability_config: "capo_opensearch.types.capability_base_request_config.CapabilityBaseRequestConfig",
    *,
    config_overrides: Optional[AsyncOpenSearchClientConfig] = None,
) -> (
    "capo_opensearch.types.register_capability_response.RegisterCapabilityResponse"
):
    """<p>Registers a capability for an OpenSearch UI application. Use this operation to enable specific capabilities, such as AI features, for a given application. The capability configuration defines the type and settings of the capability to register. For more information about the AI features, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application-ai-assistant.html">Agentic AI for OpenSearch UI</a>.</p>

    Args:
        application_id: <p>The unique identifier of the OpenSearch UI application to register the capability for.</p>
        capability_name: <p>The name of the capability to register. Must be between 3 and 30 characters and contain only alphanumeric characters and hyphens. This identifies the type of capability being enabled for the application. For registering AI Assistant capability, use <code>ai-capability</code> </p>
        capability_config: <p>The configuration settings for the capability being registered. This includes capability-specific settings such as AI configuration.</p>

    Raises:
        capo_opensearch.errors.access_denied_exception.AccessDeniedException: <p>An error occurred because you don't have permissions to access the resource.</p>
        capo_opensearch.errors.conflict_exception.ConflictException: <p>An error occurred because the client attempts to remove a resource that is currently in use.</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.resource_not_found_exception.ResourceNotFoundException: <p>An exception for accessing or deleting a resource that doesn't exist.</p>
        capo_opensearch.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>An exception for when a request would cause a service quota to be exceeded.</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.register_capability_request.RegisterCapabilityRequest]",
    ) -> AsyncOperationResponse[
        "capo_opensearch.types.register_capability_response.RegisterCapabilityResponse"
    ]:
        import capo_opensearch._operations.amazon_open_search_service.register_capability

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RegisterCapability")
    )
    input_: capo_opensearch.types.register_capability_request.RegisterCapabilityRequest = {
        "application_id": application_id,
        "capability_name": capability_name,
        "capability_config": capability_config,
    }

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