aws-sdk-bedrockagentcorecontrol 1.73.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db01c7212f5330917750603bb9ff5cbfc968c490cdffd349a92ee30569c7f9e0
4
- data.tar.gz: 6cc8b895d7de59ac4a7483018fc208a1e5ae2f43841d55033d5366df4b6bda5c
3
+ metadata.gz: 336ecc063d468e75eec7ce771e859a029a9d8b9f0d3ebaf48f5ba3285c0f6ff9
4
+ data.tar.gz: 4411862594f36960c7a9b1272d706ed7467a91778a5d4fe01bc8676e1e15157b
5
5
  SHA512:
6
- metadata.gz: 4795714f16fae2c9beca7a0864a8736f354e338ab178970c0bcbcbc0e6e9241cbb672df8babe0ed70e2dc80d77bc762642f99e3e5d6e1be89c4b6be9df7530ed
7
- data.tar.gz: e8d487cf014a1866539568c1641d244b00fe447ef33d8338da75d6609dd467624dc5fc115b75c84bd19ded4c1f4cffb3fb5d4aa6154db4d51d97da09dfcdcd97
6
+ metadata.gz: 06b56331b1822f2623bbde72938261bbc7682bb1c666f10a952bc28cb619f836270fffdc3bd27730a9dece2f5a1dc1c0acbb44d0bb005f9d730590cae57e0129
7
+ data.tar.gz: 2c0a5bd2aeb47665494f395be8357469565dce09ace136f8031fe8b7c3ba814506053ab2b7cce11dc6d62736147404ac90095d3df38d97e8df13e6adf078faf2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.74.0 (2026-09-21)
5
+ ------------------
6
+
7
+ * Feature - Amazon Bedrock AgentCore Harness now supports lifecycle hooks for invocations and tool calls, with Lambda, SNS, and EventBridge targets. This release also adds apiBase for custom OpenAI-compatible endpoints
8
+
4
9
  1.73.0 (2026-09-16)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.73.0
1
+ 1.74.0
@@ -3073,6 +3073,9 @@ module Aws::BedrockAgentCoreControl
3073
3073
  # The truncation configuration for managing conversation context when it
3074
3074
  # exceeds model limits.
3075
3075
  #
3076
+ # @option params [Array<Types::HarnessHook>] :hooks
3077
+ # The lifecycle hooks to run at defined points in the agent loop.
3078
+ #
3076
3079
  # @option params [Integer] :max_iterations
3077
3080
  # The maximum number of iterations the agent loop can execute per
3078
3081
  # invocation.
@@ -3221,6 +3224,7 @@ module Aws::BedrockAgentCoreControl
3221
3224
  # open_ai_model_config: {
3222
3225
  # model_id: "ModelId", # required
3223
3226
  # api_key_arn: "ApiKeyArn", # required
3227
+ # api_base: "HarnessOpenAiApiBase",
3224
3228
  # max_tokens: 1,
3225
3229
  # temperature: 1.0,
3226
3230
  # top_p: 1.0,
@@ -3352,6 +3356,74 @@ module Aws::BedrockAgentCoreControl
3352
3356
  # },
3353
3357
  # },
3354
3358
  # },
3359
+ # hooks: [
3360
+ # {
3361
+ # before_invocation: {
3362
+ # name: "HarnessHookName", # required
3363
+ # target: { # required
3364
+ # lambda: {
3365
+ # arn: "HarnessLambdaFunctionArn", # required
3366
+ # timeout_seconds: 1,
3367
+ # failure_mode: "allow", # accepts allow, deny
3368
+ # },
3369
+ # sns: {
3370
+ # arn: "HarnessSnsTopicArn", # required
3371
+ # },
3372
+ # event_bridge: {
3373
+ # arn: "HarnessEventBridgeBusArn", # required
3374
+ # },
3375
+ # },
3376
+ # },
3377
+ # after_invocation: {
3378
+ # name: "HarnessHookName", # required
3379
+ # target: { # required
3380
+ # lambda: {
3381
+ # arn: "HarnessLambdaFunctionArn", # required
3382
+ # timeout_seconds: 1,
3383
+ # failure_mode: "allow", # accepts allow, deny
3384
+ # },
3385
+ # sns: {
3386
+ # arn: "HarnessSnsTopicArn", # required
3387
+ # },
3388
+ # event_bridge: {
3389
+ # arn: "HarnessEventBridgeBusArn", # required
3390
+ # },
3391
+ # },
3392
+ # },
3393
+ # before_tool_call: {
3394
+ # name: "HarnessHookName", # required
3395
+ # target: { # required
3396
+ # lambda: {
3397
+ # arn: "HarnessLambdaFunctionArn", # required
3398
+ # timeout_seconds: 1,
3399
+ # failure_mode: "allow", # accepts allow, deny
3400
+ # },
3401
+ # sns: {
3402
+ # arn: "HarnessSnsTopicArn", # required
3403
+ # },
3404
+ # event_bridge: {
3405
+ # arn: "HarnessEventBridgeBusArn", # required
3406
+ # },
3407
+ # },
3408
+ # },
3409
+ # after_tool_call: {
3410
+ # name: "HarnessHookName", # required
3411
+ # target: { # required
3412
+ # lambda: {
3413
+ # arn: "HarnessLambdaFunctionArn", # required
3414
+ # timeout_seconds: 1,
3415
+ # failure_mode: "allow", # accepts allow, deny
3416
+ # },
3417
+ # sns: {
3418
+ # arn: "HarnessSnsTopicArn", # required
3419
+ # },
3420
+ # event_bridge: {
3421
+ # arn: "HarnessEventBridgeBusArn", # required
3422
+ # },
3423
+ # },
3424
+ # },
3425
+ # },
3426
+ # ],
3355
3427
  # max_iterations: 1,
3356
3428
  # max_tokens: 1,
3357
3429
  # timeout_seconds: 1,
@@ -3377,6 +3449,7 @@ module Aws::BedrockAgentCoreControl
3377
3449
  # resp.harness.model.bedrock_model_config.api_format #=> String, one of "converse_stream", "responses", "chat_completions"
3378
3450
  # resp.harness.model.open_ai_model_config.model_id #=> String
3379
3451
  # resp.harness.model.open_ai_model_config.api_key_arn #=> String
3452
+ # resp.harness.model.open_ai_model_config.api_base #=> String
3380
3453
  # resp.harness.model.open_ai_model_config.max_tokens #=> Integer
3381
3454
  # resp.harness.model.open_ai_model_config.temperature #=> Float
3382
3455
  # resp.harness.model.open_ai_model_config.top_p #=> Float
@@ -3504,6 +3577,31 @@ module Aws::BedrockAgentCoreControl
3504
3577
  # resp.harness.memory.managed_memory_configuration.strategies[0] #=> String, one of "SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"
3505
3578
  # resp.harness.memory.managed_memory_configuration.event_expiry_duration #=> Integer
3506
3579
  # resp.harness.memory.managed_memory_configuration.encryption_key_arn #=> String
3580
+ # resp.harness.hooks #=> Array
3581
+ # resp.harness.hooks[0].before_invocation.name #=> String
3582
+ # resp.harness.hooks[0].before_invocation.target.lambda.arn #=> String
3583
+ # resp.harness.hooks[0].before_invocation.target.lambda.timeout_seconds #=> Integer
3584
+ # resp.harness.hooks[0].before_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
3585
+ # resp.harness.hooks[0].before_invocation.target.sns.arn #=> String
3586
+ # resp.harness.hooks[0].before_invocation.target.event_bridge.arn #=> String
3587
+ # resp.harness.hooks[0].after_invocation.name #=> String
3588
+ # resp.harness.hooks[0].after_invocation.target.lambda.arn #=> String
3589
+ # resp.harness.hooks[0].after_invocation.target.lambda.timeout_seconds #=> Integer
3590
+ # resp.harness.hooks[0].after_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
3591
+ # resp.harness.hooks[0].after_invocation.target.sns.arn #=> String
3592
+ # resp.harness.hooks[0].after_invocation.target.event_bridge.arn #=> String
3593
+ # resp.harness.hooks[0].before_tool_call.name #=> String
3594
+ # resp.harness.hooks[0].before_tool_call.target.lambda.arn #=> String
3595
+ # resp.harness.hooks[0].before_tool_call.target.lambda.timeout_seconds #=> Integer
3596
+ # resp.harness.hooks[0].before_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
3597
+ # resp.harness.hooks[0].before_tool_call.target.sns.arn #=> String
3598
+ # resp.harness.hooks[0].before_tool_call.target.event_bridge.arn #=> String
3599
+ # resp.harness.hooks[0].after_tool_call.name #=> String
3600
+ # resp.harness.hooks[0].after_tool_call.target.lambda.arn #=> String
3601
+ # resp.harness.hooks[0].after_tool_call.target.lambda.timeout_seconds #=> Integer
3602
+ # resp.harness.hooks[0].after_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
3603
+ # resp.harness.hooks[0].after_tool_call.target.sns.arn #=> String
3604
+ # resp.harness.hooks[0].after_tool_call.target.event_bridge.arn #=> String
3507
3605
  # resp.harness.max_iterations #=> Integer
3508
3606
  # resp.harness.max_tokens #=> Integer
3509
3607
  # resp.harness.timeout_seconds #=> Integer
@@ -6238,6 +6336,7 @@ module Aws::BedrockAgentCoreControl
6238
6336
  # resp.harness.model.bedrock_model_config.api_format #=> String, one of "converse_stream", "responses", "chat_completions"
6239
6337
  # resp.harness.model.open_ai_model_config.model_id #=> String
6240
6338
  # resp.harness.model.open_ai_model_config.api_key_arn #=> String
6339
+ # resp.harness.model.open_ai_model_config.api_base #=> String
6241
6340
  # resp.harness.model.open_ai_model_config.max_tokens #=> Integer
6242
6341
  # resp.harness.model.open_ai_model_config.temperature #=> Float
6243
6342
  # resp.harness.model.open_ai_model_config.top_p #=> Float
@@ -6365,6 +6464,31 @@ module Aws::BedrockAgentCoreControl
6365
6464
  # resp.harness.memory.managed_memory_configuration.strategies[0] #=> String, one of "SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"
6366
6465
  # resp.harness.memory.managed_memory_configuration.event_expiry_duration #=> Integer
6367
6466
  # resp.harness.memory.managed_memory_configuration.encryption_key_arn #=> String
6467
+ # resp.harness.hooks #=> Array
6468
+ # resp.harness.hooks[0].before_invocation.name #=> String
6469
+ # resp.harness.hooks[0].before_invocation.target.lambda.arn #=> String
6470
+ # resp.harness.hooks[0].before_invocation.target.lambda.timeout_seconds #=> Integer
6471
+ # resp.harness.hooks[0].before_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
6472
+ # resp.harness.hooks[0].before_invocation.target.sns.arn #=> String
6473
+ # resp.harness.hooks[0].before_invocation.target.event_bridge.arn #=> String
6474
+ # resp.harness.hooks[0].after_invocation.name #=> String
6475
+ # resp.harness.hooks[0].after_invocation.target.lambda.arn #=> String
6476
+ # resp.harness.hooks[0].after_invocation.target.lambda.timeout_seconds #=> Integer
6477
+ # resp.harness.hooks[0].after_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
6478
+ # resp.harness.hooks[0].after_invocation.target.sns.arn #=> String
6479
+ # resp.harness.hooks[0].after_invocation.target.event_bridge.arn #=> String
6480
+ # resp.harness.hooks[0].before_tool_call.name #=> String
6481
+ # resp.harness.hooks[0].before_tool_call.target.lambda.arn #=> String
6482
+ # resp.harness.hooks[0].before_tool_call.target.lambda.timeout_seconds #=> Integer
6483
+ # resp.harness.hooks[0].before_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
6484
+ # resp.harness.hooks[0].before_tool_call.target.sns.arn #=> String
6485
+ # resp.harness.hooks[0].before_tool_call.target.event_bridge.arn #=> String
6486
+ # resp.harness.hooks[0].after_tool_call.name #=> String
6487
+ # resp.harness.hooks[0].after_tool_call.target.lambda.arn #=> String
6488
+ # resp.harness.hooks[0].after_tool_call.target.lambda.timeout_seconds #=> Integer
6489
+ # resp.harness.hooks[0].after_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
6490
+ # resp.harness.hooks[0].after_tool_call.target.sns.arn #=> String
6491
+ # resp.harness.hooks[0].after_tool_call.target.event_bridge.arn #=> String
6368
6492
  # resp.harness.max_iterations #=> Integer
6369
6493
  # resp.harness.max_tokens #=> Integer
6370
6494
  # resp.harness.timeout_seconds #=> Integer
@@ -8177,6 +8301,7 @@ module Aws::BedrockAgentCoreControl
8177
8301
  # resp.harness.model.bedrock_model_config.api_format #=> String, one of "converse_stream", "responses", "chat_completions"
8178
8302
  # resp.harness.model.open_ai_model_config.model_id #=> String
8179
8303
  # resp.harness.model.open_ai_model_config.api_key_arn #=> String
8304
+ # resp.harness.model.open_ai_model_config.api_base #=> String
8180
8305
  # resp.harness.model.open_ai_model_config.max_tokens #=> Integer
8181
8306
  # resp.harness.model.open_ai_model_config.temperature #=> Float
8182
8307
  # resp.harness.model.open_ai_model_config.top_p #=> Float
@@ -8304,6 +8429,31 @@ module Aws::BedrockAgentCoreControl
8304
8429
  # resp.harness.memory.managed_memory_configuration.strategies[0] #=> String, one of "SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"
8305
8430
  # resp.harness.memory.managed_memory_configuration.event_expiry_duration #=> Integer
8306
8431
  # resp.harness.memory.managed_memory_configuration.encryption_key_arn #=> String
8432
+ # resp.harness.hooks #=> Array
8433
+ # resp.harness.hooks[0].before_invocation.name #=> String
8434
+ # resp.harness.hooks[0].before_invocation.target.lambda.arn #=> String
8435
+ # resp.harness.hooks[0].before_invocation.target.lambda.timeout_seconds #=> Integer
8436
+ # resp.harness.hooks[0].before_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
8437
+ # resp.harness.hooks[0].before_invocation.target.sns.arn #=> String
8438
+ # resp.harness.hooks[0].before_invocation.target.event_bridge.arn #=> String
8439
+ # resp.harness.hooks[0].after_invocation.name #=> String
8440
+ # resp.harness.hooks[0].after_invocation.target.lambda.arn #=> String
8441
+ # resp.harness.hooks[0].after_invocation.target.lambda.timeout_seconds #=> Integer
8442
+ # resp.harness.hooks[0].after_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
8443
+ # resp.harness.hooks[0].after_invocation.target.sns.arn #=> String
8444
+ # resp.harness.hooks[0].after_invocation.target.event_bridge.arn #=> String
8445
+ # resp.harness.hooks[0].before_tool_call.name #=> String
8446
+ # resp.harness.hooks[0].before_tool_call.target.lambda.arn #=> String
8447
+ # resp.harness.hooks[0].before_tool_call.target.lambda.timeout_seconds #=> Integer
8448
+ # resp.harness.hooks[0].before_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
8449
+ # resp.harness.hooks[0].before_tool_call.target.sns.arn #=> String
8450
+ # resp.harness.hooks[0].before_tool_call.target.event_bridge.arn #=> String
8451
+ # resp.harness.hooks[0].after_tool_call.name #=> String
8452
+ # resp.harness.hooks[0].after_tool_call.target.lambda.arn #=> String
8453
+ # resp.harness.hooks[0].after_tool_call.target.lambda.timeout_seconds #=> Integer
8454
+ # resp.harness.hooks[0].after_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
8455
+ # resp.harness.hooks[0].after_tool_call.target.sns.arn #=> String
8456
+ # resp.harness.hooks[0].after_tool_call.target.event_bridge.arn #=> String
8307
8457
  # resp.harness.max_iterations #=> Integer
8308
8458
  # resp.harness.max_tokens #=> Integer
8309
8459
  # resp.harness.timeout_seconds #=> Integer
@@ -14050,6 +14200,11 @@ module Aws::BedrockAgentCoreControl
14050
14200
  # The truncation configuration for managing conversation context. If not
14051
14201
  # specified, the existing value is retained.
14052
14202
  #
14203
+ # @option params [Array<Types::HarnessHook>] :hooks
14204
+ # The lifecycle hooks to run at defined points in the agent loop. If
14205
+ # specified, this replaces all existing hooks. If not specified, the
14206
+ # existing hooks are retained.
14207
+ #
14053
14208
  # @option params [Integer] :max_iterations
14054
14209
  # The maximum number of iterations the agent loop can execute per
14055
14210
  # invocation. If not specified, the existing value is retained.
@@ -14200,6 +14355,7 @@ module Aws::BedrockAgentCoreControl
14200
14355
  # open_ai_model_config: {
14201
14356
  # model_id: "ModelId", # required
14202
14357
  # api_key_arn: "ApiKeyArn", # required
14358
+ # api_base: "HarnessOpenAiApiBase",
14203
14359
  # max_tokens: 1,
14204
14360
  # temperature: 1.0,
14205
14361
  # top_p: 1.0,
@@ -14333,6 +14489,74 @@ module Aws::BedrockAgentCoreControl
14333
14489
  # },
14334
14490
  # },
14335
14491
  # },
14492
+ # hooks: [
14493
+ # {
14494
+ # before_invocation: {
14495
+ # name: "HarnessHookName", # required
14496
+ # target: { # required
14497
+ # lambda: {
14498
+ # arn: "HarnessLambdaFunctionArn", # required
14499
+ # timeout_seconds: 1,
14500
+ # failure_mode: "allow", # accepts allow, deny
14501
+ # },
14502
+ # sns: {
14503
+ # arn: "HarnessSnsTopicArn", # required
14504
+ # },
14505
+ # event_bridge: {
14506
+ # arn: "HarnessEventBridgeBusArn", # required
14507
+ # },
14508
+ # },
14509
+ # },
14510
+ # after_invocation: {
14511
+ # name: "HarnessHookName", # required
14512
+ # target: { # required
14513
+ # lambda: {
14514
+ # arn: "HarnessLambdaFunctionArn", # required
14515
+ # timeout_seconds: 1,
14516
+ # failure_mode: "allow", # accepts allow, deny
14517
+ # },
14518
+ # sns: {
14519
+ # arn: "HarnessSnsTopicArn", # required
14520
+ # },
14521
+ # event_bridge: {
14522
+ # arn: "HarnessEventBridgeBusArn", # required
14523
+ # },
14524
+ # },
14525
+ # },
14526
+ # before_tool_call: {
14527
+ # name: "HarnessHookName", # required
14528
+ # target: { # required
14529
+ # lambda: {
14530
+ # arn: "HarnessLambdaFunctionArn", # required
14531
+ # timeout_seconds: 1,
14532
+ # failure_mode: "allow", # accepts allow, deny
14533
+ # },
14534
+ # sns: {
14535
+ # arn: "HarnessSnsTopicArn", # required
14536
+ # },
14537
+ # event_bridge: {
14538
+ # arn: "HarnessEventBridgeBusArn", # required
14539
+ # },
14540
+ # },
14541
+ # },
14542
+ # after_tool_call: {
14543
+ # name: "HarnessHookName", # required
14544
+ # target: { # required
14545
+ # lambda: {
14546
+ # arn: "HarnessLambdaFunctionArn", # required
14547
+ # timeout_seconds: 1,
14548
+ # failure_mode: "allow", # accepts allow, deny
14549
+ # },
14550
+ # sns: {
14551
+ # arn: "HarnessSnsTopicArn", # required
14552
+ # },
14553
+ # event_bridge: {
14554
+ # arn: "HarnessEventBridgeBusArn", # required
14555
+ # },
14556
+ # },
14557
+ # },
14558
+ # },
14559
+ # ],
14336
14560
  # max_iterations: 1,
14337
14561
  # max_tokens: 1,
14338
14562
  # timeout_seconds: 1,
@@ -14355,6 +14579,7 @@ module Aws::BedrockAgentCoreControl
14355
14579
  # resp.harness.model.bedrock_model_config.api_format #=> String, one of "converse_stream", "responses", "chat_completions"
14356
14580
  # resp.harness.model.open_ai_model_config.model_id #=> String
14357
14581
  # resp.harness.model.open_ai_model_config.api_key_arn #=> String
14582
+ # resp.harness.model.open_ai_model_config.api_base #=> String
14358
14583
  # resp.harness.model.open_ai_model_config.max_tokens #=> Integer
14359
14584
  # resp.harness.model.open_ai_model_config.temperature #=> Float
14360
14585
  # resp.harness.model.open_ai_model_config.top_p #=> Float
@@ -14482,6 +14707,31 @@ module Aws::BedrockAgentCoreControl
14482
14707
  # resp.harness.memory.managed_memory_configuration.strategies[0] #=> String, one of "SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"
14483
14708
  # resp.harness.memory.managed_memory_configuration.event_expiry_duration #=> Integer
14484
14709
  # resp.harness.memory.managed_memory_configuration.encryption_key_arn #=> String
14710
+ # resp.harness.hooks #=> Array
14711
+ # resp.harness.hooks[0].before_invocation.name #=> String
14712
+ # resp.harness.hooks[0].before_invocation.target.lambda.arn #=> String
14713
+ # resp.harness.hooks[0].before_invocation.target.lambda.timeout_seconds #=> Integer
14714
+ # resp.harness.hooks[0].before_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
14715
+ # resp.harness.hooks[0].before_invocation.target.sns.arn #=> String
14716
+ # resp.harness.hooks[0].before_invocation.target.event_bridge.arn #=> String
14717
+ # resp.harness.hooks[0].after_invocation.name #=> String
14718
+ # resp.harness.hooks[0].after_invocation.target.lambda.arn #=> String
14719
+ # resp.harness.hooks[0].after_invocation.target.lambda.timeout_seconds #=> Integer
14720
+ # resp.harness.hooks[0].after_invocation.target.lambda.failure_mode #=> String, one of "allow", "deny"
14721
+ # resp.harness.hooks[0].after_invocation.target.sns.arn #=> String
14722
+ # resp.harness.hooks[0].after_invocation.target.event_bridge.arn #=> String
14723
+ # resp.harness.hooks[0].before_tool_call.name #=> String
14724
+ # resp.harness.hooks[0].before_tool_call.target.lambda.arn #=> String
14725
+ # resp.harness.hooks[0].before_tool_call.target.lambda.timeout_seconds #=> Integer
14726
+ # resp.harness.hooks[0].before_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
14727
+ # resp.harness.hooks[0].before_tool_call.target.sns.arn #=> String
14728
+ # resp.harness.hooks[0].before_tool_call.target.event_bridge.arn #=> String
14729
+ # resp.harness.hooks[0].after_tool_call.name #=> String
14730
+ # resp.harness.hooks[0].after_tool_call.target.lambda.arn #=> String
14731
+ # resp.harness.hooks[0].after_tool_call.target.lambda.timeout_seconds #=> Integer
14732
+ # resp.harness.hooks[0].after_tool_call.target.lambda.failure_mode #=> String, one of "allow", "deny"
14733
+ # resp.harness.hooks[0].after_tool_call.target.sns.arn #=> String
14734
+ # resp.harness.hooks[0].after_tool_call.target.event_bridge.arn #=> String
14485
14735
  # resp.harness.max_iterations #=> Integer
14486
14736
  # resp.harness.max_tokens #=> Integer
14487
14737
  # resp.harness.timeout_seconds #=> Integer
@@ -16695,7 +16945,7 @@ module Aws::BedrockAgentCoreControl
16695
16945
  tracer: tracer
16696
16946
  )
16697
16947
  context[:gem_name] = 'aws-sdk-bedrockagentcorecontrol'
16698
- context[:gem_version] = '1.73.0'
16948
+ context[:gem_version] = '1.74.0'
16699
16949
  Seahorse::Client::Request.new(handlers, context)
16700
16950
  end
16701
16951
 
@@ -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.73.0'
58
+ GEM_VERSION = '1.74.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -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,
@@ -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
data/sig/types.rbs CHANGED
@@ -1011,6 +1011,7 @@ module Aws::BedrockAgentCoreControl
1011
1011
  attr_accessor allowed_tools: ::Array[::String]
1012
1012
  attr_accessor memory: Types::HarnessMemoryConfiguration
1013
1013
  attr_accessor truncation: Types::HarnessTruncationConfiguration
1014
+ attr_accessor hooks: ::Array[Types::HarnessHook]
1014
1015
  attr_accessor max_iterations: ::Integer
1015
1016
  attr_accessor max_tokens: ::Integer
1016
1017
  attr_accessor timeout_seconds: ::Integer
@@ -2991,6 +2992,7 @@ module Aws::BedrockAgentCoreControl
2991
2992
  attr_accessor environment_variables: ::Hash[::String, ::String]
2992
2993
  attr_accessor authorizer_configuration: Types::AuthorizerConfiguration
2993
2994
  attr_accessor memory: Types::HarnessMemoryConfiguration
2995
+ attr_accessor hooks: ::Array[Types::HarnessHook]
2994
2996
  attr_accessor max_iterations: ::Integer
2995
2997
  attr_accessor max_tokens: ::Integer
2996
2998
  attr_accessor timeout_seconds: ::Integer
@@ -2998,6 +3000,18 @@ module Aws::BedrockAgentCoreControl
2998
3000
  SENSITIVE: [:environment_variables]
2999
3001
  end
3000
3002
 
3003
+ class HarnessAfterInvocationHook
3004
+ attr_accessor name: ::String
3005
+ attr_accessor target: Types::HarnessHookTarget
3006
+ SENSITIVE: []
3007
+ end
3008
+
3009
+ class HarnessAfterToolCallHook
3010
+ attr_accessor name: ::String
3011
+ attr_accessor target: Types::HarnessHookTarget
3012
+ SENSITIVE: []
3013
+ end
3014
+
3001
3015
  class HarnessAgentCoreBrowserConfig
3002
3016
  attr_accessor browser_arn: ::String
3003
3017
  SENSITIVE: []
@@ -3056,6 +3070,18 @@ module Aws::BedrockAgentCoreControl
3056
3070
  SENSITIVE: []
3057
3071
  end
3058
3072
 
3073
+ class HarnessBeforeInvocationHook
3074
+ attr_accessor name: ::String
3075
+ attr_accessor target: Types::HarnessHookTarget
3076
+ SENSITIVE: []
3077
+ end
3078
+
3079
+ class HarnessBeforeToolCallHook
3080
+ attr_accessor name: ::String
3081
+ attr_accessor target: Types::HarnessHookTarget
3082
+ SENSITIVE: []
3083
+ end
3084
+
3059
3085
  class HarnessDisabledMemoryConfiguration < Aws::EmptyStructure
3060
3086
  end
3061
3087
 
@@ -3135,6 +3161,60 @@ module Aws::BedrockAgentCoreControl
3135
3161
  SENSITIVE: []
3136
3162
  end
3137
3163
 
3164
+ class HarnessHook
3165
+ attr_accessor before_invocation: Types::HarnessBeforeInvocationHook
3166
+ attr_accessor after_invocation: Types::HarnessAfterInvocationHook
3167
+ attr_accessor before_tool_call: Types::HarnessBeforeToolCallHook
3168
+ attr_accessor after_tool_call: Types::HarnessAfterToolCallHook
3169
+ attr_accessor unknown: untyped
3170
+ SENSITIVE: []
3171
+
3172
+ class BeforeInvocation < HarnessHook
3173
+ end
3174
+ class AfterInvocation < HarnessHook
3175
+ end
3176
+ class BeforeToolCall < HarnessHook
3177
+ end
3178
+ class AfterToolCall < HarnessHook
3179
+ end
3180
+ class Unknown < HarnessHook
3181
+ end
3182
+ end
3183
+
3184
+ class HarnessHookEventBridgeTarget
3185
+ attr_accessor arn: ::String
3186
+ SENSITIVE: []
3187
+ end
3188
+
3189
+ class HarnessHookLambdaTarget
3190
+ attr_accessor arn: ::String
3191
+ attr_accessor timeout_seconds: ::Integer
3192
+ attr_accessor failure_mode: ("allow" | "deny")
3193
+ SENSITIVE: []
3194
+ end
3195
+
3196
+ class HarnessHookSnsTarget
3197
+ attr_accessor arn: ::String
3198
+ SENSITIVE: []
3199
+ end
3200
+
3201
+ class HarnessHookTarget
3202
+ attr_accessor lambda: Types::HarnessHookLambdaTarget
3203
+ attr_accessor sns: Types::HarnessHookSnsTarget
3204
+ attr_accessor event_bridge: Types::HarnessHookEventBridgeTarget
3205
+ attr_accessor unknown: untyped
3206
+ SENSITIVE: []
3207
+
3208
+ class Lambda < HarnessHookTarget
3209
+ end
3210
+ class Sns < HarnessHookTarget
3211
+ end
3212
+ class EventBridge < HarnessHookTarget
3213
+ end
3214
+ class Unknown < HarnessHookTarget
3215
+ end
3216
+ end
3217
+
3138
3218
  class HarnessInlineFunctionConfig
3139
3219
  attr_accessor description: ::String
3140
3220
  attr_accessor input_schema: untyped
@@ -3200,12 +3280,13 @@ module Aws::BedrockAgentCoreControl
3200
3280
  class HarnessOpenAiModelConfig
3201
3281
  attr_accessor model_id: ::String
3202
3282
  attr_accessor api_key_arn: ::String
3283
+ attr_accessor api_base: ::String
3203
3284
  attr_accessor max_tokens: ::Integer
3204
3285
  attr_accessor temperature: ::Float
3205
3286
  attr_accessor top_p: ::Float
3206
3287
  attr_accessor api_format: ("chat_completions" | "responses")
3207
3288
  attr_accessor additional_params: untyped
3208
- SENSITIVE: []
3289
+ SENSITIVE: [:api_base]
3209
3290
  end
3210
3291
 
3211
3292
  class HarnessRemoteMcpConfig
@@ -5999,6 +6080,7 @@ module Aws::BedrockAgentCoreControl
5999
6080
  attr_accessor allowed_tools: ::Array[::String]
6000
6081
  attr_accessor memory: Types::UpdatedHarnessMemoryConfiguration
6001
6082
  attr_accessor truncation: Types::HarnessTruncationConfiguration
6083
+ attr_accessor hooks: ::Array[Types::HarnessHook]
6002
6084
  attr_accessor max_iterations: ::Integer
6003
6085
  attr_accessor max_tokens: ::Integer
6004
6086
  attr_accessor timeout_seconds: ::Integer
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-bedrockagentcorecontrol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.73.0
4
+ version: 1.74.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services