aws-sdk-bedrockagent 1.33.0 → 1.35.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.
@@ -898,6 +898,21 @@ module Aws::BedrockAgent
898
898
  include Aws::Structure
899
899
  end
900
900
 
901
+ # Defines tools, at least one of which must be requested by the model.
902
+ # No text is generated but the results of tool use are sent back to the
903
+ # model to help generate a response. For more information, see [Use a
904
+ # tool to complete an Amazon Bedrock model response][1].
905
+ #
906
+ #
907
+ #
908
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
909
+ #
910
+ # @api private
911
+ #
912
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/AnyToolChoice AWS API Documentation
913
+ #
914
+ class AnyToolChoice < Aws::EmptyStructure; end
915
+
901
916
  # @!attribute [rw] agent_id
902
917
  # The unique identifier of the agent with which you want to associate
903
918
  # the knowledge base.
@@ -951,6 +966,20 @@ module Aws::BedrockAgent
951
966
  include Aws::Structure
952
967
  end
953
968
 
969
+ # Defines tools. The model automatically decides whether to call a tool
970
+ # or to generate text instead. For more information, see [Use a tool to
971
+ # complete an Amazon Bedrock model response][1].
972
+ #
973
+ #
974
+ #
975
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
976
+ #
977
+ # @api private
978
+ #
979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/AutoToolChoice AWS API Documentation
980
+ #
981
+ class AutoToolChoice < Aws::EmptyStructure; end
982
+
954
983
  # The vector configuration details for the Bedrock embeddings model.
955
984
  #
956
985
  # @!attribute [rw] dimensions
@@ -994,6 +1023,43 @@ module Aws::BedrockAgent
994
1023
  include Aws::Structure
995
1024
  end
996
1025
 
1026
+ # Contains configurations to use a prompt in a conversational format.
1027
+ # For more information, see [Create a prompt using Prompt
1028
+ # management][1].
1029
+ #
1030
+ #
1031
+ #
1032
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
1033
+ #
1034
+ # @!attribute [rw] input_variables
1035
+ # An array of the variables in the prompt template.
1036
+ # @return [Array<Types::PromptInputVariable>]
1037
+ #
1038
+ # @!attribute [rw] messages
1039
+ # Contains messages in the chat for the prompt.
1040
+ # @return [Array<Types::Message>]
1041
+ #
1042
+ # @!attribute [rw] system
1043
+ # Contains system prompts to provide context to the model or to
1044
+ # describe how it should behave.
1045
+ # @return [Array<Types::SystemContentBlock>]
1046
+ #
1047
+ # @!attribute [rw] tool_configuration
1048
+ # Configuration information for the tools that the model can use when
1049
+ # generating a response.
1050
+ # @return [Types::ToolConfiguration]
1051
+ #
1052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ChatPromptTemplateConfiguration AWS API Documentation
1053
+ #
1054
+ class ChatPromptTemplateConfiguration < Struct.new(
1055
+ :input_variables,
1056
+ :messages,
1057
+ :system,
1058
+ :tool_configuration)
1059
+ SENSITIVE = [:input_variables, :system]
1060
+ include Aws::Structure
1061
+ end
1062
+
997
1063
  # Details about how to chunk the documents in the data source. A *chunk*
998
1064
  # refers to an excerpt from a data source that is returned when the
999
1065
  # knowledge base that it belongs to is queried.
@@ -1178,6 +1244,35 @@ module Aws::BedrockAgent
1178
1244
  include Aws::Structure
1179
1245
  end
1180
1246
 
1247
+ # Contains the content for the message you pass to, or receive from a
1248
+ # model. For more information, see [Create a prompt using Prompt
1249
+ # management][1].
1250
+ #
1251
+ #
1252
+ #
1253
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
1254
+ #
1255
+ # @note ContentBlock is a union - when making an API calls you must set exactly one of the members.
1256
+ #
1257
+ # @note ContentBlock is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ContentBlock corresponding to the set member.
1258
+ #
1259
+ # @!attribute [rw] text
1260
+ # The text in the message.
1261
+ # @return [String]
1262
+ #
1263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ContentBlock AWS API Documentation
1264
+ #
1265
+ class ContentBlock < Struct.new(
1266
+ :text,
1267
+ :unknown)
1268
+ SENSITIVE = []
1269
+ include Aws::Structure
1270
+ include Aws::Structure::Union
1271
+
1272
+ class Text < ContentBlock; end
1273
+ class Unknown < ContentBlock; end
1274
+ end
1275
+
1181
1276
  # The configuration of filtering the data source content. For example,
1182
1277
  # configuring regular expression patterns to include or exclude certain
1183
1278
  # content.
@@ -2262,6 +2357,20 @@ module Aws::BedrockAgent
2262
2357
  include Aws::Structure
2263
2358
  end
2264
2359
 
2360
+ # Details about a cyclic connection detected in the flow.
2361
+ #
2362
+ # @!attribute [rw] connection
2363
+ # The name of the connection that causes the cycle in the flow.
2364
+ # @return [String]
2365
+ #
2366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/CyclicConnectionFlowValidationDetails AWS API Documentation
2367
+ #
2368
+ class CyclicConnectionFlowValidationDetails < Struct.new(
2369
+ :connection)
2370
+ SENSITIVE = []
2371
+ include Aws::Structure
2372
+ end
2373
+
2265
2374
  # Contains details about a data source.
2266
2375
  #
2267
2376
  # @!attribute [rw] created_at
@@ -2838,6 +2947,46 @@ module Aws::BedrockAgent
2838
2947
  #
2839
2948
  class DisassociateAgentKnowledgeBaseResponse < Aws::EmptyStructure; end
2840
2949
 
2950
+ # Details about duplicate condition expressions found in a condition
2951
+ # node.
2952
+ #
2953
+ # @!attribute [rw] expression
2954
+ # The duplicated condition expression.
2955
+ # @return [String]
2956
+ #
2957
+ # @!attribute [rw] node
2958
+ # The name of the node containing the duplicate condition expressions.
2959
+ # @return [String]
2960
+ #
2961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/DuplicateConditionExpressionFlowValidationDetails AWS API Documentation
2962
+ #
2963
+ class DuplicateConditionExpressionFlowValidationDetails < Struct.new(
2964
+ :expression,
2965
+ :node)
2966
+ SENSITIVE = [:expression]
2967
+ include Aws::Structure
2968
+ end
2969
+
2970
+ # Details about duplicate connections found between two nodes in the
2971
+ # flow.
2972
+ #
2973
+ # @!attribute [rw] source
2974
+ # The name of the source node where the duplicate connection starts.
2975
+ # @return [String]
2976
+ #
2977
+ # @!attribute [rw] target
2978
+ # The name of the target node where the duplicate connection ends.
2979
+ # @return [String]
2980
+ #
2981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/DuplicateConnectionsFlowValidationDetails AWS API Documentation
2982
+ #
2983
+ class DuplicateConnectionsFlowValidationDetails < Struct.new(
2984
+ :source,
2985
+ :target)
2986
+ SENSITIVE = []
2987
+ include Aws::Structure
2988
+ end
2989
+
2841
2990
  # The configuration details for the embeddings model.
2842
2991
  #
2843
2992
  # @!attribute [rw] bedrock_embedding_model_configuration
@@ -3387,6 +3536,10 @@ module Aws::BedrockAgent
3387
3536
  # [1]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetFlow.html#API_agent_GetFlow_ResponseSyntax
3388
3537
  # [2]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetFlowVersion.html#API_agent_GetFlowVersion_ResponseSyntax
3389
3538
  #
3539
+ # @!attribute [rw] details
3540
+ # Specific details about the validation issue encountered in the flow.
3541
+ # @return [Types::FlowValidationDetails]
3542
+ #
3390
3543
  # @!attribute [rw] message
3391
3544
  # A message describing the validation error.
3392
3545
  # @return [String]
@@ -3395,15 +3548,187 @@ module Aws::BedrockAgent
3395
3548
  # The severity of the issue described in the message.
3396
3549
  # @return [String]
3397
3550
  #
3551
+ # @!attribute [rw] type
3552
+ # The type of validation issue encountered in the flow.
3553
+ # @return [String]
3554
+ #
3398
3555
  # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/FlowValidation AWS API Documentation
3399
3556
  #
3400
3557
  class FlowValidation < Struct.new(
3558
+ :details,
3401
3559
  :message,
3402
- :severity)
3560
+ :severity,
3561
+ :type)
3403
3562
  SENSITIVE = []
3404
3563
  include Aws::Structure
3405
3564
  end
3406
3565
 
3566
+ # A union type containing various possible validation issues in the
3567
+ # flow.
3568
+ #
3569
+ # @note FlowValidationDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of FlowValidationDetails corresponding to the set member.
3570
+ #
3571
+ # @!attribute [rw] cyclic_connection
3572
+ # Details about a cyclic connection in the flow.
3573
+ # @return [Types::CyclicConnectionFlowValidationDetails]
3574
+ #
3575
+ # @!attribute [rw] duplicate_condition_expression
3576
+ # Details about duplicate condition expressions in a node.
3577
+ # @return [Types::DuplicateConditionExpressionFlowValidationDetails]
3578
+ #
3579
+ # @!attribute [rw] duplicate_connections
3580
+ # Details about duplicate connections between nodes.
3581
+ # @return [Types::DuplicateConnectionsFlowValidationDetails]
3582
+ #
3583
+ # @!attribute [rw] incompatible_connection_data_type
3584
+ # Details about incompatible data types in a connection.
3585
+ # @return [Types::IncompatibleConnectionDataTypeFlowValidationDetails]
3586
+ #
3587
+ # @!attribute [rw] malformed_condition_expression
3588
+ # Details about a malformed condition expression in a node.
3589
+ # @return [Types::MalformedConditionExpressionFlowValidationDetails]
3590
+ #
3591
+ # @!attribute [rw] malformed_node_input_expression
3592
+ # Details about a malformed input expression in a node.
3593
+ # @return [Types::MalformedNodeInputExpressionFlowValidationDetails]
3594
+ #
3595
+ # @!attribute [rw] mismatched_node_input_type
3596
+ # Details about mismatched input data types in a node.
3597
+ # @return [Types::MismatchedNodeInputTypeFlowValidationDetails]
3598
+ #
3599
+ # @!attribute [rw] mismatched_node_output_type
3600
+ # Details about mismatched output data types in a node.
3601
+ # @return [Types::MismatchedNodeOutputTypeFlowValidationDetails]
3602
+ #
3603
+ # @!attribute [rw] missing_connection_configuration
3604
+ # Details about missing configuration for a connection.
3605
+ # @return [Types::MissingConnectionConfigurationFlowValidationDetails]
3606
+ #
3607
+ # @!attribute [rw] missing_default_condition
3608
+ # Details about a missing default condition in a conditional node.
3609
+ # @return [Types::MissingDefaultConditionFlowValidationDetails]
3610
+ #
3611
+ # @!attribute [rw] missing_ending_nodes
3612
+ # Details about missing ending nodes in the flow.
3613
+ # @return [Types::MissingEndingNodesFlowValidationDetails]
3614
+ #
3615
+ # @!attribute [rw] missing_node_configuration
3616
+ # Details about missing configuration for a node.
3617
+ # @return [Types::MissingNodeConfigurationFlowValidationDetails]
3618
+ #
3619
+ # @!attribute [rw] missing_node_input
3620
+ # Details about a missing required input in a node.
3621
+ # @return [Types::MissingNodeInputFlowValidationDetails]
3622
+ #
3623
+ # @!attribute [rw] missing_node_output
3624
+ # Details about a missing required output in a node.
3625
+ # @return [Types::MissingNodeOutputFlowValidationDetails]
3626
+ #
3627
+ # @!attribute [rw] missing_starting_nodes
3628
+ # Details about missing starting nodes in the flow.
3629
+ # @return [Types::MissingStartingNodesFlowValidationDetails]
3630
+ #
3631
+ # @!attribute [rw] multiple_node_input_connections
3632
+ # Details about multiple connections to a single node input.
3633
+ # @return [Types::MultipleNodeInputConnectionsFlowValidationDetails]
3634
+ #
3635
+ # @!attribute [rw] unfulfilled_node_input
3636
+ # Details about an unfulfilled node input with no valid connections.
3637
+ # @return [Types::UnfulfilledNodeInputFlowValidationDetails]
3638
+ #
3639
+ # @!attribute [rw] unknown_connection_condition
3640
+ # Details about an unknown condition for a connection.
3641
+ # @return [Types::UnknownConnectionConditionFlowValidationDetails]
3642
+ #
3643
+ # @!attribute [rw] unknown_connection_source
3644
+ # Details about an unknown source node for a connection.
3645
+ # @return [Types::UnknownConnectionSourceFlowValidationDetails]
3646
+ #
3647
+ # @!attribute [rw] unknown_connection_source_output
3648
+ # Details about an unknown source output for a connection.
3649
+ # @return [Types::UnknownConnectionSourceOutputFlowValidationDetails]
3650
+ #
3651
+ # @!attribute [rw] unknown_connection_target
3652
+ # Details about an unknown target node for a connection.
3653
+ # @return [Types::UnknownConnectionTargetFlowValidationDetails]
3654
+ #
3655
+ # @!attribute [rw] unknown_connection_target_input
3656
+ # Details about an unknown target input for a connection.
3657
+ # @return [Types::UnknownConnectionTargetInputFlowValidationDetails]
3658
+ #
3659
+ # @!attribute [rw] unreachable_node
3660
+ # Details about an unreachable node in the flow.
3661
+ # @return [Types::UnreachableNodeFlowValidationDetails]
3662
+ #
3663
+ # @!attribute [rw] unsatisfied_connection_conditions
3664
+ # Details about unsatisfied conditions for a connection.
3665
+ # @return [Types::UnsatisfiedConnectionConditionsFlowValidationDetails]
3666
+ #
3667
+ # @!attribute [rw] unspecified
3668
+ # Details about an unspecified validation.
3669
+ # @return [Types::UnspecifiedFlowValidationDetails]
3670
+ #
3671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/FlowValidationDetails AWS API Documentation
3672
+ #
3673
+ class FlowValidationDetails < Struct.new(
3674
+ :cyclic_connection,
3675
+ :duplicate_condition_expression,
3676
+ :duplicate_connections,
3677
+ :incompatible_connection_data_type,
3678
+ :malformed_condition_expression,
3679
+ :malformed_node_input_expression,
3680
+ :mismatched_node_input_type,
3681
+ :mismatched_node_output_type,
3682
+ :missing_connection_configuration,
3683
+ :missing_default_condition,
3684
+ :missing_ending_nodes,
3685
+ :missing_node_configuration,
3686
+ :missing_node_input,
3687
+ :missing_node_output,
3688
+ :missing_starting_nodes,
3689
+ :multiple_node_input_connections,
3690
+ :unfulfilled_node_input,
3691
+ :unknown_connection_condition,
3692
+ :unknown_connection_source,
3693
+ :unknown_connection_source_output,
3694
+ :unknown_connection_target,
3695
+ :unknown_connection_target_input,
3696
+ :unreachable_node,
3697
+ :unsatisfied_connection_conditions,
3698
+ :unspecified,
3699
+ :unknown)
3700
+ SENSITIVE = []
3701
+ include Aws::Structure
3702
+ include Aws::Structure::Union
3703
+
3704
+ class CyclicConnection < FlowValidationDetails; end
3705
+ class DuplicateConditionExpression < FlowValidationDetails; end
3706
+ class DuplicateConnections < FlowValidationDetails; end
3707
+ class IncompatibleConnectionDataType < FlowValidationDetails; end
3708
+ class MalformedConditionExpression < FlowValidationDetails; end
3709
+ class MalformedNodeInputExpression < FlowValidationDetails; end
3710
+ class MismatchedNodeInputType < FlowValidationDetails; end
3711
+ class MismatchedNodeOutputType < FlowValidationDetails; end
3712
+ class MissingConnectionConfiguration < FlowValidationDetails; end
3713
+ class MissingDefaultCondition < FlowValidationDetails; end
3714
+ class MissingEndingNodes < FlowValidationDetails; end
3715
+ class MissingNodeConfiguration < FlowValidationDetails; end
3716
+ class MissingNodeInput < FlowValidationDetails; end
3717
+ class MissingNodeOutput < FlowValidationDetails; end
3718
+ class MissingStartingNodes < FlowValidationDetails; end
3719
+ class MultipleNodeInputConnections < FlowValidationDetails; end
3720
+ class UnfulfilledNodeInput < FlowValidationDetails; end
3721
+ class UnknownConnectionCondition < FlowValidationDetails; end
3722
+ class UnknownConnectionSource < FlowValidationDetails; end
3723
+ class UnknownConnectionSourceOutput < FlowValidationDetails; end
3724
+ class UnknownConnectionTarget < FlowValidationDetails; end
3725
+ class UnknownConnectionTargetInput < FlowValidationDetails; end
3726
+ class UnreachableNode < FlowValidationDetails; end
3727
+ class UnsatisfiedConnectionConditions < FlowValidationDetails; end
3728
+ class Unspecified < FlowValidationDetails; end
3729
+ class Unknown < FlowValidationDetails; end
3730
+ end
3731
+
3407
3732
  # Contains information about a version of a flow.
3408
3733
  #
3409
3734
  # This data type is used in the following API operations:
@@ -4132,7 +4457,7 @@ module Aws::BedrockAgent
4132
4457
  include Aws::Structure
4133
4458
  end
4134
4459
 
4135
- # Details about the guardrail associated with an agent.
4460
+ # Details about a guardrail associated with a resource.
4136
4461
  #
4137
4462
  # @!attribute [rw] guardrail_identifier
4138
4463
  # The unique identifier of the guardrail.
@@ -4193,6 +4518,20 @@ module Aws::BedrockAgent
4193
4518
  include Aws::Structure
4194
4519
  end
4195
4520
 
4521
+ # Details about incompatible data types in a connection between nodes.
4522
+ #
4523
+ # @!attribute [rw] connection
4524
+ # The name of the connection with incompatible data types.
4525
+ # @return [String]
4526
+ #
4527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/IncompatibleConnectionDataTypeFlowValidationDetails AWS API Documentation
4528
+ #
4529
+ class IncompatibleConnectionDataTypeFlowValidationDetails < Struct.new(
4530
+ :connection)
4531
+ SENSITIVE = []
4532
+ include Aws::Structure
4533
+ end
4534
+
4196
4535
  # Contains inference parameters to use when the agent invokes a
4197
4536
  # foundation model in the part of the agent sequence defined by the
4198
4537
  # `promptType`. For more information, see [Inference parameters for
@@ -4629,6 +4968,11 @@ module Aws::BedrockAgent
4629
4968
  #
4630
4969
  # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/flows-nodes.html
4631
4970
  #
4971
+ # @!attribute [rw] guardrail_configuration
4972
+ # Contains configurations for a guardrail to apply during query and
4973
+ # response generation for the knowledge base in this configuration.
4974
+ # @return [Types::GuardrailConfiguration]
4975
+ #
4632
4976
  # @!attribute [rw] knowledge_base_id
4633
4977
  # The unique identifier of the knowledge base to query.
4634
4978
  # @return [String]
@@ -4646,6 +4990,7 @@ module Aws::BedrockAgent
4646
4990
  # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/KnowledgeBaseFlowNodeConfiguration AWS API Documentation
4647
4991
  #
4648
4992
  class KnowledgeBaseFlowNodeConfiguration < Struct.new(
4993
+ :guardrail_configuration,
4649
4994
  :knowledge_base_id,
4650
4995
  :model_id)
4651
4996
  SENSITIVE = []
@@ -5363,6 +5708,55 @@ module Aws::BedrockAgent
5363
5708
  include Aws::Structure
5364
5709
  end
5365
5710
 
5711
+ # Details about a malformed condition expression in a node.
5712
+ #
5713
+ # @!attribute [rw] cause
5714
+ # The error message describing why the condition expression is
5715
+ # malformed.
5716
+ # @return [String]
5717
+ #
5718
+ # @!attribute [rw] condition
5719
+ # The name of the malformed condition.
5720
+ # @return [String]
5721
+ #
5722
+ # @!attribute [rw] node
5723
+ # The name of the node containing the malformed condition expression.
5724
+ # @return [String]
5725
+ #
5726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MalformedConditionExpressionFlowValidationDetails AWS API Documentation
5727
+ #
5728
+ class MalformedConditionExpressionFlowValidationDetails < Struct.new(
5729
+ :cause,
5730
+ :condition,
5731
+ :node)
5732
+ SENSITIVE = []
5733
+ include Aws::Structure
5734
+ end
5735
+
5736
+ # Details about a malformed input expression in a node.
5737
+ #
5738
+ # @!attribute [rw] cause
5739
+ # The error message describing why the input expression is malformed.
5740
+ # @return [String]
5741
+ #
5742
+ # @!attribute [rw] input
5743
+ # The name of the input with the malformed expression.
5744
+ # @return [String]
5745
+ #
5746
+ # @!attribute [rw] node
5747
+ # The name of the node containing the malformed input expression.
5748
+ # @return [String]
5749
+ #
5750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MalformedNodeInputExpressionFlowValidationDetails AWS API Documentation
5751
+ #
5752
+ class MalformedNodeInputExpressionFlowValidationDetails < Struct.new(
5753
+ :cause,
5754
+ :input,
5755
+ :node)
5756
+ SENSITIVE = []
5757
+ include Aws::Structure
5758
+ end
5759
+
5366
5760
  # Details of the memory configuration.
5367
5761
  #
5368
5762
  # @!attribute [rw] enabled_memory_types
@@ -5383,6 +5777,174 @@ module Aws::BedrockAgent
5383
5777
  include Aws::Structure
5384
5778
  end
5385
5779
 
5780
+ # A message input or response from a model. For more information, see
5781
+ # [Create a prompt using Prompt management][1].
5782
+ #
5783
+ #
5784
+ #
5785
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
5786
+ #
5787
+ # @!attribute [rw] content
5788
+ # The content in the message.
5789
+ # @return [Array<Types::ContentBlock>]
5790
+ #
5791
+ # @!attribute [rw] role
5792
+ # The role that the message belongs to.
5793
+ # @return [String]
5794
+ #
5795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/Message AWS API Documentation
5796
+ #
5797
+ class Message < Struct.new(
5798
+ :content,
5799
+ :role)
5800
+ SENSITIVE = [:content]
5801
+ include Aws::Structure
5802
+ end
5803
+
5804
+ # Details about mismatched input data types in a node.
5805
+ #
5806
+ # @!attribute [rw] expected_type
5807
+ # The expected data type for the node input.
5808
+ # @return [String]
5809
+ #
5810
+ # @!attribute [rw] input
5811
+ # The name of the input with the mismatched data type.
5812
+ # @return [String]
5813
+ #
5814
+ # @!attribute [rw] node
5815
+ # The name of the node containing the input with the mismatched data
5816
+ # type.
5817
+ # @return [String]
5818
+ #
5819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MismatchedNodeInputTypeFlowValidationDetails AWS API Documentation
5820
+ #
5821
+ class MismatchedNodeInputTypeFlowValidationDetails < Struct.new(
5822
+ :expected_type,
5823
+ :input,
5824
+ :node)
5825
+ SENSITIVE = []
5826
+ include Aws::Structure
5827
+ end
5828
+
5829
+ # Details about mismatched output data types in a node.
5830
+ #
5831
+ # @!attribute [rw] expected_type
5832
+ # The expected data type for the node output.
5833
+ # @return [String]
5834
+ #
5835
+ # @!attribute [rw] node
5836
+ # The name of the node containing the output with the mismatched data
5837
+ # type.
5838
+ # @return [String]
5839
+ #
5840
+ # @!attribute [rw] output
5841
+ # The name of the output with the mismatched data type.
5842
+ # @return [String]
5843
+ #
5844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MismatchedNodeOutputTypeFlowValidationDetails AWS API Documentation
5845
+ #
5846
+ class MismatchedNodeOutputTypeFlowValidationDetails < Struct.new(
5847
+ :expected_type,
5848
+ :node,
5849
+ :output)
5850
+ SENSITIVE = []
5851
+ include Aws::Structure
5852
+ end
5853
+
5854
+ # Details about a connection missing required configuration.
5855
+ #
5856
+ # @!attribute [rw] connection
5857
+ # The name of the connection missing configuration.
5858
+ # @return [String]
5859
+ #
5860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingConnectionConfigurationFlowValidationDetails AWS API Documentation
5861
+ #
5862
+ class MissingConnectionConfigurationFlowValidationDetails < Struct.new(
5863
+ :connection)
5864
+ SENSITIVE = []
5865
+ include Aws::Structure
5866
+ end
5867
+
5868
+ # Details about a missing default condition in a conditional node.
5869
+ #
5870
+ # @!attribute [rw] node
5871
+ # The name of the node missing the default condition.
5872
+ # @return [String]
5873
+ #
5874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingDefaultConditionFlowValidationDetails AWS API Documentation
5875
+ #
5876
+ class MissingDefaultConditionFlowValidationDetails < Struct.new(
5877
+ :node)
5878
+ SENSITIVE = []
5879
+ include Aws::Structure
5880
+ end
5881
+
5882
+ # Details about missing ending nodes (such as FlowOutputNode) in the
5883
+ # flow.
5884
+ #
5885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingEndingNodesFlowValidationDetails AWS API Documentation
5886
+ #
5887
+ class MissingEndingNodesFlowValidationDetails < Aws::EmptyStructure; end
5888
+
5889
+ # Details about a node missing required configuration.
5890
+ #
5891
+ # @!attribute [rw] node
5892
+ # The name of the node missing configuration.
5893
+ # @return [String]
5894
+ #
5895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingNodeConfigurationFlowValidationDetails AWS API Documentation
5896
+ #
5897
+ class MissingNodeConfigurationFlowValidationDetails < Struct.new(
5898
+ :node)
5899
+ SENSITIVE = []
5900
+ include Aws::Structure
5901
+ end
5902
+
5903
+ # Details about a missing required input in a node.
5904
+ #
5905
+ # @!attribute [rw] input
5906
+ # The name of the missing input.
5907
+ # @return [String]
5908
+ #
5909
+ # @!attribute [rw] node
5910
+ # The name of the node missing the required input.
5911
+ # @return [String]
5912
+ #
5913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingNodeInputFlowValidationDetails AWS API Documentation
5914
+ #
5915
+ class MissingNodeInputFlowValidationDetails < Struct.new(
5916
+ :input,
5917
+ :node)
5918
+ SENSITIVE = []
5919
+ include Aws::Structure
5920
+ end
5921
+
5922
+ # Details about a missing required output in a node.
5923
+ #
5924
+ # @!attribute [rw] node
5925
+ # The name of the node missing the required output.
5926
+ # @return [String]
5927
+ #
5928
+ # @!attribute [rw] output
5929
+ # The name of the missing output.
5930
+ # @return [String]
5931
+ #
5932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingNodeOutputFlowValidationDetails AWS API Documentation
5933
+ #
5934
+ class MissingNodeOutputFlowValidationDetails < Struct.new(
5935
+ :node,
5936
+ :output)
5937
+ SENSITIVE = []
5938
+ include Aws::Structure
5939
+ end
5940
+
5941
+ # Details about missing starting nodes (such as FlowInputNode) in the
5942
+ # flow.
5943
+ #
5944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MissingStartingNodesFlowValidationDetails AWS API Documentation
5945
+ #
5946
+ class MissingStartingNodesFlowValidationDetails < Aws::EmptyStructure; end
5947
+
5386
5948
  # Contains details about the storage configuration of the knowledge base
5387
5949
  # in MongoDB Atlas.
5388
5950
  #
@@ -5463,6 +6025,25 @@ module Aws::BedrockAgent
5463
6025
  include Aws::Structure
5464
6026
  end
5465
6027
 
6028
+ # Details about multiple connections to a single node input.
6029
+ #
6030
+ # @!attribute [rw] input
6031
+ # The name of the input with multiple connections to it.
6032
+ # @return [String]
6033
+ #
6034
+ # @!attribute [rw] node
6035
+ # The name of the node containing the input with multiple connections.
6036
+ # @return [String]
6037
+ #
6038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/MultipleNodeInputConnectionsFlowValidationDetails AWS API Documentation
6039
+ #
6040
+ class MultipleNodeInputConnectionsFlowValidationDetails < Struct.new(
6041
+ :input,
6042
+ :node)
6043
+ SENSITIVE = []
6044
+ include Aws::Structure
6045
+ end
6046
+
5466
6047
  # Contains details about the storage configuration of the knowledge base
5467
6048
  # in Amazon OpenSearch Service. For more information, see [Create a
5468
6049
  # vector index in Amazon OpenSearch Service][1].
@@ -5821,6 +6402,28 @@ module Aws::BedrockAgent
5821
6402
  include Aws::Structure
5822
6403
  end
5823
6404
 
6405
+ # Contains specifications for an Amazon Bedrock agent with which to use
6406
+ # the prompt. For more information, see [Create a prompt using Prompt
6407
+ # management][1] and [Automate tasks in your application using
6408
+ # conversational agents][2].
6409
+ #
6410
+ #
6411
+ #
6412
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
6413
+ # [2]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html
6414
+ #
6415
+ # @!attribute [rw] agent_identifier
6416
+ # The ARN of the agent with which to use the prompt.
6417
+ # @return [String]
6418
+ #
6419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/PromptAgentResource AWS API Documentation
6420
+ #
6421
+ class PromptAgentResource < Struct.new(
6422
+ :agent_identifier)
6423
+ SENSITIVE = []
6424
+ include Aws::Structure
6425
+ end
6426
+
5824
6427
  # Contains configurations to override a prompt template in one part of
5825
6428
  # an agent sequence. For more information, see [Advanced prompts][1].
5826
6429
  #
@@ -5916,6 +6519,11 @@ module Aws::BedrockAgent
5916
6519
  #
5917
6520
  # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/flows-nodes.html
5918
6521
  #
6522
+ # @!attribute [rw] guardrail_configuration
6523
+ # Contains configurations for a guardrail to apply to the prompt in
6524
+ # this node and the response generated from it.
6525
+ # @return [Types::GuardrailConfiguration]
6526
+ #
5919
6527
  # @!attribute [rw] source_configuration
5920
6528
  # Specifies whether the prompt is from Prompt management or defined
5921
6529
  # inline.
@@ -5924,6 +6532,7 @@ module Aws::BedrockAgent
5924
6532
  # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/PromptFlowNodeConfiguration AWS API Documentation
5925
6533
  #
5926
6534
  class PromptFlowNodeConfiguration < Struct.new(
6535
+ :guardrail_configuration,
5927
6536
  :source_configuration)
5928
6537
  SENSITIVE = []
5929
6538
  include Aws::Structure
@@ -5932,14 +6541,8 @@ module Aws::BedrockAgent
5932
6541
  # Contains configurations for a prompt defined inline in the node.
5933
6542
  #
5934
6543
  # @!attribute [rw] additional_model_request_fields
5935
- # Contains model-specific inference configurations that aren't in the
5936
- # `inferenceConfiguration` field. To see model-specific inference
5937
- # parameters, see [Inference request parameters and response fields
5938
- # for foundation models][1].
5939
- #
5940
- #
5941
- #
5942
- # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
6544
+ # Additional fields to be included in the model request for the Prompt
6545
+ # node.
5943
6546
  # @return [Hash,Array,String,Numeric,Boolean]
5944
6547
  #
5945
6548
  # @!attribute [rw] inference_configuration
@@ -6021,6 +6624,35 @@ module Aws::BedrockAgent
6021
6624
  class Unknown < PromptFlowNodeSourceConfiguration; end
6022
6625
  end
6023
6626
 
6627
+ # Contains specifications for a generative AI resource with which to use
6628
+ # the prompt. For more information, see [Create a prompt using Prompt
6629
+ # management][1].
6630
+ #
6631
+ #
6632
+ #
6633
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
6634
+ #
6635
+ # @note PromptGenAiResource is a union - when making an API calls you must set exactly one of the members.
6636
+ #
6637
+ # @note PromptGenAiResource is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PromptGenAiResource corresponding to the set member.
6638
+ #
6639
+ # @!attribute [rw] agent
6640
+ # Specifies an Amazon Bedrock agent with which to use the prompt.
6641
+ # @return [Types::PromptAgentResource]
6642
+ #
6643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/PromptGenAiResource AWS API Documentation
6644
+ #
6645
+ class PromptGenAiResource < Struct.new(
6646
+ :agent,
6647
+ :unknown)
6648
+ SENSITIVE = [:agent]
6649
+ include Aws::Structure
6650
+ include Aws::Structure::Union
6651
+
6652
+ class Agent < PromptGenAiResource; end
6653
+ class Unknown < PromptGenAiResource; end
6654
+ end
6655
+
6024
6656
  # Contains inference configurations for the prompt.
6025
6657
  #
6026
6658
  # @note PromptInferenceConfiguration is a union - when making an API calls you must set exactly one of the members.
@@ -6214,8 +6846,9 @@ module Aws::BedrockAgent
6214
6846
  include Aws::Structure
6215
6847
  end
6216
6848
 
6217
- # Contains the message for a prompt. For more information, see [Prompt
6218
- # management in Amazon Bedrock][1].
6849
+ # Contains the message for a prompt. For more information, see
6850
+ # [Construct and store reusable prompts with Prompt management in Amazon
6851
+ # Bedrock][1].
6219
6852
  #
6220
6853
  #
6221
6854
  #
@@ -6225,6 +6858,11 @@ module Aws::BedrockAgent
6225
6858
  #
6226
6859
  # @note PromptTemplateConfiguration is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PromptTemplateConfiguration corresponding to the set member.
6227
6860
  #
6861
+ # @!attribute [rw] chat
6862
+ # Contains configurations to use the prompt in a conversational
6863
+ # format.
6864
+ # @return [Types::ChatPromptTemplateConfiguration]
6865
+ #
6228
6866
  # @!attribute [rw] text
6229
6867
  # Contains configurations for the text in a message for a prompt.
6230
6868
  # @return [Types::TextPromptTemplateConfiguration]
@@ -6232,12 +6870,14 @@ module Aws::BedrockAgent
6232
6870
  # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/PromptTemplateConfiguration AWS API Documentation
6233
6871
  #
6234
6872
  class PromptTemplateConfiguration < Struct.new(
6873
+ :chat,
6235
6874
  :text,
6236
6875
  :unknown)
6237
- SENSITIVE = [:text]
6876
+ SENSITIVE = [:chat, :text]
6238
6877
  include Aws::Structure
6239
6878
  include Aws::Structure::Union
6240
6879
 
6880
+ class Chat < PromptTemplateConfiguration; end
6241
6881
  class Text < PromptTemplateConfiguration; end
6242
6882
  class Unknown < PromptTemplateConfiguration; end
6243
6883
  end
@@ -6255,18 +6895,17 @@ module Aws::BedrockAgent
6255
6895
  # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
6256
6896
  # @return [Hash,Array,String,Numeric,Boolean]
6257
6897
  #
6898
+ # @!attribute [rw] gen_ai_resource
6899
+ # Specifies a generative AI resource with which to use the prompt.
6900
+ # @return [Types::PromptGenAiResource]
6901
+ #
6258
6902
  # @!attribute [rw] inference_configuration
6259
6903
  # Contains inference configurations for the prompt variant.
6260
6904
  # @return [Types::PromptInferenceConfiguration]
6261
6905
  #
6262
6906
  # @!attribute [rw] metadata
6263
6907
  # An array of objects, each containing a key-value pair that defines a
6264
- # metadata tag and value to attach to a prompt variant. For more
6265
- # information, see [Create a prompt using Prompt management][1].
6266
- #
6267
- #
6268
- #
6269
- # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
6908
+ # metadata tag and value to attach to a prompt variant.
6270
6909
  # @return [Array<Types::PromptMetadataEntry>]
6271
6910
  #
6272
6911
  # @!attribute [rw] model_id
@@ -6294,13 +6933,14 @@ module Aws::BedrockAgent
6294
6933
  #
6295
6934
  class PromptVariant < Struct.new(
6296
6935
  :additional_model_request_fields,
6936
+ :gen_ai_resource,
6297
6937
  :inference_configuration,
6298
6938
  :metadata,
6299
6939
  :model_id,
6300
6940
  :name,
6301
6941
  :template_configuration,
6302
6942
  :template_type)
6303
- SENSITIVE = [:metadata]
6943
+ SENSITIVE = [:gen_ai_resource, :metadata]
6304
6944
  include Aws::Structure
6305
6945
  end
6306
6946
 
@@ -6827,6 +7467,27 @@ module Aws::BedrockAgent
6827
7467
  include Aws::Structure
6828
7468
  end
6829
7469
 
7470
+ # Defines a specific tool that the model must request. No text is
7471
+ # generated but the results of tool use are sent back to the model to
7472
+ # help generate a response. For more information, see [Use a tool to
7473
+ # complete an Amazon Bedrock model response][1].
7474
+ #
7475
+ #
7476
+ #
7477
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7478
+ #
7479
+ # @!attribute [rw] name
7480
+ # The name of the tool.
7481
+ # @return [String]
7482
+ #
7483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/SpecificToolChoice AWS API Documentation
7484
+ #
7485
+ class SpecificToolChoice < Struct.new(
7486
+ :name)
7487
+ SENSITIVE = []
7488
+ include Aws::Structure
7489
+ end
7490
+
6830
7491
  # @!attribute [rw] client_token
6831
7492
  # A unique, case-sensitive identifier to ensure that the API request
6832
7493
  # completes no more than one time. If this token matches a previous
@@ -7020,6 +7681,35 @@ module Aws::BedrockAgent
7020
7681
  class Unknown < StorageFlowNodeServiceConfiguration; end
7021
7682
  end
7022
7683
 
7684
+ # Contains a system prompt to provide context to the model or to
7685
+ # describe how it should behave. For more information, see [Create a
7686
+ # prompt using Prompt management][1].
7687
+ #
7688
+ #
7689
+ #
7690
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html
7691
+ #
7692
+ # @note SystemContentBlock is a union - when making an API calls you must set exactly one of the members.
7693
+ #
7694
+ # @note SystemContentBlock is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of SystemContentBlock corresponding to the set member.
7695
+ #
7696
+ # @!attribute [rw] text
7697
+ # The text in the system prompt.
7698
+ # @return [String]
7699
+ #
7700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/SystemContentBlock AWS API Documentation
7701
+ #
7702
+ class SystemContentBlock < Struct.new(
7703
+ :text,
7704
+ :unknown)
7705
+ SENSITIVE = []
7706
+ include Aws::Structure
7707
+ include Aws::Structure::Union
7708
+
7709
+ class Text < SystemContentBlock; end
7710
+ class Unknown < SystemContentBlock; end
7711
+ end
7712
+
7023
7713
  # @!attribute [rw] resource_arn
7024
7714
  # The Amazon Resource Name (ARN) of the resource to tag.
7025
7715
  # @return [String]
@@ -7075,6 +7765,163 @@ module Aws::BedrockAgent
7075
7765
  include Aws::Structure
7076
7766
  end
7077
7767
 
7768
+ # Contains configurations for a tool that a model can use when
7769
+ # generating a response. For more information, see [Use a tool to
7770
+ # complete an Amazon Bedrock model response][1].
7771
+ #
7772
+ #
7773
+ #
7774
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7775
+ #
7776
+ # @note Tool is a union - when making an API calls you must set exactly one of the members.
7777
+ #
7778
+ # @note Tool is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Tool corresponding to the set member.
7779
+ #
7780
+ # @!attribute [rw] tool_spec
7781
+ # The specification for the tool.
7782
+ # @return [Types::ToolSpecification]
7783
+ #
7784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/Tool AWS API Documentation
7785
+ #
7786
+ class Tool < Struct.new(
7787
+ :tool_spec,
7788
+ :unknown)
7789
+ SENSITIVE = []
7790
+ include Aws::Structure
7791
+ include Aws::Structure::Union
7792
+
7793
+ class ToolSpec < Tool; end
7794
+ class Unknown < Tool; end
7795
+ end
7796
+
7797
+ # Defines which tools the model should request when invoked. For more
7798
+ # information, see [Use a tool to complete an Amazon Bedrock model
7799
+ # response][1].
7800
+ #
7801
+ #
7802
+ #
7803
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7804
+ #
7805
+ # @note ToolChoice is a union - when making an API calls you must set exactly one of the members.
7806
+ #
7807
+ # @note ToolChoice is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ToolChoice corresponding to the set member.
7808
+ #
7809
+ # @!attribute [rw] any
7810
+ # Defines tools, at least one of which must be requested by the model.
7811
+ # No text is generated but the results of tool use are sent back to
7812
+ # the model to help generate a response.
7813
+ # @return [Types::AnyToolChoice]
7814
+ #
7815
+ # @!attribute [rw] auto
7816
+ # Defines tools. The model automatically decides whether to call a
7817
+ # tool or to generate text instead.
7818
+ # @return [Types::AutoToolChoice]
7819
+ #
7820
+ # @!attribute [rw] tool
7821
+ # Defines a specific tool that the model must request. No text is
7822
+ # generated but the results of tool use are sent back to the model to
7823
+ # help generate a response.
7824
+ # @return [Types::SpecificToolChoice]
7825
+ #
7826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ToolChoice AWS API Documentation
7827
+ #
7828
+ class ToolChoice < Struct.new(
7829
+ :any,
7830
+ :auto,
7831
+ :tool,
7832
+ :unknown)
7833
+ SENSITIVE = []
7834
+ include Aws::Structure
7835
+ include Aws::Structure::Union
7836
+
7837
+ class Any < ToolChoice; end
7838
+ class Auto < ToolChoice; end
7839
+ class Tool < ToolChoice; end
7840
+ class Unknown < ToolChoice; end
7841
+ end
7842
+
7843
+ # Configuration information for the tools that the model can use when
7844
+ # generating a response. For more information, see [Use a tool to
7845
+ # complete an Amazon Bedrock model response][1].
7846
+ #
7847
+ #
7848
+ #
7849
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7850
+ #
7851
+ # @!attribute [rw] tool_choice
7852
+ # Defines which tools the model should request when invoked.
7853
+ # @return [Types::ToolChoice]
7854
+ #
7855
+ # @!attribute [rw] tools
7856
+ # An array of tools to pass to a model.
7857
+ # @return [Array<Types::Tool>]
7858
+ #
7859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ToolConfiguration AWS API Documentation
7860
+ #
7861
+ class ToolConfiguration < Struct.new(
7862
+ :tool_choice,
7863
+ :tools)
7864
+ SENSITIVE = [:tool_choice, :tools]
7865
+ include Aws::Structure
7866
+ end
7867
+
7868
+ # The input schema for the tool. For more information, see [Use a tool
7869
+ # to complete an Amazon Bedrock model response][1].
7870
+ #
7871
+ #
7872
+ #
7873
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7874
+ #
7875
+ # @note ToolInputSchema is a union - when making an API calls you must set exactly one of the members.
7876
+ #
7877
+ # @note ToolInputSchema is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ToolInputSchema corresponding to the set member.
7878
+ #
7879
+ # @!attribute [rw] json
7880
+ # A JSON object defining the input schema for the tool.
7881
+ # @return [Hash,Array,String,Numeric,Boolean]
7882
+ #
7883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ToolInputSchema AWS API Documentation
7884
+ #
7885
+ class ToolInputSchema < Struct.new(
7886
+ :json,
7887
+ :unknown)
7888
+ SENSITIVE = []
7889
+ include Aws::Structure
7890
+ include Aws::Structure::Union
7891
+
7892
+ class Json < ToolInputSchema; end
7893
+ class Unknown < ToolInputSchema; end
7894
+ end
7895
+
7896
+ # Contains a specification for a tool. For more information, see [Use a
7897
+ # tool to complete an Amazon Bedrock model response][1].
7898
+ #
7899
+ #
7900
+ #
7901
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html
7902
+ #
7903
+ # @!attribute [rw] description
7904
+ # The description of the tool.
7905
+ # @return [String]
7906
+ #
7907
+ # @!attribute [rw] input_schema
7908
+ # The input schema for the tool.
7909
+ # @return [Types::ToolInputSchema]
7910
+ #
7911
+ # @!attribute [rw] name
7912
+ # The name of the tool.
7913
+ # @return [String]
7914
+ #
7915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ToolSpecification AWS API Documentation
7916
+ #
7917
+ class ToolSpecification < Struct.new(
7918
+ :description,
7919
+ :input_schema,
7920
+ :name)
7921
+ SENSITIVE = []
7922
+ include Aws::Structure
7923
+ end
7924
+
7078
7925
  # A custom processing step for documents moving through a data source
7079
7926
  # ingestion pipeline. To process documents after they have been
7080
7927
  # converted into chunks, set the step to apply to `POST_CHUNKING`.
@@ -7124,6 +7971,134 @@ module Aws::BedrockAgent
7124
7971
  include Aws::Structure
7125
7972
  end
7126
7973
 
7974
+ # Details about an unfulfilled node input with no valid connections.
7975
+ #
7976
+ # @!attribute [rw] input
7977
+ # The name of the unfulfilled input. An input is unfulfilled if there
7978
+ # are no data connections to it.
7979
+ # @return [String]
7980
+ #
7981
+ # @!attribute [rw] node
7982
+ # The name of the node containing the unfulfilled input.
7983
+ # @return [String]
7984
+ #
7985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnfulfilledNodeInputFlowValidationDetails AWS API Documentation
7986
+ #
7987
+ class UnfulfilledNodeInputFlowValidationDetails < Struct.new(
7988
+ :input,
7989
+ :node)
7990
+ SENSITIVE = []
7991
+ include Aws::Structure
7992
+ end
7993
+
7994
+ # Details about an unknown condition for a connection.
7995
+ #
7996
+ # @!attribute [rw] connection
7997
+ # The name of the connection with the unknown condition.
7998
+ # @return [String]
7999
+ #
8000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnknownConnectionConditionFlowValidationDetails AWS API Documentation
8001
+ #
8002
+ class UnknownConnectionConditionFlowValidationDetails < Struct.new(
8003
+ :connection)
8004
+ SENSITIVE = []
8005
+ include Aws::Structure
8006
+ end
8007
+
8008
+ # Details about an unknown source node for a connection.
8009
+ #
8010
+ # @!attribute [rw] connection
8011
+ # The name of the connection with the unknown source.
8012
+ # @return [String]
8013
+ #
8014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnknownConnectionSourceFlowValidationDetails AWS API Documentation
8015
+ #
8016
+ class UnknownConnectionSourceFlowValidationDetails < Struct.new(
8017
+ :connection)
8018
+ SENSITIVE = []
8019
+ include Aws::Structure
8020
+ end
8021
+
8022
+ # Details about an unknown source output for a connection.
8023
+ #
8024
+ # @!attribute [rw] connection
8025
+ # The name of the connection with the unknown source output.
8026
+ # @return [String]
8027
+ #
8028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnknownConnectionSourceOutputFlowValidationDetails AWS API Documentation
8029
+ #
8030
+ class UnknownConnectionSourceOutputFlowValidationDetails < Struct.new(
8031
+ :connection)
8032
+ SENSITIVE = []
8033
+ include Aws::Structure
8034
+ end
8035
+
8036
+ # Details about an unknown target node for a connection.
8037
+ #
8038
+ # @!attribute [rw] connection
8039
+ # The name of the connection with the unknown target.
8040
+ # @return [String]
8041
+ #
8042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnknownConnectionTargetFlowValidationDetails AWS API Documentation
8043
+ #
8044
+ class UnknownConnectionTargetFlowValidationDetails < Struct.new(
8045
+ :connection)
8046
+ SENSITIVE = []
8047
+ include Aws::Structure
8048
+ end
8049
+
8050
+ # Details about an unknown target input for a connection.
8051
+ #
8052
+ # @!attribute [rw] connection
8053
+ # The name of the connection with the unknown target input.
8054
+ # @return [String]
8055
+ #
8056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnknownConnectionTargetInputFlowValidationDetails AWS API Documentation
8057
+ #
8058
+ class UnknownConnectionTargetInputFlowValidationDetails < Struct.new(
8059
+ :connection)
8060
+ SENSITIVE = []
8061
+ include Aws::Structure
8062
+ end
8063
+
8064
+ # Details about an unreachable node in the flow. A node is unreachable
8065
+ # when there are no paths to it from any starting node.
8066
+ #
8067
+ # @!attribute [rw] node
8068
+ # The name of the unreachable node.
8069
+ # @return [String]
8070
+ #
8071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnreachableNodeFlowValidationDetails AWS API Documentation
8072
+ #
8073
+ class UnreachableNodeFlowValidationDetails < Struct.new(
8074
+ :node)
8075
+ SENSITIVE = []
8076
+ include Aws::Structure
8077
+ end
8078
+
8079
+ # Details about unsatisfied conditions for a connection. A condition is
8080
+ # unsatisfied if it can never be true, for example two branches of
8081
+ # condition node cannot be simultaneously true.
8082
+ #
8083
+ # @!attribute [rw] connection
8084
+ # The name of the connection with unsatisfied conditions.
8085
+ # @return [String]
8086
+ #
8087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnsatisfiedConnectionConditionsFlowValidationDetails AWS API Documentation
8088
+ #
8089
+ class UnsatisfiedConnectionConditionsFlowValidationDetails < Struct.new(
8090
+ :connection)
8091
+ SENSITIVE = []
8092
+ include Aws::Structure
8093
+ end
8094
+
8095
+ # Details about an unspecified validation that doesn't fit other
8096
+ # categories.
8097
+ #
8098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/UnspecifiedFlowValidationDetails AWS API Documentation
8099
+ #
8100
+ class UnspecifiedFlowValidationDetails < Aws::EmptyStructure; end
8101
+
7127
8102
  # @!attribute [rw] resource_arn
7128
8103
  # The Amazon Resource Name (ARN) of the resource from which to remove
7129
8104
  # tags.
@@ -7901,6 +8876,31 @@ module Aws::BedrockAgent
7901
8876
  include Aws::Structure
7902
8877
  end
7903
8878
 
8879
+ # @!attribute [rw] definition
8880
+ # The definition of a flow to validate.
8881
+ # @return [Types::FlowDefinition]
8882
+ #
8883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ValidateFlowDefinitionRequest AWS API Documentation
8884
+ #
8885
+ class ValidateFlowDefinitionRequest < Struct.new(
8886
+ :definition)
8887
+ SENSITIVE = [:definition]
8888
+ include Aws::Structure
8889
+ end
8890
+
8891
+ # @!attribute [rw] validations
8892
+ # Contains an array of objects, each of which contains an error
8893
+ # identified by validation.
8894
+ # @return [Array<Types::FlowValidation>]
8895
+ #
8896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-2023-06-05/ValidateFlowDefinitionResponse AWS API Documentation
8897
+ #
8898
+ class ValidateFlowDefinitionResponse < Struct.new(
8899
+ :validations)
8900
+ SENSITIVE = []
8901
+ include Aws::Structure
8902
+ end
8903
+
7904
8904
  # Input validation failed. Check your request parameters and retry the
7905
8905
  # request.
7906
8906
  #