Skip to content

update_agent_action_group

update_agent_action_group(
    agent_id: Id,
    agent_version: DraftVersion,
    action_group_id: Id,
    action_group_name: Name,
    *,
    config_overrides: Optional[BedrockAgentClientConfig] = None,
    description: Optional[Description] = None,
    parent_action_group_signature: Optional[ActionGroupSignature] = None,
    parent_action_group_signature_params: Optional[ActionGroupSignatureParams] = None,
    action_group_executor: Optional[ActionGroupExecutor] = None,
    action_group_state: Optional[ActionGroupState] = None,
    api_schema: Optional[APISchema] = None,
    function_schema: Optional[FunctionSchema] = None,
) -> UpdateAgentActionGroupResponse

Updates the configuration for an action group for an agent.

Parameters:

  • agent_id (Id) –

    The unique identifier of the agent for which to update the action group.

  • agent_version (DraftVersion) –

    The unique identifier of the agent version for which to update the action group.

  • action_group_id (Id) –

    The unique identifier of the action group.

  • action_group_name (Name) –

    Specifies a new name for the action group.

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

    Specifies a new name for the action group.

  • parent_action_group_signature (Optional[ActionGroupSignature], default: None ) –

    Update the built-in or computer use action for this action group. If you specify a value, you must leave the description, apiSchema, and actionGroupExecutor fields empty for this action group.

    • To allow your agent to request the user for additional information when trying to complete a task, set this field to AMAZON.UserInput.

    • To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to AMAZON.CodeInterpreter.

    • To allow your agent to use an Anthropic computer use tool, specify one of the following values.

      Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. When operating computer use functionality, we recommend taking additional security precautions, such as executing computer actions in virtual environments with restricted data access and limited internet connectivity. For more information, see Configure an Amazon Bedrock Agent to complete tasks with computer use tools.

      • ANTHROPIC.Computer - Gives the agent permission to use the mouse and keyboard and take screenshots.

      • ANTHROPIC.TextEditor - Gives the agent permission to view, create and edit files.

      • ANTHROPIC.Bash - Gives the agent permission to run commands in a bash shell.

    During orchestration, if your agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an Observation reprompting the user for more information.

  • parent_action_group_signature_params (Optional[ActionGroupSignatureParams], default: None ) –

    The configuration settings for a computer use action.

    Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see Configure an Amazon Bedrock Agent to complete tasks with computer use tools.

  • action_group_executor (Optional[ActionGroupExecutor], default: None ) –

    The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.

  • action_group_state (Optional[ActionGroupState], default: None ) –

    Specifies whether the action group is available for the agent to invoke or not when sending an InvokeAgent request.

  • api_schema (Optional[APISchema], default: None ) –

    Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see Action group OpenAPI schemas.

  • function_schema (Optional[FunctionSchema], default: None ) –

    Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.

Raises:

Source code in docs_src/capo_bedrock_agent/_services/bedrock_agent.py
def update_agent_action_group(
    self,
    agent_id: "capo_bedrock_agent.types.id.Id",
    agent_version: "capo_bedrock_agent.types.draft_version.DraftVersion",
    action_group_id: "capo_bedrock_agent.types.id.Id",
    action_group_name: "capo_bedrock_agent.types.name.Name",
    *,
    config_overrides: Optional[BedrockAgentClientConfig] = None,
    description: Optional[
        "capo_bedrock_agent.types.description.Description"
    ] = None,
    parent_action_group_signature: Optional[
        "capo_bedrock_agent.types.action_group_signature.ActionGroupSignature"
    ] = None,
    parent_action_group_signature_params: Optional[
        "capo_bedrock_agent.types.action_group_signature_params.ActionGroupSignatureParams"
    ] = None,
    action_group_executor: Optional[
        "capo_bedrock_agent.types.action_group_executor.ActionGroupExecutor"
    ] = None,
    action_group_state: Optional[
        "capo_bedrock_agent.types.action_group_state.ActionGroupState"
    ] = None,
    api_schema: Optional["capo_bedrock_agent.types.api_schema.APISchema"] = None,
    function_schema: Optional[
        "capo_bedrock_agent.types.function_schema.FunctionSchema"
    ] = None,
) -> "capo_bedrock_agent.types.update_agent_action_group_response.UpdateAgentActionGroupResponse":
    """<p>Updates the configuration for an action group for an agent.</p>

    Args:
        agent_id: <p>The unique identifier of the agent for which to update the action group.</p>
        agent_version: <p>The unique identifier of the agent version for which to update the action group.</p>
        action_group_id: <p>The unique identifier of the action group.</p>
        action_group_name: <p>Specifies a new name for the action group.</p>
        description: <p>Specifies a new name for the action group.</p>
        parent_action_group_signature: <p>Update the built-in or computer use action for this action group. If you specify a value, you must leave the <code>description</code>, <code>apiSchema</code>, and <code>actionGroupExecutor</code> fields empty for this action group. </p> <ul> <li> <p>To allow your agent to request the user for additional information when trying to complete a task, set this field to <code>AMAZON.UserInput</code>. </p> </li> <li> <p>To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to <code>AMAZON.CodeInterpreter</code>.</p> </li> <li> <p>To allow your agent to use an Anthropic computer use tool, specify one of the following values. </p> <important> <p> Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. When operating computer use functionality, we recommend taking additional security precautions, such as executing computer actions in virtual environments with restricted data access and limited internet connectivity. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>. </p> </important> <ul> <li> <p> <code>ANTHROPIC.Computer</code> - Gives the agent permission to use the mouse and keyboard and take screenshots.</p> </li> <li> <p> <code>ANTHROPIC.TextEditor</code> - Gives the agent permission to view, create and edit files.</p> </li> <li> <p> <code>ANTHROPIC.Bash</code> - Gives the agent permission to run commands in a bash shell.</p> </li> </ul> </li> </ul> <p>During orchestration, if your agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html">Observation</a> reprompting the user for more information.</p>
        parent_action_group_signature_params: <p>The configuration settings for a computer use action.</p> <important> <p> Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>. </p> </important>
        action_group_executor: <p>The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.</p>
        action_group_state: <p>Specifies whether the action group is available for the agent to invoke or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
        api_schema: <p>Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html">Action group OpenAPI schemas</a>.</p>
        function_schema: <p>Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.</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_agent_action_group_request.UpdateAgentActionGroupRequest]",
    ) -> OperationResponse[
        "capo_bedrock_agent.types.update_agent_action_group_response.UpdateAgentActionGroupResponse"
    ]:
        import capo_bedrock_agent._operations.amazon_bedrock_agent_build_time_lambda.update_agent_action_group

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

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

        return capo_bedrock_agent.types.update_agent_action_group_request.redact_sensitive(
            input_
        )

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

        return capo_bedrock_agent.types.update_agent_action_group_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdateAgentActionGroup",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_bedrock_agent.types.update_agent_action_group_request.UpdateAgentActionGroupRequest = {
        "agent_id": agent_id,
        "agent_version": agent_version,
        "action_group_id": action_group_id,
        "action_group_name": action_group_name,
    }
    if description is not None:
        input_["description"] = description
    if parent_action_group_signature is not None:
        input_["parent_action_group_signature"] = parent_action_group_signature
    if parent_action_group_signature_params is not None:
        input_["parent_action_group_signature_params"] = (
            parent_action_group_signature_params
        )
    if action_group_executor is not None:
        input_["action_group_executor"] = action_group_executor
    if action_group_state is not None:
        input_["action_group_state"] = action_group_state
    if api_schema is not None:
        input_["api_schema"] = api_schema
    if function_schema is not None:
        input_["function_schema"] = function_schema

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