Skip to content

update_prompt

update_prompt(
    name: PromptName,
    prompt_identifier: PromptIdentifier,
    *,
    config_overrides: Optional[BedrockAgentClientConfig] = None,
    description: Optional[PromptDescription] = None,
    customer_encryption_key_arn: Optional[KmsKeyArn] = None,
    default_variant: Optional[PromptVariantName] = None,
    variants: Optional[PromptVariantList] = None,
) -> UpdatePromptResponse

Modifies a prompt in your prompt library. Include both fields that you want to keep and fields that you want to replace. For more information, see Prompt management in Amazon Bedrock and Edit prompts in your prompt library in the Amazon Bedrock User Guide.

Parameters:

  • name (PromptName) –

    A name for the prompt.

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

    A description for the prompt.

  • customer_encryption_key_arn (Optional[KmsKeyArn], default: None ) –

    The Amazon Resource Name (ARN) of the KMS key to encrypt the prompt.

  • default_variant (Optional[PromptVariantName], default: None ) –

    The name of the default variant for the prompt. This value must match the name field in the relevant PromptVariant object.

  • variants (Optional[PromptVariantList], default: None ) –

    A list of objects, each containing details about a variant of the prompt.

  • prompt_identifier (PromptIdentifier) –

    The unique identifier of the prompt.

Raises:

Source code in docs_src/capo_bedrock_agent/_services/bedrock_agent.py
def update_prompt(
    self,
    name: "capo_bedrock_agent.types.prompt_name.PromptName",
    prompt_identifier: "capo_bedrock_agent.types.prompt_identifier.PromptIdentifier",
    *,
    config_overrides: Optional[BedrockAgentClientConfig] = None,
    description: Optional[
        "capo_bedrock_agent.types.prompt_description.PromptDescription"
    ] = None,
    customer_encryption_key_arn: Optional[
        "capo_bedrock_agent.types.kms_key_arn.KmsKeyArn"
    ] = None,
    default_variant: Optional[
        "capo_bedrock_agent.types.prompt_variant_name.PromptVariantName"
    ] = None,
    variants: Optional[
        "capo_bedrock_agent.types.prompt_variant_list.PromptVariantList"
    ] = None,
) -> "capo_bedrock_agent.types.update_prompt_response.UpdatePromptResponse":
    """<p>Modifies a prompt in your prompt library. Include both fields that you want to keep and fields that you want to replace. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html">Prompt management in Amazon Bedrock</a> and <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-manage.html#prompt-management-edit">Edit prompts in your prompt library</a> in the Amazon Bedrock User Guide.</p>

    Args:
        name: <p>A name for the prompt.</p>
        description: <p>A description for the prompt.</p>
        customer_encryption_key_arn: <p>The Amazon Resource Name (ARN) of the KMS key to encrypt the prompt.</p>
        default_variant: <p>The name of the default variant for the prompt. This value must match the <code>name</code> field in the relevant <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html">PromptVariant</a> object.</p>
        variants: <p>A list of objects, each containing details about a variant of the prompt.</p>
        prompt_identifier: <p>The unique identifier of the prompt.</p>

    Raises:
        capo_bedrock_agent.errors.access_denied_exception.AccessDeniedException: <p>The request is denied because of missing access permissions.</p>
        capo_bedrock_agent.errors.conflict_exception.ConflictException: <p>There was a conflict performing an operation.</p>
        capo_bedrock_agent.errors.internal_server_exception.InternalServerException: <p>An internal server error occurred. Retry your request.</p>
        capo_bedrock_agent.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again.</p>
        capo_bedrock_agent.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The number of requests exceeds the service quota. Resubmit your request later.</p>
        capo_bedrock_agent.errors.throttling_exception.ThrottlingException: <p>The number of requests exceeds the limit. Resubmit your request later.</p>
        capo_bedrock_agent.errors.validation_exception.ValidationException: <p>Input validation failed. Check your request parameters and retry the request.</p>
        capo_bedrock_agent.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_bedrock_agent.types.update_prompt_request.UpdatePromptRequest]",
    ) -> OperationResponse[
        "capo_bedrock_agent.types.update_prompt_response.UpdatePromptResponse"
    ]:
        import capo_bedrock_agent._operations.amazon_bedrock_agent_build_time_lambda.update_prompt

        output, http_response = (
            capo_bedrock_agent._operations.amazon_bedrock_agent_build_time_lambda.update_prompt.update_prompt(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_bedrock_agent.types.update_prompt_request.UpdatePromptRequest",
    ) -> dict[str, Any]:
        import capo_bedrock_agent.types.update_prompt_request

        return capo_bedrock_agent.types.update_prompt_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_bedrock_agent.types.update_prompt_response.UpdatePromptResponse",
    ) -> dict[str, Any]:
        import capo_bedrock_agent.types.update_prompt_response

        return capo_bedrock_agent.types.update_prompt_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdatePrompt", redact_input=_redact_input, redact_output=_redact_output
        ),
    )
    input_: capo_bedrock_agent.types.update_prompt_request.UpdatePromptRequest = {
        "name": name,
        "prompt_identifier": prompt_identifier,
    }
    if description is not None:
        input_["description"] = description
    if customer_encryption_key_arn is not None:
        input_["customer_encryption_key_arn"] = customer_encryption_key_arn
    if default_variant is not None:
        input_["default_variant"] = default_variant
    if variants is not None:
        input_["variants"] = variants

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