Skip to content

update_knowledge_base

update_knowledge_base(
    aws_account_id: KbAwsAccountId,
    knowledge_base_id: KnowledgeBaseId,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    name: Optional[KnowledgeBaseName] = None,
    description: Optional[KnowledgeBaseDescription] = None,
    knowledge_base_configuration: Optional[KnowledgeBaseConfiguration] = None,
    media_extraction_configuration: Optional[MediaExtractionConfiguration] = None,
    is_email_notification_opted_for_ingestion_failures: Optional[Boolean] = None,
    access_control_configuration: Optional[AccessControlConfiguration] = None,
) -> UpdateKnowledgeBaseResponse

Updates the properties of an existing knowledge base.

Parameters:

  • aws_account_id (KbAwsAccountId) –

    The ID of the Amazon Web Services account that contains the knowledge base.

  • knowledge_base_id (KnowledgeBaseId) –

    The unique identifier for the knowledge base.

  • name (Optional[KnowledgeBaseName], default: None ) –

    The name of the knowledge base. If you don't specify a name, the existing name is retained.

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

    A description for the knowledge base. If you don't specify a description, the existing description is retained.

  • is_email_notification_opted_for_ingestion_failures (Optional[Boolean], default: None ) –

    Specifies whether email notifications are enabled for ingestion failures.

  • access_control_configuration (Optional[AccessControlConfiguration], default: None ) –

    The access control configuration for the knowledge base. If you don't specify this parameter, the existing setting is retained.

Raises:

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def update_knowledge_base(
    self,
    aws_account_id: "capo_quicksight.types.kb_aws_account_id.KbAwsAccountId",
    knowledge_base_id: "capo_quicksight.types.knowledge_base_id.KnowledgeBaseId",
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    name: Optional[
        "capo_quicksight.types.knowledge_base_name.KnowledgeBaseName"
    ] = None,
    description: Optional[
        "capo_quicksight.types.knowledge_base_description.KnowledgeBaseDescription"
    ] = None,
    knowledge_base_configuration: Optional[
        "capo_quicksight.types.knowledge_base_configuration.KnowledgeBaseConfiguration"
    ] = None,
    media_extraction_configuration: Optional[
        "capo_quicksight.types.media_extraction_configuration.MediaExtractionConfiguration"
    ] = None,
    is_email_notification_opted_for_ingestion_failures: Optional[
        "capo_quicksight.types.boolean.Boolean"
    ] = None,
    access_control_configuration: Optional[
        "capo_quicksight.types.access_control_configuration.AccessControlConfiguration"
    ] = None,
) -> "capo_quicksight.types.update_knowledge_base_response.UpdateKnowledgeBaseResponse":
    """<p>Updates the properties of an existing knowledge base.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that contains the knowledge base.</p>
        knowledge_base_id: <p>The unique identifier for the knowledge base.</p>
        name: <p>The name of the knowledge base. If you don't specify a name, the existing name is retained.</p>
        description: <p>A description for the knowledge base. If you don't specify a description, the existing description is retained.</p>
        is_email_notification_opted_for_ingestion_failures: <p>Specifies whether email notifications are enabled for ingestion failures.</p>
        access_control_configuration: <p>The access control configuration for the knowledge base. If you don't specify this parameter, the existing setting is retained.</p>

    Raises:
        capo_quicksight.errors.access_denied_exception.AccessDeniedException: <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
        capo_quicksight.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_quicksight.errors.internal_failure_exception.InternalFailureException: <p>An internal failure occurred.</p>
        capo_quicksight.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameters has a value that isn't valid.</p>
        capo_quicksight.errors.invalid_request_exception.InvalidRequestException: <p>You don't have this feature activated for your account. To fix this issue, contact Amazon Web Services support.</p>
        capo_quicksight.errors.limit_exceeded_exception.LimitExceededException: <p>A limit is exceeded.</p>
        capo_quicksight.errors.precondition_not_met_exception.PreconditionNotMetException: <p>One or more preconditions aren't met.</p>
        capo_quicksight.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_quicksight.errors.throttling_exception.ThrottlingException: <p>Access is throttled.</p>
        capo_quicksight.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.update_knowledge_base_request.UpdateKnowledgeBaseRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.update_knowledge_base_response.UpdateKnowledgeBaseResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_knowledge_base

        output, http_response = (
            capo_quicksight._operations.quick_sight_20180401.update_knowledge_base.update_knowledge_base(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_quicksight.types.update_knowledge_base_request.UpdateKnowledgeBaseRequest",
    ) -> dict[str, Any]:
        import capo_quicksight.types.update_knowledge_base_request

        return capo_quicksight.types.update_knowledge_base_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateKnowledgeBase", redact_input=_redact_input),
    )
    input_: capo_quicksight.types.update_knowledge_base_request.UpdateKnowledgeBaseRequest = {
        "aws_account_id": aws_account_id,
        "knowledge_base_id": knowledge_base_id,
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description
    if knowledge_base_configuration is not None:
        input_["knowledge_base_configuration"] = knowledge_base_configuration
    if media_extraction_configuration is not None:
        input_["media_extraction_configuration"] = media_extraction_configuration
    if is_email_notification_opted_for_ingestion_failures is not None:
        input_["is_email_notification_opted_for_ingestion_failures"] = (
            is_email_notification_opted_for_ingestion_failures
        )
    if access_control_configuration is not None:
        input_["access_control_configuration"] = access_control_configuration

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output