aws-sdk-bedrockagentcorecontrol 1.72.0 → 1.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -591,6 +591,8 @@ module Aws::BedrockAgentCoreControl
591
591
  GoogleOauth2ProviderConfigInput = Shapes::StructureShape.new(name: 'GoogleOauth2ProviderConfigInput')
592
592
  GoogleOauth2ProviderConfigOutput = Shapes::StructureShape.new(name: 'GoogleOauth2ProviderConfigOutput')
593
593
  Harness = Shapes::StructureShape.new(name: 'Harness')
594
+ HarnessAfterInvocationHook = Shapes::StructureShape.new(name: 'HarnessAfterInvocationHook')
595
+ HarnessAfterToolCallHook = Shapes::StructureShape.new(name: 'HarnessAfterToolCallHook')
594
596
  HarnessAgentCoreBrowserConfig = Shapes::StructureShape.new(name: 'HarnessAgentCoreBrowserConfig')
595
597
  HarnessAgentCoreCodeInterpreterConfig = Shapes::StructureShape.new(name: 'HarnessAgentCoreCodeInterpreterConfig')
596
598
  HarnessAgentCoreGatewayConfig = Shapes::StructureShape.new(name: 'HarnessAgentCoreGatewayConfig')
@@ -606,6 +608,8 @@ module Aws::BedrockAgentCoreControl
606
608
  HarnessAwsSkillPaths = Shapes::ListShape.new(name: 'HarnessAwsSkillPaths')
607
609
  HarnessBedrockApiFormat = Shapes::StringShape.new(name: 'HarnessBedrockApiFormat')
608
610
  HarnessBedrockModelConfig = Shapes::StructureShape.new(name: 'HarnessBedrockModelConfig')
611
+ HarnessBeforeInvocationHook = Shapes::StructureShape.new(name: 'HarnessBeforeInvocationHook')
612
+ HarnessBeforeToolCallHook = Shapes::StructureShape.new(name: 'HarnessBeforeToolCallHook')
609
613
  HarnessBrowserArn = Shapes::StringShape.new(name: 'HarnessBrowserArn')
610
614
  HarnessCodeInterpreterArn = Shapes::StringShape.new(name: 'HarnessCodeInterpreterArn')
611
615
  HarnessDisabledMemoryConfiguration = Shapes::StructureShape.new(name: 'HarnessDisabledMemoryConfiguration')
@@ -618,11 +622,22 @@ module Aws::BedrockAgentCoreControl
618
622
  HarnessEnvironmentArtifact = Shapes::UnionShape.new(name: 'HarnessEnvironmentArtifact')
619
623
  HarnessEnvironmentProvider = Shapes::UnionShape.new(name: 'HarnessEnvironmentProvider')
620
624
  HarnessEnvironmentProviderRequest = Shapes::UnionShape.new(name: 'HarnessEnvironmentProviderRequest')
625
+ HarnessEventBridgeBusArn = Shapes::StringShape.new(name: 'HarnessEventBridgeBusArn')
621
626
  HarnessGatewayOutboundAuth = Shapes::UnionShape.new(name: 'HarnessGatewayOutboundAuth')
622
627
  HarnessGeminiModelConfig = Shapes::StructureShape.new(name: 'HarnessGeminiModelConfig')
628
+ HarnessHook = Shapes::UnionShape.new(name: 'HarnessHook')
629
+ HarnessHookEventBridgeTarget = Shapes::StructureShape.new(name: 'HarnessHookEventBridgeTarget')
630
+ HarnessHookFailureMode = Shapes::StringShape.new(name: 'HarnessHookFailureMode')
631
+ HarnessHookLambdaTarget = Shapes::StructureShape.new(name: 'HarnessHookLambdaTarget')
632
+ HarnessHookLambdaTargetTimeoutSecondsInteger = Shapes::IntegerShape.new(name: 'HarnessHookLambdaTargetTimeoutSecondsInteger')
633
+ HarnessHookName = Shapes::StringShape.new(name: 'HarnessHookName')
634
+ HarnessHookSnsTarget = Shapes::StructureShape.new(name: 'HarnessHookSnsTarget')
635
+ HarnessHookTarget = Shapes::UnionShape.new(name: 'HarnessHookTarget')
636
+ HarnessHooks = Shapes::ListShape.new(name: 'HarnessHooks')
623
637
  HarnessId = Shapes::StringShape.new(name: 'HarnessId')
624
638
  HarnessInlineFunctionConfig = Shapes::StructureShape.new(name: 'HarnessInlineFunctionConfig')
625
639
  HarnessInlineFunctionDescription = Shapes::StringShape.new(name: 'HarnessInlineFunctionDescription')
640
+ HarnessLambdaFunctionArn = Shapes::StringShape.new(name: 'HarnessLambdaFunctionArn')
626
641
  HarnessLiteLlmApiBase = Shapes::StringShape.new(name: 'HarnessLiteLlmApiBase')
627
642
  HarnessLiteLlmModelConfig = Shapes::StructureShape.new(name: 'HarnessLiteLlmModelConfig')
628
643
  HarnessManagedMemoryConfiguration = Shapes::StructureShape.new(name: 'HarnessManagedMemoryConfiguration')
@@ -632,6 +647,7 @@ module Aws::BedrockAgentCoreControl
632
647
  HarnessMemoryConfiguration = Shapes::UnionShape.new(name: 'HarnessMemoryConfiguration')
633
648
  HarnessModelConfiguration = Shapes::UnionShape.new(name: 'HarnessModelConfiguration')
634
649
  HarnessName = Shapes::StringShape.new(name: 'HarnessName')
650
+ HarnessOpenAiApiBase = Shapes::StringShape.new(name: 'HarnessOpenAiApiBase')
635
651
  HarnessOpenAiApiFormat = Shapes::StringShape.new(name: 'HarnessOpenAiApiFormat')
636
652
  HarnessOpenAiModelConfig = Shapes::StructureShape.new(name: 'HarnessOpenAiModelConfig')
637
653
  HarnessRemoteMcpConfig = Shapes::StructureShape.new(name: 'HarnessRemoteMcpConfig')
@@ -646,6 +662,7 @@ module Aws::BedrockAgentCoreControl
646
662
  HarnessSkillS3Uri = Shapes::StringShape.new(name: 'HarnessSkillS3Uri')
647
663
  HarnessSkills = Shapes::ListShape.new(name: 'HarnessSkills')
648
664
  HarnessSlidingWindowConfiguration = Shapes::StructureShape.new(name: 'HarnessSlidingWindowConfiguration')
665
+ HarnessSnsTopicArn = Shapes::StringShape.new(name: 'HarnessSnsTopicArn')
649
666
  HarnessStatus = Shapes::StringShape.new(name: 'HarnessStatus')
650
667
  HarnessSummaries = Shapes::ListShape.new(name: 'HarnessSummaries')
651
668
  HarnessSummarizationConfiguration = Shapes::StructureShape.new(name: 'HarnessSummarizationConfiguration')
@@ -2235,6 +2252,7 @@ module Aws::BedrockAgentCoreControl
2235
2252
  CreateHarnessRequest.add_member(:allowed_tools, Shapes::ShapeRef.new(shape: HarnessAllowedTools, location_name: "allowedTools"))
2236
2253
  CreateHarnessRequest.add_member(:memory, Shapes::ShapeRef.new(shape: HarnessMemoryConfiguration, location_name: "memory"))
2237
2254
  CreateHarnessRequest.add_member(:truncation, Shapes::ShapeRef.new(shape: HarnessTruncationConfiguration, location_name: "truncation"))
2255
+ CreateHarnessRequest.add_member(:hooks, Shapes::ShapeRef.new(shape: HarnessHooks, location_name: "hooks"))
2238
2256
  CreateHarnessRequest.add_member(:max_iterations, Shapes::ShapeRef.new(shape: Integer, location_name: "maxIterations"))
2239
2257
  CreateHarnessRequest.add_member(:max_tokens, Shapes::ShapeRef.new(shape: Integer, location_name: "maxTokens"))
2240
2258
  CreateHarnessRequest.add_member(:timeout_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "timeoutSeconds"))
@@ -3753,12 +3771,21 @@ module Aws::BedrockAgentCoreControl
3753
3771
  Harness.add_member(:environment_variables, Shapes::ShapeRef.new(shape: EnvironmentVariablesMap, location_name: "environmentVariables"))
3754
3772
  Harness.add_member(:authorizer_configuration, Shapes::ShapeRef.new(shape: AuthorizerConfiguration, location_name: "authorizerConfiguration"))
3755
3773
  Harness.add_member(:memory, Shapes::ShapeRef.new(shape: HarnessMemoryConfiguration, location_name: "memory"))
3774
+ Harness.add_member(:hooks, Shapes::ShapeRef.new(shape: HarnessHooks, location_name: "hooks"))
3756
3775
  Harness.add_member(:max_iterations, Shapes::ShapeRef.new(shape: Integer, location_name: "maxIterations"))
3757
3776
  Harness.add_member(:max_tokens, Shapes::ShapeRef.new(shape: Integer, location_name: "maxTokens"))
3758
3777
  Harness.add_member(:timeout_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "timeoutSeconds"))
3759
3778
  Harness.add_member(:failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "failureReason"))
3760
3779
  Harness.struct_class = Types::Harness
3761
3780
 
3781
+ HarnessAfterInvocationHook.add_member(:name, Shapes::ShapeRef.new(shape: HarnessHookName, required: true, location_name: "name"))
3782
+ HarnessAfterInvocationHook.add_member(:target, Shapes::ShapeRef.new(shape: HarnessHookTarget, required: true, location_name: "target"))
3783
+ HarnessAfterInvocationHook.struct_class = Types::HarnessAfterInvocationHook
3784
+
3785
+ HarnessAfterToolCallHook.add_member(:name, Shapes::ShapeRef.new(shape: HarnessHookName, required: true, location_name: "name"))
3786
+ HarnessAfterToolCallHook.add_member(:target, Shapes::ShapeRef.new(shape: HarnessHookTarget, required: true, location_name: "target"))
3787
+ HarnessAfterToolCallHook.struct_class = Types::HarnessAfterToolCallHook
3788
+
3762
3789
  HarnessAgentCoreBrowserConfig.add_member(:browser_arn, Shapes::ShapeRef.new(shape: HarnessBrowserArn, location_name: "browserArn"))
3763
3790
  HarnessAgentCoreBrowserConfig.struct_class = Types::HarnessAgentCoreBrowserConfig
3764
3791
 
@@ -3808,6 +3835,14 @@ module Aws::BedrockAgentCoreControl
3808
3835
  HarnessBedrockModelConfig.add_member(:additional_params, Shapes::ShapeRef.new(shape: Document, location_name: "additionalParams"))
3809
3836
  HarnessBedrockModelConfig.struct_class = Types::HarnessBedrockModelConfig
3810
3837
 
3838
+ HarnessBeforeInvocationHook.add_member(:name, Shapes::ShapeRef.new(shape: HarnessHookName, required: true, location_name: "name"))
3839
+ HarnessBeforeInvocationHook.add_member(:target, Shapes::ShapeRef.new(shape: HarnessHookTarget, required: true, location_name: "target"))
3840
+ HarnessBeforeInvocationHook.struct_class = Types::HarnessBeforeInvocationHook
3841
+
3842
+ HarnessBeforeToolCallHook.add_member(:name, Shapes::ShapeRef.new(shape: HarnessHookName, required: true, location_name: "name"))
3843
+ HarnessBeforeToolCallHook.add_member(:target, Shapes::ShapeRef.new(shape: HarnessHookTarget, required: true, location_name: "target"))
3844
+ HarnessBeforeToolCallHook.struct_class = Types::HarnessBeforeToolCallHook
3845
+
3811
3846
  HarnessDisabledMemoryConfiguration.struct_class = Types::HarnessDisabledMemoryConfiguration
3812
3847
 
3813
3848
  HarnessEndpoint.add_member(:harness_id, Shapes::ShapeRef.new(shape: HarnessId, required: true, location_name: "harnessId"))
@@ -3862,6 +3897,41 @@ module Aws::BedrockAgentCoreControl
3862
3897
  HarnessGeminiModelConfig.add_member(:additional_params, Shapes::ShapeRef.new(shape: Document, location_name: "additionalParams"))
3863
3898
  HarnessGeminiModelConfig.struct_class = Types::HarnessGeminiModelConfig
3864
3899
 
3900
+ HarnessHook.add_member(:before_invocation, Shapes::ShapeRef.new(shape: HarnessBeforeInvocationHook, location_name: "beforeInvocation"))
3901
+ HarnessHook.add_member(:after_invocation, Shapes::ShapeRef.new(shape: HarnessAfterInvocationHook, location_name: "afterInvocation"))
3902
+ HarnessHook.add_member(:before_tool_call, Shapes::ShapeRef.new(shape: HarnessBeforeToolCallHook, location_name: "beforeToolCall"))
3903
+ HarnessHook.add_member(:after_tool_call, Shapes::ShapeRef.new(shape: HarnessAfterToolCallHook, location_name: "afterToolCall"))
3904
+ HarnessHook.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
3905
+ HarnessHook.add_member_subclass(:before_invocation, Types::HarnessHook::BeforeInvocation)
3906
+ HarnessHook.add_member_subclass(:after_invocation, Types::HarnessHook::AfterInvocation)
3907
+ HarnessHook.add_member_subclass(:before_tool_call, Types::HarnessHook::BeforeToolCall)
3908
+ HarnessHook.add_member_subclass(:after_tool_call, Types::HarnessHook::AfterToolCall)
3909
+ HarnessHook.add_member_subclass(:unknown, Types::HarnessHook::Unknown)
3910
+ HarnessHook.struct_class = Types::HarnessHook
3911
+
3912
+ HarnessHookEventBridgeTarget.add_member(:arn, Shapes::ShapeRef.new(shape: HarnessEventBridgeBusArn, required: true, location_name: "arn"))
3913
+ HarnessHookEventBridgeTarget.struct_class = Types::HarnessHookEventBridgeTarget
3914
+
3915
+ HarnessHookLambdaTarget.add_member(:arn, Shapes::ShapeRef.new(shape: HarnessLambdaFunctionArn, required: true, location_name: "arn"))
3916
+ HarnessHookLambdaTarget.add_member(:timeout_seconds, Shapes::ShapeRef.new(shape: HarnessHookLambdaTargetTimeoutSecondsInteger, location_name: "timeoutSeconds"))
3917
+ HarnessHookLambdaTarget.add_member(:failure_mode, Shapes::ShapeRef.new(shape: HarnessHookFailureMode, location_name: "failureMode"))
3918
+ HarnessHookLambdaTarget.struct_class = Types::HarnessHookLambdaTarget
3919
+
3920
+ HarnessHookSnsTarget.add_member(:arn, Shapes::ShapeRef.new(shape: HarnessSnsTopicArn, required: true, location_name: "arn"))
3921
+ HarnessHookSnsTarget.struct_class = Types::HarnessHookSnsTarget
3922
+
3923
+ HarnessHookTarget.add_member(:lambda, Shapes::ShapeRef.new(shape: HarnessHookLambdaTarget, location_name: "lambda"))
3924
+ HarnessHookTarget.add_member(:sns, Shapes::ShapeRef.new(shape: HarnessHookSnsTarget, location_name: "sns"))
3925
+ HarnessHookTarget.add_member(:event_bridge, Shapes::ShapeRef.new(shape: HarnessHookEventBridgeTarget, location_name: "eventBridge"))
3926
+ HarnessHookTarget.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
3927
+ HarnessHookTarget.add_member_subclass(:lambda, Types::HarnessHookTarget::Lambda)
3928
+ HarnessHookTarget.add_member_subclass(:sns, Types::HarnessHookTarget::Sns)
3929
+ HarnessHookTarget.add_member_subclass(:event_bridge, Types::HarnessHookTarget::EventBridge)
3930
+ HarnessHookTarget.add_member_subclass(:unknown, Types::HarnessHookTarget::Unknown)
3931
+ HarnessHookTarget.struct_class = Types::HarnessHookTarget
3932
+
3933
+ HarnessHooks.member = Shapes::ShapeRef.new(shape: HarnessHook)
3934
+
3865
3935
  HarnessInlineFunctionConfig.add_member(:description, Shapes::ShapeRef.new(shape: HarnessInlineFunctionDescription, required: true, location_name: "description"))
3866
3936
  HarnessInlineFunctionConfig.add_member(:input_schema, Shapes::ShapeRef.new(shape: SensitiveJson, required: true, location_name: "inputSchema"))
3867
3937
  HarnessInlineFunctionConfig.struct_class = Types::HarnessInlineFunctionConfig
@@ -3907,6 +3977,7 @@ module Aws::BedrockAgentCoreControl
3907
3977
 
3908
3978
  HarnessOpenAiModelConfig.add_member(:model_id, Shapes::ShapeRef.new(shape: ModelId, required: true, location_name: "modelId"))
3909
3979
  HarnessOpenAiModelConfig.add_member(:api_key_arn, Shapes::ShapeRef.new(shape: ApiKeyArn, required: true, location_name: "apiKeyArn"))
3980
+ HarnessOpenAiModelConfig.add_member(:api_base, Shapes::ShapeRef.new(shape: HarnessOpenAiApiBase, location_name: "apiBase"))
3910
3981
  HarnessOpenAiModelConfig.add_member(:max_tokens, Shapes::ShapeRef.new(shape: MaxTokens, location_name: "maxTokens"))
3911
3982
  HarnessOpenAiModelConfig.add_member(:temperature, Shapes::ShapeRef.new(shape: Temperature, location_name: "temperature"))
3912
3983
  HarnessOpenAiModelConfig.add_member(:top_p, Shapes::ShapeRef.new(shape: TopP, location_name: "topP"))
@@ -6029,6 +6100,7 @@ module Aws::BedrockAgentCoreControl
6029
6100
  UpdateHarnessRequest.add_member(:allowed_tools, Shapes::ShapeRef.new(shape: HarnessAllowedTools, location_name: "allowedTools"))
6030
6101
  UpdateHarnessRequest.add_member(:memory, Shapes::ShapeRef.new(shape: UpdatedHarnessMemoryConfiguration, location_name: "memory"))
6031
6102
  UpdateHarnessRequest.add_member(:truncation, Shapes::ShapeRef.new(shape: HarnessTruncationConfiguration, location_name: "truncation"))
6103
+ UpdateHarnessRequest.add_member(:hooks, Shapes::ShapeRef.new(shape: HarnessHooks, location_name: "hooks"))
6032
6104
  UpdateHarnessRequest.add_member(:max_iterations, Shapes::ShapeRef.new(shape: Integer, location_name: "maxIterations"))
6033
6105
  UpdateHarnessRequest.add_member(:max_tokens, Shapes::ShapeRef.new(shape: Integer, location_name: "maxTokens"))
6034
6106
  UpdateHarnessRequest.add_member(:timeout_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "timeoutSeconds"))
@@ -8828,6 +8900,7 @@ module Aws::BedrockAgentCoreControl
8828
8900
  o.http_request_uri = "/harnesses/{harnessId}"
8829
8901
  o.input = Shapes::ShapeRef.new(shape: UpdateHarnessRequest)
8830
8902
  o.output = Shapes::ShapeRef.new(shape: UpdateHarnessResponse)
8903
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
8831
8904
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8832
8905
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
8833
8906
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -3949,6 +3949,10 @@ module Aws::BedrockAgentCoreControl
3949
3949
  # it exceeds model limits.
3950
3950
  # @return [Types::HarnessTruncationConfiguration]
3951
3951
  #
3952
+ # @!attribute [rw] hooks
3953
+ # The lifecycle hooks to run at defined points in the agent loop.
3954
+ # @return [Array<Types::HarnessHook>]
3955
+ #
3952
3956
  # @!attribute [rw] max_iterations
3953
3957
  # The maximum number of iterations the agent loop can execute per
3954
3958
  # invocation.
@@ -3985,6 +3989,7 @@ module Aws::BedrockAgentCoreControl
3985
3989
  :allowed_tools,
3986
3990
  :memory,
3987
3991
  :truncation,
3992
+ :hooks,
3988
3993
  :max_iterations,
3989
3994
  :max_tokens,
3990
3995
  :timeout_seconds,
@@ -11403,6 +11408,10 @@ module Aws::BedrockAgentCoreControl
11403
11408
  # memory.
11404
11409
  # @return [Types::HarnessMemoryConfiguration]
11405
11410
  #
11411
+ # @!attribute [rw] hooks
11412
+ # The lifecycle hooks configured for the harness.
11413
+ # @return [Array<Types::HarnessHook>]
11414
+ #
11406
11415
  # @!attribute [rw] max_iterations
11407
11416
  # The maximum number of iterations in the agent loop allowed before
11408
11417
  # exiting per invocation.
@@ -11443,6 +11452,7 @@ module Aws::BedrockAgentCoreControl
11443
11452
  :environment_variables,
11444
11453
  :authorizer_configuration,
11445
11454
  :memory,
11455
+ :hooks,
11446
11456
  :max_iterations,
11447
11457
  :max_tokens,
11448
11458
  :timeout_seconds,
@@ -11451,6 +11461,44 @@ module Aws::BedrockAgentCoreControl
11451
11461
  include Aws::Structure
11452
11462
  end
11453
11463
 
11464
+ # The configuration for a hook that runs after an invocation completes.
11465
+ #
11466
+ # @!attribute [rw] name
11467
+ # The name of the hook.
11468
+ # @return [String]
11469
+ #
11470
+ # @!attribute [rw] target
11471
+ # The target that receives the hook event.
11472
+ # @return [Types::HarnessHookTarget]
11473
+ #
11474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessAfterInvocationHook AWS API Documentation
11475
+ #
11476
+ class HarnessAfterInvocationHook < Struct.new(
11477
+ :name,
11478
+ :target)
11479
+ SENSITIVE = []
11480
+ include Aws::Structure
11481
+ end
11482
+
11483
+ # The configuration for a hook that runs after a tool call completes.
11484
+ #
11485
+ # @!attribute [rw] name
11486
+ # The name of the hook.
11487
+ # @return [String]
11488
+ #
11489
+ # @!attribute [rw] target
11490
+ # The target that receives the hook event.
11491
+ # @return [Types::HarnessHookTarget]
11492
+ #
11493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessAfterToolCallHook AWS API Documentation
11494
+ #
11495
+ class HarnessAfterToolCallHook < Struct.new(
11496
+ :name,
11497
+ :target)
11498
+ SENSITIVE = []
11499
+ include Aws::Structure
11500
+ end
11501
+
11454
11502
  # Configuration for AgentCore Browser.
11455
11503
  #
11456
11504
  # @!attribute [rw] browser_arn
@@ -11665,6 +11713,44 @@ module Aws::BedrockAgentCoreControl
11665
11713
  include Aws::Structure
11666
11714
  end
11667
11715
 
11716
+ # The configuration for a hook that runs before an invocation begins.
11717
+ #
11718
+ # @!attribute [rw] name
11719
+ # The name of the hook.
11720
+ # @return [String]
11721
+ #
11722
+ # @!attribute [rw] target
11723
+ # The target that receives the hook event.
11724
+ # @return [Types::HarnessHookTarget]
11725
+ #
11726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessBeforeInvocationHook AWS API Documentation
11727
+ #
11728
+ class HarnessBeforeInvocationHook < Struct.new(
11729
+ :name,
11730
+ :target)
11731
+ SENSITIVE = []
11732
+ include Aws::Structure
11733
+ end
11734
+
11735
+ # The configuration for a hook that runs before the agent calls a tool.
11736
+ #
11737
+ # @!attribute [rw] name
11738
+ # The name of the hook.
11739
+ # @return [String]
11740
+ #
11741
+ # @!attribute [rw] target
11742
+ # The target that receives the hook event.
11743
+ # @return [Types::HarnessHookTarget]
11744
+ #
11745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessBeforeToolCallHook AWS API Documentation
11746
+ #
11747
+ class HarnessBeforeToolCallHook < Struct.new(
11748
+ :name,
11749
+ :target)
11750
+ SENSITIVE = []
11751
+ include Aws::Structure
11752
+ end
11753
+
11668
11754
  # Explicitly opt out of memory.
11669
11755
  #
11670
11756
  # @api private
@@ -11890,6 +11976,140 @@ module Aws::BedrockAgentCoreControl
11890
11976
  include Aws::Structure
11891
11977
  end
11892
11978
 
11979
+ # A lifecycle hook configuration. Specify one hook type.
11980
+ #
11981
+ # @note HarnessHook is a union - when making an API calls you must set exactly one of the members.
11982
+ #
11983
+ # @note HarnessHook is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of HarnessHook corresponding to the set member.
11984
+ #
11985
+ # @!attribute [rw] before_invocation
11986
+ # A hook that runs before an invocation begins.
11987
+ # @return [Types::HarnessBeforeInvocationHook]
11988
+ #
11989
+ # @!attribute [rw] after_invocation
11990
+ # A hook that runs after an invocation completes.
11991
+ # @return [Types::HarnessAfterInvocationHook]
11992
+ #
11993
+ # @!attribute [rw] before_tool_call
11994
+ # A hook that runs before the agent calls a tool.
11995
+ # @return [Types::HarnessBeforeToolCallHook]
11996
+ #
11997
+ # @!attribute [rw] after_tool_call
11998
+ # A hook that runs after a tool call completes.
11999
+ # @return [Types::HarnessAfterToolCallHook]
12000
+ #
12001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessHook AWS API Documentation
12002
+ #
12003
+ class HarnessHook < Struct.new(
12004
+ :before_invocation,
12005
+ :after_invocation,
12006
+ :before_tool_call,
12007
+ :after_tool_call,
12008
+ :unknown)
12009
+ SENSITIVE = []
12010
+ include Aws::Structure
12011
+ include Aws::Structure::Union
12012
+
12013
+ class BeforeInvocation < HarnessHook; end
12014
+ class AfterInvocation < HarnessHook; end
12015
+ class BeforeToolCall < HarnessHook; end
12016
+ class AfterToolCall < HarnessHook; end
12017
+ class Unknown < HarnessHook; end
12018
+ end
12019
+
12020
+ # The configuration for an Amazon EventBridge hook target.
12021
+ #
12022
+ # @!attribute [rw] arn
12023
+ # The ARN of the Amazon EventBridge event bus to send hook events to.
12024
+ # @return [String]
12025
+ #
12026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessHookEventBridgeTarget AWS API Documentation
12027
+ #
12028
+ class HarnessHookEventBridgeTarget < Struct.new(
12029
+ :arn)
12030
+ SENSITIVE = []
12031
+ include Aws::Structure
12032
+ end
12033
+
12034
+ # The configuration for an AWS Lambda hook target.
12035
+ #
12036
+ # @!attribute [rw] arn
12037
+ # The ARN of the Lambda function to invoke.
12038
+ # @return [String]
12039
+ #
12040
+ # @!attribute [rw] timeout_seconds
12041
+ # The maximum number of seconds to wait for the Lambda function
12042
+ # response. The default is 60 seconds.
12043
+ # @return [Integer]
12044
+ #
12045
+ # @!attribute [rw] failure_mode
12046
+ # The behavior when the Lambda function times out, returns an error,
12047
+ # or returns an invalid response. The default is `DENY`.
12048
+ # @return [String]
12049
+ #
12050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessHookLambdaTarget AWS API Documentation
12051
+ #
12052
+ class HarnessHookLambdaTarget < Struct.new(
12053
+ :arn,
12054
+ :timeout_seconds,
12055
+ :failure_mode)
12056
+ SENSITIVE = []
12057
+ include Aws::Structure
12058
+ end
12059
+
12060
+ # The configuration for an Amazon SNS hook target.
12061
+ #
12062
+ # @!attribute [rw] arn
12063
+ # The ARN of the Amazon SNS topic to publish hook events to.
12064
+ # @return [String]
12065
+ #
12066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessHookSnsTarget AWS API Documentation
12067
+ #
12068
+ class HarnessHookSnsTarget < Struct.new(
12069
+ :arn)
12070
+ SENSITIVE = []
12071
+ include Aws::Structure
12072
+ end
12073
+
12074
+ # The target that receives lifecycle hook events. Specify one target
12075
+ # type.
12076
+ #
12077
+ # @note HarnessHookTarget is a union - when making an API calls you must set exactly one of the members.
12078
+ #
12079
+ # @note HarnessHookTarget is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of HarnessHookTarget corresponding to the set member.
12080
+ #
12081
+ # @!attribute [rw] lambda
12082
+ # A Lambda hook target that invokes an AWS Lambda function
12083
+ # synchronously and waits for its response.
12084
+ # @return [Types::HarnessHookLambdaTarget]
12085
+ #
12086
+ # @!attribute [rw] sns
12087
+ # An Amazon SNS hook target that publishes the hook event without
12088
+ # waiting for a response.
12089
+ # @return [Types::HarnessHookSnsTarget]
12090
+ #
12091
+ # @!attribute [rw] event_bridge
12092
+ # An Amazon EventBridge hook target that sends the hook event without
12093
+ # waiting for a response.
12094
+ # @return [Types::HarnessHookEventBridgeTarget]
12095
+ #
12096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/HarnessHookTarget AWS API Documentation
12097
+ #
12098
+ class HarnessHookTarget < Struct.new(
12099
+ :lambda,
12100
+ :sns,
12101
+ :event_bridge,
12102
+ :unknown)
12103
+ SENSITIVE = []
12104
+ include Aws::Structure
12105
+ include Aws::Structure::Union
12106
+
12107
+ class Lambda < HarnessHookTarget; end
12108
+ class Sns < HarnessHookTarget; end
12109
+ class EventBridge < HarnessHookTarget; end
12110
+ class Unknown < HarnessHookTarget; end
12111
+ end
12112
+
11893
12113
  # Configuration for an inline function tool. When the agent calls this
11894
12114
  # tool, the tool call is returned to the caller for external execution.
11895
12115
  #
@@ -12078,6 +12298,10 @@ module Aws::BedrockAgentCoreControl
12078
12298
  # The ARN of your OpenAI API key on AgentCore Identity.
12079
12299
  # @return [String]
12080
12300
  #
12301
+ # @!attribute [rw] api_base
12302
+ # Optional custom endpoint URL for an OpenAI-compatible endpoint.
12303
+ # @return [String]
12304
+ #
12081
12305
  # @!attribute [rw] max_tokens
12082
12306
  # The maximum number of tokens to allow in the generated response per
12083
12307
  # model call.
@@ -12105,12 +12329,13 @@ module Aws::BedrockAgentCoreControl
12105
12329
  class HarnessOpenAiModelConfig < Struct.new(
12106
12330
  :model_id,
12107
12331
  :api_key_arn,
12332
+ :api_base,
12108
12333
  :max_tokens,
12109
12334
  :temperature,
12110
12335
  :top_p,
12111
12336
  :api_format,
12112
12337
  :additional_params)
12113
- SENSITIVE = []
12338
+ SENSITIVE = [:api_base]
12114
12339
  include Aws::Structure
12115
12340
  end
12116
12341
 
@@ -21892,6 +22117,12 @@ module Aws::BedrockAgentCoreControl
21892
22117
  # not specified, the existing value is retained.
21893
22118
  # @return [Types::HarnessTruncationConfiguration]
21894
22119
  #
22120
+ # @!attribute [rw] hooks
22121
+ # The lifecycle hooks to run at defined points in the agent loop. If
22122
+ # specified, this replaces all existing hooks. If not specified, the
22123
+ # existing hooks are retained.
22124
+ # @return [Array<Types::HarnessHook>]
22125
+ #
21895
22126
  # @!attribute [rw] max_iterations
21896
22127
  # The maximum number of iterations the agent loop can execute per
21897
22128
  # invocation. If not specified, the existing value is retained.
@@ -21925,6 +22156,7 @@ module Aws::BedrockAgentCoreControl
21925
22156
  :allowed_tools,
21926
22157
  :memory,
21927
22158
  :truncation,
22159
+ :hooks,
21928
22160
  :max_iterations,
21929
22161
  :max_tokens,
21930
22162
  :timeout_seconds)
@@ -55,7 +55,7 @@ module Aws::BedrockAgentCoreControl
55
55
  autoload :EndpointProvider, 'aws-sdk-bedrockagentcorecontrol/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-bedrockagentcorecontrol/endpoints'
57
57
 
58
- GEM_VERSION = '1.72.0'
58
+ GEM_VERSION = '1.74.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -123,7 +123,7 @@ module Aws
123
123
  def agent_runtime_id: () -> ::String
124
124
  def agent_runtime_version: () -> ::String
125
125
  def created_at: () -> ::Time
126
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
126
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
127
127
  end
128
128
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockAgentCoreControl/Client.html#create_agent_runtime-instance_method
129
129
  def create_agent_runtime: (
@@ -163,7 +163,7 @@ module Aws
163
163
  def agent_runtime_arn: () -> ::String
164
164
  def agent_runtime_id: () -> ::String
165
165
  def endpoint_name: () -> ::String
166
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
166
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
167
167
  def created_at: () -> ::Time
168
168
  end
169
169
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockAgentCoreControl/Client.html#create_agent_runtime_endpoint-instance_method
@@ -689,6 +689,9 @@ module Aws
689
689
  ?allowed_tools: Array[::String],
690
690
  ?memory: Params::harness_memory_configuration,
691
691
  ?truncation: Params::harness_truncation_configuration,
692
+ ?hooks: Array[
693
+ Params::harness_hook
694
+ ],
692
695
  ?max_iterations: ::Integer,
693
696
  ?max_tokens: ::Integer,
694
697
  ?timeout_seconds: ::Integer,
@@ -1012,7 +1015,7 @@ module Aws
1012
1015
 
1013
1016
  interface _DeleteAgentRuntimeResponseSuccess
1014
1017
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteAgentRuntimeResponse]
1015
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
1018
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
1016
1019
  def agent_runtime_id: () -> ::String
1017
1020
  def agent_runtime_version: () -> ::String
1018
1021
  end
@@ -1026,7 +1029,7 @@ module Aws
1026
1029
 
1027
1030
  interface _DeleteAgentRuntimeEndpointResponseSuccess
1028
1031
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteAgentRuntimeEndpointResponse]
1029
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
1032
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
1030
1033
  def agent_runtime_id: () -> ::String
1031
1034
  def endpoint_name: () -> ::String
1032
1035
  end
@@ -1391,7 +1394,7 @@ module Aws
1391
1394
  def last_updated_at: () -> ::Time
1392
1395
  def role_arn: () -> ::String
1393
1396
  def network_configuration: () -> Types::NetworkConfiguration
1394
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
1397
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
1395
1398
  def lifecycle_configuration: () -> Types::LifecycleConfiguration
1396
1399
  def failure_reason: () -> ::String
1397
1400
  def description: () -> ::String
@@ -1420,7 +1423,7 @@ module Aws
1420
1423
  def agent_runtime_endpoint_arn: () -> ::String
1421
1424
  def agent_runtime_arn: () -> ::String
1422
1425
  def description: () -> ::String
1423
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
1426
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
1424
1427
  def created_at: () -> ::Time
1425
1428
  def last_updated_at: () -> ::Time
1426
1429
  def failure_reason: () -> ::String
@@ -2691,7 +2694,7 @@ module Aws
2691
2694
  def agent_runtime_version: () -> ::String
2692
2695
  def created_at: () -> ::Time
2693
2696
  def last_updated_at: () -> ::Time
2694
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
2697
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
2695
2698
  end
2696
2699
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockAgentCoreControl/Client.html#update_agent_runtime-instance_method
2697
2700
  def update_agent_runtime: (
@@ -2732,7 +2735,7 @@ module Aws
2732
2735
  def target_version: () -> ::String
2733
2736
  def agent_runtime_endpoint_arn: () -> ::String
2734
2737
  def agent_runtime_arn: () -> ::String
2735
- def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING")
2738
+ def status: () -> ("CREATING" | "CREATE_FAILED" | "UPDATING" | "UPDATE_FAILED" | "READY" | "DELETING" | "DELETE_FAILED")
2736
2739
  def created_at: () -> ::Time
2737
2740
  def last_updated_at: () -> ::Time
2738
2741
  end
@@ -3073,6 +3076,9 @@ module Aws
3073
3076
  optional_value: Params::harness_memory_configuration?
3074
3077
  },
3075
3078
  ?truncation: Params::harness_truncation_configuration,
3079
+ ?hooks: Array[
3080
+ Params::harness_hook
3081
+ ],
3076
3082
  ?max_iterations: ::Integer,
3077
3083
  ?max_tokens: ::Integer,
3078
3084
  ?timeout_seconds: ::Integer
data/sig/params.rbs CHANGED
@@ -583,6 +583,7 @@ module Aws
583
583
  type harness_open_ai_model_config = {
584
584
  model_id: ::String,
585
585
  api_key_arn: ::String,
586
+ api_base: ::String?,
586
587
  max_tokens: ::Integer?,
587
588
  temperature: ::Float?,
588
589
  top_p: ::Float?,
@@ -723,6 +724,47 @@ module Aws
723
724
  config: Params::harness_truncation_strategy_configuration?
724
725
  }
725
726
 
727
+ type harness_hook_target = {
728
+ lambda: {
729
+ arn: ::String,
730
+ timeout_seconds: ::Integer?,
731
+ failure_mode: ("allow" | "deny")?
732
+ }?,
733
+ sns: {
734
+ arn: ::String
735
+ }?,
736
+ event_bridge: {
737
+ arn: ::String
738
+ }?
739
+ }
740
+
741
+ type harness_before_invocation_hook = {
742
+ name: ::String,
743
+ target: Params::harness_hook_target
744
+ }
745
+
746
+ type harness_after_invocation_hook = {
747
+ name: ::String,
748
+ target: Params::harness_hook_target
749
+ }
750
+
751
+ type harness_before_tool_call_hook = {
752
+ name: ::String,
753
+ target: Params::harness_hook_target
754
+ }
755
+
756
+ type harness_after_tool_call_hook = {
757
+ name: ::String,
758
+ target: Params::harness_hook_target
759
+ }
760
+
761
+ type harness_hook = {
762
+ before_invocation: Params::harness_before_invocation_hook?,
763
+ after_invocation: Params::harness_after_invocation_hook?,
764
+ before_tool_call: Params::harness_before_tool_call_hook?,
765
+ after_tool_call: Params::harness_after_tool_call_hook?
766
+ }
767
+
726
768
  type memory_record_schema = {
727
769
  metadata_schema: Array[
728
770
  Params::metadata_schema_entry