service/bedrockagentruntime/api.go (4,827 lines of code) (raw):
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package bedrockagentruntime
import (
"bytes"
"fmt"
"io"
"sync"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/eventstream"
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
"github.com/aws/aws-sdk-go/private/protocol/rest"
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
const opDeleteAgentMemory = "DeleteAgentMemory"
// DeleteAgentMemoryRequest generates a "aws/request.Request" representing the
// client's request for the DeleteAgentMemory operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteAgentMemory for more information on using the DeleteAgentMemory
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DeleteAgentMemoryRequest method.
// req, resp := client.DeleteAgentMemoryRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/DeleteAgentMemory
func (c *BedrockAgentRuntime) DeleteAgentMemoryRequest(input *DeleteAgentMemoryInput) (req *request.Request, output *DeleteAgentMemoryOutput) {
op := &request.Operation{
Name: opDeleteAgentMemory,
HTTPMethod: "DELETE",
HTTPPath: "/agents/{agentId}/agentAliases/{agentAliasId}/memories",
}
if input == nil {
input = &DeleteAgentMemoryInput{}
}
output = &DeleteAgentMemoryOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteAgentMemory API operation for Agents for Amazon Bedrock Runtime.
//
// Deletes memory from the specified memory identifier.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation DeleteAgentMemory for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/DeleteAgentMemory
func (c *BedrockAgentRuntime) DeleteAgentMemory(input *DeleteAgentMemoryInput) (*DeleteAgentMemoryOutput, error) {
req, out := c.DeleteAgentMemoryRequest(input)
return out, req.Send()
}
// DeleteAgentMemoryWithContext is the same as DeleteAgentMemory with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteAgentMemory for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) DeleteAgentMemoryWithContext(ctx aws.Context, input *DeleteAgentMemoryInput, opts ...request.Option) (*DeleteAgentMemoryOutput, error) {
req, out := c.DeleteAgentMemoryRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetAgentMemory = "GetAgentMemory"
// GetAgentMemoryRequest generates a "aws/request.Request" representing the
// client's request for the GetAgentMemory operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetAgentMemory for more information on using the GetAgentMemory
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the GetAgentMemoryRequest method.
// req, resp := client.GetAgentMemoryRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/GetAgentMemory
func (c *BedrockAgentRuntime) GetAgentMemoryRequest(input *GetAgentMemoryInput) (req *request.Request, output *GetAgentMemoryOutput) {
op := &request.Operation{
Name: opGetAgentMemory,
HTTPMethod: "GET",
HTTPPath: "/agents/{agentId}/agentAliases/{agentAliasId}/memories",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "maxItems",
TruncationToken: "",
},
}
if input == nil {
input = &GetAgentMemoryInput{}
}
output = &GetAgentMemoryOutput{}
req = c.newRequest(op, input, output)
return
}
// GetAgentMemory API operation for Agents for Amazon Bedrock Runtime.
//
// Gets the sessions stored in the memory of the agent.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation GetAgentMemory for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/GetAgentMemory
func (c *BedrockAgentRuntime) GetAgentMemory(input *GetAgentMemoryInput) (*GetAgentMemoryOutput, error) {
req, out := c.GetAgentMemoryRequest(input)
return out, req.Send()
}
// GetAgentMemoryWithContext is the same as GetAgentMemory with the addition of
// the ability to pass a context and additional request options.
//
// See GetAgentMemory for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) GetAgentMemoryWithContext(ctx aws.Context, input *GetAgentMemoryInput, opts ...request.Option) (*GetAgentMemoryOutput, error) {
req, out := c.GetAgentMemoryRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// GetAgentMemoryPages iterates over the pages of a GetAgentMemory operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetAgentMemory method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a GetAgentMemory operation.
// pageNum := 0
// err := client.GetAgentMemoryPages(params,
// func(page *bedrockagentruntime.GetAgentMemoryOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *BedrockAgentRuntime) GetAgentMemoryPages(input *GetAgentMemoryInput, fn func(*GetAgentMemoryOutput, bool) bool) error {
return c.GetAgentMemoryPagesWithContext(aws.BackgroundContext(), input, fn)
}
// GetAgentMemoryPagesWithContext same as GetAgentMemoryPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) GetAgentMemoryPagesWithContext(ctx aws.Context, input *GetAgentMemoryInput, fn func(*GetAgentMemoryOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *GetAgentMemoryInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.GetAgentMemoryRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*GetAgentMemoryOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opInvokeAgent = "InvokeAgent"
// InvokeAgentRequest generates a "aws/request.Request" representing the
// client's request for the InvokeAgent operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See InvokeAgent for more information on using the InvokeAgent
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the InvokeAgentRequest method.
// req, resp := client.InvokeAgentRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeAgent
func (c *BedrockAgentRuntime) InvokeAgentRequest(input *InvokeAgentInput) (req *request.Request, output *InvokeAgentOutput) {
op := &request.Operation{
Name: opInvokeAgent,
HTTPMethod: "POST",
HTTPPath: "/agents/{agentId}/agentAliases/{agentAliasId}/sessions/{sessionId}/text",
}
if input == nil {
input = &InvokeAgentInput{}
}
output = &InvokeAgentOutput{}
req = c.newRequest(op, input, output)
es := NewInvokeAgentEventStream()
output.eventStream = es
req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, rest.UnmarshalHandler)
req.Handlers.Unmarshal.PushBack(es.runOutputStream)
req.Handlers.Unmarshal.PushBack(es.runOnStreamPartClose)
return
}
// InvokeAgent API operation for Agents for Amazon Bedrock Runtime.
//
// The CLI doesn't support streaming operations in Amazon Bedrock, including
// InvokeAgent.
//
// Sends a prompt for the agent to process and respond to. Note the following
// fields for the request:
//
// - To continue the same conversation with an agent, use the same sessionId
// value in the request.
//
// - To activate trace enablement, turn enableTrace to true. Trace enablement
// helps you follow the agent's reasoning process that led it to the information
// it processed, the actions it took, and the final result it yielded. For
// more information, see Trace enablement (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events).
//
// - End a conversation by setting endSession to true.
//
// - In the sessionState object, you can include attributes for the session
// or prompt or, if you configured an action group to return control, results
// from invocation of the action group.
//
// The response is returned in the bytes field of the chunk object.
//
// - The attribution object contains citations for parts of the response.
//
// - If you set enableTrace to true in the request, you can trace the agent's
// steps and reasoning process that led it to the response.
//
// - If the action predicted was configured to return control, the response
// returns parameters for the action, elicited from the user, in the returnControl
// field.
//
// - Errors are also surfaced in the response.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation InvokeAgent for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeAgent
func (c *BedrockAgentRuntime) InvokeAgent(input *InvokeAgentInput) (*InvokeAgentOutput, error) {
req, out := c.InvokeAgentRequest(input)
return out, req.Send()
}
// InvokeAgentWithContext is the same as InvokeAgent with the addition of
// the ability to pass a context and additional request options.
//
// See InvokeAgent for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) InvokeAgentWithContext(ctx aws.Context, input *InvokeAgentInput, opts ...request.Option) (*InvokeAgentOutput, error) {
req, out := c.InvokeAgentRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
var _ awserr.Error
var _ time.Time
// InvokeAgentEventStream provides the event stream handling for the InvokeAgent.
//
// For testing and mocking the event stream this type should be initialized via
// the NewInvokeAgentEventStream constructor function. Using the functional options
// to pass in nested mock behavior.
type InvokeAgentEventStream struct {
// Reader is the EventStream reader for the ResponseStream
// events. This value is automatically set by the SDK when the API call is made
// Use this member when unit testing your code with the SDK to mock out the
// EventStream Reader.
//
// Must not be nil.
Reader ResponseStreamReader
outputReader io.ReadCloser
done chan struct{}
closeOnce sync.Once
err *eventstreamapi.OnceError
}
// NewInvokeAgentEventStream initializes an InvokeAgentEventStream.
// This function should only be used for testing and mocking the InvokeAgentEventStream
// stream within your application.
//
// The Reader member must be set before reading events from the stream.
//
// es := NewInvokeAgentEventStream(func(o *InvokeAgentEventStream){
// es.Reader = myMockStreamReader
// })
func NewInvokeAgentEventStream(opts ...func(*InvokeAgentEventStream)) *InvokeAgentEventStream {
es := &InvokeAgentEventStream{
done: make(chan struct{}),
err: eventstreamapi.NewOnceError(),
}
for _, fn := range opts {
fn(es)
}
return es
}
func (es *InvokeAgentEventStream) runOnStreamPartClose(r *request.Request) {
if es.done == nil {
return
}
go es.waitStreamPartClose()
}
func (es *InvokeAgentEventStream) waitStreamPartClose() {
var outputErrCh <-chan struct{}
if v, ok := es.Reader.(interface{ ErrorSet() <-chan struct{} }); ok {
outputErrCh = v.ErrorSet()
}
var outputClosedCh <-chan struct{}
if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok {
outputClosedCh = v.Closed()
}
select {
case <-es.done:
case <-outputErrCh:
es.err.SetError(es.Reader.Err())
es.Close()
case <-outputClosedCh:
if err := es.Reader.Err(); err != nil {
es.err.SetError(es.Reader.Err())
}
es.Close()
}
}
// Events returns a channel to read events from.
//
// These events are:
//
// - PayloadPart
// - FilePart
// - ReturnControlPayload
// - TracePart
// - ResponseStreamUnknownEvent
func (es *InvokeAgentEventStream) Events() <-chan ResponseStreamEvent {
return es.Reader.Events()
}
func (es *InvokeAgentEventStream) runOutputStream(r *request.Request) {
var opts []func(*eventstream.Decoder)
if r.Config.Logger != nil && r.Config.LogLevel.Matches(aws.LogDebugWithEventStreamBody) {
opts = append(opts, eventstream.DecodeWithLogger(r.Config.Logger))
}
unmarshalerForEvent := unmarshalerForResponseStreamEvent{
metadata: protocol.ResponseMetadata{
StatusCode: r.HTTPResponse.StatusCode,
RequestID: r.RequestID,
},
}.UnmarshalerForEventName
decoder := eventstream.NewDecoder(r.HTTPResponse.Body, opts...)
eventReader := eventstreamapi.NewEventReader(decoder,
protocol.HandlerPayloadUnmarshal{
Unmarshalers: r.Handlers.UnmarshalStream,
},
unmarshalerForEvent,
)
es.outputReader = r.HTTPResponse.Body
es.Reader = newReadResponseStream(eventReader)
}
// Close closes the stream. This will also cause the stream to be closed.
// Close must be called when done using the stream API. Not calling Close
// may result in resource leaks.
//
// You can use the closing of the Reader's Events channel to terminate your
// application's read from the API's stream.
func (es *InvokeAgentEventStream) Close() (err error) {
es.closeOnce.Do(es.safeClose)
return es.Err()
}
func (es *InvokeAgentEventStream) safeClose() {
if es.done != nil {
close(es.done)
}
es.Reader.Close()
if es.outputReader != nil {
es.outputReader.Close()
}
}
// Err returns any error that occurred while reading or writing EventStream
// Events from the service API's response. Returns nil if there were no errors.
func (es *InvokeAgentEventStream) Err() error {
if err := es.err.Err(); err != nil {
return err
}
if err := es.Reader.Err(); err != nil {
return err
}
return nil
}
const opInvokeFlow = "InvokeFlow"
// InvokeFlowRequest generates a "aws/request.Request" representing the
// client's request for the InvokeFlow operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See InvokeFlow for more information on using the InvokeFlow
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the InvokeFlowRequest method.
// req, resp := client.InvokeFlowRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeFlow
func (c *BedrockAgentRuntime) InvokeFlowRequest(input *InvokeFlowInput) (req *request.Request, output *InvokeFlowOutput) {
op := &request.Operation{
Name: opInvokeFlow,
HTTPMethod: "POST",
HTTPPath: "/flows/{flowIdentifier}/aliases/{flowAliasIdentifier}",
}
if input == nil {
input = &InvokeFlowInput{}
}
output = &InvokeFlowOutput{}
req = c.newRequest(op, input, output)
es := NewInvokeFlowEventStream()
output.eventStream = es
req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, rest.UnmarshalHandler)
req.Handlers.Unmarshal.PushBack(es.runOutputStream)
req.Handlers.Unmarshal.PushBack(es.runOnStreamPartClose)
return
}
// InvokeFlow API operation for Agents for Amazon Bedrock Runtime.
//
// Invokes an alias of a flow to run the inputs that you specify and return
// the output of each node as a stream. If there's an error, the error is returned.
// For more information, see Test a flow in Amazon Bedrock (https://docs.aws.amazon.com/bedrock/latest/userguide/flows-test.html)
// in the Amazon Bedrock User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation InvokeFlow for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeFlow
func (c *BedrockAgentRuntime) InvokeFlow(input *InvokeFlowInput) (*InvokeFlowOutput, error) {
req, out := c.InvokeFlowRequest(input)
return out, req.Send()
}
// InvokeFlowWithContext is the same as InvokeFlow with the addition of
// the ability to pass a context and additional request options.
//
// See InvokeFlow for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) InvokeFlowWithContext(ctx aws.Context, input *InvokeFlowInput, opts ...request.Option) (*InvokeFlowOutput, error) {
req, out := c.InvokeFlowRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
var _ awserr.Error
var _ time.Time
// InvokeFlowEventStream provides the event stream handling for the InvokeFlow.
//
// For testing and mocking the event stream this type should be initialized via
// the NewInvokeFlowEventStream constructor function. Using the functional options
// to pass in nested mock behavior.
type InvokeFlowEventStream struct {
// Reader is the EventStream reader for the FlowResponseStream
// events. This value is automatically set by the SDK when the API call is made
// Use this member when unit testing your code with the SDK to mock out the
// EventStream Reader.
//
// Must not be nil.
Reader FlowResponseStreamReader
outputReader io.ReadCloser
done chan struct{}
closeOnce sync.Once
err *eventstreamapi.OnceError
}
// NewInvokeFlowEventStream initializes an InvokeFlowEventStream.
// This function should only be used for testing and mocking the InvokeFlowEventStream
// stream within your application.
//
// The Reader member must be set before reading events from the stream.
//
// es := NewInvokeFlowEventStream(func(o *InvokeFlowEventStream){
// es.Reader = myMockStreamReader
// })
func NewInvokeFlowEventStream(opts ...func(*InvokeFlowEventStream)) *InvokeFlowEventStream {
es := &InvokeFlowEventStream{
done: make(chan struct{}),
err: eventstreamapi.NewOnceError(),
}
for _, fn := range opts {
fn(es)
}
return es
}
func (es *InvokeFlowEventStream) runOnStreamPartClose(r *request.Request) {
if es.done == nil {
return
}
go es.waitStreamPartClose()
}
func (es *InvokeFlowEventStream) waitStreamPartClose() {
var outputErrCh <-chan struct{}
if v, ok := es.Reader.(interface{ ErrorSet() <-chan struct{} }); ok {
outputErrCh = v.ErrorSet()
}
var outputClosedCh <-chan struct{}
if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok {
outputClosedCh = v.Closed()
}
select {
case <-es.done:
case <-outputErrCh:
es.err.SetError(es.Reader.Err())
es.Close()
case <-outputClosedCh:
if err := es.Reader.Err(); err != nil {
es.err.SetError(es.Reader.Err())
}
es.Close()
}
}
// Events returns a channel to read events from.
//
// These events are:
//
// - FlowCompletionEvent
// - FlowOutputEvent
// - FlowResponseStreamUnknownEvent
func (es *InvokeFlowEventStream) Events() <-chan FlowResponseStreamEvent {
return es.Reader.Events()
}
func (es *InvokeFlowEventStream) runOutputStream(r *request.Request) {
var opts []func(*eventstream.Decoder)
if r.Config.Logger != nil && r.Config.LogLevel.Matches(aws.LogDebugWithEventStreamBody) {
opts = append(opts, eventstream.DecodeWithLogger(r.Config.Logger))
}
unmarshalerForEvent := unmarshalerForFlowResponseStreamEvent{
metadata: protocol.ResponseMetadata{
StatusCode: r.HTTPResponse.StatusCode,
RequestID: r.RequestID,
},
}.UnmarshalerForEventName
decoder := eventstream.NewDecoder(r.HTTPResponse.Body, opts...)
eventReader := eventstreamapi.NewEventReader(decoder,
protocol.HandlerPayloadUnmarshal{
Unmarshalers: r.Handlers.UnmarshalStream,
},
unmarshalerForEvent,
)
es.outputReader = r.HTTPResponse.Body
es.Reader = newReadFlowResponseStream(eventReader)
}
// Close closes the stream. This will also cause the stream to be closed.
// Close must be called when done using the stream API. Not calling Close
// may result in resource leaks.
//
// You can use the closing of the Reader's Events channel to terminate your
// application's read from the API's stream.
func (es *InvokeFlowEventStream) Close() (err error) {
es.closeOnce.Do(es.safeClose)
return es.Err()
}
func (es *InvokeFlowEventStream) safeClose() {
if es.done != nil {
close(es.done)
}
es.Reader.Close()
if es.outputReader != nil {
es.outputReader.Close()
}
}
// Err returns any error that occurred while reading or writing EventStream
// Events from the service API's response. Returns nil if there were no errors.
func (es *InvokeFlowEventStream) Err() error {
if err := es.err.Err(); err != nil {
return err
}
if err := es.Reader.Err(); err != nil {
return err
}
return nil
}
const opRetrieve = "Retrieve"
// RetrieveRequest generates a "aws/request.Request" representing the
// client's request for the Retrieve operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See Retrieve for more information on using the Retrieve
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the RetrieveRequest method.
// req, resp := client.RetrieveRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/Retrieve
func (c *BedrockAgentRuntime) RetrieveRequest(input *RetrieveInput) (req *request.Request, output *RetrieveOutput) {
op := &request.Operation{
Name: opRetrieve,
HTTPMethod: "POST",
HTTPPath: "/knowledgebases/{knowledgeBaseId}/retrieve",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &RetrieveInput{}
}
output = &RetrieveOutput{}
req = c.newRequest(op, input, output)
return
}
// Retrieve API operation for Agents for Amazon Bedrock Runtime.
//
// Queries a knowledge base and retrieves information from it.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation Retrieve for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/Retrieve
func (c *BedrockAgentRuntime) Retrieve(input *RetrieveInput) (*RetrieveOutput, error) {
req, out := c.RetrieveRequest(input)
return out, req.Send()
}
// RetrieveWithContext is the same as Retrieve with the addition of
// the ability to pass a context and additional request options.
//
// See Retrieve for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) RetrieveWithContext(ctx aws.Context, input *RetrieveInput, opts ...request.Option) (*RetrieveOutput, error) {
req, out := c.RetrieveRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// RetrievePages iterates over the pages of a Retrieve operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See Retrieve method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a Retrieve operation.
// pageNum := 0
// err := client.RetrievePages(params,
// func(page *bedrockagentruntime.RetrieveOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *BedrockAgentRuntime) RetrievePages(input *RetrieveInput, fn func(*RetrieveOutput, bool) bool) error {
return c.RetrievePagesWithContext(aws.BackgroundContext(), input, fn)
}
// RetrievePagesWithContext same as RetrievePages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) RetrievePagesWithContext(ctx aws.Context, input *RetrieveInput, fn func(*RetrieveOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *RetrieveInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.RetrieveRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*RetrieveOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opRetrieveAndGenerate = "RetrieveAndGenerate"
// RetrieveAndGenerateRequest generates a "aws/request.Request" representing the
// client's request for the RetrieveAndGenerate operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RetrieveAndGenerate for more information on using the RetrieveAndGenerate
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the RetrieveAndGenerateRequest method.
// req, resp := client.RetrieveAndGenerateRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/RetrieveAndGenerate
func (c *BedrockAgentRuntime) RetrieveAndGenerateRequest(input *RetrieveAndGenerateInput) (req *request.Request, output *RetrieveAndGenerateOutput) {
op := &request.Operation{
Name: opRetrieveAndGenerate,
HTTPMethod: "POST",
HTTPPath: "/retrieveAndGenerate",
}
if input == nil {
input = &RetrieveAndGenerateInput{}
}
output = &RetrieveAndGenerateOutput{}
req = c.newRequest(op, input, output)
return
}
// RetrieveAndGenerate API operation for Agents for Amazon Bedrock Runtime.
//
// Queries a knowledge base and generates responses based on the retrieved results.
// The response only cites sources that are relevant to the query.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Agents for Amazon Bedrock Runtime's
// API operation RetrieveAndGenerate for usage and error information.
//
// Returned Error Types:
//
// - ConflictException
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
//
// - ResourceNotFoundException
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
//
// - ValidationException
// Input validation failed. Check your request parameters and retry the request.
//
// - InternalServerException
// An internal server error occurred. Retry your request.
//
// - DependencyFailedException
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
//
// - BadGatewayException
// There was an issue with a dependency due to a server issue. Retry your request.
//
// - ThrottlingException
// The number of requests exceeds the limit. Resubmit your request later.
//
// - AccessDeniedException
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
//
// - ServiceQuotaExceededException
// The number of requests exceeds the service quota. Resubmit your request later.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/RetrieveAndGenerate
func (c *BedrockAgentRuntime) RetrieveAndGenerate(input *RetrieveAndGenerateInput) (*RetrieveAndGenerateOutput, error) {
req, out := c.RetrieveAndGenerateRequest(input)
return out, req.Send()
}
// RetrieveAndGenerateWithContext is the same as RetrieveAndGenerate with the addition of
// the ability to pass a context and additional request options.
//
// See RetrieveAndGenerate for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *BedrockAgentRuntime) RetrieveAndGenerateWithContext(ctx aws.Context, input *RetrieveAndGenerateInput, opts ...request.Option) (*RetrieveAndGenerateOutput, error) {
req, out := c.RetrieveAndGenerateRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// The request is denied because of missing access permissions. Check your permissions
// and retry your request.
type AccessDeniedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
return s.String()
}
// The AccessDeniedException is and event in the FlowResponseStream group of events.
func (s *AccessDeniedException) eventFlowResponseStream() {}
// The AccessDeniedException is and event in the ResponseStream group of events.
func (s *AccessDeniedException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the AccessDeniedException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *AccessDeniedException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *AccessDeniedException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
return &AccessDeniedException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
return "AccessDeniedException"
}
// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
return nil
}
func (s *AccessDeniedException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
return s.RespMetadata.RequestID
}
// Contains information about the action group being invoked. For more information
// about the possible structures, see the InvocationInput tab in OrchestrationTrace
// (https://docs.aws.amazon.com/bedrock/latest/userguide/trace-orchestration.html)
// in the Amazon Bedrock User Guide.
type ActionGroupInvocationInput_ struct {
_ struct{} `type:"structure"`
// The name of the action group.
//
// ActionGroupName is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ActionGroupInvocationInput_'s
// String and GoString methods.
ActionGroupName *string `locationName:"actionGroupName" type:"string" sensitive:"true"`
// The path to the API to call, based off the action group.
//
// ApiPath is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ActionGroupInvocationInput_'s
// String and GoString methods.
ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"`
// How fulfillment of the action is handled. For more information, see Handling
// fulfillment of the action (https://docs.aws.amazon.com/bedrock/latest/userguide/action-handle.html).
ExecutionType *string `locationName:"executionType" type:"string" enum:"ExecutionType"`
// The function in the action group to call.
//
// Function is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ActionGroupInvocationInput_'s
// String and GoString methods.
Function *string `locationName:"function" type:"string" sensitive:"true"`
// The unique identifier of the invocation. Only returned if the executionType
// is RETURN_CONTROL.
InvocationId *string `locationName:"invocationId" type:"string"`
// The parameters in the Lambda input event.
Parameters []*Parameter `locationName:"parameters" type:"list"`
// The parameters in the request body for the Lambda input event.
RequestBody *RequestBody `locationName:"requestBody" type:"structure"`
// The API method being used, based off the action group.
//
// Verb is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ActionGroupInvocationInput_'s
// String and GoString methods.
Verb *string `locationName:"verb" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ActionGroupInvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ActionGroupInvocationInput_) GoString() string {
return s.String()
}
// SetActionGroupName sets the ActionGroupName field's value.
func (s *ActionGroupInvocationInput_) SetActionGroupName(v string) *ActionGroupInvocationInput_ {
s.ActionGroupName = &v
return s
}
// SetApiPath sets the ApiPath field's value.
func (s *ActionGroupInvocationInput_) SetApiPath(v string) *ActionGroupInvocationInput_ {
s.ApiPath = &v
return s
}
// SetExecutionType sets the ExecutionType field's value.
func (s *ActionGroupInvocationInput_) SetExecutionType(v string) *ActionGroupInvocationInput_ {
s.ExecutionType = &v
return s
}
// SetFunction sets the Function field's value.
func (s *ActionGroupInvocationInput_) SetFunction(v string) *ActionGroupInvocationInput_ {
s.Function = &v
return s
}
// SetInvocationId sets the InvocationId field's value.
func (s *ActionGroupInvocationInput_) SetInvocationId(v string) *ActionGroupInvocationInput_ {
s.InvocationId = &v
return s
}
// SetParameters sets the Parameters field's value.
func (s *ActionGroupInvocationInput_) SetParameters(v []*Parameter) *ActionGroupInvocationInput_ {
s.Parameters = v
return s
}
// SetRequestBody sets the RequestBody field's value.
func (s *ActionGroupInvocationInput_) SetRequestBody(v *RequestBody) *ActionGroupInvocationInput_ {
s.RequestBody = v
return s
}
// SetVerb sets the Verb field's value.
func (s *ActionGroupInvocationInput_) SetVerb(v string) *ActionGroupInvocationInput_ {
s.Verb = &v
return s
}
// Contains the JSON-formatted string returned by the API invoked by the action
// group.
type ActionGroupInvocationOutput_ struct {
_ struct{} `type:"structure"`
// The JSON-formatted string returned by the API invoked by the action group.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ActionGroupInvocationOutput_'s
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ActionGroupInvocationOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ActionGroupInvocationOutput_) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *ActionGroupInvocationOutput_) SetText(v string) *ActionGroupInvocationOutput_ {
s.Text = &v
return s
}
// Contains information about the API operation that the agent predicts should
// be called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type ApiInvocationInput_ struct {
_ struct{} `type:"structure"`
// The action group that the API operation belongs to.
//
// ActionGroup is a required field
ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"`
// The path to the API operation.
//
// ApiPath is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ApiInvocationInput_'s
// String and GoString methods.
ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"`
// The HTTP method of the API operation.
HttpMethod *string `locationName:"httpMethod" type:"string"`
// The parameters to provide for the API request, as the agent elicited from
// the user.
Parameters []*ApiParameter `locationName:"parameters" type:"list"`
// The request body to provide for the API request, as the agent elicited from
// the user.
RequestBody *ApiRequestBody `locationName:"requestBody" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiInvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiInvocationInput_) GoString() string {
return s.String()
}
// SetActionGroup sets the ActionGroup field's value.
func (s *ApiInvocationInput_) SetActionGroup(v string) *ApiInvocationInput_ {
s.ActionGroup = &v
return s
}
// SetApiPath sets the ApiPath field's value.
func (s *ApiInvocationInput_) SetApiPath(v string) *ApiInvocationInput_ {
s.ApiPath = &v
return s
}
// SetHttpMethod sets the HttpMethod field's value.
func (s *ApiInvocationInput_) SetHttpMethod(v string) *ApiInvocationInput_ {
s.HttpMethod = &v
return s
}
// SetParameters sets the Parameters field's value.
func (s *ApiInvocationInput_) SetParameters(v []*ApiParameter) *ApiInvocationInput_ {
s.Parameters = v
return s
}
// SetRequestBody sets the RequestBody field's value.
func (s *ApiInvocationInput_) SetRequestBody(v *ApiRequestBody) *ApiInvocationInput_ {
s.RequestBody = v
return s
}
// Information about a parameter to provide to the API request.
//
// This data type is used in the following API operations:
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type ApiParameter struct {
_ struct{} `type:"structure"`
// The name of the parameter.
Name *string `locationName:"name" type:"string"`
// The data type for the parameter.
Type *string `locationName:"type" type:"string"`
// The value of the parameter.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiParameter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiParameter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *ApiParameter) SetName(v string) *ApiParameter {
s.Name = &v
return s
}
// SetType sets the Type field's value.
func (s *ApiParameter) SetType(v string) *ApiParameter {
s.Type = &v
return s
}
// SetValue sets the Value field's value.
func (s *ApiParameter) SetValue(v string) *ApiParameter {
s.Value = &v
return s
}
// The request body to provide for the API request, as the agent elicited from
// the user.
//
// This data type is used in the following API operations:
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type ApiRequestBody struct {
_ struct{} `type:"structure"`
// The content of the request body. The key of the object in this field is a
// media type defining the format of the request body.
Content map[string]*PropertyParameters `locationName:"content" type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiRequestBody) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiRequestBody) GoString() string {
return s.String()
}
// SetContent sets the Content field's value.
func (s *ApiRequestBody) SetContent(v map[string]*PropertyParameters) *ApiRequestBody {
s.Content = v
return s
}
// Contains information about the API operation that was called from the action
// group and the response body that was returned.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults of the InvokeAgent request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax)
type ApiResult struct {
_ struct{} `type:"structure"`
// The action group that the API operation belongs to.
//
// ActionGroup is a required field
ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"`
// The path to the API operation.
//
// ApiPath is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ApiResult's
// String and GoString methods.
ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"`
// The HTTP method for the API operation.
HttpMethod *string `locationName:"httpMethod" type:"string"`
// http status code from API execution response (for example: 200, 400, 500).
HttpStatusCode *int64 `locationName:"httpStatusCode" type:"integer"`
// The response body from the API operation. The key of the object is the content
// type (currently, only TEXT is supported). The response may be returned directly
// or from the Lambda function.
ResponseBody map[string]*ContentBody `locationName:"responseBody" type:"map"`
// Controls the final response state returned to end user when API/Function
// execution failed. When this state is FAILURE, the request would fail with
// dependency failure exception. When this state is REPROMPT, the API/function
// response will be sent to model for re-prompt
ResponseState *string `locationName:"responseState" type:"string" enum:"ResponseState"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiResult) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ApiResult) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ApiResult) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ApiResult"}
if s.ActionGroup == nil {
invalidParams.Add(request.NewErrParamRequired("ActionGroup"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetActionGroup sets the ActionGroup field's value.
func (s *ApiResult) SetActionGroup(v string) *ApiResult {
s.ActionGroup = &v
return s
}
// SetApiPath sets the ApiPath field's value.
func (s *ApiResult) SetApiPath(v string) *ApiResult {
s.ApiPath = &v
return s
}
// SetHttpMethod sets the HttpMethod field's value.
func (s *ApiResult) SetHttpMethod(v string) *ApiResult {
s.HttpMethod = &v
return s
}
// SetHttpStatusCode sets the HttpStatusCode field's value.
func (s *ApiResult) SetHttpStatusCode(v int64) *ApiResult {
s.HttpStatusCode = &v
return s
}
// SetResponseBody sets the ResponseBody field's value.
func (s *ApiResult) SetResponseBody(v map[string]*ContentBody) *ApiResult {
s.ResponseBody = v
return s
}
// SetResponseState sets the ResponseState field's value.
func (s *ApiResult) SetResponseState(v string) *ApiResult {
s.ResponseState = &v
return s
}
// Contains citations for a part of an agent response.
type Attribution struct {
_ struct{} `type:"structure"`
// A list of citations and related information for a part of an agent response.
Citations []*Citation `locationName:"citations" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Attribution) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Attribution) GoString() string {
return s.String()
}
// SetCitations sets the Citations field's value.
func (s *Attribution) SetCitations(v []*Citation) *Attribution {
s.Citations = v
return s
}
// There was an issue with a dependency due to a server issue. Retry your request.
type BadGatewayException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
// The name of the dependency that caused the issue, such as Amazon Bedrock,
// Lambda, or STS.
ResourceName *string `locationName:"resourceName" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BadGatewayException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BadGatewayException) GoString() string {
return s.String()
}
// The BadGatewayException is and event in the FlowResponseStream group of events.
func (s *BadGatewayException) eventFlowResponseStream() {}
// The BadGatewayException is and event in the ResponseStream group of events.
func (s *BadGatewayException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the BadGatewayException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *BadGatewayException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *BadGatewayException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorBadGatewayException(v protocol.ResponseMetadata) error {
return &BadGatewayException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *BadGatewayException) Code() string {
return "BadGatewayException"
}
// Message returns the exception's message.
func (s *BadGatewayException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *BadGatewayException) OrigErr() error {
return nil
}
func (s *BadGatewayException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *BadGatewayException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *BadGatewayException) RequestID() string {
return s.RespMetadata.RequestID
}
// This property contains the document to chat with, along with its attributes.
type ByteContentDoc struct {
_ struct{} `type:"structure"`
// The MIME type of the document contained in the wrapper object.
//
// ContentType is a required field
ContentType *string `locationName:"contentType" type:"string" required:"true"`
// The byte value of the file to upload, encoded as a Base-64 string.
//
// Data is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ByteContentDoc's
// String and GoString methods.
//
// Data is automatically base64 encoded/decoded by the SDK.
//
// Data is a required field
Data []byte `locationName:"data" min:"1" type:"blob" required:"true" sensitive:"true"`
// The file name of the document contained in the wrapper object.
//
// Identifier is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ByteContentDoc's
// String and GoString methods.
//
// Identifier is a required field
Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ByteContentDoc) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ByteContentDoc) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ByteContentDoc) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ByteContentDoc"}
if s.ContentType == nil {
invalidParams.Add(request.NewErrParamRequired("ContentType"))
}
if s.Data == nil {
invalidParams.Add(request.NewErrParamRequired("Data"))
}
if s.Data != nil && len(s.Data) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Data", 1))
}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if s.Identifier != nil && len(*s.Identifier) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetContentType sets the ContentType field's value.
func (s *ByteContentDoc) SetContentType(v string) *ByteContentDoc {
s.ContentType = &v
return s
}
// SetData sets the Data field's value.
func (s *ByteContentDoc) SetData(v []byte) *ByteContentDoc {
s.Data = v
return s
}
// SetIdentifier sets the Identifier field's value.
func (s *ByteContentDoc) SetIdentifier(v string) *ByteContentDoc {
s.Identifier = &v
return s
}
// The property contains the file to chat with, along with its attributes.
type ByteContentFile struct {
_ struct{} `type:"structure"`
// The byte value of the file to attach, encoded as Base-64 string. The maximum
// size of all files that is attached is 10MB. You can attach a maximum of 5
// files.
//
// Data is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ByteContentFile's
// String and GoString methods.
//
// Data is automatically base64 encoded/decoded by the SDK.
//
// Data is a required field
Data []byte `locationName:"data" min:"1" type:"blob" required:"true" sensitive:"true"`
// The MIME type of data contained in the file used for chat.
//
// MediaType is a required field
MediaType *string `locationName:"mediaType" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ByteContentFile) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ByteContentFile) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ByteContentFile) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ByteContentFile"}
if s.Data == nil {
invalidParams.Add(request.NewErrParamRequired("Data"))
}
if s.Data != nil && len(s.Data) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Data", 1))
}
if s.MediaType == nil {
invalidParams.Add(request.NewErrParamRequired("MediaType"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetData sets the Data field's value.
func (s *ByteContentFile) SetData(v []byte) *ByteContentFile {
s.Data = v
return s
}
// SetMediaType sets the MediaType field's value.
func (s *ByteContentFile) SetMediaType(v string) *ByteContentFile {
s.MediaType = &v
return s
}
// An object containing a segment of the generated response that is based on
// a source in the knowledge base, alongside information about the source.
//
// This data type is used in the following API operations:
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the citations field
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the citations field
type Citation struct {
_ struct{} `type:"structure"`
// Contains the generated response and metadata
GeneratedResponsePart *GeneratedResponsePart `locationName:"generatedResponsePart" type:"structure"`
// Contains metadata about the sources cited for the generated response.
RetrievedReferences []*RetrievedReference `locationName:"retrievedReferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Citation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Citation) GoString() string {
return s.String()
}
// SetGeneratedResponsePart sets the GeneratedResponsePart field's value.
func (s *Citation) SetGeneratedResponsePart(v *GeneratedResponsePart) *Citation {
s.GeneratedResponsePart = v
return s
}
// SetRetrievedReferences sets the RetrievedReferences field's value.
func (s *Citation) SetRetrievedReferences(v []*RetrievedReference) *Citation {
s.RetrievedReferences = v
return s
}
// Contains information about the code interpreter being invoked.
type CodeInterpreterInvocationInput_ struct {
_ struct{} `type:"structure"`
// The code for the code interpreter to use.
Code *string `locationName:"code" type:"string"`
// Files that are uploaded for code interpreter to use.
Files []*string `locationName:"files" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CodeInterpreterInvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CodeInterpreterInvocationInput_) GoString() string {
return s.String()
}
// SetCode sets the Code field's value.
func (s *CodeInterpreterInvocationInput_) SetCode(v string) *CodeInterpreterInvocationInput_ {
s.Code = &v
return s
}
// SetFiles sets the Files field's value.
func (s *CodeInterpreterInvocationInput_) SetFiles(v []*string) *CodeInterpreterInvocationInput_ {
s.Files = v
return s
}
// Contains the JSON-formatted string returned by the API invoked by the code
// interpreter.
type CodeInterpreterInvocationOutput_ struct {
_ struct{} `type:"structure"`
// Contains the error returned from code execution.
ExecutionError *string `locationName:"executionError" type:"string"`
// Contains the successful output returned from code execution
ExecutionOutput *string `locationName:"executionOutput" type:"string"`
// Indicates if the execution of the code timed out.
ExecutionTimeout *bool `locationName:"executionTimeout" type:"boolean"`
// Contains output files, if generated by code execution.
Files []*string `locationName:"files" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CodeInterpreterInvocationOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CodeInterpreterInvocationOutput_) GoString() string {
return s.String()
}
// SetExecutionError sets the ExecutionError field's value.
func (s *CodeInterpreterInvocationOutput_) SetExecutionError(v string) *CodeInterpreterInvocationOutput_ {
s.ExecutionError = &v
return s
}
// SetExecutionOutput sets the ExecutionOutput field's value.
func (s *CodeInterpreterInvocationOutput_) SetExecutionOutput(v string) *CodeInterpreterInvocationOutput_ {
s.ExecutionOutput = &v
return s
}
// SetExecutionTimeout sets the ExecutionTimeout field's value.
func (s *CodeInterpreterInvocationOutput_) SetExecutionTimeout(v bool) *CodeInterpreterInvocationOutput_ {
s.ExecutionTimeout = &v
return s
}
// SetFiles sets the Files field's value.
func (s *CodeInterpreterInvocationOutput_) SetFiles(v []*string) *CodeInterpreterInvocationOutput_ {
s.Files = v
return s
}
// There was a conflict performing an operation. Resolve the conflict and retry
// your request.
type ConflictException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) GoString() string {
return s.String()
}
// The ConflictException is and event in the FlowResponseStream group of events.
func (s *ConflictException) eventFlowResponseStream() {}
// The ConflictException is and event in the ResponseStream group of events.
func (s *ConflictException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ConflictException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ConflictException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ConflictException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorConflictException(v protocol.ResponseMetadata) error {
return &ConflictException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ConflictException) Code() string {
return "ConflictException"
}
// Message returns the exception's message.
func (s *ConflictException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConflictException) OrigErr() error {
return nil
}
func (s *ConflictException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ConflictException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ConflictException) RequestID() string {
return s.RespMetadata.RequestID
}
// Contains the body of the API response.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults field of the InvokeAgent request
// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax)
type ContentBody struct {
_ struct{} `type:"structure"`
// The body of the API response.
Body *string `locationName:"body" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContentBody) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ContentBody) GoString() string {
return s.String()
}
// SetBody sets the Body field's value.
func (s *ContentBody) SetBody(v string) *ContentBody {
s.Body = &v
return s
}
type DeleteAgentMemoryInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The unique identifier of an alias of an agent.
//
// AgentAliasId is a required field
AgentAliasId *string `location:"uri" locationName:"agentAliasId" type:"string" required:"true"`
// The unique identifier of the agent to which the alias belongs.
//
// AgentId is a required field
AgentId *string `location:"uri" locationName:"agentId" type:"string" required:"true"`
// The unique identifier of the memory.
MemoryId *string `location:"querystring" locationName:"memoryId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteAgentMemoryInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteAgentMemoryInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteAgentMemoryInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteAgentMemoryInput"}
if s.AgentAliasId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentAliasId"))
}
if s.AgentAliasId != nil && len(*s.AgentAliasId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentAliasId", 1))
}
if s.AgentId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentId"))
}
if s.AgentId != nil && len(*s.AgentId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentId", 1))
}
if s.MemoryId != nil && len(*s.MemoryId) < 2 {
invalidParams.Add(request.NewErrParamMinLen("MemoryId", 2))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAgentAliasId sets the AgentAliasId field's value.
func (s *DeleteAgentMemoryInput) SetAgentAliasId(v string) *DeleteAgentMemoryInput {
s.AgentAliasId = &v
return s
}
// SetAgentId sets the AgentId field's value.
func (s *DeleteAgentMemoryInput) SetAgentId(v string) *DeleteAgentMemoryInput {
s.AgentId = &v
return s
}
// SetMemoryId sets the MemoryId field's value.
func (s *DeleteAgentMemoryInput) SetMemoryId(v string) *DeleteAgentMemoryInput {
s.MemoryId = &v
return s
}
type DeleteAgentMemoryOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteAgentMemoryOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteAgentMemoryOutput) GoString() string {
return s.String()
}
// There was an issue with a dependency. Check the resource configurations and
// retry the request.
type DependencyFailedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
// The name of the dependency that caused the issue, such as Amazon Bedrock,
// Lambda, or STS.
ResourceName *string `locationName:"resourceName" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DependencyFailedException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DependencyFailedException) GoString() string {
return s.String()
}
// The DependencyFailedException is and event in the FlowResponseStream group of events.
func (s *DependencyFailedException) eventFlowResponseStream() {}
// The DependencyFailedException is and event in the ResponseStream group of events.
func (s *DependencyFailedException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the DependencyFailedException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *DependencyFailedException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *DependencyFailedException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorDependencyFailedException(v protocol.ResponseMetadata) error {
return &DependencyFailedException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *DependencyFailedException) Code() string {
return "DependencyFailedException"
}
// Message returns the exception's message.
func (s *DependencyFailedException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *DependencyFailedException) OrigErr() error {
return nil
}
func (s *DependencyFailedException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *DependencyFailedException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *DependencyFailedException) RequestID() string {
return s.RespMetadata.RequestID
}
// The unique external source of the content contained in the wrapper object.
type ExternalSource struct {
_ struct{} `type:"structure"`
// The identifier, contentType, and data of the external source wrapper object.
ByteContent *ByteContentDoc `locationName:"byteContent" type:"structure"`
// The S3 location of the external source wrapper object.
S3Location *S3ObjectDoc `locationName:"s3Location" type:"structure"`
// The source type of the external source wrapper object.
//
// SourceType is a required field
SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"ExternalSourceType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSource) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExternalSource) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExternalSource"}
if s.SourceType == nil {
invalidParams.Add(request.NewErrParamRequired("SourceType"))
}
if s.ByteContent != nil {
if err := s.ByteContent.Validate(); err != nil {
invalidParams.AddNested("ByteContent", err.(request.ErrInvalidParams))
}
}
if s.S3Location != nil {
if err := s.S3Location.Validate(); err != nil {
invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetByteContent sets the ByteContent field's value.
func (s *ExternalSource) SetByteContent(v *ByteContentDoc) *ExternalSource {
s.ByteContent = v
return s
}
// SetS3Location sets the S3Location field's value.
func (s *ExternalSource) SetS3Location(v *S3ObjectDoc) *ExternalSource {
s.S3Location = v
return s
}
// SetSourceType sets the SourceType field's value.
func (s *ExternalSource) SetSourceType(v string) *ExternalSource {
s.SourceType = &v
return s
}
// Contains the generation configuration of the external source wrapper object.
type ExternalSourcesGenerationConfiguration struct {
_ struct{} `type:"structure"`
// The configuration details for the guardrail.
GuardrailConfiguration *GuardrailConfiguration `locationName:"guardrailConfiguration" type:"structure"`
// Configuration settings for inference when using RetrieveAndGenerate to generate
// responses while using an external source.
InferenceConfig *InferenceConfig `locationName:"inferenceConfig" type:"structure"`
// Contain the textPromptTemplate string for the external source wrapper object.
PromptTemplate *PromptTemplate `locationName:"promptTemplate" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSourcesGenerationConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSourcesGenerationConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExternalSourcesGenerationConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExternalSourcesGenerationConfiguration"}
if s.GuardrailConfiguration != nil {
if err := s.GuardrailConfiguration.Validate(); err != nil {
invalidParams.AddNested("GuardrailConfiguration", err.(request.ErrInvalidParams))
}
}
if s.PromptTemplate != nil {
if err := s.PromptTemplate.Validate(); err != nil {
invalidParams.AddNested("PromptTemplate", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGuardrailConfiguration sets the GuardrailConfiguration field's value.
func (s *ExternalSourcesGenerationConfiguration) SetGuardrailConfiguration(v *GuardrailConfiguration) *ExternalSourcesGenerationConfiguration {
s.GuardrailConfiguration = v
return s
}
// SetInferenceConfig sets the InferenceConfig field's value.
func (s *ExternalSourcesGenerationConfiguration) SetInferenceConfig(v *InferenceConfig) *ExternalSourcesGenerationConfiguration {
s.InferenceConfig = v
return s
}
// SetPromptTemplate sets the PromptTemplate field's value.
func (s *ExternalSourcesGenerationConfiguration) SetPromptTemplate(v *PromptTemplate) *ExternalSourcesGenerationConfiguration {
s.PromptTemplate = v
return s
}
// The configurations of the external source wrapper object in the retrieveAndGenerate
// function.
type ExternalSourcesRetrieveAndGenerateConfiguration struct {
_ struct{} `type:"structure"`
// The prompt used with the external source wrapper object with the retrieveAndGenerate
// function.
GenerationConfiguration *ExternalSourcesGenerationConfiguration `locationName:"generationConfiguration" type:"structure"`
// The modelArn used with the external source wrapper object in the retrieveAndGenerate
// function.
//
// ModelArn is a required field
ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"`
// The document used with the external source wrapper object in the retrieveAndGenerate
// function.
//
// Sources is a required field
Sources []*ExternalSource `locationName:"sources" min:"1" type:"list" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSourcesRetrieveAndGenerateConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExternalSourcesRetrieveAndGenerateConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ExternalSourcesRetrieveAndGenerateConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ExternalSourcesRetrieveAndGenerateConfiguration"}
if s.ModelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ModelArn"))
}
if s.ModelArn != nil && len(*s.ModelArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("ModelArn", 20))
}
if s.Sources == nil {
invalidParams.Add(request.NewErrParamRequired("Sources"))
}
if s.Sources != nil && len(s.Sources) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Sources", 1))
}
if s.GenerationConfiguration != nil {
if err := s.GenerationConfiguration.Validate(); err != nil {
invalidParams.AddNested("GenerationConfiguration", err.(request.ErrInvalidParams))
}
}
if s.Sources != nil {
for i, v := range s.Sources {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGenerationConfiguration sets the GenerationConfiguration field's value.
func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetGenerationConfiguration(v *ExternalSourcesGenerationConfiguration) *ExternalSourcesRetrieveAndGenerateConfiguration {
s.GenerationConfiguration = v
return s
}
// SetModelArn sets the ModelArn field's value.
func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetModelArn(v string) *ExternalSourcesRetrieveAndGenerateConfiguration {
s.ModelArn = &v
return s
}
// SetSources sets the Sources field's value.
func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetSources(v []*ExternalSource) *ExternalSourcesRetrieveAndGenerateConfiguration {
s.Sources = v
return s
}
// Contains information about the failure of the interaction.
type FailureTrace struct {
_ struct{} `type:"structure" sensitive:"true"`
// The reason the interaction failed.
//
// FailureReason is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by FailureTrace's
// String and GoString methods.
FailureReason *string `locationName:"failureReason" type:"string" sensitive:"true"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FailureTrace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FailureTrace) GoString() string {
return s.String()
}
// SetFailureReason sets the FailureReason field's value.
func (s *FailureTrace) SetFailureReason(v string) *FailureTrace {
s.FailureReason = &v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *FailureTrace) SetTraceId(v string) *FailureTrace {
s.TraceId = &v
return s
}
// Contains intermediate response for code interpreter if any files have been
// generated.
type FilePart struct {
_ struct{} `type:"structure"`
// Files containing intermediate response for the user.
Files []*OutputFile `locationName:"files" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FilePart) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FilePart) GoString() string {
return s.String()
}
// SetFiles sets the Files field's value.
func (s *FilePart) SetFiles(v []*OutputFile) *FilePart {
s.Files = v
return s
}
// The FilePart is and event in the ResponseStream group of events.
func (s *FilePart) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the FilePart value.
// This method is only used internally within the SDK's EventStream handling.
func (s *FilePart) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *FilePart) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// The source file of the content contained in the wrapper object.
type FileSource struct {
_ struct{} `type:"structure"`
// The data and the text of the attached files.
ByteContent *ByteContentFile `locationName:"byteContent" type:"structure"`
// The s3 location of the files to attach.
S3Location *S3ObjectFile `locationName:"s3Location" type:"structure"`
// The source type of the files to attach.
//
// SourceType is a required field
SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"FileSourceType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FileSource) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FileSource) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *FileSource) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "FileSource"}
if s.SourceType == nil {
invalidParams.Add(request.NewErrParamRequired("SourceType"))
}
if s.ByteContent != nil {
if err := s.ByteContent.Validate(); err != nil {
invalidParams.AddNested("ByteContent", err.(request.ErrInvalidParams))
}
}
if s.S3Location != nil {
if err := s.S3Location.Validate(); err != nil {
invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetByteContent sets the ByteContent field's value.
func (s *FileSource) SetByteContent(v *ByteContentFile) *FileSource {
s.ByteContent = v
return s
}
// SetS3Location sets the S3Location field's value.
func (s *FileSource) SetS3Location(v *S3ObjectFile) *FileSource {
s.S3Location = v
return s
}
// SetSourceType sets the SourceType field's value.
func (s *FileSource) SetSourceType(v string) *FileSource {
s.SourceType = &v
return s
}
// Contains details about the response to the user.
type FinalResponse struct {
_ struct{} `type:"structure"`
// The text in the response to the user.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by FinalResponse's
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FinalResponse) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FinalResponse) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *FinalResponse) SetText(v string) *FinalResponse {
s.Text = &v
return s
}
// Contains information about why a flow completed.
//
// This data type is used in the following API operations:
//
// - InvokeFlow response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_ResponseSyntax)
type FlowCompletionEvent struct {
_ struct{} `type:"structure" sensitive:"true"`
// The reason that the flow completed.
//
// CompletionReason is a required field
CompletionReason *string `locationName:"completionReason" type:"string" required:"true" enum:"FlowCompletionReason"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowCompletionEvent) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowCompletionEvent) GoString() string {
return s.String()
}
// SetCompletionReason sets the CompletionReason field's value.
func (s *FlowCompletionEvent) SetCompletionReason(v string) *FlowCompletionEvent {
s.CompletionReason = &v
return s
}
// The FlowCompletionEvent is and event in the FlowResponseStream group of events.
func (s *FlowCompletionEvent) eventFlowResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the FlowCompletionEvent value.
// This method is only used internally within the SDK's EventStream handling.
func (s *FlowCompletionEvent) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *FlowCompletionEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// Contains information about an input into the flow.
//
// This data type is used in the following API operations:
//
// - InvokeFlow request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax)
type FlowInputContent struct {
_ struct{} `type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowInputContent) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowInputContent) GoString() string {
return s.String()
}
// Contains information about an input into the flow and what to do with it.
//
// This data type is used in the following API operations:
//
// - InvokeFlow request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax)
type FlowInput_ struct {
_ struct{} `type:"structure"`
// Contains information about an input into the flow.
//
// Content is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by FlowInput_'s
// String and GoString methods.
//
// Content is a required field
Content *FlowInputContent `locationName:"content" type:"structure" required:"true" sensitive:"true"`
// A name for the input of the flow input node.
//
// NodeName is a required field
NodeName *string `locationName:"nodeName" type:"string" required:"true"`
// A name for the output of the flow input node.
//
// NodeOutputName is a required field
NodeOutputName *string `locationName:"nodeOutputName" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowInput_) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *FlowInput_) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "FlowInput_"}
if s.Content == nil {
invalidParams.Add(request.NewErrParamRequired("Content"))
}
if s.NodeName == nil {
invalidParams.Add(request.NewErrParamRequired("NodeName"))
}
if s.NodeOutputName == nil {
invalidParams.Add(request.NewErrParamRequired("NodeOutputName"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetContent sets the Content field's value.
func (s *FlowInput_) SetContent(v *FlowInputContent) *FlowInput_ {
s.Content = v
return s
}
// SetNodeName sets the NodeName field's value.
func (s *FlowInput_) SetNodeName(v string) *FlowInput_ {
s.NodeName = &v
return s
}
// SetNodeOutputName sets the NodeOutputName field's value.
func (s *FlowInput_) SetNodeOutputName(v string) *FlowInput_ {
s.NodeOutputName = &v
return s
}
// Contains information about the output node.
//
// This data type is used in the following API operations:
//
// - InvokeFlow request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax)
type FlowOutputContent struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowOutputContent) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowOutputContent) GoString() string {
return s.String()
}
// Contains information about an output from flow invoction.
//
// This data type is used in the following API operations:
//
// - InvokeFlow response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_ResponseSyntax)
type FlowOutputEvent struct {
_ struct{} `type:"structure" sensitive:"true"`
// The output of the node.
//
// Content is a required field
Content *FlowOutputContent `locationName:"content" type:"structure" required:"true"`
// The name of the node to which input was provided.
//
// NodeName is a required field
NodeName *string `locationName:"nodeName" type:"string" required:"true"`
// The type of node to which input was provided.
//
// NodeType is a required field
NodeType *string `locationName:"nodeType" type:"string" required:"true" enum:"NodeType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowOutputEvent) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlowOutputEvent) GoString() string {
return s.String()
}
// SetContent sets the Content field's value.
func (s *FlowOutputEvent) SetContent(v *FlowOutputContent) *FlowOutputEvent {
s.Content = v
return s
}
// SetNodeName sets the NodeName field's value.
func (s *FlowOutputEvent) SetNodeName(v string) *FlowOutputEvent {
s.NodeName = &v
return s
}
// SetNodeType sets the NodeType field's value.
func (s *FlowOutputEvent) SetNodeType(v string) *FlowOutputEvent {
s.NodeType = &v
return s
}
// The FlowOutputEvent is and event in the FlowResponseStream group of events.
func (s *FlowOutputEvent) eventFlowResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the FlowOutputEvent value.
// This method is only used internally within the SDK's EventStream handling.
func (s *FlowOutputEvent) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *FlowOutputEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// FlowResponseStreamEvent groups together all EventStream
// events writes for FlowResponseStream.
//
// These events are:
//
// - FlowCompletionEvent
// - FlowOutputEvent
type FlowResponseStreamEvent interface {
eventFlowResponseStream()
eventstreamapi.Marshaler
eventstreamapi.Unmarshaler
}
// FlowResponseStreamReader provides the interface for reading to the stream. The
// default implementation for this interface will be FlowResponseStream.
//
// The reader's Close method must allow multiple concurrent calls.
//
// These events are:
//
// - FlowCompletionEvent
// - FlowOutputEvent
// - FlowResponseStreamUnknownEvent
type FlowResponseStreamReader interface {
// Returns a channel of events as they are read from the event stream.
Events() <-chan FlowResponseStreamEvent
// Close will stop the reader reading events from the stream.
Close() error
// Returns any error that has occurred while reading from the event stream.
Err() error
}
type readFlowResponseStream struct {
eventReader *eventstreamapi.EventReader
stream chan FlowResponseStreamEvent
err *eventstreamapi.OnceError
done chan struct{}
closeOnce sync.Once
}
func newReadFlowResponseStream(eventReader *eventstreamapi.EventReader) *readFlowResponseStream {
r := &readFlowResponseStream{
eventReader: eventReader,
stream: make(chan FlowResponseStreamEvent),
done: make(chan struct{}),
err: eventstreamapi.NewOnceError(),
}
go r.readEventStream()
return r
}
// Close will close the underlying event stream reader.
func (r *readFlowResponseStream) Close() error {
r.closeOnce.Do(r.safeClose)
return r.Err()
}
func (r *readFlowResponseStream) ErrorSet() <-chan struct{} {
return r.err.ErrorSet()
}
func (r *readFlowResponseStream) Closed() <-chan struct{} {
return r.done
}
func (r *readFlowResponseStream) safeClose() {
close(r.done)
}
func (r *readFlowResponseStream) Err() error {
return r.err.Err()
}
func (r *readFlowResponseStream) Events() <-chan FlowResponseStreamEvent {
return r.stream
}
func (r *readFlowResponseStream) readEventStream() {
defer r.Close()
defer close(r.stream)
for {
event, err := r.eventReader.ReadEvent()
if err != nil {
if err == io.EOF {
return
}
select {
case <-r.done:
// If closed already ignore the error
return
default:
}
if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok {
continue
}
r.err.SetError(err)
return
}
select {
case r.stream <- event.(FlowResponseStreamEvent):
case <-r.done:
return
}
}
}
type unmarshalerForFlowResponseStreamEvent struct {
metadata protocol.ResponseMetadata
}
func (u unmarshalerForFlowResponseStreamEvent) UnmarshalerForEventName(eventType string) (eventstreamapi.Unmarshaler, error) {
switch eventType {
case "flowCompletionEvent":
return &FlowCompletionEvent{}, nil
case "flowOutputEvent":
return &FlowOutputEvent{}, nil
case "accessDeniedException":
return newErrorAccessDeniedException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "badGatewayException":
return newErrorBadGatewayException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "conflictException":
return newErrorConflictException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "dependencyFailedException":
return newErrorDependencyFailedException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "internalServerException":
return newErrorInternalServerException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "resourceNotFoundException":
return newErrorResourceNotFoundException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "serviceQuotaExceededException":
return newErrorServiceQuotaExceededException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "throttlingException":
return newErrorThrottlingException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "validationException":
return newErrorValidationException(u.metadata).(eventstreamapi.Unmarshaler), nil
default:
return &FlowResponseStreamUnknownEvent{Type: eventType}, nil
}
}
// FlowResponseStreamUnknownEvent provides a failsafe event for the
// FlowResponseStream group of events when an unknown event is received.
type FlowResponseStreamUnknownEvent struct {
Type string
Message eventstream.Message
}
// The FlowResponseStreamUnknownEvent is and event in the FlowResponseStream
// group of events.
func (s *FlowResponseStreamUnknownEvent) eventFlowResponseStream() {}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (e *FlowResponseStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) (
msg eventstream.Message, err error,
) {
return e.Message.Clone(), nil
}
// UnmarshalEvent unmarshals the EventStream Message into the FlowResponseStream value.
// This method is only used internally within the SDK's EventStream handling.
func (e *FlowResponseStreamUnknownEvent) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
e.Message = msg.Clone()
return nil
}
// Contains information about the function that the agent predicts should be
// called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type FunctionInvocationInput_ struct {
_ struct{} `type:"structure"`
// The action group that the function belongs to.
//
// ActionGroup is a required field
ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"`
// The name of the function.
Function *string `locationName:"function" type:"string"`
// A list of parameters of the function.
Parameters []*FunctionParameter `locationName:"parameters" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionInvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionInvocationInput_) GoString() string {
return s.String()
}
// SetActionGroup sets the ActionGroup field's value.
func (s *FunctionInvocationInput_) SetActionGroup(v string) *FunctionInvocationInput_ {
s.ActionGroup = &v
return s
}
// SetFunction sets the Function field's value.
func (s *FunctionInvocationInput_) SetFunction(v string) *FunctionInvocationInput_ {
s.Function = &v
return s
}
// SetParameters sets the Parameters field's value.
func (s *FunctionInvocationInput_) SetParameters(v []*FunctionParameter) *FunctionInvocationInput_ {
s.Parameters = v
return s
}
// Contains information about a parameter of the function.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type FunctionParameter struct {
_ struct{} `type:"structure"`
// The name of the parameter.
Name *string `locationName:"name" type:"string"`
// The data type of the parameter.
Type *string `locationName:"type" type:"string"`
// The value of the parameter.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionParameter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionParameter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *FunctionParameter) SetName(v string) *FunctionParameter {
s.Name = &v
return s
}
// SetType sets the Type field's value.
func (s *FunctionParameter) SetType(v string) *FunctionParameter {
s.Type = &v
return s
}
// SetValue sets the Value field's value.
func (s *FunctionParameter) SetValue(v string) *FunctionParameter {
s.Value = &v
return s
}
// Contains information about the function that was called from the action group
// and the response that was returned.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults of the InvokeAgent request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax)
type FunctionResult struct {
_ struct{} `type:"structure"`
// The action group that the function belongs to.
//
// ActionGroup is a required field
ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"`
// The name of the function that was called.
Function *string `locationName:"function" type:"string"`
// The response from the function call using the parameters. The key of the
// object is the content type (currently, only TEXT is supported). The response
// may be returned directly or from the Lambda function.
ResponseBody map[string]*ContentBody `locationName:"responseBody" type:"map"`
// Controls the final response state returned to end user when API/Function
// execution failed. When this state is FAILURE, the request would fail with
// dependency failure exception. When this state is REPROMPT, the API/function
// response will be sent to model for re-prompt
ResponseState *string `locationName:"responseState" type:"string" enum:"ResponseState"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionResult) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FunctionResult) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *FunctionResult) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "FunctionResult"}
if s.ActionGroup == nil {
invalidParams.Add(request.NewErrParamRequired("ActionGroup"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetActionGroup sets the ActionGroup field's value.
func (s *FunctionResult) SetActionGroup(v string) *FunctionResult {
s.ActionGroup = &v
return s
}
// SetFunction sets the Function field's value.
func (s *FunctionResult) SetFunction(v string) *FunctionResult {
s.Function = &v
return s
}
// SetResponseBody sets the ResponseBody field's value.
func (s *FunctionResult) SetResponseBody(v map[string]*ContentBody) *FunctionResult {
s.ResponseBody = v
return s
}
// SetResponseState sets the ResponseState field's value.
func (s *FunctionResult) SetResponseState(v string) *FunctionResult {
s.ResponseState = &v
return s
}
// Contains metadata about a part of the generated response that is accompanied
// by a citation.
//
// This data type is used in the following API operations:
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the generatedResponsePart field
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the generatedResponsePart field
type GeneratedResponsePart struct {
_ struct{} `type:"structure"`
// Contains metadata about a textual part of the generated response that is
// accompanied by a citation.
//
// TextResponsePart is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GeneratedResponsePart's
// String and GoString methods.
TextResponsePart *TextResponsePart `locationName:"textResponsePart" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GeneratedResponsePart) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GeneratedResponsePart) GoString() string {
return s.String()
}
// SetTextResponsePart sets the TextResponsePart field's value.
func (s *GeneratedResponsePart) SetTextResponsePart(v *TextResponsePart) *GeneratedResponsePart {
s.TextResponsePart = v
return s
}
// Contains configurations for response generation based on the knowledge base
// query results.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
type GenerationConfiguration struct {
_ struct{} `type:"structure"`
// The configuration details for the guardrail.
GuardrailConfiguration *GuardrailConfiguration `locationName:"guardrailConfiguration" type:"structure"`
// Configuration settings for inference when using RetrieveAndGenerate to generate
// responses while using a knowledge base as a source.
InferenceConfig *InferenceConfig `locationName:"inferenceConfig" type:"structure"`
// Contains the template for the prompt that's sent to the model for response
// generation.
PromptTemplate *PromptTemplate `locationName:"promptTemplate" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GenerationConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GenerationConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GenerationConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GenerationConfiguration"}
if s.GuardrailConfiguration != nil {
if err := s.GuardrailConfiguration.Validate(); err != nil {
invalidParams.AddNested("GuardrailConfiguration", err.(request.ErrInvalidParams))
}
}
if s.PromptTemplate != nil {
if err := s.PromptTemplate.Validate(); err != nil {
invalidParams.AddNested("PromptTemplate", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGuardrailConfiguration sets the GuardrailConfiguration field's value.
func (s *GenerationConfiguration) SetGuardrailConfiguration(v *GuardrailConfiguration) *GenerationConfiguration {
s.GuardrailConfiguration = v
return s
}
// SetInferenceConfig sets the InferenceConfig field's value.
func (s *GenerationConfiguration) SetInferenceConfig(v *InferenceConfig) *GenerationConfiguration {
s.InferenceConfig = v
return s
}
// SetPromptTemplate sets the PromptTemplate field's value.
func (s *GenerationConfiguration) SetPromptTemplate(v *PromptTemplate) *GenerationConfiguration {
s.PromptTemplate = v
return s
}
type GetAgentMemoryInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The unique identifier of an alias of an agent.
//
// AgentAliasId is a required field
AgentAliasId *string `location:"uri" locationName:"agentAliasId" type:"string" required:"true"`
// The unique identifier of the agent to which the alias belongs.
//
// AgentId is a required field
AgentId *string `location:"uri" locationName:"agentId" type:"string" required:"true"`
// The maximum number of items to return in the response. If the total number
// of results is greater than this value, use the token returned in the response
// in the nextToken field when making another request to return the next batch
// of results.
MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`
// The unique identifier of the memory.
//
// MemoryId is a required field
MemoryId *string `location:"querystring" locationName:"memoryId" min:"2" type:"string" required:"true"`
// The type of memory.
//
// MemoryType is a required field
MemoryType *string `location:"querystring" locationName:"memoryType" type:"string" required:"true" enum:"MemoryType"`
// If the total number of results is greater than the maxItems value provided
// in the request, enter the token returned in the nextToken field in the response
// in this field to return the next batch of results.
NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAgentMemoryInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAgentMemoryInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetAgentMemoryInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetAgentMemoryInput"}
if s.AgentAliasId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentAliasId"))
}
if s.AgentAliasId != nil && len(*s.AgentAliasId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentAliasId", 1))
}
if s.AgentId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentId"))
}
if s.AgentId != nil && len(*s.AgentId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentId", 1))
}
if s.MaxItems != nil && *s.MaxItems < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
}
if s.MemoryId == nil {
invalidParams.Add(request.NewErrParamRequired("MemoryId"))
}
if s.MemoryId != nil && len(*s.MemoryId) < 2 {
invalidParams.Add(request.NewErrParamMinLen("MemoryId", 2))
}
if s.MemoryType == nil {
invalidParams.Add(request.NewErrParamRequired("MemoryType"))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAgentAliasId sets the AgentAliasId field's value.
func (s *GetAgentMemoryInput) SetAgentAliasId(v string) *GetAgentMemoryInput {
s.AgentAliasId = &v
return s
}
// SetAgentId sets the AgentId field's value.
func (s *GetAgentMemoryInput) SetAgentId(v string) *GetAgentMemoryInput {
s.AgentId = &v
return s
}
// SetMaxItems sets the MaxItems field's value.
func (s *GetAgentMemoryInput) SetMaxItems(v int64) *GetAgentMemoryInput {
s.MaxItems = &v
return s
}
// SetMemoryId sets the MemoryId field's value.
func (s *GetAgentMemoryInput) SetMemoryId(v string) *GetAgentMemoryInput {
s.MemoryId = &v
return s
}
// SetMemoryType sets the MemoryType field's value.
func (s *GetAgentMemoryInput) SetMemoryType(v string) *GetAgentMemoryInput {
s.MemoryType = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetAgentMemoryInput) SetNextToken(v string) *GetAgentMemoryInput {
s.NextToken = &v
return s
}
type GetAgentMemoryOutput struct {
_ struct{} `type:"structure"`
// Contains details of the sessions stored in the memory
MemoryContents []*Memory `locationName:"memoryContents" type:"list"`
// If the total number of results is greater than the maxItems value provided
// in the request, use this token when making another request in the nextToken
// field to return the next batch of results.
NextToken *string `locationName:"nextToken" min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAgentMemoryOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetAgentMemoryOutput) GoString() string {
return s.String()
}
// SetMemoryContents sets the MemoryContents field's value.
func (s *GetAgentMemoryOutput) SetMemoryContents(v []*Memory) *GetAgentMemoryOutput {
s.MemoryContents = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetAgentMemoryOutput) SetNextToken(v string) *GetAgentMemoryOutput {
s.NextToken = &v
return s
}
// Assessment details of the content analyzed by Guardrails.
type GuardrailAssessment struct {
_ struct{} `type:"structure" sensitive:"true"`
// Content policy details of the Guardrail.
//
// ContentPolicy is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailAssessment's
// String and GoString methods.
ContentPolicy *GuardrailContentPolicyAssessment `locationName:"contentPolicy" type:"structure" sensitive:"true"`
// Sensitive Information policy details of Guardrail.
//
// SensitiveInformationPolicy is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailAssessment's
// String and GoString methods.
SensitiveInformationPolicy *GuardrailSensitiveInformationPolicyAssessment `locationName:"sensitiveInformationPolicy" type:"structure" sensitive:"true"`
// Topic policy details of the Guardrail.
//
// TopicPolicy is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailAssessment's
// String and GoString methods.
TopicPolicy *GuardrailTopicPolicyAssessment `locationName:"topicPolicy" type:"structure" sensitive:"true"`
// Word policy details of the Guardrail.
//
// WordPolicy is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailAssessment's
// String and GoString methods.
WordPolicy *GuardrailWordPolicyAssessment `locationName:"wordPolicy" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailAssessment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailAssessment) GoString() string {
return s.String()
}
// SetContentPolicy sets the ContentPolicy field's value.
func (s *GuardrailAssessment) SetContentPolicy(v *GuardrailContentPolicyAssessment) *GuardrailAssessment {
s.ContentPolicy = v
return s
}
// SetSensitiveInformationPolicy sets the SensitiveInformationPolicy field's value.
func (s *GuardrailAssessment) SetSensitiveInformationPolicy(v *GuardrailSensitiveInformationPolicyAssessment) *GuardrailAssessment {
s.SensitiveInformationPolicy = v
return s
}
// SetTopicPolicy sets the TopicPolicy field's value.
func (s *GuardrailAssessment) SetTopicPolicy(v *GuardrailTopicPolicyAssessment) *GuardrailAssessment {
s.TopicPolicy = v
return s
}
// SetWordPolicy sets the WordPolicy field's value.
func (s *GuardrailAssessment) SetWordPolicy(v *GuardrailWordPolicyAssessment) *GuardrailAssessment {
s.WordPolicy = v
return s
}
// The configuration details for the guardrail.
type GuardrailConfiguration struct {
_ struct{} `type:"structure"`
// The unique identifier for the guardrail.
//
// GuardrailId is a required field
GuardrailId *string `locationName:"guardrailId" type:"string" required:"true"`
// The version of the guardrail.
//
// GuardrailVersion is a required field
GuardrailVersion *string `locationName:"guardrailVersion" min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GuardrailConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GuardrailConfiguration"}
if s.GuardrailId == nil {
invalidParams.Add(request.NewErrParamRequired("GuardrailId"))
}
if s.GuardrailVersion == nil {
invalidParams.Add(request.NewErrParamRequired("GuardrailVersion"))
}
if s.GuardrailVersion != nil && len(*s.GuardrailVersion) < 1 {
invalidParams.Add(request.NewErrParamMinLen("GuardrailVersion", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGuardrailId sets the GuardrailId field's value.
func (s *GuardrailConfiguration) SetGuardrailId(v string) *GuardrailConfiguration {
s.GuardrailId = &v
return s
}
// SetGuardrailVersion sets the GuardrailVersion field's value.
func (s *GuardrailConfiguration) SetGuardrailVersion(v string) *GuardrailConfiguration {
s.GuardrailVersion = &v
return s
}
// Details of the content filter used in the Guardrail.
type GuardrailContentFilter struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action placed on the content by the Guardrail filter.
Action *string `locationName:"action" type:"string" enum:"GuardrailContentPolicyAction"`
// The confidence level regarding the content detected in the filter by the
// Guardrail.
Confidence *string `locationName:"confidence" type:"string" enum:"GuardrailContentFilterConfidence"`
// The type of content detected in the filter by the Guardrail.
Type *string `locationName:"type" type:"string" enum:"GuardrailContentFilterType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailContentFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailContentFilter) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailContentFilter) SetAction(v string) *GuardrailContentFilter {
s.Action = &v
return s
}
// SetConfidence sets the Confidence field's value.
func (s *GuardrailContentFilter) SetConfidence(v string) *GuardrailContentFilter {
s.Confidence = &v
return s
}
// SetType sets the Type field's value.
func (s *GuardrailContentFilter) SetType(v string) *GuardrailContentFilter {
s.Type = &v
return s
}
// The details of the policy assessment in the Guardrails filter.
type GuardrailContentPolicyAssessment struct {
_ struct{} `type:"structure" sensitive:"true"`
// The filter details of the policy assessment used in the Guardrails filter.
//
// Filters is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailContentPolicyAssessment's
// String and GoString methods.
Filters []*GuardrailContentFilter `locationName:"filters" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailContentPolicyAssessment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailContentPolicyAssessment) GoString() string {
return s.String()
}
// SetFilters sets the Filters field's value.
func (s *GuardrailContentPolicyAssessment) SetFilters(v []*GuardrailContentFilter) *GuardrailContentPolicyAssessment {
s.Filters = v
return s
}
// The custom word details for the filter in the Guardrail.
type GuardrailCustomWord struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action details for the custom word filter in the Guardrail.
Action *string `locationName:"action" type:"string" enum:"GuardrailWordPolicyAction"`
// The match details for the custom word filter in the Guardrail.
Match *string `locationName:"match" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailCustomWord) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailCustomWord) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailCustomWord) SetAction(v string) *GuardrailCustomWord {
s.Action = &v
return s
}
// SetMatch sets the Match field's value.
func (s *GuardrailCustomWord) SetMatch(v string) *GuardrailCustomWord {
s.Match = &v
return s
}
// The managed word details for the filter in the Guardrail.
type GuardrailManagedWord struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action details for the managed word filter in the Guardrail.
Action *string `locationName:"action" type:"string" enum:"GuardrailWordPolicyAction"`
// The match details for the managed word filter in the Guardrail.
Match *string `locationName:"match" type:"string"`
// The type details for the managed word filter in the Guardrail.
Type *string `locationName:"type" type:"string" enum:"GuardrailManagedWordType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailManagedWord) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailManagedWord) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailManagedWord) SetAction(v string) *GuardrailManagedWord {
s.Action = &v
return s
}
// SetMatch sets the Match field's value.
func (s *GuardrailManagedWord) SetMatch(v string) *GuardrailManagedWord {
s.Match = &v
return s
}
// SetType sets the Type field's value.
func (s *GuardrailManagedWord) SetType(v string) *GuardrailManagedWord {
s.Type = &v
return s
}
// The Guardrail filter to identify and remove personally identifiable information
// (PII).
type GuardrailPiiEntityFilter struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action of the Guardrail filter to identify and remove PII.
Action *string `locationName:"action" type:"string" enum:"GuardrailSensitiveInformationPolicyAction"`
// The match to settings in the Guardrail filter to identify and remove PII.
Match *string `locationName:"match" type:"string"`
// The type of PII the Guardrail filter has identified and removed.
Type *string `locationName:"type" type:"string" enum:"GuardrailPiiEntityType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailPiiEntityFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailPiiEntityFilter) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailPiiEntityFilter) SetAction(v string) *GuardrailPiiEntityFilter {
s.Action = &v
return s
}
// SetMatch sets the Match field's value.
func (s *GuardrailPiiEntityFilter) SetMatch(v string) *GuardrailPiiEntityFilter {
s.Match = &v
return s
}
// SetType sets the Type field's value.
func (s *GuardrailPiiEntityFilter) SetType(v string) *GuardrailPiiEntityFilter {
s.Type = &v
return s
}
// The details for the regex filter used in the Guardrail.
type GuardrailRegexFilter struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action details for the regex filter used in the Guardrail.
Action *string `locationName:"action" type:"string" enum:"GuardrailSensitiveInformationPolicyAction"`
// The match details for the regex filter used in the Guardrail.
Match *string `locationName:"match" type:"string"`
// The name details for the regex filter used in the Guardrail.
Name *string `locationName:"name" type:"string"`
// The regex details for the regex filter used in the Guardrail.
Regex *string `locationName:"regex" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailRegexFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailRegexFilter) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailRegexFilter) SetAction(v string) *GuardrailRegexFilter {
s.Action = &v
return s
}
// SetMatch sets the Match field's value.
func (s *GuardrailRegexFilter) SetMatch(v string) *GuardrailRegexFilter {
s.Match = &v
return s
}
// SetName sets the Name field's value.
func (s *GuardrailRegexFilter) SetName(v string) *GuardrailRegexFilter {
s.Name = &v
return s
}
// SetRegex sets the Regex field's value.
func (s *GuardrailRegexFilter) SetRegex(v string) *GuardrailRegexFilter {
s.Regex = &v
return s
}
// The details of the sensitive policy assessment used in the Guardrail.
type GuardrailSensitiveInformationPolicyAssessment struct {
_ struct{} `type:"structure" sensitive:"true"`
// The details of the PII entities used in the sensitive policy assessment for
// the Guardrail.
//
// PiiEntities is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailSensitiveInformationPolicyAssessment's
// String and GoString methods.
PiiEntities []*GuardrailPiiEntityFilter `locationName:"piiEntities" type:"list" sensitive:"true"`
// The details of the regexes used in the sensitive policy assessment for the
// Guardrail.
//
// Regexes is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailSensitiveInformationPolicyAssessment's
// String and GoString methods.
Regexes []*GuardrailRegexFilter `locationName:"regexes" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailSensitiveInformationPolicyAssessment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailSensitiveInformationPolicyAssessment) GoString() string {
return s.String()
}
// SetPiiEntities sets the PiiEntities field's value.
func (s *GuardrailSensitiveInformationPolicyAssessment) SetPiiEntities(v []*GuardrailPiiEntityFilter) *GuardrailSensitiveInformationPolicyAssessment {
s.PiiEntities = v
return s
}
// SetRegexes sets the Regexes field's value.
func (s *GuardrailSensitiveInformationPolicyAssessment) SetRegexes(v []*GuardrailRegexFilter) *GuardrailSensitiveInformationPolicyAssessment {
s.Regexes = v
return s
}
// The details for a specific topic defined in the Guardrail.
type GuardrailTopic struct {
_ struct{} `type:"structure" sensitive:"true"`
// The action details on a specific topic in the Guardrail.
Action *string `locationName:"action" type:"string" enum:"GuardrailTopicPolicyAction"`
// The name details on a specific topic in the Guardrail.
Name *string `locationName:"name" type:"string"`
// The type details on a specific topic in the Guardrail.
Type *string `locationName:"type" type:"string" enum:"GuardrailTopicType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTopic) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTopic) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailTopic) SetAction(v string) *GuardrailTopic {
s.Action = &v
return s
}
// SetName sets the Name field's value.
func (s *GuardrailTopic) SetName(v string) *GuardrailTopic {
s.Name = &v
return s
}
// SetType sets the Type field's value.
func (s *GuardrailTopic) SetType(v string) *GuardrailTopic {
s.Type = &v
return s
}
// The details of the policy assessment used in the Guardrail.
type GuardrailTopicPolicyAssessment struct {
_ struct{} `type:"structure" sensitive:"true"`
// The topic details of the policy assessment used in the Guardrail.
//
// Topics is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailTopicPolicyAssessment's
// String and GoString methods.
Topics []*GuardrailTopic `locationName:"topics" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTopicPolicyAssessment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTopicPolicyAssessment) GoString() string {
return s.String()
}
// SetTopics sets the Topics field's value.
func (s *GuardrailTopicPolicyAssessment) SetTopics(v []*GuardrailTopic) *GuardrailTopicPolicyAssessment {
s.Topics = v
return s
}
// The trace details used in the Guardrail.
type GuardrailTrace struct {
_ struct{} `type:"structure" sensitive:"true"`
// The trace action details used with the Guardrail.
Action *string `locationName:"action" type:"string" enum:"GuardrailAction"`
// The details of the input assessments used in the Guardrail Trace.
InputAssessments []*GuardrailAssessment `locationName:"inputAssessments" type:"list" sensitive:"true"`
// The details of the output assessments used in the Guardrail Trace.
OutputAssessments []*GuardrailAssessment `locationName:"outputAssessments" type:"list" sensitive:"true"`
// The details of the trace Id used in the Guardrail Trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTrace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailTrace) GoString() string {
return s.String()
}
// SetAction sets the Action field's value.
func (s *GuardrailTrace) SetAction(v string) *GuardrailTrace {
s.Action = &v
return s
}
// SetInputAssessments sets the InputAssessments field's value.
func (s *GuardrailTrace) SetInputAssessments(v []*GuardrailAssessment) *GuardrailTrace {
s.InputAssessments = v
return s
}
// SetOutputAssessments sets the OutputAssessments field's value.
func (s *GuardrailTrace) SetOutputAssessments(v []*GuardrailAssessment) *GuardrailTrace {
s.OutputAssessments = v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *GuardrailTrace) SetTraceId(v string) *GuardrailTrace {
s.TraceId = &v
return s
}
// The assessment details for words defined in the Guardrail filter.
type GuardrailWordPolicyAssessment struct {
_ struct{} `type:"structure" sensitive:"true"`
// The custom word details for words defined in the Guardrail filter.
//
// CustomWords is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailWordPolicyAssessment's
// String and GoString methods.
CustomWords []*GuardrailCustomWord `locationName:"customWords" type:"list" sensitive:"true"`
// The managed word lists for words defined in the Guardrail filter.
//
// ManagedWordLists is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by GuardrailWordPolicyAssessment's
// String and GoString methods.
ManagedWordLists []*GuardrailManagedWord `locationName:"managedWordLists" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailWordPolicyAssessment) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GuardrailWordPolicyAssessment) GoString() string {
return s.String()
}
// SetCustomWords sets the CustomWords field's value.
func (s *GuardrailWordPolicyAssessment) SetCustomWords(v []*GuardrailCustomWord) *GuardrailWordPolicyAssessment {
s.CustomWords = v
return s
}
// SetManagedWordLists sets the ManagedWordLists field's value.
func (s *GuardrailWordPolicyAssessment) SetManagedWordLists(v []*GuardrailManagedWord) *GuardrailWordPolicyAssessment {
s.ManagedWordLists = v
return s
}
// The configuration for inference settings when generating responses using
// RetrieveAndGenerate.
type InferenceConfig struct {
_ struct{} `type:"structure"`
// Configuration settings specific to text generation while generating responses
// using RetrieveAndGenerate.
TextInferenceConfig *TextInferenceConfig `locationName:"textInferenceConfig" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceConfig) GoString() string {
return s.String()
}
// SetTextInferenceConfig sets the TextInferenceConfig field's value.
func (s *InferenceConfig) SetTextInferenceConfig(v *TextInferenceConfig) *InferenceConfig {
s.TextInferenceConfig = v
return s
}
// Specifications about the inference parameters that were provided alongside
// the prompt. These are specified in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated. For more information,
// see Inference parameters for foundation models (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html).
type InferenceConfiguration struct {
_ struct{} `type:"structure"`
// The maximum number of tokens allowed in the generated response.
MaximumLength *int64 `locationName:"maximumLength" type:"integer"`
// A list of stop sequences. A stop sequence is a sequence of characters that
// causes the model to stop generating the response.
StopSequences []*string `locationName:"stopSequences" type:"list"`
// The likelihood of the model selecting higher-probability options while generating
// a response. A lower value makes the model more likely to choose higher-probability
// options, while a higher value makes the model more likely to choose lower-probability
// options.
Temperature *float64 `locationName:"temperature" type:"float"`
// While generating a response, the model determines the probability of the
// following token at each point of generation. The value that you set for topK
// is the number of most-likely candidates from which the model chooses the
// next token in the sequence. For example, if you set topK to 50, the model
// selects the next token from among the top 50 most likely choices.
TopK *int64 `locationName:"topK" type:"integer"`
// While generating a response, the model determines the probability of the
// following token at each point of generation. The value that you set for Top
// P determines the number of most-likely candidates from which the model chooses
// the next token in the sequence. For example, if you set topP to 80, the model
// only selects the next token from the top 80% of the probability distribution
// of next tokens.
TopP *float64 `locationName:"topP" type:"float"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceConfiguration) GoString() string {
return s.String()
}
// SetMaximumLength sets the MaximumLength field's value.
func (s *InferenceConfiguration) SetMaximumLength(v int64) *InferenceConfiguration {
s.MaximumLength = &v
return s
}
// SetStopSequences sets the StopSequences field's value.
func (s *InferenceConfiguration) SetStopSequences(v []*string) *InferenceConfiguration {
s.StopSequences = v
return s
}
// SetTemperature sets the Temperature field's value.
func (s *InferenceConfiguration) SetTemperature(v float64) *InferenceConfiguration {
s.Temperature = &v
return s
}
// SetTopK sets the TopK field's value.
func (s *InferenceConfiguration) SetTopK(v int64) *InferenceConfiguration {
s.TopK = &v
return s
}
// SetTopP sets the TopP field's value.
func (s *InferenceConfiguration) SetTopP(v float64) *InferenceConfiguration {
s.TopP = &v
return s
}
// Contains details of the source files.
type InputFile struct {
_ struct{} `type:"structure"`
// The name of the source file.
//
// Name is a required field
Name *string `locationName:"name" type:"string" required:"true"`
// Specifies where the files are located.
//
// Source is a required field
Source *FileSource `locationName:"source" type:"structure" required:"true"`
// Specifies how the source files will be used by the code interpreter.
//
// UseCase is a required field
UseCase *string `locationName:"useCase" type:"string" required:"true" enum:"FileUseCase"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InputFile) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InputFile) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *InputFile) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "InputFile"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Source == nil {
invalidParams.Add(request.NewErrParamRequired("Source"))
}
if s.UseCase == nil {
invalidParams.Add(request.NewErrParamRequired("UseCase"))
}
if s.Source != nil {
if err := s.Source.Validate(); err != nil {
invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *InputFile) SetName(v string) *InputFile {
s.Name = &v
return s
}
// SetSource sets the Source field's value.
func (s *InputFile) SetSource(v *FileSource) *InputFile {
s.Source = v
return s
}
// SetUseCase sets the UseCase field's value.
func (s *InputFile) SetUseCase(v string) *InputFile {
s.UseCase = &v
return s
}
// An internal server error occurred. Retry your request.
type InternalServerException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) GoString() string {
return s.String()
}
// The InternalServerException is and event in the FlowResponseStream group of events.
func (s *InternalServerException) eventFlowResponseStream() {}
// The InternalServerException is and event in the ResponseStream group of events.
func (s *InternalServerException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the InternalServerException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *InternalServerException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *InternalServerException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorInternalServerException(v protocol.ResponseMetadata) error {
return &InternalServerException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InternalServerException) Code() string {
return "InternalServerException"
}
// Message returns the exception's message.
func (s *InternalServerException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServerException) OrigErr() error {
return nil
}
func (s *InternalServerException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InternalServerException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InternalServerException) RequestID() string {
return s.RespMetadata.RequestID
}
// Contains details about the API operation or function that the agent predicts
// should be called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type InvocationInputMember struct {
_ struct{} `type:"structure"`
// Contains information about the API operation that the agent predicts should
// be called.
ApiInvocationInput *ApiInvocationInput_ `locationName:"apiInvocationInput" type:"structure"`
// Contains information about the function that the agent predicts should be
// called.
FunctionInvocationInput *FunctionInvocationInput_ `locationName:"functionInvocationInput" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationInputMember) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationInputMember) GoString() string {
return s.String()
}
// SetApiInvocationInput sets the ApiInvocationInput field's value.
func (s *InvocationInputMember) SetApiInvocationInput(v *ApiInvocationInput_) *InvocationInputMember {
s.ApiInvocationInput = v
return s
}
// SetFunctionInvocationInput sets the FunctionInvocationInput field's value.
func (s *InvocationInputMember) SetFunctionInvocationInput(v *FunctionInvocationInput_) *InvocationInputMember {
s.FunctionInvocationInput = v
return s
}
// Contains information pertaining to the action group or knowledge base that
// is being invoked.
type InvocationInput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains information about the action group to be invoked.
ActionGroupInvocationInput *ActionGroupInvocationInput_ `locationName:"actionGroupInvocationInput" type:"structure"`
// Contains information about the code interpreter to be invoked.
CodeInterpreterInvocationInput *CodeInterpreterInvocationInput_ `locationName:"codeInterpreterInvocationInput" type:"structure"`
// Specifies whether the agent is invoking an action group or a knowledge base.
InvocationType *string `locationName:"invocationType" type:"string" enum:"InvocationType"`
// Contains details about the knowledge base to look up and the query to be
// made.
KnowledgeBaseLookupInput *KnowledgeBaseLookupInput_ `locationName:"knowledgeBaseLookupInput" type:"structure"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationInput_) GoString() string {
return s.String()
}
// SetActionGroupInvocationInput sets the ActionGroupInvocationInput field's value.
func (s *InvocationInput_) SetActionGroupInvocationInput(v *ActionGroupInvocationInput_) *InvocationInput_ {
s.ActionGroupInvocationInput = v
return s
}
// SetCodeInterpreterInvocationInput sets the CodeInterpreterInvocationInput field's value.
func (s *InvocationInput_) SetCodeInterpreterInvocationInput(v *CodeInterpreterInvocationInput_) *InvocationInput_ {
s.CodeInterpreterInvocationInput = v
return s
}
// SetInvocationType sets the InvocationType field's value.
func (s *InvocationInput_) SetInvocationType(v string) *InvocationInput_ {
s.InvocationType = &v
return s
}
// SetKnowledgeBaseLookupInput sets the KnowledgeBaseLookupInput field's value.
func (s *InvocationInput_) SetKnowledgeBaseLookupInput(v *KnowledgeBaseLookupInput_) *InvocationInput_ {
s.KnowledgeBaseLookupInput = v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *InvocationInput_) SetTraceId(v string) *InvocationInput_ {
s.TraceId = &v
return s
}
// A result from the invocation of an action. For more information, see Return
// control to the agent developer (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html)
// and Control session context (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html).
//
// This data type is used in the following API operations:
//
// - InvokeAgent request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax)
type InvocationResultMember struct {
_ struct{} `type:"structure"`
// The result from the API response from the action group invocation.
ApiResult *ApiResult `locationName:"apiResult" type:"structure"`
// The result from the function from the action group invocation.
FunctionResult *FunctionResult `locationName:"functionResult" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationResultMember) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvocationResultMember) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *InvocationResultMember) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "InvocationResultMember"}
if s.ApiResult != nil {
if err := s.ApiResult.Validate(); err != nil {
invalidParams.AddNested("ApiResult", err.(request.ErrInvalidParams))
}
}
if s.FunctionResult != nil {
if err := s.FunctionResult.Validate(); err != nil {
invalidParams.AddNested("FunctionResult", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetApiResult sets the ApiResult field's value.
func (s *InvocationResultMember) SetApiResult(v *ApiResult) *InvocationResultMember {
s.ApiResult = v
return s
}
// SetFunctionResult sets the FunctionResult field's value.
func (s *InvocationResultMember) SetFunctionResult(v *FunctionResult) *InvocationResultMember {
s.FunctionResult = v
return s
}
type InvokeAgentInput struct {
_ struct{} `type:"structure"`
// The alias of the agent to use.
//
// AgentAliasId is a required field
AgentAliasId *string `location:"uri" locationName:"agentAliasId" type:"string" required:"true"`
// The unique identifier of the agent to use.
//
// AgentId is a required field
AgentId *string `location:"uri" locationName:"agentId" type:"string" required:"true"`
// Specifies whether to turn on the trace or not to track the agent's reasoning
// process. For more information, see Trace enablement (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events).
EnableTrace *bool `locationName:"enableTrace" type:"boolean"`
// Specifies whether to end the session with the agent or not.
EndSession *bool `locationName:"endSession" type:"boolean"`
// The prompt text to send the agent.
//
// If you include returnControlInvocationResults in the sessionState field,
// the inputText field will be ignored.
//
// InputText is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by InvokeAgentInput's
// String and GoString methods.
InputText *string `locationName:"inputText" type:"string" sensitive:"true"`
// The unique identifier of the agent memory.
MemoryId *string `locationName:"memoryId" min:"2" type:"string"`
// The unique identifier of the session. Use the same value across requests
// to continue the same conversation.
//
// SessionId is a required field
SessionId *string `location:"uri" locationName:"sessionId" min:"2" type:"string" required:"true"`
// Contains parameters that specify various attributes of the session. For more
// information, see Control session context (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html).
//
// If you include returnControlInvocationResults in the sessionState field,
// the inputText field will be ignored.
SessionState *SessionState `locationName:"sessionState" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeAgentInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeAgentInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *InvokeAgentInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "InvokeAgentInput"}
if s.AgentAliasId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentAliasId"))
}
if s.AgentAliasId != nil && len(*s.AgentAliasId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentAliasId", 1))
}
if s.AgentId == nil {
invalidParams.Add(request.NewErrParamRequired("AgentId"))
}
if s.AgentId != nil && len(*s.AgentId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AgentId", 1))
}
if s.MemoryId != nil && len(*s.MemoryId) < 2 {
invalidParams.Add(request.NewErrParamMinLen("MemoryId", 2))
}
if s.SessionId == nil {
invalidParams.Add(request.NewErrParamRequired("SessionId"))
}
if s.SessionId != nil && len(*s.SessionId) < 2 {
invalidParams.Add(request.NewErrParamMinLen("SessionId", 2))
}
if s.SessionState != nil {
if err := s.SessionState.Validate(); err != nil {
invalidParams.AddNested("SessionState", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAgentAliasId sets the AgentAliasId field's value.
func (s *InvokeAgentInput) SetAgentAliasId(v string) *InvokeAgentInput {
s.AgentAliasId = &v
return s
}
// SetAgentId sets the AgentId field's value.
func (s *InvokeAgentInput) SetAgentId(v string) *InvokeAgentInput {
s.AgentId = &v
return s
}
// SetEnableTrace sets the EnableTrace field's value.
func (s *InvokeAgentInput) SetEnableTrace(v bool) *InvokeAgentInput {
s.EnableTrace = &v
return s
}
// SetEndSession sets the EndSession field's value.
func (s *InvokeAgentInput) SetEndSession(v bool) *InvokeAgentInput {
s.EndSession = &v
return s
}
// SetInputText sets the InputText field's value.
func (s *InvokeAgentInput) SetInputText(v string) *InvokeAgentInput {
s.InputText = &v
return s
}
// SetMemoryId sets the MemoryId field's value.
func (s *InvokeAgentInput) SetMemoryId(v string) *InvokeAgentInput {
s.MemoryId = &v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *InvokeAgentInput) SetSessionId(v string) *InvokeAgentInput {
s.SessionId = &v
return s
}
// SetSessionState sets the SessionState field's value.
func (s *InvokeAgentInput) SetSessionState(v *SessionState) *InvokeAgentInput {
s.SessionState = v
return s
}
type InvokeAgentOutput struct {
_ struct{} `type:"structure" payload:"Completion"`
eventStream *InvokeAgentEventStream
// The MIME type of the input data in the request. The default value is application/json.
//
// ContentType is a required field
ContentType *string `location:"header" locationName:"x-amzn-bedrock-agent-content-type" type:"string" required:"true"`
// The unique identifier of the agent memory.
MemoryId *string `location:"header" locationName:"x-amz-bedrock-agent-memory-id" min:"2" type:"string"`
// The unique identifier of the session with the agent.
//
// SessionId is a required field
SessionId *string `location:"header" locationName:"x-amz-bedrock-agent-session-id" min:"2" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeAgentOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeAgentOutput) GoString() string {
return s.String()
}
// SetContentType sets the ContentType field's value.
func (s *InvokeAgentOutput) SetContentType(v string) *InvokeAgentOutput {
s.ContentType = &v
return s
}
// SetMemoryId sets the MemoryId field's value.
func (s *InvokeAgentOutput) SetMemoryId(v string) *InvokeAgentOutput {
s.MemoryId = &v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *InvokeAgentOutput) SetSessionId(v string) *InvokeAgentOutput {
s.SessionId = &v
return s
}
// GetStream returns the type to interact with the event stream.
func (s *InvokeAgentOutput) GetStream() *InvokeAgentEventStream {
return s.eventStream
}
type InvokeFlowInput struct {
_ struct{} `type:"structure"`
// The unique identifier of the flow alias.
//
// FlowAliasIdentifier is a required field
FlowAliasIdentifier *string `location:"uri" locationName:"flowAliasIdentifier" type:"string" required:"true"`
// The unique identifier of the flow.
//
// FlowIdentifier is a required field
FlowIdentifier *string `location:"uri" locationName:"flowIdentifier" type:"string" required:"true"`
// A list of objects, each containing information about an input into the flow.
//
// Inputs is a required field
Inputs []*FlowInput_ `locationName:"inputs" min:"1" type:"list" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeFlowInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeFlowInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *InvokeFlowInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "InvokeFlowInput"}
if s.FlowAliasIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("FlowAliasIdentifier"))
}
if s.FlowAliasIdentifier != nil && len(*s.FlowAliasIdentifier) < 1 {
invalidParams.Add(request.NewErrParamMinLen("FlowAliasIdentifier", 1))
}
if s.FlowIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("FlowIdentifier"))
}
if s.FlowIdentifier != nil && len(*s.FlowIdentifier) < 1 {
invalidParams.Add(request.NewErrParamMinLen("FlowIdentifier", 1))
}
if s.Inputs == nil {
invalidParams.Add(request.NewErrParamRequired("Inputs"))
}
if s.Inputs != nil && len(s.Inputs) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Inputs", 1))
}
if s.Inputs != nil {
for i, v := range s.Inputs {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFlowAliasIdentifier sets the FlowAliasIdentifier field's value.
func (s *InvokeFlowInput) SetFlowAliasIdentifier(v string) *InvokeFlowInput {
s.FlowAliasIdentifier = &v
return s
}
// SetFlowIdentifier sets the FlowIdentifier field's value.
func (s *InvokeFlowInput) SetFlowIdentifier(v string) *InvokeFlowInput {
s.FlowIdentifier = &v
return s
}
// SetInputs sets the Inputs field's value.
func (s *InvokeFlowInput) SetInputs(v []*FlowInput_) *InvokeFlowInput {
s.Inputs = v
return s
}
type InvokeFlowOutput struct {
_ struct{} `type:"structure" payload:"ResponseStream"`
eventStream *InvokeFlowEventStream
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeFlowOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvokeFlowOutput) GoString() string {
return s.String()
}
// GetStream returns the type to interact with the event stream.
func (s *InvokeFlowOutput) GetStream() *InvokeFlowEventStream {
return s.eventStream
}
// Configurations to apply to a knowledge base attached to the agent during
// query. For more information, see Knowledge base retrieval configurations
// (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html#session-state-kb).
type KnowledgeBaseConfiguration struct {
_ struct{} `type:"structure"`
// The unique identifier for a knowledge base attached to the agent.
//
// KnowledgeBaseId is a required field
KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"`
// The configurations to apply to the knowledge base during query. For more
// information, see Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
//
// RetrievalConfiguration is a required field
RetrievalConfiguration *KnowledgeBaseRetrievalConfiguration `locationName:"retrievalConfiguration" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *KnowledgeBaseConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "KnowledgeBaseConfiguration"}
if s.KnowledgeBaseId == nil {
invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId"))
}
if s.RetrievalConfiguration == nil {
invalidParams.Add(request.NewErrParamRequired("RetrievalConfiguration"))
}
if s.RetrievalConfiguration != nil {
if err := s.RetrievalConfiguration.Validate(); err != nil {
invalidParams.AddNested("RetrievalConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetKnowledgeBaseId sets the KnowledgeBaseId field's value.
func (s *KnowledgeBaseConfiguration) SetKnowledgeBaseId(v string) *KnowledgeBaseConfiguration {
s.KnowledgeBaseId = &v
return s
}
// SetRetrievalConfiguration sets the RetrievalConfiguration field's value.
func (s *KnowledgeBaseConfiguration) SetRetrievalConfiguration(v *KnowledgeBaseRetrievalConfiguration) *KnowledgeBaseConfiguration {
s.RetrievalConfiguration = v
return s
}
// Contains details about the knowledge base to look up and the query to be
// made.
type KnowledgeBaseLookupInput_ struct {
_ struct{} `type:"structure"`
// The unique identifier of the knowledge base to look up.
//
// KnowledgeBaseId is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by KnowledgeBaseLookupInput_'s
// String and GoString methods.
KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" sensitive:"true"`
// The query made to the knowledge base.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by KnowledgeBaseLookupInput_'s
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseLookupInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseLookupInput_) GoString() string {
return s.String()
}
// SetKnowledgeBaseId sets the KnowledgeBaseId field's value.
func (s *KnowledgeBaseLookupInput_) SetKnowledgeBaseId(v string) *KnowledgeBaseLookupInput_ {
s.KnowledgeBaseId = &v
return s
}
// SetText sets the Text field's value.
func (s *KnowledgeBaseLookupInput_) SetText(v string) *KnowledgeBaseLookupInput_ {
s.Text = &v
return s
}
// Contains details about the results from looking up the knowledge base.
type KnowledgeBaseLookupOutput_ struct {
_ struct{} `type:"structure"`
// Contains metadata about the sources cited for the generated response.
RetrievedReferences []*RetrievedReference `locationName:"retrievedReferences" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseLookupOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseLookupOutput_) GoString() string {
return s.String()
}
// SetRetrievedReferences sets the RetrievedReferences field's value.
func (s *KnowledgeBaseLookupOutput_) SetRetrievedReferences(v []*RetrievedReference) *KnowledgeBaseLookupOutput_ {
s.RetrievedReferences = v
return s
}
// Contains the query made to the knowledge base.
//
// This data type is used in the following API operations:
//
// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax)
// – in the retrievalQuery field
type KnowledgeBaseQuery struct {
_ struct{} `type:"structure" sensitive:"true"`
// The text of the query made to the knowledge base.
//
// Text is a required field
Text *string `locationName:"text" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseQuery) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseQuery) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *KnowledgeBaseQuery) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "KnowledgeBaseQuery"}
if s.Text == nil {
invalidParams.Add(request.NewErrParamRequired("Text"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetText sets the Text field's value.
func (s *KnowledgeBaseQuery) SetText(v string) *KnowledgeBaseQuery {
s.Text = &v
return s
}
// Contains configurations for knowledge base query. For more information, see
// Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
//
// This data type is used in the following API operations:
//
// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax)
// – in the retrievalConfiguration field
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the retrievalConfiguration field
type KnowledgeBaseRetrievalConfiguration struct {
_ struct{} `type:"structure"`
// Contains details about how the results from the vector search should be returned.
// For more information, see Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
//
// VectorSearchConfiguration is a required field
VectorSearchConfiguration *KnowledgeBaseVectorSearchConfiguration `locationName:"vectorSearchConfiguration" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrievalConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrievalConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *KnowledgeBaseRetrievalConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "KnowledgeBaseRetrievalConfiguration"}
if s.VectorSearchConfiguration == nil {
invalidParams.Add(request.NewErrParamRequired("VectorSearchConfiguration"))
}
if s.VectorSearchConfiguration != nil {
if err := s.VectorSearchConfiguration.Validate(); err != nil {
invalidParams.AddNested("VectorSearchConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetVectorSearchConfiguration sets the VectorSearchConfiguration field's value.
func (s *KnowledgeBaseRetrievalConfiguration) SetVectorSearchConfiguration(v *KnowledgeBaseVectorSearchConfiguration) *KnowledgeBaseRetrievalConfiguration {
s.VectorSearchConfiguration = v
return s
}
// Details about a result from querying the knowledge base.
//
// This data type is used in the following API operations:
//
// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax)
// – in the retrievalResults field
type KnowledgeBaseRetrievalResult struct {
_ struct{} `type:"structure"`
// Contains a chunk of text from a data source in the knowledge base.
//
// Content is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by KnowledgeBaseRetrievalResult's
// String and GoString methods.
//
// Content is a required field
Content *RetrievalResultContent `locationName:"content" type:"structure" required:"true" sensitive:"true"`
// Contains information about the location of the data source.
//
// Location is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by KnowledgeBaseRetrievalResult's
// String and GoString methods.
Location *RetrievalResultLocation `locationName:"location" type:"structure" sensitive:"true"`
// The level of relevance of the result to the query.
Score *float64 `locationName:"score" type:"double"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrievalResult) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrievalResult) GoString() string {
return s.String()
}
// SetContent sets the Content field's value.
func (s *KnowledgeBaseRetrievalResult) SetContent(v *RetrievalResultContent) *KnowledgeBaseRetrievalResult {
s.Content = v
return s
}
// SetLocation sets the Location field's value.
func (s *KnowledgeBaseRetrievalResult) SetLocation(v *RetrievalResultLocation) *KnowledgeBaseRetrievalResult {
s.Location = v
return s
}
// SetScore sets the Score field's value.
func (s *KnowledgeBaseRetrievalResult) SetScore(v float64) *KnowledgeBaseRetrievalResult {
s.Score = &v
return s
}
// Contains details about the resource being queried.
//
// This data type is used in the following API operations:
//
// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax)
// – in the knowledgeBaseConfiguration field
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the knowledgeBaseConfiguration field
type KnowledgeBaseRetrieveAndGenerateConfiguration struct {
_ struct{} `type:"structure"`
// Contains configurations for response generation based on the knowledge base
// query results.
GenerationConfiguration *GenerationConfiguration `locationName:"generationConfiguration" type:"structure"`
// The unique identifier of the knowledge base that is queried and the foundation
// model used for generation.
//
// KnowledgeBaseId is a required field
KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"`
// The ARN of the foundation model used to generate a response.
//
// ModelArn is a required field
ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"`
// Settings for how the model processes the prompt prior to retrieval and generation.
OrchestrationConfiguration *OrchestrationConfiguration `locationName:"orchestrationConfiguration" type:"structure"`
// Contains configurations for how to retrieve and return the knowledge base
// query.
RetrievalConfiguration *KnowledgeBaseRetrievalConfiguration `locationName:"retrievalConfiguration" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrieveAndGenerateConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseRetrieveAndGenerateConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "KnowledgeBaseRetrieveAndGenerateConfiguration"}
if s.KnowledgeBaseId == nil {
invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId"))
}
if s.ModelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ModelArn"))
}
if s.ModelArn != nil && len(*s.ModelArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("ModelArn", 20))
}
if s.GenerationConfiguration != nil {
if err := s.GenerationConfiguration.Validate(); err != nil {
invalidParams.AddNested("GenerationConfiguration", err.(request.ErrInvalidParams))
}
}
if s.OrchestrationConfiguration != nil {
if err := s.OrchestrationConfiguration.Validate(); err != nil {
invalidParams.AddNested("OrchestrationConfiguration", err.(request.ErrInvalidParams))
}
}
if s.RetrievalConfiguration != nil {
if err := s.RetrievalConfiguration.Validate(); err != nil {
invalidParams.AddNested("RetrievalConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGenerationConfiguration sets the GenerationConfiguration field's value.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) SetGenerationConfiguration(v *GenerationConfiguration) *KnowledgeBaseRetrieveAndGenerateConfiguration {
s.GenerationConfiguration = v
return s
}
// SetKnowledgeBaseId sets the KnowledgeBaseId field's value.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) SetKnowledgeBaseId(v string) *KnowledgeBaseRetrieveAndGenerateConfiguration {
s.KnowledgeBaseId = &v
return s
}
// SetModelArn sets the ModelArn field's value.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) SetModelArn(v string) *KnowledgeBaseRetrieveAndGenerateConfiguration {
s.ModelArn = &v
return s
}
// SetOrchestrationConfiguration sets the OrchestrationConfiguration field's value.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) SetOrchestrationConfiguration(v *OrchestrationConfiguration) *KnowledgeBaseRetrieveAndGenerateConfiguration {
s.OrchestrationConfiguration = v
return s
}
// SetRetrievalConfiguration sets the RetrievalConfiguration field's value.
func (s *KnowledgeBaseRetrieveAndGenerateConfiguration) SetRetrievalConfiguration(v *KnowledgeBaseRetrievalConfiguration) *KnowledgeBaseRetrieveAndGenerateConfiguration {
s.RetrievalConfiguration = v
return s
}
// Configurations for how to perform the search query and return results. For
// more information, see Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
//
// This data type is used in the following API operations:
//
// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax)
// – in the vectorSearchConfiguration field
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the vectorSearchConfiguration field
type KnowledgeBaseVectorSearchConfiguration struct {
_ struct{} `type:"structure"`
// Specifies the filters to use on the metadata in the knowledge base data sources
// before returning results. For more information, see Query configurations
// (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
//
// Filter is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by KnowledgeBaseVectorSearchConfiguration's
// String and GoString methods.
Filter *RetrievalFilter `locationName:"filter" type:"structure" sensitive:"true"`
// The number of source chunks to retrieve.
NumberOfResults *int64 `locationName:"numberOfResults" min:"1" type:"integer"`
// By default, Amazon Bedrock decides a search strategy for you. If you're using
// an Amazon OpenSearch Serverless vector store that contains a filterable text
// field, you can specify whether to query the knowledge base with a HYBRID
// search using both vector embeddings and raw text, or SEMANTIC search using
// only vector embeddings. For other vector store configurations, only SEMANTIC
// search is available. For more information, see Test a knowledge base (https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-test.html).
OverrideSearchType *string `locationName:"overrideSearchType" type:"string" enum:"SearchType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseVectorSearchConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s KnowledgeBaseVectorSearchConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *KnowledgeBaseVectorSearchConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "KnowledgeBaseVectorSearchConfiguration"}
if s.NumberOfResults != nil && *s.NumberOfResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("NumberOfResults", 1))
}
if s.Filter != nil {
if err := s.Filter.Validate(); err != nil {
invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFilter sets the Filter field's value.
func (s *KnowledgeBaseVectorSearchConfiguration) SetFilter(v *RetrievalFilter) *KnowledgeBaseVectorSearchConfiguration {
s.Filter = v
return s
}
// SetNumberOfResults sets the NumberOfResults field's value.
func (s *KnowledgeBaseVectorSearchConfiguration) SetNumberOfResults(v int64) *KnowledgeBaseVectorSearchConfiguration {
s.NumberOfResults = &v
return s
}
// SetOverrideSearchType sets the OverrideSearchType field's value.
func (s *KnowledgeBaseVectorSearchConfiguration) SetOverrideSearchType(v string) *KnowledgeBaseVectorSearchConfiguration {
s.OverrideSearchType = &v
return s
}
// Contains sessions summaries.
type Memory struct {
_ struct{} `type:"structure"`
// Contains summary of a session.
SessionSummary *MemorySessionSummary `locationName:"sessionSummary" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Memory) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Memory) GoString() string {
return s.String()
}
// SetSessionSummary sets the SessionSummary field's value.
func (s *Memory) SetSessionSummary(v *MemorySessionSummary) *Memory {
s.SessionSummary = v
return s
}
// Contains details of a session summary.
type MemorySessionSummary struct {
_ struct{} `type:"structure"`
// The unique identifier of the memory where the session summary is stored.
MemoryId *string `locationName:"memoryId" min:"2" type:"string"`
// The time when the memory duration for the session is set to end.
SessionExpiryTime *time.Time `locationName:"sessionExpiryTime" type:"timestamp" timestampFormat:"iso8601"`
// The identifier for this session.
SessionId *string `locationName:"sessionId" min:"2" type:"string"`
// The start time for this session.
SessionStartTime *time.Time `locationName:"sessionStartTime" type:"timestamp" timestampFormat:"iso8601"`
// The summarized text for this session.
SummaryText *string `locationName:"summaryText" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemorySessionSummary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemorySessionSummary) GoString() string {
return s.String()
}
// SetMemoryId sets the MemoryId field's value.
func (s *MemorySessionSummary) SetMemoryId(v string) *MemorySessionSummary {
s.MemoryId = &v
return s
}
// SetSessionExpiryTime sets the SessionExpiryTime field's value.
func (s *MemorySessionSummary) SetSessionExpiryTime(v time.Time) *MemorySessionSummary {
s.SessionExpiryTime = &v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *MemorySessionSummary) SetSessionId(v string) *MemorySessionSummary {
s.SessionId = &v
return s
}
// SetSessionStartTime sets the SessionStartTime field's value.
func (s *MemorySessionSummary) SetSessionStartTime(v time.Time) *MemorySessionSummary {
s.SessionStartTime = &v
return s
}
// SetSummaryText sets the SummaryText field's value.
func (s *MemorySessionSummary) SetSummaryText(v string) *MemorySessionSummary {
s.SummaryText = &v
return s
}
// The input for the pre-processing step.
//
// - The type matches the agent step.
//
// - The text contains the prompt.
//
// - The inferenceConfiguration, parserMode, and overrideLambda values are
// set in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated.
type ModelInvocationInput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// Specifications about the inference parameters that were provided alongside
// the prompt. These are specified in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated. For more information,
// see Inference parameters for foundation models (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html).
InferenceConfiguration *InferenceConfiguration `locationName:"inferenceConfiguration" type:"structure"`
// The ARN of the Lambda function to use when parsing the raw foundation model
// output in parts of the agent sequence.
OverrideLambda *string `locationName:"overrideLambda" type:"string"`
// Specifies whether to override the default parser Lambda function when parsing
// the raw foundation model output in the part of the agent sequence defined
// by the promptType.
ParserMode *string `locationName:"parserMode" type:"string" enum:"CreationMode"`
// Specifies whether the default prompt template was OVERRIDDEN. If it was,
// the basePromptTemplate that was set in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object when the agent was created or updated is used instead.
PromptCreationMode *string `locationName:"promptCreationMode" type:"string" enum:"CreationMode"`
// The text that prompted the agent at this step.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by ModelInvocationInput_'s
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
// The step in the agent sequence.
Type *string `locationName:"type" type:"string" enum:"PromptType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelInvocationInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelInvocationInput_) GoString() string {
return s.String()
}
// SetInferenceConfiguration sets the InferenceConfiguration field's value.
func (s *ModelInvocationInput_) SetInferenceConfiguration(v *InferenceConfiguration) *ModelInvocationInput_ {
s.InferenceConfiguration = v
return s
}
// SetOverrideLambda sets the OverrideLambda field's value.
func (s *ModelInvocationInput_) SetOverrideLambda(v string) *ModelInvocationInput_ {
s.OverrideLambda = &v
return s
}
// SetParserMode sets the ParserMode field's value.
func (s *ModelInvocationInput_) SetParserMode(v string) *ModelInvocationInput_ {
s.ParserMode = &v
return s
}
// SetPromptCreationMode sets the PromptCreationMode field's value.
func (s *ModelInvocationInput_) SetPromptCreationMode(v string) *ModelInvocationInput_ {
s.PromptCreationMode = &v
return s
}
// SetText sets the Text field's value.
func (s *ModelInvocationInput_) SetText(v string) *ModelInvocationInput_ {
s.Text = &v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *ModelInvocationInput_) SetTraceId(v string) *ModelInvocationInput_ {
s.TraceId = &v
return s
}
// SetType sets the Type field's value.
func (s *ModelInvocationInput_) SetType(v string) *ModelInvocationInput_ {
s.Type = &v
return s
}
// Contains the result or output of an action group or knowledge base, or the
// response to the user.
type Observation struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains the JSON-formatted string returned by the API invoked by the action
// group.
ActionGroupInvocationOutput *ActionGroupInvocationOutput_ `locationName:"actionGroupInvocationOutput" type:"structure"`
// Contains the JSON-formatted string returned by the API invoked by the code
// interpreter.
CodeInterpreterInvocationOutput *CodeInterpreterInvocationOutput_ `locationName:"codeInterpreterInvocationOutput" type:"structure"`
// Contains details about the response to the user.
FinalResponse *FinalResponse `locationName:"finalResponse" type:"structure"`
// Contains details about the results from looking up the knowledge base.
KnowledgeBaseLookupOutput *KnowledgeBaseLookupOutput_ `locationName:"knowledgeBaseLookupOutput" type:"structure"`
// Contains details about the response to reprompt the input.
//
// RepromptResponse is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Observation's
// String and GoString methods.
RepromptResponse *RepromptResponse `locationName:"repromptResponse" type:"structure" sensitive:"true"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
// Specifies what kind of information the agent returns in the observation.
// The following values are possible.
//
// * ACTION_GROUP – The agent returns the result of an action group.
//
// * KNOWLEDGE_BASE – The agent returns information from a knowledge base.
//
// * FINISH – The agent returns a final response to the user with no follow-up.
//
// * ASK_USER – The agent asks the user a question.
//
// * REPROMPT – The agent prompts the user again for the same information.
Type *string `locationName:"type" type:"string" enum:"Type"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Observation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Observation) GoString() string {
return s.String()
}
// SetActionGroupInvocationOutput sets the ActionGroupInvocationOutput field's value.
func (s *Observation) SetActionGroupInvocationOutput(v *ActionGroupInvocationOutput_) *Observation {
s.ActionGroupInvocationOutput = v
return s
}
// SetCodeInterpreterInvocationOutput sets the CodeInterpreterInvocationOutput field's value.
func (s *Observation) SetCodeInterpreterInvocationOutput(v *CodeInterpreterInvocationOutput_) *Observation {
s.CodeInterpreterInvocationOutput = v
return s
}
// SetFinalResponse sets the FinalResponse field's value.
func (s *Observation) SetFinalResponse(v *FinalResponse) *Observation {
s.FinalResponse = v
return s
}
// SetKnowledgeBaseLookupOutput sets the KnowledgeBaseLookupOutput field's value.
func (s *Observation) SetKnowledgeBaseLookupOutput(v *KnowledgeBaseLookupOutput_) *Observation {
s.KnowledgeBaseLookupOutput = v
return s
}
// SetRepromptResponse sets the RepromptResponse field's value.
func (s *Observation) SetRepromptResponse(v *RepromptResponse) *Observation {
s.RepromptResponse = v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *Observation) SetTraceId(v string) *Observation {
s.TraceId = &v
return s
}
// SetType sets the Type field's value.
func (s *Observation) SetType(v string) *Observation {
s.Type = &v
return s
}
// Settings for how the model processes the prompt prior to retrieval and generation.
type OrchestrationConfiguration struct {
_ struct{} `type:"structure"`
// To split up the prompt and retrieve multiple sources, set the transformation
// type to QUERY_DECOMPOSITION.
//
// QueryTransformationConfiguration is a required field
QueryTransformationConfiguration *QueryTransformationConfiguration `locationName:"queryTransformationConfiguration" type:"structure" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OrchestrationConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OrchestrationConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *OrchestrationConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "OrchestrationConfiguration"}
if s.QueryTransformationConfiguration == nil {
invalidParams.Add(request.NewErrParamRequired("QueryTransformationConfiguration"))
}
if s.QueryTransformationConfiguration != nil {
if err := s.QueryTransformationConfiguration.Validate(); err != nil {
invalidParams.AddNested("QueryTransformationConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetQueryTransformationConfiguration sets the QueryTransformationConfiguration field's value.
func (s *OrchestrationConfiguration) SetQueryTransformationConfiguration(v *QueryTransformationConfiguration) *OrchestrationConfiguration {
s.QueryTransformationConfiguration = v
return s
}
// Details about the orchestration step, in which the agent determines the order
// in which actions are executed and which knowledge bases are retrieved.
type OrchestrationTrace struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains information pertaining to the action group or knowledge base that
// is being invoked.
//
// InvocationInput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by OrchestrationTrace's
// String and GoString methods.
InvocationInput *InvocationInput_ `locationName:"invocationInput" type:"structure" sensitive:"true"`
// The input for the orchestration step.
//
// * The type is ORCHESTRATION.
//
// * The text contains the prompt.
//
// * The inferenceConfiguration, parserMode, and overrideLambda values are
// set in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated.
//
// ModelInvocationInput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by OrchestrationTrace's
// String and GoString methods.
ModelInvocationInput *ModelInvocationInput_ `locationName:"modelInvocationInput" type:"structure" sensitive:"true"`
// Details about the observation (the output of the action group Lambda or knowledge
// base) made by the agent.
//
// Observation is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by OrchestrationTrace's
// String and GoString methods.
Observation *Observation `locationName:"observation" type:"structure" sensitive:"true"`
// Details about the reasoning, based on the input, that the agent uses to justify
// carrying out an action group or getting information from a knowledge base.
//
// Rationale is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by OrchestrationTrace's
// String and GoString methods.
Rationale *Rationale `locationName:"rationale" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OrchestrationTrace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OrchestrationTrace) GoString() string {
return s.String()
}
// SetInvocationInput sets the InvocationInput field's value.
func (s *OrchestrationTrace) SetInvocationInput(v *InvocationInput_) *OrchestrationTrace {
s.InvocationInput = v
return s
}
// SetModelInvocationInput sets the ModelInvocationInput field's value.
func (s *OrchestrationTrace) SetModelInvocationInput(v *ModelInvocationInput_) *OrchestrationTrace {
s.ModelInvocationInput = v
return s
}
// SetObservation sets the Observation field's value.
func (s *OrchestrationTrace) SetObservation(v *Observation) *OrchestrationTrace {
s.Observation = v
return s
}
// SetRationale sets the Rationale field's value.
func (s *OrchestrationTrace) SetRationale(v *Rationale) *OrchestrationTrace {
s.Rationale = v
return s
}
// Contains details of the response from code interpreter.
type OutputFile struct {
_ struct{} `type:"structure" sensitive:"true"`
// The byte count of files that contains response from code interpreter.
//
// Bytes is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by OutputFile's
// String and GoString methods.
//
// Bytes is automatically base64 encoded/decoded by the SDK.
Bytes []byte `locationName:"bytes" type:"blob" sensitive:"true"`
// The name of the file containing response from code interpreter.
Name *string `locationName:"name" type:"string"`
// The type of file that contains response from the code interpreter.
Type *string `locationName:"type" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OutputFile) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s OutputFile) GoString() string {
return s.String()
}
// SetBytes sets the Bytes field's value.
func (s *OutputFile) SetBytes(v []byte) *OutputFile {
s.Bytes = v
return s
}
// SetName sets the Name field's value.
func (s *OutputFile) SetName(v string) *OutputFile {
s.Name = &v
return s
}
// SetType sets the Type field's value.
func (s *OutputFile) SetType(v string) *OutputFile {
s.Type = &v
return s
}
// A parameter for the API request or function.
type Parameter struct {
_ struct{} `type:"structure"`
// The name of the parameter.
Name *string `locationName:"name" type:"string"`
// The type of the parameter.
Type *string `locationName:"type" type:"string"`
// The value of the parameter.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Parameter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Parameter) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
func (s *Parameter) SetName(v string) *Parameter {
s.Name = &v
return s
}
// SetType sets the Type field's value.
func (s *Parameter) SetType(v string) *Parameter {
s.Type = &v
return s
}
// SetValue sets the Value field's value.
func (s *Parameter) SetValue(v string) *Parameter {
s.Value = &v
return s
}
// Contains a part of an agent response and citations for it.
type PayloadPart struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains citations for a part of an agent response.
Attribution *Attribution `locationName:"attribution" type:"structure"`
// A part of the agent response in bytes.
//
// Bytes is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PayloadPart's
// String and GoString methods.
//
// Bytes is automatically base64 encoded/decoded by the SDK.
Bytes []byte `locationName:"bytes" type:"blob" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PayloadPart) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PayloadPart) GoString() string {
return s.String()
}
// SetAttribution sets the Attribution field's value.
func (s *PayloadPart) SetAttribution(v *Attribution) *PayloadPart {
s.Attribution = v
return s
}
// SetBytes sets the Bytes field's value.
func (s *PayloadPart) SetBytes(v []byte) *PayloadPart {
s.Bytes = v
return s
}
// The PayloadPart is and event in the ResponseStream group of events.
func (s *PayloadPart) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the PayloadPart value.
// This method is only used internally within the SDK's EventStream handling.
func (s *PayloadPart) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *PayloadPart) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// The foundation model output from the post-processing step.
type PostProcessingModelInvocationOutput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// Details about the response from the Lambda parsing of the output of the post-processing
// step.
//
// ParsedResponse is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PostProcessingModelInvocationOutput_'s
// String and GoString methods.
ParsedResponse *PostProcessingParsedResponse `locationName:"parsedResponse" type:"structure" sensitive:"true"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingModelInvocationOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingModelInvocationOutput_) GoString() string {
return s.String()
}
// SetParsedResponse sets the ParsedResponse field's value.
func (s *PostProcessingModelInvocationOutput_) SetParsedResponse(v *PostProcessingParsedResponse) *PostProcessingModelInvocationOutput_ {
s.ParsedResponse = v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *PostProcessingModelInvocationOutput_) SetTraceId(v string) *PostProcessingModelInvocationOutput_ {
s.TraceId = &v
return s
}
// Details about the response from the Lambda parsing of the output from the
// post-processing step.
type PostProcessingParsedResponse struct {
_ struct{} `type:"structure" sensitive:"true"`
// The text returned by the parser.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PostProcessingParsedResponse's
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingParsedResponse) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingParsedResponse) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *PostProcessingParsedResponse) SetText(v string) *PostProcessingParsedResponse {
s.Text = &v
return s
}
// Details about the post-processing step, in which the agent shapes the response.
type PostProcessingTrace struct {
_ struct{} `type:"structure" sensitive:"true"`
// The input for the post-processing step.
//
// * The type is POST_PROCESSING.
//
// * The text contains the prompt.
//
// * The inferenceConfiguration, parserMode, and overrideLambda values are
// set in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated.
//
// ModelInvocationInput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PostProcessingTrace's
// String and GoString methods.
ModelInvocationInput *ModelInvocationInput_ `locationName:"modelInvocationInput" type:"structure" sensitive:"true"`
// The foundation model output from the post-processing step.
//
// ModelInvocationOutput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PostProcessingTrace's
// String and GoString methods.
ModelInvocationOutput *PostProcessingModelInvocationOutput_ `locationName:"modelInvocationOutput" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingTrace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PostProcessingTrace) GoString() string {
return s.String()
}
// SetModelInvocationInput sets the ModelInvocationInput field's value.
func (s *PostProcessingTrace) SetModelInvocationInput(v *ModelInvocationInput_) *PostProcessingTrace {
s.ModelInvocationInput = v
return s
}
// SetModelInvocationOutput sets the ModelInvocationOutput field's value.
func (s *PostProcessingTrace) SetModelInvocationOutput(v *PostProcessingModelInvocationOutput_) *PostProcessingTrace {
s.ModelInvocationOutput = v
return s
}
// The foundation model output from the pre-processing step.
type PreProcessingModelInvocationOutput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// Details about the response from the Lambda parsing of the output of the pre-processing
// step.
//
// ParsedResponse is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PreProcessingModelInvocationOutput_'s
// String and GoString methods.
ParsedResponse *PreProcessingParsedResponse `locationName:"parsedResponse" type:"structure" sensitive:"true"`
// The unique identifier of the trace.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingModelInvocationOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingModelInvocationOutput_) GoString() string {
return s.String()
}
// SetParsedResponse sets the ParsedResponse field's value.
func (s *PreProcessingModelInvocationOutput_) SetParsedResponse(v *PreProcessingParsedResponse) *PreProcessingModelInvocationOutput_ {
s.ParsedResponse = v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *PreProcessingModelInvocationOutput_) SetTraceId(v string) *PreProcessingModelInvocationOutput_ {
s.TraceId = &v
return s
}
// Details about the response from the Lambda parsing of the output from the
// pre-processing step.
type PreProcessingParsedResponse struct {
_ struct{} `type:"structure" sensitive:"true"`
// Whether the user input is valid or not. If false, the agent doesn't proceed
// to orchestration.
IsValid *bool `locationName:"isValid" type:"boolean"`
// The text returned by the parsing of the pre-processing step, explaining the
// steps that the agent plans to take in orchestration, if the user input is
// valid.
//
// Rationale is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PreProcessingParsedResponse's
// String and GoString methods.
Rationale *string `locationName:"rationale" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingParsedResponse) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingParsedResponse) GoString() string {
return s.String()
}
// SetIsValid sets the IsValid field's value.
func (s *PreProcessingParsedResponse) SetIsValid(v bool) *PreProcessingParsedResponse {
s.IsValid = &v
return s
}
// SetRationale sets the Rationale field's value.
func (s *PreProcessingParsedResponse) SetRationale(v string) *PreProcessingParsedResponse {
s.Rationale = &v
return s
}
// Details about the pre-processing step, in which the agent contextualizes
// and categorizes user inputs.
type PreProcessingTrace struct {
_ struct{} `type:"structure" sensitive:"true"`
// The input for the pre-processing step.
//
// * The type is PRE_PROCESSING.
//
// * The text contains the prompt.
//
// * The inferenceConfiguration, parserMode, and overrideLambda values are
// set in the PromptOverrideConfiguration (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html)
// object that was set when the agent was created or updated.
//
// ModelInvocationInput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PreProcessingTrace's
// String and GoString methods.
ModelInvocationInput *ModelInvocationInput_ `locationName:"modelInvocationInput" type:"structure" sensitive:"true"`
// The foundation model output from the pre-processing step.
//
// ModelInvocationOutput is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PreProcessingTrace's
// String and GoString methods.
ModelInvocationOutput *PreProcessingModelInvocationOutput_ `locationName:"modelInvocationOutput" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingTrace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreProcessingTrace) GoString() string {
return s.String()
}
// SetModelInvocationInput sets the ModelInvocationInput field's value.
func (s *PreProcessingTrace) SetModelInvocationInput(v *ModelInvocationInput_) *PreProcessingTrace {
s.ModelInvocationInput = v
return s
}
// SetModelInvocationOutput sets the ModelInvocationOutput field's value.
func (s *PreProcessingTrace) SetModelInvocationOutput(v *PreProcessingModelInvocationOutput_) *PreProcessingTrace {
s.ModelInvocationOutput = v
return s
}
// Contains the template for the prompt that's sent to the model for response
// generation. For more information, see Knowledge base prompt templates (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt).
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the filter field
type PromptTemplate struct {
_ struct{} `type:"structure"`
// The template for the prompt that's sent to the model for response generation.
// You can include prompt placeholders, which become replaced before the prompt
// is sent to the model to provide instructions and context to the model. In
// addition, you can include XML tags to delineate meaningful sections of the
// prompt template.
//
// For more information, see the following resources:
//
// * Knowledge base prompt templates (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt)
//
// * Use XML tags with Anthropic Claude models (https://docs.anthropic.com/claude/docs/use-xml-tags)
//
// TextPromptTemplate is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by PromptTemplate's
// String and GoString methods.
TextPromptTemplate *string `locationName:"textPromptTemplate" min:"1" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PromptTemplate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PromptTemplate) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PromptTemplate) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PromptTemplate"}
if s.TextPromptTemplate != nil && len(*s.TextPromptTemplate) < 1 {
invalidParams.Add(request.NewErrParamMinLen("TextPromptTemplate", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetTextPromptTemplate sets the TextPromptTemplate field's value.
func (s *PromptTemplate) SetTextPromptTemplate(v string) *PromptTemplate {
s.TextPromptTemplate = &v
return s
}
// Contains the parameters in the request body.
type PropertyParameters struct {
_ struct{} `type:"structure"`
// A list of parameters in the request body.
Properties []*Parameter `locationName:"properties" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertyParameters) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertyParameters) GoString() string {
return s.String()
}
// SetProperties sets the Properties field's value.
func (s *PropertyParameters) SetProperties(v []*Parameter) *PropertyParameters {
s.Properties = v
return s
}
// To split up the prompt and retrieve multiple sources, set the transformation
// type to QUERY_DECOMPOSITION.
type QueryTransformationConfiguration struct {
_ struct{} `type:"structure"`
// The type of transformation to apply to the prompt.
//
// Type is a required field
Type *string `locationName:"type" type:"string" required:"true" enum:"QueryTransformationType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryTransformationConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryTransformationConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *QueryTransformationConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "QueryTransformationConfiguration"}
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetType sets the Type field's value.
func (s *QueryTransformationConfiguration) SetType(v string) *QueryTransformationConfiguration {
s.Type = &v
return s
}
// Contains the reasoning, based on the input, that the agent uses to justify
// carrying out an action group or getting information from a knowledge base.
type Rationale struct {
_ struct{} `type:"structure" sensitive:"true"`
// The reasoning or thought process of the agent, based on the input.
//
// Text is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Rationale's
// String and GoString methods.
Text *string `locationName:"text" type:"string" sensitive:"true"`
// The unique identifier of the trace step.
TraceId *string `locationName:"traceId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Rationale) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Rationale) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *Rationale) SetText(v string) *Rationale {
s.Text = &v
return s
}
// SetTraceId sets the TraceId field's value.
func (s *Rationale) SetTraceId(v string) *Rationale {
s.TraceId = &v
return s
}
// Contains details about the agent's response to reprompt the input.
type RepromptResponse struct {
_ struct{} `type:"structure" sensitive:"true"`
// Specifies what output is prompting the agent to reprompt the input.
//
// Source is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RepromptResponse's
// String and GoString methods.
Source *string `locationName:"source" type:"string" enum:"Source" sensitive:"true"`
// The text reprompting the input.
Text *string `locationName:"text" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RepromptResponse) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RepromptResponse) GoString() string {
return s.String()
}
// SetSource sets the Source field's value.
func (s *RepromptResponse) SetSource(v string) *RepromptResponse {
s.Source = &v
return s
}
// SetText sets the Text field's value.
func (s *RepromptResponse) SetText(v string) *RepromptResponse {
s.Text = &v
return s
}
// The parameters in the API request body.
type RequestBody struct {
_ struct{} `type:"structure"`
// The content in the request body.
Content map[string][]*Parameter `locationName:"content" type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RequestBody) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RequestBody) GoString() string {
return s.String()
}
// SetContent sets the Content field's value.
func (s *RequestBody) SetContent(v map[string][]*Parameter) *RequestBody {
s.Content = v
return s
}
// The specified resource Amazon Resource Name (ARN) was not found. Check the
// Amazon Resource Name (ARN) and try your request again.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) GoString() string {
return s.String()
}
// The ResourceNotFoundException is and event in the FlowResponseStream group of events.
func (s *ResourceNotFoundException) eventFlowResponseStream() {}
// The ResourceNotFoundException is and event in the ResponseStream group of events.
func (s *ResourceNotFoundException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ResourceNotFoundException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ResourceNotFoundException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ResourceNotFoundException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
return &ResourceNotFoundException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
return "ResourceNotFoundException"
}
// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
return nil
}
func (s *ResourceNotFoundException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
// ResponseStreamEvent groups together all EventStream
// events writes for ResponseStream.
//
// These events are:
//
// - PayloadPart
// - FilePart
// - ReturnControlPayload
// - TracePart
type ResponseStreamEvent interface {
eventResponseStream()
eventstreamapi.Marshaler
eventstreamapi.Unmarshaler
}
// ResponseStreamReader provides the interface for reading to the stream. The
// default implementation for this interface will be ResponseStream.
//
// The reader's Close method must allow multiple concurrent calls.
//
// These events are:
//
// - PayloadPart
// - FilePart
// - ReturnControlPayload
// - TracePart
// - ResponseStreamUnknownEvent
type ResponseStreamReader interface {
// Returns a channel of events as they are read from the event stream.
Events() <-chan ResponseStreamEvent
// Close will stop the reader reading events from the stream.
Close() error
// Returns any error that has occurred while reading from the event stream.
Err() error
}
type readResponseStream struct {
eventReader *eventstreamapi.EventReader
stream chan ResponseStreamEvent
err *eventstreamapi.OnceError
done chan struct{}
closeOnce sync.Once
}
func newReadResponseStream(eventReader *eventstreamapi.EventReader) *readResponseStream {
r := &readResponseStream{
eventReader: eventReader,
stream: make(chan ResponseStreamEvent),
done: make(chan struct{}),
err: eventstreamapi.NewOnceError(),
}
go r.readEventStream()
return r
}
// Close will close the underlying event stream reader.
func (r *readResponseStream) Close() error {
r.closeOnce.Do(r.safeClose)
return r.Err()
}
func (r *readResponseStream) ErrorSet() <-chan struct{} {
return r.err.ErrorSet()
}
func (r *readResponseStream) Closed() <-chan struct{} {
return r.done
}
func (r *readResponseStream) safeClose() {
close(r.done)
}
func (r *readResponseStream) Err() error {
return r.err.Err()
}
func (r *readResponseStream) Events() <-chan ResponseStreamEvent {
return r.stream
}
func (r *readResponseStream) readEventStream() {
defer r.Close()
defer close(r.stream)
for {
event, err := r.eventReader.ReadEvent()
if err != nil {
if err == io.EOF {
return
}
select {
case <-r.done:
// If closed already ignore the error
return
default:
}
if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok {
continue
}
r.err.SetError(err)
return
}
select {
case r.stream <- event.(ResponseStreamEvent):
case <-r.done:
return
}
}
}
type unmarshalerForResponseStreamEvent struct {
metadata protocol.ResponseMetadata
}
func (u unmarshalerForResponseStreamEvent) UnmarshalerForEventName(eventType string) (eventstreamapi.Unmarshaler, error) {
switch eventType {
case "chunk":
return &PayloadPart{}, nil
case "files":
return &FilePart{}, nil
case "returnControl":
return &ReturnControlPayload{}, nil
case "trace":
return &TracePart{}, nil
case "accessDeniedException":
return newErrorAccessDeniedException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "badGatewayException":
return newErrorBadGatewayException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "conflictException":
return newErrorConflictException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "dependencyFailedException":
return newErrorDependencyFailedException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "internalServerException":
return newErrorInternalServerException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "resourceNotFoundException":
return newErrorResourceNotFoundException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "serviceQuotaExceededException":
return newErrorServiceQuotaExceededException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "throttlingException":
return newErrorThrottlingException(u.metadata).(eventstreamapi.Unmarshaler), nil
case "validationException":
return newErrorValidationException(u.metadata).(eventstreamapi.Unmarshaler), nil
default:
return &ResponseStreamUnknownEvent{Type: eventType}, nil
}
}
// ResponseStreamUnknownEvent provides a failsafe event for the
// ResponseStream group of events when an unknown event is received.
type ResponseStreamUnknownEvent struct {
Type string
Message eventstream.Message
}
// The ResponseStreamUnknownEvent is and event in the ResponseStream
// group of events.
func (s *ResponseStreamUnknownEvent) eventResponseStream() {}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (e *ResponseStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) (
msg eventstream.Message, err error,
) {
return e.Message.Clone(), nil
}
// UnmarshalEvent unmarshals the EventStream Message into the ResponseStream value.
// This method is only used internally within the SDK's EventStream handling.
func (e *ResponseStreamUnknownEvent) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
e.Message = msg.Clone()
return nil
}
// Specifies the filters to use on the metadata attributes in the knowledge
// base data sources before returning results. For more information, see Query
// configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
// See the examples below to see how to use these filters.
//
// This data type is used in the following API operations:
//
// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax)
// – in the filter field
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the filter field
type RetrievalFilter struct {
_ struct{} `type:"structure" sensitive:"true"`
// Knowledge base data sources are returned if their metadata attributes fulfill
// all the filter conditions inside this list.
AndAll []*RetrievalFilter `locationName:"andAll" min:"2" type:"list" sensitive:"true"`
// Knowledge base data sources are returned if their metadata attributes fulfill
// at least one of the filter conditions inside this list.
OrAll []*RetrievalFilter `locationName:"orAll" min:"2" type:"list" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalFilter) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrievalFilter) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrievalFilter"}
if s.AndAll != nil && len(s.AndAll) < 2 {
invalidParams.Add(request.NewErrParamMinLen("AndAll", 2))
}
if s.OrAll != nil && len(s.OrAll) < 2 {
invalidParams.Add(request.NewErrParamMinLen("OrAll", 2))
}
if s.AndAll != nil {
for i, v := range s.AndAll {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AndAll", i), err.(request.ErrInvalidParams))
}
}
}
if s.OrAll != nil {
for i, v := range s.OrAll {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrAll", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAndAll sets the AndAll field's value.
func (s *RetrievalFilter) SetAndAll(v []*RetrievalFilter) *RetrievalFilter {
s.AndAll = v
return s
}
// SetOrAll sets the OrAll field's value.
func (s *RetrievalFilter) SetOrAll(v []*RetrievalFilter) *RetrievalFilter {
s.OrAll = v
return s
}
// The Confluence data source location.
type RetrievalResultConfluenceLocation struct {
_ struct{} `type:"structure"`
// The Confluence host URL for the data source location.
Url *string `locationName:"url" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultConfluenceLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultConfluenceLocation) GoString() string {
return s.String()
}
// SetUrl sets the Url field's value.
func (s *RetrievalResultConfluenceLocation) SetUrl(v string) *RetrievalResultConfluenceLocation {
s.Url = &v
return s
}
// Contains the cited text from the data source.
//
// This data type is used in the following API operations:
//
// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax)
// – in the content field
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the content field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the content field
type RetrievalResultContent struct {
_ struct{} `type:"structure" sensitive:"true"`
// The cited text from the data source.
//
// Text is a required field
Text *string `locationName:"text" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultContent) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultContent) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *RetrievalResultContent) SetText(v string) *RetrievalResultContent {
s.Text = &v
return s
}
// Contains information about the data source location.
//
// This data type is used in the following API operations:
//
// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax)
// – in the location field
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the location field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the locatino field
type RetrievalResultLocation struct {
_ struct{} `type:"structure" sensitive:"true"`
// The Confluence data source location.
ConfluenceLocation *RetrievalResultConfluenceLocation `locationName:"confluenceLocation" type:"structure"`
// The S3 data source location.
S3Location *RetrievalResultS3Location `locationName:"s3Location" type:"structure"`
// The Salesforce data source location.
SalesforceLocation *RetrievalResultSalesforceLocation `locationName:"salesforceLocation" type:"structure"`
// The SharePoint data source location.
SharePointLocation *RetrievalResultSharePointLocation `locationName:"sharePointLocation" type:"structure"`
// The type of data source location.
//
// Type is a required field
Type *string `locationName:"type" type:"string" required:"true" enum:"RetrievalResultLocationType"`
// The web URL/URLs data source location.
WebLocation *RetrievalResultWebLocation `locationName:"webLocation" type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultLocation) GoString() string {
return s.String()
}
// SetConfluenceLocation sets the ConfluenceLocation field's value.
func (s *RetrievalResultLocation) SetConfluenceLocation(v *RetrievalResultConfluenceLocation) *RetrievalResultLocation {
s.ConfluenceLocation = v
return s
}
// SetS3Location sets the S3Location field's value.
func (s *RetrievalResultLocation) SetS3Location(v *RetrievalResultS3Location) *RetrievalResultLocation {
s.S3Location = v
return s
}
// SetSalesforceLocation sets the SalesforceLocation field's value.
func (s *RetrievalResultLocation) SetSalesforceLocation(v *RetrievalResultSalesforceLocation) *RetrievalResultLocation {
s.SalesforceLocation = v
return s
}
// SetSharePointLocation sets the SharePointLocation field's value.
func (s *RetrievalResultLocation) SetSharePointLocation(v *RetrievalResultSharePointLocation) *RetrievalResultLocation {
s.SharePointLocation = v
return s
}
// SetType sets the Type field's value.
func (s *RetrievalResultLocation) SetType(v string) *RetrievalResultLocation {
s.Type = &v
return s
}
// SetWebLocation sets the WebLocation field's value.
func (s *RetrievalResultLocation) SetWebLocation(v *RetrievalResultWebLocation) *RetrievalResultLocation {
s.WebLocation = v
return s
}
// The S3 data source location.
//
// This data type is used in the following API operations:
//
// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax)
// – in the s3Location field
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the s3Location field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the s3Location field
type RetrievalResultS3Location struct {
_ struct{} `type:"structure"`
// The S3 URI for the data source location.
Uri *string `locationName:"uri" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultS3Location) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultS3Location) GoString() string {
return s.String()
}
// SetUri sets the Uri field's value.
func (s *RetrievalResultS3Location) SetUri(v string) *RetrievalResultS3Location {
s.Uri = &v
return s
}
// The Salesforce data source location.
type RetrievalResultSalesforceLocation struct {
_ struct{} `type:"structure"`
// The Salesforce host URL for the data source location.
Url *string `locationName:"url" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultSalesforceLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultSalesforceLocation) GoString() string {
return s.String()
}
// SetUrl sets the Url field's value.
func (s *RetrievalResultSalesforceLocation) SetUrl(v string) *RetrievalResultSalesforceLocation {
s.Url = &v
return s
}
// The SharePoint data source location.
type RetrievalResultSharePointLocation struct {
_ struct{} `type:"structure"`
// The SharePoint site URL for the data source location.
Url *string `locationName:"url" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultSharePointLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultSharePointLocation) GoString() string {
return s.String()
}
// SetUrl sets the Url field's value.
func (s *RetrievalResultSharePointLocation) SetUrl(v string) *RetrievalResultSharePointLocation {
s.Url = &v
return s
}
// The web URL/URLs data source location.
type RetrievalResultWebLocation struct {
_ struct{} `type:"structure"`
// The web URL/URLs for the data source location.
Url *string `locationName:"url" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultWebLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievalResultWebLocation) GoString() string {
return s.String()
}
// SetUrl sets the Url field's value.
func (s *RetrievalResultWebLocation) SetUrl(v string) *RetrievalResultWebLocation {
s.Url = &v
return s
}
// Contains details about the resource being queried.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the retrieveAndGenerateConfiguration field
type RetrieveAndGenerateConfiguration struct {
_ struct{} `type:"structure"`
// The configuration used with the external source wrapper object in the retrieveAndGenerate
// function.
ExternalSourcesConfiguration *ExternalSourcesRetrieveAndGenerateConfiguration `locationName:"externalSourcesConfiguration" type:"structure"`
// Contains details about the resource being queried.
KnowledgeBaseConfiguration *KnowledgeBaseRetrieveAndGenerateConfiguration `locationName:"knowledgeBaseConfiguration" type:"structure"`
// The type of resource that is queried by the request.
//
// Type is a required field
Type *string `locationName:"type" type:"string" required:"true" enum:"RetrieveAndGenerateType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrieveAndGenerateConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrieveAndGenerateConfiguration"}
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
if s.ExternalSourcesConfiguration != nil {
if err := s.ExternalSourcesConfiguration.Validate(); err != nil {
invalidParams.AddNested("ExternalSourcesConfiguration", err.(request.ErrInvalidParams))
}
}
if s.KnowledgeBaseConfiguration != nil {
if err := s.KnowledgeBaseConfiguration.Validate(); err != nil {
invalidParams.AddNested("KnowledgeBaseConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetExternalSourcesConfiguration sets the ExternalSourcesConfiguration field's value.
func (s *RetrieveAndGenerateConfiguration) SetExternalSourcesConfiguration(v *ExternalSourcesRetrieveAndGenerateConfiguration) *RetrieveAndGenerateConfiguration {
s.ExternalSourcesConfiguration = v
return s
}
// SetKnowledgeBaseConfiguration sets the KnowledgeBaseConfiguration field's value.
func (s *RetrieveAndGenerateConfiguration) SetKnowledgeBaseConfiguration(v *KnowledgeBaseRetrieveAndGenerateConfiguration) *RetrieveAndGenerateConfiguration {
s.KnowledgeBaseConfiguration = v
return s
}
// SetType sets the Type field's value.
func (s *RetrieveAndGenerateConfiguration) SetType(v string) *RetrieveAndGenerateConfiguration {
s.Type = &v
return s
}
type RetrieveAndGenerateInput struct {
_ struct{} `type:"structure"`
// Contains the query to be made to the knowledge base.
//
// Input is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrieveAndGenerateInput's
// String and GoString methods.
//
// Input is a required field
Input *RetrieveAndGenerateInput_ `locationName:"input" type:"structure" required:"true" sensitive:"true"`
// Contains configurations for the knowledge base query and retrieval process.
// For more information, see Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
RetrieveAndGenerateConfiguration *RetrieveAndGenerateConfiguration `locationName:"retrieveAndGenerateConfiguration" type:"structure"`
// Contains details about the session with the knowledge base.
SessionConfiguration *RetrieveAndGenerateSessionConfiguration `locationName:"sessionConfiguration" type:"structure"`
// The unique identifier of the session. When you first make a RetrieveAndGenerate
// request, Amazon Bedrock automatically generates this value. You must reuse
// this value for all subsequent requests in the same conversational session.
// This value allows Amazon Bedrock to maintain context and knowledge from previous
// interactions. You can't explicitly set the sessionId yourself.
SessionId *string `locationName:"sessionId" min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrieveAndGenerateInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrieveAndGenerateInput"}
if s.Input == nil {
invalidParams.Add(request.NewErrParamRequired("Input"))
}
if s.SessionId != nil && len(*s.SessionId) < 2 {
invalidParams.Add(request.NewErrParamMinLen("SessionId", 2))
}
if s.Input != nil {
if err := s.Input.Validate(); err != nil {
invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
}
}
if s.RetrieveAndGenerateConfiguration != nil {
if err := s.RetrieveAndGenerateConfiguration.Validate(); err != nil {
invalidParams.AddNested("RetrieveAndGenerateConfiguration", err.(request.ErrInvalidParams))
}
}
if s.SessionConfiguration != nil {
if err := s.SessionConfiguration.Validate(); err != nil {
invalidParams.AddNested("SessionConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetInput sets the Input field's value.
func (s *RetrieveAndGenerateInput) SetInput(v *RetrieveAndGenerateInput_) *RetrieveAndGenerateInput {
s.Input = v
return s
}
// SetRetrieveAndGenerateConfiguration sets the RetrieveAndGenerateConfiguration field's value.
func (s *RetrieveAndGenerateInput) SetRetrieveAndGenerateConfiguration(v *RetrieveAndGenerateConfiguration) *RetrieveAndGenerateInput {
s.RetrieveAndGenerateConfiguration = v
return s
}
// SetSessionConfiguration sets the SessionConfiguration field's value.
func (s *RetrieveAndGenerateInput) SetSessionConfiguration(v *RetrieveAndGenerateSessionConfiguration) *RetrieveAndGenerateInput {
s.SessionConfiguration = v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *RetrieveAndGenerateInput) SetSessionId(v string) *RetrieveAndGenerateInput {
s.SessionId = &v
return s
}
// Contains the query made to the knowledge base.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the input field
type RetrieveAndGenerateInput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// The query made to the knowledge base.
//
// Text is a required field
Text *string `locationName:"text" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateInput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateInput_) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrieveAndGenerateInput_) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrieveAndGenerateInput_"}
if s.Text == nil {
invalidParams.Add(request.NewErrParamRequired("Text"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetText sets the Text field's value.
func (s *RetrieveAndGenerateInput_) SetText(v string) *RetrieveAndGenerateInput_ {
s.Text = &v
return s
}
type RetrieveAndGenerateOutput struct {
_ struct{} `type:"structure"`
// A list of segments of the generated response that are based on sources in
// the knowledge base, alongside information about the sources.
Citations []*Citation `locationName:"citations" type:"list"`
// Specifies if there is a guardrail intervention in the response.
GuardrailAction *string `locationName:"guardrailAction" type:"string" enum:"GuadrailAction"`
// Contains the response generated from querying the knowledge base.
//
// Output is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrieveAndGenerateOutput's
// String and GoString methods.
//
// Output is a required field
Output *RetrieveAndGenerateOutput_ `locationName:"output" type:"structure" required:"true" sensitive:"true"`
// The unique identifier of the session. When you first make a RetrieveAndGenerate
// request, Amazon Bedrock automatically generates this value. You must reuse
// this value for all subsequent requests in the same conversational session.
// This value allows Amazon Bedrock to maintain context and knowledge from previous
// interactions. You can't explicitly set the sessionId yourself.
//
// SessionId is a required field
SessionId *string `locationName:"sessionId" min:"2" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateOutput) GoString() string {
return s.String()
}
// SetCitations sets the Citations field's value.
func (s *RetrieveAndGenerateOutput) SetCitations(v []*Citation) *RetrieveAndGenerateOutput {
s.Citations = v
return s
}
// SetGuardrailAction sets the GuardrailAction field's value.
func (s *RetrieveAndGenerateOutput) SetGuardrailAction(v string) *RetrieveAndGenerateOutput {
s.GuardrailAction = &v
return s
}
// SetOutput sets the Output field's value.
func (s *RetrieveAndGenerateOutput) SetOutput(v *RetrieveAndGenerateOutput_) *RetrieveAndGenerateOutput {
s.Output = v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *RetrieveAndGenerateOutput) SetSessionId(v string) *RetrieveAndGenerateOutput {
s.SessionId = &v
return s
}
// Contains the response generated from querying the knowledge base.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the output field
type RetrieveAndGenerateOutput_ struct {
_ struct{} `type:"structure" sensitive:"true"`
// The response generated from querying the knowledge base.
//
// Text is a required field
Text *string `locationName:"text" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateOutput_) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateOutput_) GoString() string {
return s.String()
}
// SetText sets the Text field's value.
func (s *RetrieveAndGenerateOutput_) SetText(v string) *RetrieveAndGenerateOutput_ {
s.Text = &v
return s
}
// Contains configuration about the session with the knowledge base.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax)
// – in the sessionConfiguration field
type RetrieveAndGenerateSessionConfiguration struct {
_ struct{} `type:"structure"`
// The ARN of the KMS key encrypting the session.
//
// KmsKeyArn is a required field
KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateSessionConfiguration) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveAndGenerateSessionConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrieveAndGenerateSessionConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrieveAndGenerateSessionConfiguration"}
if s.KmsKeyArn == nil {
invalidParams.Add(request.NewErrParamRequired("KmsKeyArn"))
}
if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetKmsKeyArn sets the KmsKeyArn field's value.
func (s *RetrieveAndGenerateSessionConfiguration) SetKmsKeyArn(v string) *RetrieveAndGenerateSessionConfiguration {
s.KmsKeyArn = &v
return s
}
type RetrieveInput struct {
_ struct{} `type:"structure"`
// The unique identifier of the knowledge base to query.
//
// KnowledgeBaseId is a required field
KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"`
// If there are more results than can fit in the response, the response returns
// a nextToken. Use this token in the nextToken field of another request to
// retrieve the next batch of results.
NextToken *string `locationName:"nextToken" min:"1" type:"string"`
// Contains configurations for the knowledge base query and retrieval process.
// For more information, see Query configurations (https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).
RetrievalConfiguration *KnowledgeBaseRetrievalConfiguration `locationName:"retrievalConfiguration" type:"structure"`
// Contains the query to send the knowledge base.
//
// RetrievalQuery is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrieveInput's
// String and GoString methods.
//
// RetrievalQuery is a required field
RetrievalQuery *KnowledgeBaseQuery `locationName:"retrievalQuery" type:"structure" required:"true" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetrieveInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetrieveInput"}
if s.KnowledgeBaseId == nil {
invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId"))
}
if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if s.RetrievalQuery == nil {
invalidParams.Add(request.NewErrParamRequired("RetrievalQuery"))
}
if s.RetrievalConfiguration != nil {
if err := s.RetrievalConfiguration.Validate(); err != nil {
invalidParams.AddNested("RetrievalConfiguration", err.(request.ErrInvalidParams))
}
}
if s.RetrievalQuery != nil {
if err := s.RetrievalQuery.Validate(); err != nil {
invalidParams.AddNested("RetrievalQuery", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetKnowledgeBaseId sets the KnowledgeBaseId field's value.
func (s *RetrieveInput) SetKnowledgeBaseId(v string) *RetrieveInput {
s.KnowledgeBaseId = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *RetrieveInput) SetNextToken(v string) *RetrieveInput {
s.NextToken = &v
return s
}
// SetRetrievalConfiguration sets the RetrievalConfiguration field's value.
func (s *RetrieveInput) SetRetrievalConfiguration(v *KnowledgeBaseRetrievalConfiguration) *RetrieveInput {
s.RetrievalConfiguration = v
return s
}
// SetRetrievalQuery sets the RetrievalQuery field's value.
func (s *RetrieveInput) SetRetrievalQuery(v *KnowledgeBaseQuery) *RetrieveInput {
s.RetrievalQuery = v
return s
}
type RetrieveOutput struct {
_ struct{} `type:"structure"`
// If there are more results than can fit in the response, the response returns
// a nextToken. Use this token in the nextToken field of another request to
// retrieve the next batch of results.
NextToken *string `locationName:"nextToken" min:"1" type:"string"`
// A list of results from querying the knowledge base.
//
// RetrievalResults is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrieveOutput's
// String and GoString methods.
//
// RetrievalResults is a required field
RetrievalResults []*KnowledgeBaseRetrievalResult `locationName:"retrievalResults" type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrieveOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *RetrieveOutput) SetNextToken(v string) *RetrieveOutput {
s.NextToken = &v
return s
}
// SetRetrievalResults sets the RetrievalResults field's value.
func (s *RetrieveOutput) SetRetrievalResults(v []*KnowledgeBaseRetrievalResult) *RetrieveOutput {
s.RetrievalResults = v
return s
}
// Contains metadata about a source cited for the generated response.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the retrievedReferences field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the retrievedReferences field
type RetrievedReference struct {
_ struct{} `type:"structure"`
// Contains the cited text from the data source.
//
// Content is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrievedReference's
// String and GoString methods.
Content *RetrievalResultContent `locationName:"content" type:"structure" sensitive:"true"`
// Contains information about the location of the data source.
//
// Location is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by RetrievedReference's
// String and GoString methods.
Location *RetrievalResultLocation `locationName:"location" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievedReference) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrievedReference) GoString() string {
return s.String()
}
// SetContent sets the Content field's value.
func (s *RetrievedReference) SetContent(v *RetrievalResultContent) *RetrievedReference {
s.Content = v
return s
}
// SetLocation sets the Location field's value.
func (s *RetrievedReference) SetLocation(v *RetrievalResultLocation) *RetrievedReference {
s.Location = v
return s
}
// Contains information to return from the action group that the agent has predicted
// to invoke.
//
// This data type is used in the following API operations:
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
type ReturnControlPayload struct {
_ struct{} `type:"structure" sensitive:"true"`
// The identifier of the action group invocation.
InvocationId *string `locationName:"invocationId" type:"string"`
// A list of objects that contain information about the parameters and inputs
// that need to be sent into the API operation or function, based on what the
// agent determines from its session with the user.
InvocationInputs []*InvocationInputMember `locationName:"invocationInputs" min:"1" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReturnControlPayload) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReturnControlPayload) GoString() string {
return s.String()
}
// SetInvocationId sets the InvocationId field's value.
func (s *ReturnControlPayload) SetInvocationId(v string) *ReturnControlPayload {
s.InvocationId = &v
return s
}
// SetInvocationInputs sets the InvocationInputs field's value.
func (s *ReturnControlPayload) SetInvocationInputs(v []*InvocationInputMember) *ReturnControlPayload {
s.InvocationInputs = v
return s
}
// The ReturnControlPayload is and event in the ResponseStream group of events.
func (s *ReturnControlPayload) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ReturnControlPayload value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ReturnControlPayload) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ReturnControlPayload) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// The unique wrapper object of the document from the S3 location.
type S3ObjectDoc struct {
_ struct{} `type:"structure"`
// The file location of the S3 wrapper object.
//
// Uri is a required field
Uri *string `locationName:"uri" min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3ObjectDoc) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3ObjectDoc) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *S3ObjectDoc) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "S3ObjectDoc"}
if s.Uri == nil {
invalidParams.Add(request.NewErrParamRequired("Uri"))
}
if s.Uri != nil && len(*s.Uri) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetUri sets the Uri field's value.
func (s *S3ObjectDoc) SetUri(v string) *S3ObjectDoc {
s.Uri = &v
return s
}
// Contains details of the s3 object where the source file is located.
type S3ObjectFile struct {
_ struct{} `type:"structure"`
// The uri of the s3 object.
//
// Uri is a required field
Uri *string `locationName:"uri" min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3ObjectFile) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3ObjectFile) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *S3ObjectFile) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "S3ObjectFile"}
if s.Uri == nil {
invalidParams.Add(request.NewErrParamRequired("Uri"))
}
if s.Uri != nil && len(*s.Uri) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetUri sets the Uri field's value.
func (s *S3ObjectFile) SetUri(v string) *S3ObjectFile {
s.Uri = &v
return s
}
// The number of requests exceeds the service quota. Resubmit your request later.
type ServiceQuotaExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) GoString() string {
return s.String()
}
// The ServiceQuotaExceededException is and event in the FlowResponseStream group of events.
func (s *ServiceQuotaExceededException) eventFlowResponseStream() {}
// The ServiceQuotaExceededException is and event in the ResponseStream group of events.
func (s *ServiceQuotaExceededException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ServiceQuotaExceededException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ServiceQuotaExceededException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ServiceQuotaExceededException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
return &ServiceQuotaExceededException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ServiceQuotaExceededException) Code() string {
return "ServiceQuotaExceededException"
}
// Message returns the exception's message.
func (s *ServiceQuotaExceededException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceQuotaExceededException) OrigErr() error {
return nil
}
func (s *ServiceQuotaExceededException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ServiceQuotaExceededException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ServiceQuotaExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
// Contains parameters that specify various attributes that persist across a
// session or prompt. You can define session state attributes as key-value pairs
// when writing a Lambda function (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-lambda.html)
// for an action group or pass them when making an InvokeAgent (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)
// request. Use session state attributes to control and provide conversational
// context for your agent and to help customize your agent's behavior. For more
// information, see Control session context (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html).
type SessionState struct {
_ struct{} `type:"structure"`
// Contains information about the files used by code interpreter.
Files []*InputFile `locationName:"files" type:"list"`
// The identifier of the invocation of an action. This value must match the
// invocationId returned in the InvokeAgent response for the action whose results
// are provided in the returnControlInvocationResults field. For more information,
// see Return control to the agent developer (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html)
// and Control session context (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html).
InvocationId *string `locationName:"invocationId" type:"string"`
// An array of configurations, each of which applies to a knowledge base attached
// to the agent.
KnowledgeBaseConfigurations []*KnowledgeBaseConfiguration `locationName:"knowledgeBaseConfigurations" min:"1" type:"list"`
// Contains attributes that persist across a prompt and the values of those
// attributes. These attributes replace the $prompt_session_attributes$ placeholder
// variable in the orchestration prompt template. For more information, see
// Prompt template placeholder variables (https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html).
PromptSessionAttributes map[string]*string `locationName:"promptSessionAttributes" type:"map"`
// Contains information about the results from the action group invocation.
// For more information, see Return control to the agent developer (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html)
// and Control session context (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html).
//
// If you include this field, the inputText field will be ignored.
ReturnControlInvocationResults []*InvocationResultMember `locationName:"returnControlInvocationResults" min:"1" type:"list"`
// Contains attributes that persist across a session and the values of those
// attributes.
SessionAttributes map[string]*string `locationName:"sessionAttributes" type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SessionState) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SessionState) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SessionState) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SessionState"}
if s.KnowledgeBaseConfigurations != nil && len(s.KnowledgeBaseConfigurations) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseConfigurations", 1))
}
if s.ReturnControlInvocationResults != nil && len(s.ReturnControlInvocationResults) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ReturnControlInvocationResults", 1))
}
if s.Files != nil {
for i, v := range s.Files {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Files", i), err.(request.ErrInvalidParams))
}
}
}
if s.KnowledgeBaseConfigurations != nil {
for i, v := range s.KnowledgeBaseConfigurations {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KnowledgeBaseConfigurations", i), err.(request.ErrInvalidParams))
}
}
}
if s.ReturnControlInvocationResults != nil {
for i, v := range s.ReturnControlInvocationResults {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReturnControlInvocationResults", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFiles sets the Files field's value.
func (s *SessionState) SetFiles(v []*InputFile) *SessionState {
s.Files = v
return s
}
// SetInvocationId sets the InvocationId field's value.
func (s *SessionState) SetInvocationId(v string) *SessionState {
s.InvocationId = &v
return s
}
// SetKnowledgeBaseConfigurations sets the KnowledgeBaseConfigurations field's value.
func (s *SessionState) SetKnowledgeBaseConfigurations(v []*KnowledgeBaseConfiguration) *SessionState {
s.KnowledgeBaseConfigurations = v
return s
}
// SetPromptSessionAttributes sets the PromptSessionAttributes field's value.
func (s *SessionState) SetPromptSessionAttributes(v map[string]*string) *SessionState {
s.PromptSessionAttributes = v
return s
}
// SetReturnControlInvocationResults sets the ReturnControlInvocationResults field's value.
func (s *SessionState) SetReturnControlInvocationResults(v []*InvocationResultMember) *SessionState {
s.ReturnControlInvocationResults = v
return s
}
// SetSessionAttributes sets the SessionAttributes field's value.
func (s *SessionState) SetSessionAttributes(v map[string]*string) *SessionState {
s.SessionAttributes = v
return s
}
// Contains information about where the text with a citation begins and ends
// in the generated output.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the span field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the span field
type Span struct {
_ struct{} `type:"structure"`
// Where the text with a citation ends in the generated output.
End *int64 `locationName:"end" type:"integer"`
// Where the text with a citation starts in the generated output.
Start *int64 `locationName:"start" type:"integer"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Span) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Span) GoString() string {
return s.String()
}
// SetEnd sets the End field's value.
func (s *Span) SetEnd(v int64) *Span {
s.End = &v
return s
}
// SetStart sets the Start field's value.
func (s *Span) SetStart(v int64) *Span {
s.Start = &v
return s
}
// Configuration settings for text generation using a language model via the
// RetrieveAndGenerate operation. Includes parameters like temperature, top-p,
// maximum token count, and stop sequences.
//
// The valid range of maxTokens depends on the accepted values for your chosen
// model's inference parameters. To see the inference parameters for your model,
// see Inference parameters for foundation models. (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html)
type TextInferenceConfig struct {
_ struct{} `type:"structure"`
// The maximum number of tokens to generate in the output text. Do not use the
// minimum of 0 or the maximum of 65536. The limit values described here are
// arbitary values, for actual values consult the limits defined by your specific
// model.
MaxTokens *int64 `locationName:"maxTokens" type:"integer"`
// A list of sequences of characters that, if generated, will cause the model
// to stop generating further tokens. Do not use a minimum length of 1 or a
// maximum length of 1000. The limit values described here are arbitary values,
// for actual values consult the limits defined by your specific model.
StopSequences []*string `locationName:"stopSequences" type:"list"`
// Controls the random-ness of text generated by the language model, influencing
// how much the model sticks to the most predictable next words versus exploring
// more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes
// model outputs more deterministic or predictable, while a higher temperature
// (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.
Temperature *float64 `locationName:"temperature" type:"float"`
// A probability distribution threshold which controls what the model considers
// for the set of possible next tokens. The model will only consider the top
// p% of the probability distribution when generating the next token.
TopP *float64 `locationName:"topP" type:"float"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TextInferenceConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TextInferenceConfig) GoString() string {
return s.String()
}
// SetMaxTokens sets the MaxTokens field's value.
func (s *TextInferenceConfig) SetMaxTokens(v int64) *TextInferenceConfig {
s.MaxTokens = &v
return s
}
// SetStopSequences sets the StopSequences field's value.
func (s *TextInferenceConfig) SetStopSequences(v []*string) *TextInferenceConfig {
s.StopSequences = v
return s
}
// SetTemperature sets the Temperature field's value.
func (s *TextInferenceConfig) SetTemperature(v float64) *TextInferenceConfig {
s.Temperature = &v
return s
}
// SetTopP sets the TopP field's value.
func (s *TextInferenceConfig) SetTopP(v float64) *TextInferenceConfig {
s.TopP = &v
return s
}
// Contains the part of the generated text that contains a citation, alongside
// where it begins and ends.
//
// This data type is used in the following API operations:
//
// - RetrieveAndGenerate response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax)
// – in the textResponsePart field
//
// - InvokeAgent response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax)
// – in the textResponsePart field
type TextResponsePart struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains information about where the text with a citation begins and ends
// in the generated output.
Span *Span `locationName:"span" type:"structure"`
// The part of the generated text that contains a citation.
Text *string `locationName:"text" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TextResponsePart) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TextResponsePart) GoString() string {
return s.String()
}
// SetSpan sets the Span field's value.
func (s *TextResponsePart) SetSpan(v *Span) *TextResponsePart {
s.Span = v
return s
}
// SetText sets the Text field's value.
func (s *TextResponsePart) SetText(v string) *TextResponsePart {
s.Text = &v
return s
}
// The number of requests exceeds the limit. Resubmit your request later.
type ThrottlingException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) GoString() string {
return s.String()
}
// The ThrottlingException is and event in the FlowResponseStream group of events.
func (s *ThrottlingException) eventFlowResponseStream() {}
// The ThrottlingException is and event in the ResponseStream group of events.
func (s *ThrottlingException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ThrottlingException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ThrottlingException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ThrottlingException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorThrottlingException(v protocol.ResponseMetadata) error {
return &ThrottlingException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ThrottlingException) Code() string {
return "ThrottlingException"
}
// Message returns the exception's message.
func (s *ThrottlingException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ThrottlingException) OrigErr() error {
return nil
}
func (s *ThrottlingException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ThrottlingException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ThrottlingException) RequestID() string {
return s.RespMetadata.RequestID
}
// Contains one part of the agent's reasoning process and results from calling
// API actions and querying knowledge bases. You can use the trace to understand
// how the agent arrived at the response it provided the customer. For more
// information, see Trace enablement (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement).
type Trace struct {
_ struct{} `type:"structure" sensitive:"true"`
// Contains information about the failure of the interaction.
//
// FailureTrace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Trace's
// String and GoString methods.
FailureTrace *FailureTrace `locationName:"failureTrace" type:"structure" sensitive:"true"`
// The trace details for a trace defined in the Guardrail filter.
//
// GuardrailTrace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Trace's
// String and GoString methods.
GuardrailTrace *GuardrailTrace `locationName:"guardrailTrace" type:"structure" sensitive:"true"`
// Details about the orchestration step, in which the agent determines the order
// in which actions are executed and which knowledge bases are retrieved.
//
// OrchestrationTrace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Trace's
// String and GoString methods.
OrchestrationTrace *OrchestrationTrace `locationName:"orchestrationTrace" type:"structure" sensitive:"true"`
// Details about the post-processing step, in which the agent shapes the response..
//
// PostProcessingTrace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Trace's
// String and GoString methods.
PostProcessingTrace *PostProcessingTrace `locationName:"postProcessingTrace" type:"structure" sensitive:"true"`
// Details about the pre-processing step, in which the agent contextualizes
// and categorizes user inputs.
//
// PreProcessingTrace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Trace's
// String and GoString methods.
PreProcessingTrace *PreProcessingTrace `locationName:"preProcessingTrace" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Trace) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Trace) GoString() string {
return s.String()
}
// SetFailureTrace sets the FailureTrace field's value.
func (s *Trace) SetFailureTrace(v *FailureTrace) *Trace {
s.FailureTrace = v
return s
}
// SetGuardrailTrace sets the GuardrailTrace field's value.
func (s *Trace) SetGuardrailTrace(v *GuardrailTrace) *Trace {
s.GuardrailTrace = v
return s
}
// SetOrchestrationTrace sets the OrchestrationTrace field's value.
func (s *Trace) SetOrchestrationTrace(v *OrchestrationTrace) *Trace {
s.OrchestrationTrace = v
return s
}
// SetPostProcessingTrace sets the PostProcessingTrace field's value.
func (s *Trace) SetPostProcessingTrace(v *PostProcessingTrace) *Trace {
s.PostProcessingTrace = v
return s
}
// SetPreProcessingTrace sets the PreProcessingTrace field's value.
func (s *Trace) SetPreProcessingTrace(v *PreProcessingTrace) *Trace {
s.PreProcessingTrace = v
return s
}
// Contains information about the agent and session, alongside the agent's reasoning
// process and results from calling API actions and querying knowledge bases
// and metadata about the trace. You can use the trace to understand how the
// agent arrived at the response it provided the customer. For more information,
// see Trace enablement (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement).
type TracePart struct {
_ struct{} `type:"structure" sensitive:"true"`
// The unique identifier of the alias of the agent.
AgentAliasId *string `locationName:"agentAliasId" type:"string"`
// The unique identifier of the agent.
AgentId *string `locationName:"agentId" type:"string"`
// The version of the agent.
AgentVersion *string `locationName:"agentVersion" min:"1" type:"string"`
// The unique identifier of the session with the agent.
SessionId *string `locationName:"sessionId" min:"2" type:"string"`
// Contains one part of the agent's reasoning process and results from calling
// API actions and querying knowledge bases. You can use the trace to understand
// how the agent arrived at the response it provided the customer. For more
// information, see Trace enablement (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement).
//
// Trace is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by TracePart's
// String and GoString methods.
Trace *Trace `locationName:"trace" type:"structure" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TracePart) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TracePart) GoString() string {
return s.String()
}
// SetAgentAliasId sets the AgentAliasId field's value.
func (s *TracePart) SetAgentAliasId(v string) *TracePart {
s.AgentAliasId = &v
return s
}
// SetAgentId sets the AgentId field's value.
func (s *TracePart) SetAgentId(v string) *TracePart {
s.AgentId = &v
return s
}
// SetAgentVersion sets the AgentVersion field's value.
func (s *TracePart) SetAgentVersion(v string) *TracePart {
s.AgentVersion = &v
return s
}
// SetSessionId sets the SessionId field's value.
func (s *TracePart) SetSessionId(v string) *TracePart {
s.SessionId = &v
return s
}
// SetTrace sets the Trace field's value.
func (s *TracePart) SetTrace(v *Trace) *TracePart {
s.Trace = v
return s
}
// The TracePart is and event in the ResponseStream group of events.
func (s *TracePart) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the TracePart value.
// This method is only used internally within the SDK's EventStream handling.
func (s *TracePart) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *TracePart) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
// Input validation failed. Check your request parameters and retry the request.
type ValidationException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) GoString() string {
return s.String()
}
// The ValidationException is and event in the FlowResponseStream group of events.
func (s *ValidationException) eventFlowResponseStream() {}
// The ValidationException is and event in the ResponseStream group of events.
func (s *ValidationException) eventResponseStream() {}
// UnmarshalEvent unmarshals the EventStream Message into the ValidationException value.
// This method is only used internally within the SDK's EventStream handling.
func (s *ValidationException) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
if err := payloadUnmarshaler.UnmarshalPayload(
bytes.NewReader(msg.Payload), s,
); err != nil {
return err
}
return nil
}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ValidationException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType))
var buf bytes.Buffer
if err = pm.MarshalPayload(&buf, s); err != nil {
return eventstream.Message{}, err
}
msg.Payload = buf.Bytes()
return msg, err
}
func newErrorValidationException(v protocol.ResponseMetadata) error {
return &ValidationException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ValidationException) Code() string {
return "ValidationException"
}
// Message returns the exception's message.
func (s *ValidationException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ValidationException) OrigErr() error {
return nil
}
func (s *ValidationException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ValidationException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ValidationException) RequestID() string {
return s.RespMetadata.RequestID
}
const (
// CreationModeDefault is a CreationMode enum value
CreationModeDefault = "DEFAULT"
// CreationModeOverridden is a CreationMode enum value
CreationModeOverridden = "OVERRIDDEN"
)
// CreationMode_Values returns all elements of the CreationMode enum
func CreationMode_Values() []string {
return []string{
CreationModeDefault,
CreationModeOverridden,
}
}
const (
// ExecutionTypeLambda is a ExecutionType enum value
ExecutionTypeLambda = "LAMBDA"
// ExecutionTypeReturnControl is a ExecutionType enum value
ExecutionTypeReturnControl = "RETURN_CONTROL"
)
// ExecutionType_Values returns all elements of the ExecutionType enum
func ExecutionType_Values() []string {
return []string{
ExecutionTypeLambda,
ExecutionTypeReturnControl,
}
}
const (
// ExternalSourceTypeS3 is a ExternalSourceType enum value
ExternalSourceTypeS3 = "S3"
// ExternalSourceTypeByteContent is a ExternalSourceType enum value
ExternalSourceTypeByteContent = "BYTE_CONTENT"
)
// ExternalSourceType_Values returns all elements of the ExternalSourceType enum
func ExternalSourceType_Values() []string {
return []string{
ExternalSourceTypeS3,
ExternalSourceTypeByteContent,
}
}
const (
// FileSourceTypeS3 is a FileSourceType enum value
FileSourceTypeS3 = "S3"
// FileSourceTypeByteContent is a FileSourceType enum value
FileSourceTypeByteContent = "BYTE_CONTENT"
)
// FileSourceType_Values returns all elements of the FileSourceType enum
func FileSourceType_Values() []string {
return []string{
FileSourceTypeS3,
FileSourceTypeByteContent,
}
}
const (
// FileUseCaseCodeInterpreter is a FileUseCase enum value
FileUseCaseCodeInterpreter = "CODE_INTERPRETER"
// FileUseCaseChat is a FileUseCase enum value
FileUseCaseChat = "CHAT"
)
// FileUseCase_Values returns all elements of the FileUseCase enum
func FileUseCase_Values() []string {
return []string{
FileUseCaseCodeInterpreter,
FileUseCaseChat,
}
}
const (
// FlowCompletionReasonSuccess is a FlowCompletionReason enum value
FlowCompletionReasonSuccess = "SUCCESS"
)
// FlowCompletionReason_Values returns all elements of the FlowCompletionReason enum
func FlowCompletionReason_Values() []string {
return []string{
FlowCompletionReasonSuccess,
}
}
const (
// GuadrailActionIntervened is a GuadrailAction enum value
GuadrailActionIntervened = "INTERVENED"
// GuadrailActionNone is a GuadrailAction enum value
GuadrailActionNone = "NONE"
)
// GuadrailAction_Values returns all elements of the GuadrailAction enum
func GuadrailAction_Values() []string {
return []string{
GuadrailActionIntervened,
GuadrailActionNone,
}
}
const (
// GuardrailActionIntervened is a GuardrailAction enum value
GuardrailActionIntervened = "INTERVENED"
// GuardrailActionNone is a GuardrailAction enum value
GuardrailActionNone = "NONE"
)
// GuardrailAction_Values returns all elements of the GuardrailAction enum
func GuardrailAction_Values() []string {
return []string{
GuardrailActionIntervened,
GuardrailActionNone,
}
}
const (
// GuardrailContentFilterConfidenceNone is a GuardrailContentFilterConfidence enum value
GuardrailContentFilterConfidenceNone = "NONE"
// GuardrailContentFilterConfidenceLow is a GuardrailContentFilterConfidence enum value
GuardrailContentFilterConfidenceLow = "LOW"
// GuardrailContentFilterConfidenceMedium is a GuardrailContentFilterConfidence enum value
GuardrailContentFilterConfidenceMedium = "MEDIUM"
// GuardrailContentFilterConfidenceHigh is a GuardrailContentFilterConfidence enum value
GuardrailContentFilterConfidenceHigh = "HIGH"
)
// GuardrailContentFilterConfidence_Values returns all elements of the GuardrailContentFilterConfidence enum
func GuardrailContentFilterConfidence_Values() []string {
return []string{
GuardrailContentFilterConfidenceNone,
GuardrailContentFilterConfidenceLow,
GuardrailContentFilterConfidenceMedium,
GuardrailContentFilterConfidenceHigh,
}
}
const (
// GuardrailContentFilterTypeInsults is a GuardrailContentFilterType enum value
GuardrailContentFilterTypeInsults = "INSULTS"
// GuardrailContentFilterTypeHate is a GuardrailContentFilterType enum value
GuardrailContentFilterTypeHate = "HATE"
// GuardrailContentFilterTypeSexual is a GuardrailContentFilterType enum value
GuardrailContentFilterTypeSexual = "SEXUAL"
// GuardrailContentFilterTypeViolence is a GuardrailContentFilterType enum value
GuardrailContentFilterTypeViolence = "VIOLENCE"
// GuardrailContentFilterTypeMisconduct is a GuardrailContentFilterType enum value
GuardrailContentFilterTypeMisconduct = "MISCONDUCT"
// GuardrailContentFilterTypePromptAttack is a GuardrailContentFilterType enum value
GuardrailContentFilterTypePromptAttack = "PROMPT_ATTACK"
)
// GuardrailContentFilterType_Values returns all elements of the GuardrailContentFilterType enum
func GuardrailContentFilterType_Values() []string {
return []string{
GuardrailContentFilterTypeInsults,
GuardrailContentFilterTypeHate,
GuardrailContentFilterTypeSexual,
GuardrailContentFilterTypeViolence,
GuardrailContentFilterTypeMisconduct,
GuardrailContentFilterTypePromptAttack,
}
}
const (
// GuardrailContentPolicyActionBlocked is a GuardrailContentPolicyAction enum value
GuardrailContentPolicyActionBlocked = "BLOCKED"
)
// GuardrailContentPolicyAction_Values returns all elements of the GuardrailContentPolicyAction enum
func GuardrailContentPolicyAction_Values() []string {
return []string{
GuardrailContentPolicyActionBlocked,
}
}
const (
// GuardrailManagedWordTypeProfanity is a GuardrailManagedWordType enum value
GuardrailManagedWordTypeProfanity = "PROFANITY"
)
// GuardrailManagedWordType_Values returns all elements of the GuardrailManagedWordType enum
func GuardrailManagedWordType_Values() []string {
return []string{
GuardrailManagedWordTypeProfanity,
}
}
const (
// GuardrailPiiEntityTypeAddress is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeAddress = "ADDRESS"
// GuardrailPiiEntityTypeAge is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeAge = "AGE"
// GuardrailPiiEntityTypeAwsAccessKey is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeAwsAccessKey = "AWS_ACCESS_KEY"
// GuardrailPiiEntityTypeAwsSecretKey is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeAwsSecretKey = "AWS_SECRET_KEY"
// GuardrailPiiEntityTypeCaHealthNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeCaHealthNumber = "CA_HEALTH_NUMBER"
// GuardrailPiiEntityTypeCaSocialInsuranceNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeCaSocialInsuranceNumber = "CA_SOCIAL_INSURANCE_NUMBER"
// GuardrailPiiEntityTypeCreditDebitCardCvv is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeCreditDebitCardCvv = "CREDIT_DEBIT_CARD_CVV"
// GuardrailPiiEntityTypeCreditDebitCardExpiry is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeCreditDebitCardExpiry = "CREDIT_DEBIT_CARD_EXPIRY"
// GuardrailPiiEntityTypeCreditDebitCardNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeCreditDebitCardNumber = "CREDIT_DEBIT_CARD_NUMBER"
// GuardrailPiiEntityTypeDriverId is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeDriverId = "DRIVER_ID"
// GuardrailPiiEntityTypeEmail is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeEmail = "EMAIL"
// GuardrailPiiEntityTypeInternationalBankAccountNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeInternationalBankAccountNumber = "INTERNATIONAL_BANK_ACCOUNT_NUMBER"
// GuardrailPiiEntityTypeIpAddress is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeIpAddress = "IP_ADDRESS"
// GuardrailPiiEntityTypeLicensePlate is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeLicensePlate = "LICENSE_PLATE"
// GuardrailPiiEntityTypeMacAddress is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeMacAddress = "MAC_ADDRESS"
// GuardrailPiiEntityTypeName is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeName = "NAME"
// GuardrailPiiEntityTypePassword is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypePassword = "PASSWORD"
// GuardrailPiiEntityTypePhone is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypePhone = "PHONE"
// GuardrailPiiEntityTypePin is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypePin = "PIN"
// GuardrailPiiEntityTypeSwiftCode is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeSwiftCode = "SWIFT_CODE"
// GuardrailPiiEntityTypeUkNationalHealthServiceNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUkNationalHealthServiceNumber = "UK_NATIONAL_HEALTH_SERVICE_NUMBER"
// GuardrailPiiEntityTypeUkNationalInsuranceNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUkNationalInsuranceNumber = "UK_NATIONAL_INSURANCE_NUMBER"
// GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber = "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"
// GuardrailPiiEntityTypeUrl is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUrl = "URL"
// GuardrailPiiEntityTypeUsername is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsername = "USERNAME"
// GuardrailPiiEntityTypeUsBankAccountNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsBankAccountNumber = "US_BANK_ACCOUNT_NUMBER"
// GuardrailPiiEntityTypeUsBankRoutingNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsBankRoutingNumber = "US_BANK_ROUTING_NUMBER"
// GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber = "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"
// GuardrailPiiEntityTypeUsPassportNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsPassportNumber = "US_PASSPORT_NUMBER"
// GuardrailPiiEntityTypeUsSocialSecurityNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeUsSocialSecurityNumber = "US_SOCIAL_SECURITY_NUMBER"
// GuardrailPiiEntityTypeVehicleIdentificationNumber is a GuardrailPiiEntityType enum value
GuardrailPiiEntityTypeVehicleIdentificationNumber = "VEHICLE_IDENTIFICATION_NUMBER"
)
// GuardrailPiiEntityType_Values returns all elements of the GuardrailPiiEntityType enum
func GuardrailPiiEntityType_Values() []string {
return []string{
GuardrailPiiEntityTypeAddress,
GuardrailPiiEntityTypeAge,
GuardrailPiiEntityTypeAwsAccessKey,
GuardrailPiiEntityTypeAwsSecretKey,
GuardrailPiiEntityTypeCaHealthNumber,
GuardrailPiiEntityTypeCaSocialInsuranceNumber,
GuardrailPiiEntityTypeCreditDebitCardCvv,
GuardrailPiiEntityTypeCreditDebitCardExpiry,
GuardrailPiiEntityTypeCreditDebitCardNumber,
GuardrailPiiEntityTypeDriverId,
GuardrailPiiEntityTypeEmail,
GuardrailPiiEntityTypeInternationalBankAccountNumber,
GuardrailPiiEntityTypeIpAddress,
GuardrailPiiEntityTypeLicensePlate,
GuardrailPiiEntityTypeMacAddress,
GuardrailPiiEntityTypeName,
GuardrailPiiEntityTypePassword,
GuardrailPiiEntityTypePhone,
GuardrailPiiEntityTypePin,
GuardrailPiiEntityTypeSwiftCode,
GuardrailPiiEntityTypeUkNationalHealthServiceNumber,
GuardrailPiiEntityTypeUkNationalInsuranceNumber,
GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber,
GuardrailPiiEntityTypeUrl,
GuardrailPiiEntityTypeUsername,
GuardrailPiiEntityTypeUsBankAccountNumber,
GuardrailPiiEntityTypeUsBankRoutingNumber,
GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber,
GuardrailPiiEntityTypeUsPassportNumber,
GuardrailPiiEntityTypeUsSocialSecurityNumber,
GuardrailPiiEntityTypeVehicleIdentificationNumber,
}
}
const (
// GuardrailSensitiveInformationPolicyActionBlocked is a GuardrailSensitiveInformationPolicyAction enum value
GuardrailSensitiveInformationPolicyActionBlocked = "BLOCKED"
// GuardrailSensitiveInformationPolicyActionAnonymized is a GuardrailSensitiveInformationPolicyAction enum value
GuardrailSensitiveInformationPolicyActionAnonymized = "ANONYMIZED"
)
// GuardrailSensitiveInformationPolicyAction_Values returns all elements of the GuardrailSensitiveInformationPolicyAction enum
func GuardrailSensitiveInformationPolicyAction_Values() []string {
return []string{
GuardrailSensitiveInformationPolicyActionBlocked,
GuardrailSensitiveInformationPolicyActionAnonymized,
}
}
const (
// GuardrailTopicPolicyActionBlocked is a GuardrailTopicPolicyAction enum value
GuardrailTopicPolicyActionBlocked = "BLOCKED"
)
// GuardrailTopicPolicyAction_Values returns all elements of the GuardrailTopicPolicyAction enum
func GuardrailTopicPolicyAction_Values() []string {
return []string{
GuardrailTopicPolicyActionBlocked,
}
}
const (
// GuardrailTopicTypeDeny is a GuardrailTopicType enum value
GuardrailTopicTypeDeny = "DENY"
)
// GuardrailTopicType_Values returns all elements of the GuardrailTopicType enum
func GuardrailTopicType_Values() []string {
return []string{
GuardrailTopicTypeDeny,
}
}
const (
// GuardrailWordPolicyActionBlocked is a GuardrailWordPolicyAction enum value
GuardrailWordPolicyActionBlocked = "BLOCKED"
)
// GuardrailWordPolicyAction_Values returns all elements of the GuardrailWordPolicyAction enum
func GuardrailWordPolicyAction_Values() []string {
return []string{
GuardrailWordPolicyActionBlocked,
}
}
const (
// InvocationTypeActionGroup is a InvocationType enum value
InvocationTypeActionGroup = "ACTION_GROUP"
// InvocationTypeKnowledgeBase is a InvocationType enum value
InvocationTypeKnowledgeBase = "KNOWLEDGE_BASE"
// InvocationTypeFinish is a InvocationType enum value
InvocationTypeFinish = "FINISH"
// InvocationTypeActionGroupCodeInterpreter is a InvocationType enum value
InvocationTypeActionGroupCodeInterpreter = "ACTION_GROUP_CODE_INTERPRETER"
)
// InvocationType_Values returns all elements of the InvocationType enum
func InvocationType_Values() []string {
return []string{
InvocationTypeActionGroup,
InvocationTypeKnowledgeBase,
InvocationTypeFinish,
InvocationTypeActionGroupCodeInterpreter,
}
}
const (
// MemoryTypeSessionSummary is a MemoryType enum value
MemoryTypeSessionSummary = "SESSION_SUMMARY"
)
// MemoryType_Values returns all elements of the MemoryType enum
func MemoryType_Values() []string {
return []string{
MemoryTypeSessionSummary,
}
}
const (
// NodeTypeFlowInputNode is a NodeType enum value
NodeTypeFlowInputNode = "FlowInputNode"
// NodeTypeFlowOutputNode is a NodeType enum value
NodeTypeFlowOutputNode = "FlowOutputNode"
// NodeTypeLambdaFunctionNode is a NodeType enum value
NodeTypeLambdaFunctionNode = "LambdaFunctionNode"
// NodeTypeKnowledgeBaseNode is a NodeType enum value
NodeTypeKnowledgeBaseNode = "KnowledgeBaseNode"
// NodeTypePromptNode is a NodeType enum value
NodeTypePromptNode = "PromptNode"
// NodeTypeConditionNode is a NodeType enum value
NodeTypeConditionNode = "ConditionNode"
// NodeTypeLexNode is a NodeType enum value
NodeTypeLexNode = "LexNode"
)
// NodeType_Values returns all elements of the NodeType enum
func NodeType_Values() []string {
return []string{
NodeTypeFlowInputNode,
NodeTypeFlowOutputNode,
NodeTypeLambdaFunctionNode,
NodeTypeKnowledgeBaseNode,
NodeTypePromptNode,
NodeTypeConditionNode,
NodeTypeLexNode,
}
}
const (
// PromptTypePreProcessing is a PromptType enum value
PromptTypePreProcessing = "PRE_PROCESSING"
// PromptTypeOrchestration is a PromptType enum value
PromptTypeOrchestration = "ORCHESTRATION"
// PromptTypeKnowledgeBaseResponseGeneration is a PromptType enum value
PromptTypeKnowledgeBaseResponseGeneration = "KNOWLEDGE_BASE_RESPONSE_GENERATION"
// PromptTypePostProcessing is a PromptType enum value
PromptTypePostProcessing = "POST_PROCESSING"
)
// PromptType_Values returns all elements of the PromptType enum
func PromptType_Values() []string {
return []string{
PromptTypePreProcessing,
PromptTypeOrchestration,
PromptTypeKnowledgeBaseResponseGeneration,
PromptTypePostProcessing,
}
}
const (
// QueryTransformationTypeQueryDecomposition is a QueryTransformationType enum value
QueryTransformationTypeQueryDecomposition = "QUERY_DECOMPOSITION"
)
// QueryTransformationType_Values returns all elements of the QueryTransformationType enum
func QueryTransformationType_Values() []string {
return []string{
QueryTransformationTypeQueryDecomposition,
}
}
const (
// ResponseStateFailure is a ResponseState enum value
ResponseStateFailure = "FAILURE"
// ResponseStateReprompt is a ResponseState enum value
ResponseStateReprompt = "REPROMPT"
)
// ResponseState_Values returns all elements of the ResponseState enum
func ResponseState_Values() []string {
return []string{
ResponseStateFailure,
ResponseStateReprompt,
}
}
const (
// RetrievalResultLocationTypeS3 is a RetrievalResultLocationType enum value
RetrievalResultLocationTypeS3 = "S3"
// RetrievalResultLocationTypeWeb is a RetrievalResultLocationType enum value
RetrievalResultLocationTypeWeb = "WEB"
// RetrievalResultLocationTypeConfluence is a RetrievalResultLocationType enum value
RetrievalResultLocationTypeConfluence = "CONFLUENCE"
// RetrievalResultLocationTypeSalesforce is a RetrievalResultLocationType enum value
RetrievalResultLocationTypeSalesforce = "SALESFORCE"
// RetrievalResultLocationTypeSharepoint is a RetrievalResultLocationType enum value
RetrievalResultLocationTypeSharepoint = "SHAREPOINT"
)
// RetrievalResultLocationType_Values returns all elements of the RetrievalResultLocationType enum
func RetrievalResultLocationType_Values() []string {
return []string{
RetrievalResultLocationTypeS3,
RetrievalResultLocationTypeWeb,
RetrievalResultLocationTypeConfluence,
RetrievalResultLocationTypeSalesforce,
RetrievalResultLocationTypeSharepoint,
}
}
const (
// RetrieveAndGenerateTypeKnowledgeBase is a RetrieveAndGenerateType enum value
RetrieveAndGenerateTypeKnowledgeBase = "KNOWLEDGE_BASE"
// RetrieveAndGenerateTypeExternalSources is a RetrieveAndGenerateType enum value
RetrieveAndGenerateTypeExternalSources = "EXTERNAL_SOURCES"
)
// RetrieveAndGenerateType_Values returns all elements of the RetrieveAndGenerateType enum
func RetrieveAndGenerateType_Values() []string {
return []string{
RetrieveAndGenerateTypeKnowledgeBase,
RetrieveAndGenerateTypeExternalSources,
}
}
const (
// SearchTypeHybrid is a SearchType enum value
SearchTypeHybrid = "HYBRID"
// SearchTypeSemantic is a SearchType enum value
SearchTypeSemantic = "SEMANTIC"
)
// SearchType_Values returns all elements of the SearchType enum
func SearchType_Values() []string {
return []string{
SearchTypeHybrid,
SearchTypeSemantic,
}
}
const (
// SourceActionGroup is a Source enum value
SourceActionGroup = "ACTION_GROUP"
// SourceKnowledgeBase is a Source enum value
SourceKnowledgeBase = "KNOWLEDGE_BASE"
// SourceParser is a Source enum value
SourceParser = "PARSER"
)
// Source_Values returns all elements of the Source enum
func Source_Values() []string {
return []string{
SourceActionGroup,
SourceKnowledgeBase,
SourceParser,
}
}
const (
// TypeActionGroup is a Type enum value
TypeActionGroup = "ACTION_GROUP"
// TypeKnowledgeBase is a Type enum value
TypeKnowledgeBase = "KNOWLEDGE_BASE"
// TypeFinish is a Type enum value
TypeFinish = "FINISH"
// TypeAskUser is a Type enum value
TypeAskUser = "ASK_USER"
// TypeReprompt is a Type enum value
TypeReprompt = "REPROMPT"
)
// Type_Values returns all elements of the Type enum
func Type_Values() []string {
return []string{
TypeActionGroup,
TypeKnowledgeBase,
TypeFinish,
TypeAskUser,
TypeReprompt,
}
}