extra/aws-sdk-go/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, } }