From ac7f368ccffe98c63b791a5ef6e9a772562a8fef Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 4 Dec 2024 19:16:19 +0000 Subject: [PATCH] feat(client-bedrock-agent): This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index. --- .../src/commands/CreateDataSourceCommand.ts | 16 +- .../commands/CreateKnowledgeBaseCommand.ts | 161 +++- .../src/commands/GetDataSourceCommand.ts | 8 +- .../src/commands/GetKnowledgeBaseCommand.ts | 84 +- .../src/commands/UpdateDataSourceCommand.ts | 16 +- .../commands/UpdateKnowledgeBaseCommand.ts | 161 +++- .../src/models/models_0.ts | 116 ++- .../src/models/models_1.ts | 620 +++++++++++++- .../src/protocols/Aws_restJson1.ts | 121 ++- .../sdk-codegen/aws-models/bedrock-agent.json | 780 +++++++++++++++++- 10 files changed, 1968 insertions(+), 115 deletions(-) diff --git a/clients/client-bedrock-agent/src/commands/CreateDataSourceCommand.ts b/clients/client-bedrock-agent/src/commands/CreateDataSourceCommand.ts index dd256d6c498a..cb8dc2ab4703 100644 --- a/clients/client-bedrock-agent/src/commands/CreateDataSourceCommand.ts +++ b/clients/client-bedrock-agent/src/commands/CreateDataSourceCommand.ts @@ -49,7 +49,7 @@ export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, * name: "STRING_VALUE", // required * description: "STRING_VALUE", * dataSourceConfiguration: { // DataSourceConfiguration - * type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM", // required + * type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM" || "REDSHIFT_METADATA", // required * s3Configuration: { // S3DataSourceConfiguration * bucketArn: "STRING_VALUE", // required * inclusionPrefixes: [ // S3Prefixes @@ -199,12 +199,16 @@ export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, * ], * }, * parsingConfiguration: { // ParsingConfiguration - * parsingStrategy: "BEDROCK_FOUNDATION_MODEL", // required + * parsingStrategy: "BEDROCK_FOUNDATION_MODEL" || "BEDROCK_DATA_AUTOMATION", // required * bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfiguration * modelArn: "STRING_VALUE", // required * parsingPrompt: { // ParsingPrompt * parsingPromptText: "STRING_VALUE", // required * }, + * parsingModality: "MULTIMODAL", + * }, + * bedrockDataAutomationConfiguration: { // BedrockDataAutomationConfiguration + * parsingModality: "MULTIMODAL", * }, * }, * }, @@ -219,7 +223,7 @@ export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, * // status: "AVAILABLE" || "DELETING" || "DELETE_UNSUCCESSFUL", // required * // description: "STRING_VALUE", * // dataSourceConfiguration: { // DataSourceConfiguration - * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM", // required + * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM" || "REDSHIFT_METADATA", // required * // s3Configuration: { // S3DataSourceConfiguration * // bucketArn: "STRING_VALUE", // required * // inclusionPrefixes: [ // S3Prefixes @@ -368,12 +372,16 @@ export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, * // ], * // }, * // parsingConfiguration: { // ParsingConfiguration - * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL", // required + * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL" || "BEDROCK_DATA_AUTOMATION", // required * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfiguration * // modelArn: "STRING_VALUE", // required * // parsingPrompt: { // ParsingPrompt * // parsingPromptText: "STRING_VALUE", // required * // }, + * // parsingModality: "MULTIMODAL", + * // }, + * // bedrockDataAutomationConfiguration: { // BedrockDataAutomationConfiguration + * // parsingModality: "MULTIMODAL", * // }, * // }, * // }, diff --git a/clients/client-bedrock-agent/src/commands/CreateKnowledgeBaseCommand.ts b/clients/client-bedrock-agent/src/commands/CreateKnowledgeBaseCommand.ts index a4220264c6e6..eeb585e116b1 100644 --- a/clients/client-bedrock-agent/src/commands/CreateKnowledgeBaseCommand.ts +++ b/clients/client-bedrock-agent/src/commands/CreateKnowledgeBaseCommand.ts @@ -6,7 +6,12 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { BedrockAgentClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BedrockAgentClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateKnowledgeBaseRequest, CreateKnowledgeBaseResponse } from "../models/models_1"; +import { + CreateKnowledgeBaseRequest, + CreateKnowledgeBaseRequestFilterSensitiveLog, + CreateKnowledgeBaseResponse, + CreateKnowledgeBaseResponseFilterSensitiveLog, +} from "../models/models_1"; import { de_CreateKnowledgeBaseCommand, se_CreateKnowledgeBaseCommand } from "../protocols/Aws_restJson1"; /** @@ -72,7 +77,7 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * description: "STRING_VALUE", * roleArn: "STRING_VALUE", // required * knowledgeBaseConfiguration: { // KnowledgeBaseConfiguration - * type: "VECTOR", // required + * type: "VECTOR" || "KENDRA" || "SQL", // required * vectorKnowledgeBaseConfiguration: { // VectorKnowledgeBaseConfiguration * embeddingModelArn: "STRING_VALUE", // required * embeddingModelConfiguration: { // EmbeddingModelConfiguration @@ -81,6 +86,80 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * embeddingDataType: "FLOAT32" || "BINARY", * }, * }, + * supplementalDataStorageConfiguration: { // SupplementalDataStorageConfiguration + * storageLocations: [ // SupplementalDataStorageLocations // required + * { // SupplementalDataStorageLocation + * type: "S3", // required + * s3Location: { // S3Location + * uri: "STRING_VALUE", // required + * }, + * }, + * ], + * }, + * }, + * kendraKnowledgeBaseConfiguration: { // KendraKnowledgeBaseConfiguration + * kendraIndexArn: "STRING_VALUE", // required + * }, + * sqlKnowledgeBaseConfiguration: { // SqlKnowledgeBaseConfiguration + * type: "REDSHIFT", // required + * redshiftConfiguration: { // RedshiftConfiguration + * storageConfigurations: [ // RedshiftQueryEngineStorageConfigurations // required + * { // RedshiftQueryEngineStorageConfiguration + * type: "REDSHIFT" || "AWS_DATA_CATALOG", // required + * awsDataCatalogConfiguration: { // RedshiftQueryEngineAwsDataCatalogStorageConfiguration + * tableNames: [ // AwsDataCatalogTableNames // required + * "STRING_VALUE", + * ], + * }, + * redshiftConfiguration: { // RedshiftQueryEngineRedshiftStorageConfiguration + * databaseName: "STRING_VALUE", // required + * }, + * }, + * ], + * queryEngineConfiguration: { // RedshiftQueryEngineConfiguration + * type: "SERVERLESS" || "PROVISIONED", // required + * serverlessConfiguration: { // RedshiftServerlessConfiguration + * workgroupArn: "STRING_VALUE", // required + * authConfiguration: { // RedshiftServerlessAuthConfiguration + * type: "IAM" || "USERNAME_PASSWORD", // required + * usernamePasswordSecretArn: "STRING_VALUE", + * }, + * }, + * provisionedConfiguration: { // RedshiftProvisionedConfiguration + * clusterIdentifier: "STRING_VALUE", // required + * authConfiguration: { // RedshiftProvisionedAuthConfiguration + * type: "IAM" || "USERNAME_PASSWORD" || "USERNAME", // required + * databaseUser: "STRING_VALUE", + * usernamePasswordSecretArn: "STRING_VALUE", + * }, + * }, + * }, + * queryGenerationConfiguration: { // QueryGenerationConfiguration + * executionTimeoutSeconds: Number("int"), + * generationContext: { // QueryGenerationContext + * tables: [ // QueryGenerationTables + * { // QueryGenerationTable + * name: "STRING_VALUE", // required + * description: "STRING_VALUE", + * inclusion: "INCLUDE" || "EXCLUDE", + * columns: [ // QueryGenerationColumns + * { // QueryGenerationColumn + * name: "STRING_VALUE", + * description: "STRING_VALUE", + * inclusion: "INCLUDE" || "EXCLUDE", + * }, + * ], + * }, + * ], + * curatedQueries: [ // CuratedQueries + * { // CuratedQuery + * naturalLanguage: "STRING_VALUE", // required + * sql: "STRING_VALUE", // required + * }, + * ], + * }, + * }, + * }, * }, * }, * storageConfiguration: { // StorageConfiguration @@ -153,7 +232,7 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * // description: "STRING_VALUE", * // roleArn: "STRING_VALUE", // required * // knowledgeBaseConfiguration: { // KnowledgeBaseConfiguration - * // type: "VECTOR", // required + * // type: "VECTOR" || "KENDRA" || "SQL", // required * // vectorKnowledgeBaseConfiguration: { // VectorKnowledgeBaseConfiguration * // embeddingModelArn: "STRING_VALUE", // required * // embeddingModelConfiguration: { // EmbeddingModelConfiguration @@ -162,6 +241,80 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * // embeddingDataType: "FLOAT32" || "BINARY", * // }, * // }, + * // supplementalDataStorageConfiguration: { // SupplementalDataStorageConfiguration + * // storageLocations: [ // SupplementalDataStorageLocations // required + * // { // SupplementalDataStorageLocation + * // type: "S3", // required + * // s3Location: { // S3Location + * // uri: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // }, + * // }, + * // kendraKnowledgeBaseConfiguration: { // KendraKnowledgeBaseConfiguration + * // kendraIndexArn: "STRING_VALUE", // required + * // }, + * // sqlKnowledgeBaseConfiguration: { // SqlKnowledgeBaseConfiguration + * // type: "REDSHIFT", // required + * // redshiftConfiguration: { // RedshiftConfiguration + * // storageConfigurations: [ // RedshiftQueryEngineStorageConfigurations // required + * // { // RedshiftQueryEngineStorageConfiguration + * // type: "REDSHIFT" || "AWS_DATA_CATALOG", // required + * // awsDataCatalogConfiguration: { // RedshiftQueryEngineAwsDataCatalogStorageConfiguration + * // tableNames: [ // AwsDataCatalogTableNames // required + * // "STRING_VALUE", + * // ], + * // }, + * // redshiftConfiguration: { // RedshiftQueryEngineRedshiftStorageConfiguration + * // databaseName: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // queryEngineConfiguration: { // RedshiftQueryEngineConfiguration + * // type: "SERVERLESS" || "PROVISIONED", // required + * // serverlessConfiguration: { // RedshiftServerlessConfiguration + * // workgroupArn: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftServerlessAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD", // required + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // provisionedConfiguration: { // RedshiftProvisionedConfiguration + * // clusterIdentifier: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftProvisionedAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD" || "USERNAME", // required + * // databaseUser: "STRING_VALUE", + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // }, + * // queryGenerationConfiguration: { // QueryGenerationConfiguration + * // executionTimeoutSeconds: Number("int"), + * // generationContext: { // QueryGenerationContext + * // tables: [ // QueryGenerationTables + * // { // QueryGenerationTable + * // name: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // columns: [ // QueryGenerationColumns + * // { // QueryGenerationColumn + * // name: "STRING_VALUE", + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // }, + * // ], + * // }, + * // ], + * // curatedQueries: [ // CuratedQueries + * // { // CuratedQuery + * // naturalLanguage: "STRING_VALUE", // required + * // sql: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // }, + * // }, * // }, * // }, * // storageConfiguration: { // StorageConfiguration @@ -277,7 +430,7 @@ export class CreateKnowledgeBaseCommand extends $Command }) .s("AmazonBedrockAgentBuildTimeLambda", "CreateKnowledgeBase", {}) .n("BedrockAgentClient", "CreateKnowledgeBaseCommand") - .f(void 0, void 0) + .f(CreateKnowledgeBaseRequestFilterSensitiveLog, CreateKnowledgeBaseResponseFilterSensitiveLog) .ser(se_CreateKnowledgeBaseCommand) .de(de_CreateKnowledgeBaseCommand) .build() { diff --git a/clients/client-bedrock-agent/src/commands/GetDataSourceCommand.ts b/clients/client-bedrock-agent/src/commands/GetDataSourceCommand.ts index 089c4084bc77..ecf000b0103a 100644 --- a/clients/client-bedrock-agent/src/commands/GetDataSourceCommand.ts +++ b/clients/client-bedrock-agent/src/commands/GetDataSourceCommand.ts @@ -53,7 +53,7 @@ export interface GetDataSourceCommandOutput extends GetDataSourceResponse, __Met * // status: "AVAILABLE" || "DELETING" || "DELETE_UNSUCCESSFUL", // required * // description: "STRING_VALUE", * // dataSourceConfiguration: { // DataSourceConfiguration - * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM", // required + * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM" || "REDSHIFT_METADATA", // required * // s3Configuration: { // S3DataSourceConfiguration * // bucketArn: "STRING_VALUE", // required * // inclusionPrefixes: [ // S3Prefixes @@ -202,12 +202,16 @@ export interface GetDataSourceCommandOutput extends GetDataSourceResponse, __Met * // ], * // }, * // parsingConfiguration: { // ParsingConfiguration - * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL", // required + * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL" || "BEDROCK_DATA_AUTOMATION", // required * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfiguration * // modelArn: "STRING_VALUE", // required * // parsingPrompt: { // ParsingPrompt * // parsingPromptText: "STRING_VALUE", // required * // }, + * // parsingModality: "MULTIMODAL", + * // }, + * // bedrockDataAutomationConfiguration: { // BedrockDataAutomationConfiguration + * // parsingModality: "MULTIMODAL", * // }, * // }, * // }, diff --git a/clients/client-bedrock-agent/src/commands/GetKnowledgeBaseCommand.ts b/clients/client-bedrock-agent/src/commands/GetKnowledgeBaseCommand.ts index 0e1f912cd9fc..9772e680cd1d 100644 --- a/clients/client-bedrock-agent/src/commands/GetKnowledgeBaseCommand.ts +++ b/clients/client-bedrock-agent/src/commands/GetKnowledgeBaseCommand.ts @@ -6,7 +6,11 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { BedrockAgentClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BedrockAgentClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetKnowledgeBaseRequest, GetKnowledgeBaseResponse } from "../models/models_1"; +import { + GetKnowledgeBaseRequest, + GetKnowledgeBaseResponse, + GetKnowledgeBaseResponseFilterSensitiveLog, +} from "../models/models_1"; import { de_GetKnowledgeBaseCommand, se_GetKnowledgeBaseCommand } from "../protocols/Aws_restJson1"; /** @@ -48,7 +52,7 @@ export interface GetKnowledgeBaseCommandOutput extends GetKnowledgeBaseResponse, * // description: "STRING_VALUE", * // roleArn: "STRING_VALUE", // required * // knowledgeBaseConfiguration: { // KnowledgeBaseConfiguration - * // type: "VECTOR", // required + * // type: "VECTOR" || "KENDRA" || "SQL", // required * // vectorKnowledgeBaseConfiguration: { // VectorKnowledgeBaseConfiguration * // embeddingModelArn: "STRING_VALUE", // required * // embeddingModelConfiguration: { // EmbeddingModelConfiguration @@ -57,6 +61,80 @@ export interface GetKnowledgeBaseCommandOutput extends GetKnowledgeBaseResponse, * // embeddingDataType: "FLOAT32" || "BINARY", * // }, * // }, + * // supplementalDataStorageConfiguration: { // SupplementalDataStorageConfiguration + * // storageLocations: [ // SupplementalDataStorageLocations // required + * // { // SupplementalDataStorageLocation + * // type: "S3", // required + * // s3Location: { // S3Location + * // uri: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // }, + * // }, + * // kendraKnowledgeBaseConfiguration: { // KendraKnowledgeBaseConfiguration + * // kendraIndexArn: "STRING_VALUE", // required + * // }, + * // sqlKnowledgeBaseConfiguration: { // SqlKnowledgeBaseConfiguration + * // type: "REDSHIFT", // required + * // redshiftConfiguration: { // RedshiftConfiguration + * // storageConfigurations: [ // RedshiftQueryEngineStorageConfigurations // required + * // { // RedshiftQueryEngineStorageConfiguration + * // type: "REDSHIFT" || "AWS_DATA_CATALOG", // required + * // awsDataCatalogConfiguration: { // RedshiftQueryEngineAwsDataCatalogStorageConfiguration + * // tableNames: [ // AwsDataCatalogTableNames // required + * // "STRING_VALUE", + * // ], + * // }, + * // redshiftConfiguration: { // RedshiftQueryEngineRedshiftStorageConfiguration + * // databaseName: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // queryEngineConfiguration: { // RedshiftQueryEngineConfiguration + * // type: "SERVERLESS" || "PROVISIONED", // required + * // serverlessConfiguration: { // RedshiftServerlessConfiguration + * // workgroupArn: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftServerlessAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD", // required + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // provisionedConfiguration: { // RedshiftProvisionedConfiguration + * // clusterIdentifier: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftProvisionedAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD" || "USERNAME", // required + * // databaseUser: "STRING_VALUE", + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // }, + * // queryGenerationConfiguration: { // QueryGenerationConfiguration + * // executionTimeoutSeconds: Number("int"), + * // generationContext: { // QueryGenerationContext + * // tables: [ // QueryGenerationTables + * // { // QueryGenerationTable + * // name: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // columns: [ // QueryGenerationColumns + * // { // QueryGenerationColumn + * // name: "STRING_VALUE", + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // }, + * // ], + * // }, + * // ], + * // curatedQueries: [ // CuratedQueries + * // { // CuratedQuery + * // naturalLanguage: "STRING_VALUE", // required + * // sql: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // }, + * // }, * // }, * // }, * // storageConfiguration: { // StorageConfiguration @@ -169,7 +247,7 @@ export class GetKnowledgeBaseCommand extends $Command }) .s("AmazonBedrockAgentBuildTimeLambda", "GetKnowledgeBase", {}) .n("BedrockAgentClient", "GetKnowledgeBaseCommand") - .f(void 0, void 0) + .f(void 0, GetKnowledgeBaseResponseFilterSensitiveLog) .ser(se_GetKnowledgeBaseCommand) .de(de_GetKnowledgeBaseCommand) .build() { diff --git a/clients/client-bedrock-agent/src/commands/UpdateDataSourceCommand.ts b/clients/client-bedrock-agent/src/commands/UpdateDataSourceCommand.ts index f5a7b695db1b..f98c876ac072 100644 --- a/clients/client-bedrock-agent/src/commands/UpdateDataSourceCommand.ts +++ b/clients/client-bedrock-agent/src/commands/UpdateDataSourceCommand.ts @@ -49,7 +49,7 @@ export interface UpdateDataSourceCommandOutput extends UpdateDataSourceResponse, * name: "STRING_VALUE", // required * description: "STRING_VALUE", * dataSourceConfiguration: { // DataSourceConfiguration - * type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM", // required + * type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM" || "REDSHIFT_METADATA", // required * s3Configuration: { // S3DataSourceConfiguration * bucketArn: "STRING_VALUE", // required * inclusionPrefixes: [ // S3Prefixes @@ -199,12 +199,16 @@ export interface UpdateDataSourceCommandOutput extends UpdateDataSourceResponse, * ], * }, * parsingConfiguration: { // ParsingConfiguration - * parsingStrategy: "BEDROCK_FOUNDATION_MODEL", // required + * parsingStrategy: "BEDROCK_FOUNDATION_MODEL" || "BEDROCK_DATA_AUTOMATION", // required * bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfiguration * modelArn: "STRING_VALUE", // required * parsingPrompt: { // ParsingPrompt * parsingPromptText: "STRING_VALUE", // required * }, + * parsingModality: "MULTIMODAL", + * }, + * bedrockDataAutomationConfiguration: { // BedrockDataAutomationConfiguration + * parsingModality: "MULTIMODAL", * }, * }, * }, @@ -219,7 +223,7 @@ export interface UpdateDataSourceCommandOutput extends UpdateDataSourceResponse, * // status: "AVAILABLE" || "DELETING" || "DELETE_UNSUCCESSFUL", // required * // description: "STRING_VALUE", * // dataSourceConfiguration: { // DataSourceConfiguration - * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM", // required + * // type: "S3" || "WEB" || "CONFLUENCE" || "SALESFORCE" || "SHAREPOINT" || "CUSTOM" || "REDSHIFT_METADATA", // required * // s3Configuration: { // S3DataSourceConfiguration * // bucketArn: "STRING_VALUE", // required * // inclusionPrefixes: [ // S3Prefixes @@ -368,12 +372,16 @@ export interface UpdateDataSourceCommandOutput extends UpdateDataSourceResponse, * // ], * // }, * // parsingConfiguration: { // ParsingConfiguration - * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL", // required + * // parsingStrategy: "BEDROCK_FOUNDATION_MODEL" || "BEDROCK_DATA_AUTOMATION", // required * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfiguration * // modelArn: "STRING_VALUE", // required * // parsingPrompt: { // ParsingPrompt * // parsingPromptText: "STRING_VALUE", // required * // }, + * // parsingModality: "MULTIMODAL", + * // }, + * // bedrockDataAutomationConfiguration: { // BedrockDataAutomationConfiguration + * // parsingModality: "MULTIMODAL", * // }, * // }, * // }, diff --git a/clients/client-bedrock-agent/src/commands/UpdateKnowledgeBaseCommand.ts b/clients/client-bedrock-agent/src/commands/UpdateKnowledgeBaseCommand.ts index 8de80f1ffb4e..7b373e369b53 100644 --- a/clients/client-bedrock-agent/src/commands/UpdateKnowledgeBaseCommand.ts +++ b/clients/client-bedrock-agent/src/commands/UpdateKnowledgeBaseCommand.ts @@ -6,7 +6,12 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { BedrockAgentClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BedrockAgentClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateKnowledgeBaseRequest, UpdateKnowledgeBaseResponse } from "../models/models_1"; +import { + UpdateKnowledgeBaseRequest, + UpdateKnowledgeBaseRequestFilterSensitiveLog, + UpdateKnowledgeBaseResponse, + UpdateKnowledgeBaseResponseFilterSensitiveLog, +} from "../models/models_1"; import { de_UpdateKnowledgeBaseCommand, se_UpdateKnowledgeBaseCommand } from "../protocols/Aws_restJson1"; /** @@ -60,7 +65,7 @@ export interface UpdateKnowledgeBaseCommandOutput extends UpdateKnowledgeBaseRes * description: "STRING_VALUE", * roleArn: "STRING_VALUE", // required * knowledgeBaseConfiguration: { // KnowledgeBaseConfiguration - * type: "VECTOR", // required + * type: "VECTOR" || "KENDRA" || "SQL", // required * vectorKnowledgeBaseConfiguration: { // VectorKnowledgeBaseConfiguration * embeddingModelArn: "STRING_VALUE", // required * embeddingModelConfiguration: { // EmbeddingModelConfiguration @@ -69,6 +74,80 @@ export interface UpdateKnowledgeBaseCommandOutput extends UpdateKnowledgeBaseRes * embeddingDataType: "FLOAT32" || "BINARY", * }, * }, + * supplementalDataStorageConfiguration: { // SupplementalDataStorageConfiguration + * storageLocations: [ // SupplementalDataStorageLocations // required + * { // SupplementalDataStorageLocation + * type: "S3", // required + * s3Location: { // S3Location + * uri: "STRING_VALUE", // required + * }, + * }, + * ], + * }, + * }, + * kendraKnowledgeBaseConfiguration: { // KendraKnowledgeBaseConfiguration + * kendraIndexArn: "STRING_VALUE", // required + * }, + * sqlKnowledgeBaseConfiguration: { // SqlKnowledgeBaseConfiguration + * type: "REDSHIFT", // required + * redshiftConfiguration: { // RedshiftConfiguration + * storageConfigurations: [ // RedshiftQueryEngineStorageConfigurations // required + * { // RedshiftQueryEngineStorageConfiguration + * type: "REDSHIFT" || "AWS_DATA_CATALOG", // required + * awsDataCatalogConfiguration: { // RedshiftQueryEngineAwsDataCatalogStorageConfiguration + * tableNames: [ // AwsDataCatalogTableNames // required + * "STRING_VALUE", + * ], + * }, + * redshiftConfiguration: { // RedshiftQueryEngineRedshiftStorageConfiguration + * databaseName: "STRING_VALUE", // required + * }, + * }, + * ], + * queryEngineConfiguration: { // RedshiftQueryEngineConfiguration + * type: "SERVERLESS" || "PROVISIONED", // required + * serverlessConfiguration: { // RedshiftServerlessConfiguration + * workgroupArn: "STRING_VALUE", // required + * authConfiguration: { // RedshiftServerlessAuthConfiguration + * type: "IAM" || "USERNAME_PASSWORD", // required + * usernamePasswordSecretArn: "STRING_VALUE", + * }, + * }, + * provisionedConfiguration: { // RedshiftProvisionedConfiguration + * clusterIdentifier: "STRING_VALUE", // required + * authConfiguration: { // RedshiftProvisionedAuthConfiguration + * type: "IAM" || "USERNAME_PASSWORD" || "USERNAME", // required + * databaseUser: "STRING_VALUE", + * usernamePasswordSecretArn: "STRING_VALUE", + * }, + * }, + * }, + * queryGenerationConfiguration: { // QueryGenerationConfiguration + * executionTimeoutSeconds: Number("int"), + * generationContext: { // QueryGenerationContext + * tables: [ // QueryGenerationTables + * { // QueryGenerationTable + * name: "STRING_VALUE", // required + * description: "STRING_VALUE", + * inclusion: "INCLUDE" || "EXCLUDE", + * columns: [ // QueryGenerationColumns + * { // QueryGenerationColumn + * name: "STRING_VALUE", + * description: "STRING_VALUE", + * inclusion: "INCLUDE" || "EXCLUDE", + * }, + * ], + * }, + * ], + * curatedQueries: [ // CuratedQueries + * { // CuratedQuery + * naturalLanguage: "STRING_VALUE", // required + * sql: "STRING_VALUE", // required + * }, + * ], + * }, + * }, + * }, * }, * }, * storageConfiguration: { // StorageConfiguration @@ -138,7 +217,7 @@ export interface UpdateKnowledgeBaseCommandOutput extends UpdateKnowledgeBaseRes * // description: "STRING_VALUE", * // roleArn: "STRING_VALUE", // required * // knowledgeBaseConfiguration: { // KnowledgeBaseConfiguration - * // type: "VECTOR", // required + * // type: "VECTOR" || "KENDRA" || "SQL", // required * // vectorKnowledgeBaseConfiguration: { // VectorKnowledgeBaseConfiguration * // embeddingModelArn: "STRING_VALUE", // required * // embeddingModelConfiguration: { // EmbeddingModelConfiguration @@ -147,6 +226,80 @@ export interface UpdateKnowledgeBaseCommandOutput extends UpdateKnowledgeBaseRes * // embeddingDataType: "FLOAT32" || "BINARY", * // }, * // }, + * // supplementalDataStorageConfiguration: { // SupplementalDataStorageConfiguration + * // storageLocations: [ // SupplementalDataStorageLocations // required + * // { // SupplementalDataStorageLocation + * // type: "S3", // required + * // s3Location: { // S3Location + * // uri: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // }, + * // }, + * // kendraKnowledgeBaseConfiguration: { // KendraKnowledgeBaseConfiguration + * // kendraIndexArn: "STRING_VALUE", // required + * // }, + * // sqlKnowledgeBaseConfiguration: { // SqlKnowledgeBaseConfiguration + * // type: "REDSHIFT", // required + * // redshiftConfiguration: { // RedshiftConfiguration + * // storageConfigurations: [ // RedshiftQueryEngineStorageConfigurations // required + * // { // RedshiftQueryEngineStorageConfiguration + * // type: "REDSHIFT" || "AWS_DATA_CATALOG", // required + * // awsDataCatalogConfiguration: { // RedshiftQueryEngineAwsDataCatalogStorageConfiguration + * // tableNames: [ // AwsDataCatalogTableNames // required + * // "STRING_VALUE", + * // ], + * // }, + * // redshiftConfiguration: { // RedshiftQueryEngineRedshiftStorageConfiguration + * // databaseName: "STRING_VALUE", // required + * // }, + * // }, + * // ], + * // queryEngineConfiguration: { // RedshiftQueryEngineConfiguration + * // type: "SERVERLESS" || "PROVISIONED", // required + * // serverlessConfiguration: { // RedshiftServerlessConfiguration + * // workgroupArn: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftServerlessAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD", // required + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // provisionedConfiguration: { // RedshiftProvisionedConfiguration + * // clusterIdentifier: "STRING_VALUE", // required + * // authConfiguration: { // RedshiftProvisionedAuthConfiguration + * // type: "IAM" || "USERNAME_PASSWORD" || "USERNAME", // required + * // databaseUser: "STRING_VALUE", + * // usernamePasswordSecretArn: "STRING_VALUE", + * // }, + * // }, + * // }, + * // queryGenerationConfiguration: { // QueryGenerationConfiguration + * // executionTimeoutSeconds: Number("int"), + * // generationContext: { // QueryGenerationContext + * // tables: [ // QueryGenerationTables + * // { // QueryGenerationTable + * // name: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // columns: [ // QueryGenerationColumns + * // { // QueryGenerationColumn + * // name: "STRING_VALUE", + * // description: "STRING_VALUE", + * // inclusion: "INCLUDE" || "EXCLUDE", + * // }, + * // ], + * // }, + * // ], + * // curatedQueries: [ // CuratedQueries + * // { // CuratedQuery + * // naturalLanguage: "STRING_VALUE", // required + * // sql: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // }, + * // }, * // }, * // }, * // storageConfiguration: { // StorageConfiguration @@ -262,7 +415,7 @@ export class UpdateKnowledgeBaseCommand extends $Command }) .s("AmazonBedrockAgentBuildTimeLambda", "UpdateKnowledgeBase", {}) .n("BedrockAgentClient", "UpdateKnowledgeBaseCommand") - .f(void 0, void 0) + .f(UpdateKnowledgeBaseRequestFilterSensitiveLog, UpdateKnowledgeBaseResponseFilterSensitiveLog) .ser(se_UpdateKnowledgeBaseCommand) .de(de_UpdateKnowledgeBaseCommand) .build() { diff --git a/clients/client-bedrock-agent/src/models/models_0.ts b/clients/client-bedrock-agent/src/models/models_0.ts index 2eaff7220cd7..a260e5b79ade 100644 --- a/clients/client-bedrock-agent/src/models/models_0.ts +++ b/clients/client-bedrock-agent/src/models/models_0.ts @@ -3328,6 +3328,7 @@ export interface SharePointDataSourceConfiguration { export const DataSourceType = { CONFLUENCE: "CONFLUENCE", CUSTOM: "CUSTOM", + REDSHIFT_METADATA: "REDSHIFT_METADATA", S3: "S3", SALESFORCE: "SALESFORCE", SHAREPOINT: "SHAREPOINT", @@ -3799,6 +3800,31 @@ export interface CustomTransformationConfiguration { transformations: Transformation[] | undefined; } +/** + * @public + * @enum + */ +export const ParsingModality = { + MULTIMODAL: "MULTIMODAL", +} as const; + +/** + * @public + */ +export type ParsingModality = (typeof ParsingModality)[keyof typeof ParsingModality]; + +/** + *

Contains configurations for using Amazon Bedrock Data Automation as the parser for ingesting your data sources.

+ * @public + */ +export interface BedrockDataAutomationConfiguration { + /** + *

Specifies whether to enable parsing of multimodal data, including both text and/or images.

+ * @public + */ + parsingModality?: ParsingModality | undefined; +} + /** *

Instructions for interpreting the contents of a document.

* @public @@ -3817,7 +3843,7 @@ export interface ParsingPrompt { */ export interface BedrockFoundationModelConfiguration { /** - *

The ARN of the foundation model or inference profile.

+ *

The ARN of the foundation model or inference profile to use for parsing.

* @public */ modelArn: string | undefined; @@ -3827,6 +3853,12 @@ export interface BedrockFoundationModelConfiguration { * @public */ parsingPrompt?: ParsingPrompt | undefined; + + /** + *

Specifies whether to enable parsing of multimodal data, including both text and/or images.

+ * @public + */ + parsingModality?: ParsingModality | undefined; } /** @@ -3834,6 +3866,7 @@ export interface BedrockFoundationModelConfiguration { * @enum */ export const ParsingStrategy = { + BEDROCK_DATA_AUTOMATION: "BEDROCK_DATA_AUTOMATION", BEDROCK_FOUNDATION_MODEL: "BEDROCK_FOUNDATION_MODEL", } as const; @@ -3843,25 +3876,11 @@ export const ParsingStrategy = { export type ParsingStrategy = (typeof ParsingStrategy)[keyof typeof ParsingStrategy]; /** - *

Settings for parsing document contents. By default, the service converts the contents of each - * document into text before splitting it into chunks. To improve processing of PDF files with tables and images, - * you can configure the data source to convert the pages of text into images and use a model to describe the - * contents of each page.

- *

To use a model to parse PDF documents, set the parsing strategy to BEDROCK_FOUNDATION_MODEL and - * specify the model or inference profile to use by ARN. You can also override the default parsing prompt with instructions for how - * to interpret images and tables in your documents. The following models are supported.

- * - *

You can get the ARN of a model with the ListFoundationModels action. Standard model usage - * charges apply for the foundation model parsing strategy.

+ *

Settings for parsing document contents. If you exclude this field, the default parser converts the contents of each + * document into text before splitting it into chunks. Specify the parsing strategy to use in the parsingStrategy field and include the relevant configuration, or omit it to use the Amazon Bedrock default parser. For more information, see Parsing options for your data source.

+ * + *

If you specify BEDROCK_DATA_AUTOMATION or BEDROCK_FOUNDATION_MODEL and it fails to parse a file, the Amazon Bedrock default parser will be used instead.

+ *
* @public */ export interface ParsingConfiguration { @@ -3872,10 +3891,16 @@ export interface ParsingConfiguration { parsingStrategy: ParsingStrategy | undefined; /** - *

Settings for a foundation model used to parse documents for a data source.

+ *

If you specify BEDROCK_FOUNDATION_MODEL as the parsing strategy for ingesting your data source, use this object to modify configurations for using a foundation model to parse documents.

* @public */ bedrockFoundationModelConfiguration?: BedrockFoundationModelConfiguration | undefined; + + /** + *

If you specify BEDROCK_DATA_AUTOMATION as the parsing strategy for ingesting your data source, use this object to modify configurations for using the Amazon Bedrock Data Automation parser.

+ * @public + */ + bedrockDataAutomationConfiguration?: BedrockDataAutomationConfiguration | undefined; } /** @@ -3896,7 +3921,7 @@ export interface VectorIngestionConfiguration { customTransformationConfiguration?: CustomTransformationConfiguration | undefined; /** - *

A custom parser for data source documents.

+ *

Configurations for a parser to use for parsing documents in your data source. If you exclude this field, the default parser will be used.

* @public */ parsingConfiguration?: ParsingConfiguration | undefined; @@ -9181,44 +9206,6 @@ export interface TextContentDoc { data: string | undefined; } -/** - * @public - * @enum - */ -export const InlineContentType = { - BYTE: "BYTE", - TEXT: "TEXT", -} as const; - -/** - * @public - */ -export type InlineContentType = (typeof InlineContentType)[keyof typeof InlineContentType]; - -/** - *

Contains information about content defined inline to ingest into a data source. Choose a type and include the field that corresponds to it.

- * @public - */ -export interface InlineContent { - /** - *

The type of inline content to define.

- * @public - */ - type: InlineContentType | undefined; - - /** - *

Contains information about content defined inline in bytes.

- * @public - */ - byteContent?: ByteContentDoc | undefined; - - /** - *

Contains information about content defined inline in text.

- * @public - */ - textContent?: TextContentDoc | undefined; -} - /** * @internal */ @@ -9918,12 +9905,3 @@ export const TextContentDocFilterSensitiveLog = (obj: TextContentDoc): any => ({ ...obj, ...(obj.data && { data: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const InlineContentFilterSensitiveLog = (obj: InlineContent): any => ({ - ...obj, - ...(obj.byteContent && { byteContent: ByteContentDocFilterSensitiveLog(obj.byteContent) }), - ...(obj.textContent && { textContent: TextContentDocFilterSensitiveLog(obj.textContent) }), -}); diff --git a/clients/client-bedrock-agent/src/models/models_1.ts b/clients/client-bedrock-agent/src/models/models_1.ts index 15968ef0da0d..3d9a1f911cf3 100644 --- a/clients/client-bedrock-agent/src/models/models_1.ts +++ b/clients/client-bedrock-agent/src/models/models_1.ts @@ -10,13 +10,13 @@ import { AgentVersion, AgentVersionFilterSensitiveLog, AgentVersionSummary, + ByteContentDoc, + ByteContentDocFilterSensitiveLog, ContentDataSourceType, CustomDocumentIdentifier, FlowDefinition, FlowValidation, FlowValidationFilterSensitiveLog, - InlineContent, - InlineContentFilterSensitiveLog, KnowledgeBaseDocumentDetail, KnowledgeBaseState, PromptInferenceConfiguration, @@ -24,8 +24,48 @@ import { PromptTemplateConfigurationFilterSensitiveLog, PromptTemplateType, S3Location, + TextContentDoc, + TextContentDocFilterSensitiveLog, } from "./models_0"; +/** + * @public + * @enum + */ +export const InlineContentType = { + BYTE: "BYTE", + TEXT: "TEXT", +} as const; + +/** + * @public + */ +export type InlineContentType = (typeof InlineContentType)[keyof typeof InlineContentType]; + +/** + *

Contains information about content defined inline to ingest into a data source. Choose a type and include the field that corresponds to it.

+ * @public + */ +export interface InlineContent { + /** + *

The type of inline content to define.

+ * @public + */ + type: InlineContentType | undefined; + + /** + *

Contains information about content defined inline in bytes.

+ * @public + */ + byteContent?: ByteContentDoc | undefined; + + /** + *

Contains information about content defined inline in text.

+ * @public + */ + textContent?: TextContentDoc | undefined; +} + /** *

Contains information about the Amazon S3 location of the file containing the content to ingest into a knowledge base connected to a custom data source.

* @public @@ -383,11 +423,411 @@ export interface AssociateAgentKnowledgeBaseResponse { agentKnowledgeBase: AgentKnowledgeBase | undefined; } +/** + *

Settings for an Amazon Kendra knowledge base.

+ * @public + */ +export interface KendraKnowledgeBaseConfiguration { + /** + *

The ARN of the Amazon Kendra index.

+ * @public + */ + kendraIndexArn: string | undefined; +} + +/** + * @public + * @enum + */ +export const RedshiftProvisionedAuthType = { + IAM: "IAM", + USERNAME: "USERNAME", + USERNAME_PASSWORD: "USERNAME_PASSWORD", +} as const; + +/** + * @public + */ +export type RedshiftProvisionedAuthType = + (typeof RedshiftProvisionedAuthType)[keyof typeof RedshiftProvisionedAuthType]; + +/** + *

Contains configurations for authentication to an Amazon Redshift provisioned data warehouse. Specify the type of authentication to use in the type field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.

+ * @public + */ +export interface RedshiftProvisionedAuthConfiguration { + /** + *

The type of authentication to use.

+ * @public + */ + type: RedshiftProvisionedAuthType | undefined; + + /** + *

The database username for authentication to an Amazon Redshift provisioned data warehouse.

+ * @public + */ + databaseUser?: string | undefined; + + /** + *

The ARN of an Secrets Manager secret for authentication.

+ * @public + */ + usernamePasswordSecretArn?: string | undefined; +} + +/** + *

Contains configurations for a provisioned Amazon Redshift query engine.

+ * @public + */ +export interface RedshiftProvisionedConfiguration { + /** + *

The ID of the Amazon Redshift cluster.

+ * @public + */ + clusterIdentifier: string | undefined; + + /** + *

Specifies configurations for authentication to Amazon Redshift.

+ * @public + */ + authConfiguration: RedshiftProvisionedAuthConfiguration | undefined; +} + +/** + * @public + * @enum + */ +export const RedshiftServerlessAuthType = { + IAM: "IAM", + USERNAME_PASSWORD: "USERNAME_PASSWORD", +} as const; + +/** + * @public + */ +export type RedshiftServerlessAuthType = (typeof RedshiftServerlessAuthType)[keyof typeof RedshiftServerlessAuthType]; + +/** + *

Specifies configurations for authentication to a Redshift Serverless. Specify the type of authentication to use in the type field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.

+ * @public + */ +export interface RedshiftServerlessAuthConfiguration { + /** + *

The type of authentication to use.

+ * @public + */ + type: RedshiftServerlessAuthType | undefined; + + /** + *

The ARN of an Secrets Manager secret for authentication.

+ * @public + */ + usernamePasswordSecretArn?: string | undefined; +} + +/** + *

Contains configurations for authentication to Amazon Redshift Serverless.

+ * @public + */ +export interface RedshiftServerlessConfiguration { + /** + *

The ARN of the Amazon Redshift workgroup.

+ * @public + */ + workgroupArn: string | undefined; + + /** + *

Specifies configurations for authentication to an Amazon Redshift provisioned data warehouse.

+ * @public + */ + authConfiguration: RedshiftServerlessAuthConfiguration | undefined; +} + +/** + * @public + * @enum + */ +export const RedshiftQueryEngineType = { + PROVISIONED: "PROVISIONED", + SERVERLESS: "SERVERLESS", +} as const; + +/** + * @public + */ +export type RedshiftQueryEngineType = (typeof RedshiftQueryEngineType)[keyof typeof RedshiftQueryEngineType]; + +/** + *

Contains configurations for an Amazon Redshift query engine. Specify the type of query engine in type and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

+ * @public + */ +export interface RedshiftQueryEngineConfiguration { + /** + *

The type of query engine.

+ * @public + */ + type: RedshiftQueryEngineType | undefined; + + /** + *

Specifies configurations for a serverless Amazon Redshift query engine.

+ * @public + */ + serverlessConfiguration?: RedshiftServerlessConfiguration | undefined; + + /** + *

Specifies configurations for a provisioned Amazon Redshift query engine.

+ * @public + */ + provisionedConfiguration?: RedshiftProvisionedConfiguration | undefined; +} + +/** + *

Contains configurations for a query, each of which defines information about example queries to help the query engine generate appropriate SQL queries.

+ * @public + */ +export interface CuratedQuery { + /** + *

An example natural language query.

+ * @public + */ + naturalLanguage: string | undefined; + + /** + *

The SQL equivalent of the natural language query.

+ * @public + */ + sql: string | undefined; +} + +/** + * @public + * @enum + */ +export const IncludeExclude = { + EXCLUDE: "EXCLUDE", + INCLUDE: "INCLUDE", +} as const; + +/** + * @public + */ +export type IncludeExclude = (typeof IncludeExclude)[keyof typeof IncludeExclude]; + +/** + *

Contains information about a column in the current table for the query engine to consider.

+ * @public + */ +export interface QueryGenerationColumn { + /** + *

The name of the column for which the other fields in this object apply.

+ * @public + */ + name?: string | undefined; + + /** + *

A description of the column that helps the query engine understand the contents of the column.

+ * @public + */ + description?: string | undefined; + + /** + *

Specifies whether to include or exclude the column during query generation. If you specify EXCLUDE, the column will be ignored. If you specify INCLUDE, all other columns in the table will be ignored.

+ * @public + */ + inclusion?: IncludeExclude | undefined; +} + +/** + *

Contains information about a table for the query engine to consider.

+ * @public + */ +export interface QueryGenerationTable { + /** + *

The name of the table for which the other fields in this object apply.

+ * @public + */ + name: string | undefined; + + /** + *

A description of the table that helps the query engine understand the contents of the table.

+ * @public + */ + description?: string | undefined; + + /** + *

Specifies whether to include or exclude the table during query generation. If you specify EXCLUDE, the table will be ignored. If you specify INCLUDE, all other tables will be ignored.

+ * @public + */ + inclusion?: IncludeExclude | undefined; + + /** + *

An array of objects, each of which defines information about a column in the table.

+ * @public + */ + columns?: QueryGenerationColumn[] | undefined; +} + +/** + *

>Contains configurations for context to use during query generation.

+ * @public + */ +export interface QueryGenerationContext { + /** + *

An array of objects, each of which defines information about a table in the database.

+ * @public + */ + tables?: QueryGenerationTable[] | undefined; + + /** + *

An array of objects, each of which defines information about example queries to help the query engine generate appropriate SQL queries.

+ * @public + */ + curatedQueries?: CuratedQuery[] | undefined; +} + +/** + *

Contains configurations for query generation. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide..

+ * @public + */ +export interface QueryGenerationConfiguration { + /** + *

The time after which query generation will time out.

+ * @public + */ + executionTimeoutSeconds?: number | undefined; + + /** + *

Specifies configurations for context to use during query generation.

+ * @public + */ + generationContext?: QueryGenerationContext | undefined; +} + +/** + *

Contains configurations for storage in Glue Data Catalog.

+ * @public + */ +export interface RedshiftQueryEngineAwsDataCatalogStorageConfiguration { + /** + *

A list of names of the tables to use.

+ * @public + */ + tableNames: string[] | undefined; +} + +/** + *

Contains configurations for storage in Amazon Redshift.

+ * @public + */ +export interface RedshiftQueryEngineRedshiftStorageConfiguration { + /** + *

The name of the Amazon Redshift database.

+ * @public + */ + databaseName: string | undefined; +} + +/** + * @public + * @enum + */ +export const RedshiftQueryEngineStorageType = { + AWS_DATA_CATALOG: "AWS_DATA_CATALOG", + REDSHIFT: "REDSHIFT", +} as const; + +/** + * @public + */ +export type RedshiftQueryEngineStorageType = + (typeof RedshiftQueryEngineStorageType)[keyof typeof RedshiftQueryEngineStorageType]; + +/** + *

Contains configurations for Amazon Redshift data storage. Specify the data storage service to use in the type field and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

+ * @public + */ +export interface RedshiftQueryEngineStorageConfiguration { + /** + *

The data storage service to use.

+ * @public + */ + type: RedshiftQueryEngineStorageType | undefined; + + /** + *

Specifies configurations for storage in Glue Data Catalog.

+ * @public + */ + awsDataCatalogConfiguration?: RedshiftQueryEngineAwsDataCatalogStorageConfiguration | undefined; + + /** + *

Specifies configurations for storage in Amazon Redshift.

+ * @public + */ + redshiftConfiguration?: RedshiftQueryEngineRedshiftStorageConfiguration | undefined; +} + +/** + *

Contains configurations for an Amazon Redshift database. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

+ * @public + */ +export interface RedshiftConfiguration { + /** + *

Specifies configurations for Amazon Redshift database storage.

+ * @public + */ + storageConfigurations: RedshiftQueryEngineStorageConfiguration[] | undefined; + + /** + *

Specifies configurations for an Amazon Redshift query engine.

+ * @public + */ + queryEngineConfiguration: RedshiftQueryEngineConfiguration | undefined; + + /** + *

Specifies configurations for generating queries.

+ * @public + */ + queryGenerationConfiguration?: QueryGenerationConfiguration | undefined; +} + +/** + * @public + * @enum + */ +export const QueryEngineType = { + REDSHIFT: "REDSHIFT", +} as const; + +/** + * @public + */ +export type QueryEngineType = (typeof QueryEngineType)[keyof typeof QueryEngineType]; + +/** + *

Contains configurations for a knowledge base connected to an SQL database. Specify the SQL database type in the type field and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

+ * @public + */ +export interface SqlKnowledgeBaseConfiguration { + /** + *

The type of SQL database to connect to the knowledge base.

+ * @public + */ + type: QueryEngineType | undefined; + + /** + *

Specifies configurations for a knowledge base connected to an Amazon Redshift database.

+ * @public + */ + redshiftConfiguration?: RedshiftConfiguration | undefined; +} + /** * @public * @enum */ export const KnowledgeBaseType = { + KENDRA: "KENDRA", + SQL: "SQL", VECTOR: "VECTOR", } as const; @@ -444,6 +884,50 @@ export interface EmbeddingModelConfiguration { bedrockEmbeddingModelConfiguration?: BedrockEmbeddingModelConfiguration | undefined; } +/** + * @public + * @enum + */ +export const SupplementalDataStorageLocationType = { + S3: "S3", +} as const; + +/** + * @public + */ +export type SupplementalDataStorageLocationType = + (typeof SupplementalDataStorageLocationType)[keyof typeof SupplementalDataStorageLocationType]; + +/** + *

Contains information about a storage location for images extracted from multimodal documents in your data source.

+ * @public + */ +export interface SupplementalDataStorageLocation { + /** + *

Specifies the storage service used for this location.

+ * @public + */ + type: SupplementalDataStorageLocationType | undefined; + + /** + *

Contains information about the Amazon S3 location for the extracted images.

+ * @public + */ + s3Location?: S3Location | undefined; +} + +/** + *

Specifies configurations for the storage location of the images extracted from multimodal documents in your data source. These images can be retrieved and returned to the end user.

+ * @public + */ +export interface SupplementalDataStorageConfiguration { + /** + *

A list of objects specifying storage locations for images extracted from multimodal documents in your data source.

+ * @public + */ + storageLocations: SupplementalDataStorageLocation[] | undefined; +} + /** *

Contains details about the model used to create vector embeddings for the knowledge base.

* @public @@ -460,6 +944,12 @@ export interface VectorKnowledgeBaseConfiguration { * @public */ embeddingModelConfiguration?: EmbeddingModelConfiguration | undefined; + + /** + *

If you include multimodal data from your data source, use this object to specify configurations for the storage location of the images extracted from your documents. These images can be retrieved and returned to the end user. They can also be used in generation when using RetrieveAndGenerate.

+ * @public + */ + supplementalDataStorageConfiguration?: SupplementalDataStorageConfiguration | undefined; } /** @@ -478,6 +968,18 @@ export interface KnowledgeBaseConfiguration { * @public */ vectorKnowledgeBaseConfiguration?: VectorKnowledgeBaseConfiguration | undefined; + + /** + *

Settings for an Amazon Kendra knowledge base.

+ * @public + */ + kendraKnowledgeBaseConfiguration?: KendraKnowledgeBaseConfiguration | undefined; + + /** + *

Specifies configurations for a knowledge base connected to an SQL database.

+ * @public + */ + sqlKnowledgeBaseConfiguration?: SqlKnowledgeBaseConfiguration | undefined; } /** @@ -866,7 +1368,7 @@ export interface CreateKnowledgeBaseRequest { *

Contains details about the configuration of the vector database used for the knowledge base.

* @public */ - storageConfiguration: StorageConfiguration | undefined; + storageConfiguration?: StorageConfiguration | undefined; /** *

Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object.

@@ -938,7 +1440,7 @@ export interface KnowledgeBase { *

Contains details about the storage configuration of the knowledge base.

* @public */ - storageConfiguration: StorageConfiguration | undefined; + storageConfiguration?: StorageConfiguration | undefined; /** *

The status of the knowledge base. The following statuses are possible:

@@ -1305,7 +1807,7 @@ export interface UpdateKnowledgeBaseRequest { *

Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.

* @public */ - storageConfiguration: StorageConfiguration | undefined; + storageConfiguration?: StorageConfiguration | undefined; } /** @@ -2169,6 +2671,15 @@ export interface ListAgentVersionsResponse { nextToken?: string | undefined; } +/** + * @internal + */ +export const InlineContentFilterSensitiveLog = (obj: InlineContent): any => ({ + ...obj, + ...(obj.byteContent && { byteContent: ByteContentDocFilterSensitiveLog(obj.byteContent) }), + ...(obj.textContent && { textContent: TextContentDocFilterSensitiveLog(obj.textContent) }), +}); + /** * @internal */ @@ -2233,6 +2744,105 @@ export const IngestKnowledgeBaseDocumentsRequestFilterSensitiveLog = ( ...(obj.documents && { documents: obj.documents.map((item) => KnowledgeBaseDocumentFilterSensitiveLog(item)) }), }); +/** + * @internal + */ +export const QueryGenerationContextFilterSensitiveLog = (obj: QueryGenerationContext): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const QueryGenerationConfigurationFilterSensitiveLog = (obj: QueryGenerationConfiguration): any => ({ + ...obj, + ...(obj.generationContext && { generationContext: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RedshiftConfigurationFilterSensitiveLog = (obj: RedshiftConfiguration): any => ({ + ...obj, + ...(obj.queryGenerationConfiguration && { + queryGenerationConfiguration: QueryGenerationConfigurationFilterSensitiveLog(obj.queryGenerationConfiguration), + }), +}); + +/** + * @internal + */ +export const SqlKnowledgeBaseConfigurationFilterSensitiveLog = (obj: SqlKnowledgeBaseConfiguration): any => ({ + ...obj, + ...(obj.redshiftConfiguration && { + redshiftConfiguration: RedshiftConfigurationFilterSensitiveLog(obj.redshiftConfiguration), + }), +}); + +/** + * @internal + */ +export const KnowledgeBaseConfigurationFilterSensitiveLog = (obj: KnowledgeBaseConfiguration): any => ({ + ...obj, + ...(obj.sqlKnowledgeBaseConfiguration && { + sqlKnowledgeBaseConfiguration: SqlKnowledgeBaseConfigurationFilterSensitiveLog(obj.sqlKnowledgeBaseConfiguration), + }), +}); + +/** + * @internal + */ +export const CreateKnowledgeBaseRequestFilterSensitiveLog = (obj: CreateKnowledgeBaseRequest): any => ({ + ...obj, + ...(obj.knowledgeBaseConfiguration && { + knowledgeBaseConfiguration: KnowledgeBaseConfigurationFilterSensitiveLog(obj.knowledgeBaseConfiguration), + }), +}); + +/** + * @internal + */ +export const KnowledgeBaseFilterSensitiveLog = (obj: KnowledgeBase): any => ({ + ...obj, + ...(obj.knowledgeBaseConfiguration && { + knowledgeBaseConfiguration: KnowledgeBaseConfigurationFilterSensitiveLog(obj.knowledgeBaseConfiguration), + }), +}); + +/** + * @internal + */ +export const CreateKnowledgeBaseResponseFilterSensitiveLog = (obj: CreateKnowledgeBaseResponse): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseFilterSensitiveLog(obj.knowledgeBase) }), +}); + +/** + * @internal + */ +export const GetKnowledgeBaseResponseFilterSensitiveLog = (obj: GetKnowledgeBaseResponse): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseFilterSensitiveLog(obj.knowledgeBase) }), +}); + +/** + * @internal + */ +export const UpdateKnowledgeBaseRequestFilterSensitiveLog = (obj: UpdateKnowledgeBaseRequest): any => ({ + ...obj, + ...(obj.knowledgeBaseConfiguration && { + knowledgeBaseConfiguration: KnowledgeBaseConfigurationFilterSensitiveLog(obj.knowledgeBaseConfiguration), + }), +}); + +/** + * @internal + */ +export const UpdateKnowledgeBaseResponseFilterSensitiveLog = (obj: UpdateKnowledgeBaseResponse): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseFilterSensitiveLog(obj.knowledgeBase) }), +}); + /** * @internal */ diff --git a/clients/client-bedrock-agent/src/protocols/Aws_restJson1.ts b/clients/client-bedrock-agent/src/protocols/Aws_restJson1.ts index c857201df875..847da8763921 100644 --- a/clients/client-bedrock-agent/src/protocols/Aws_restJson1.ts +++ b/clients/client-bedrock-agent/src/protocols/Aws_restJson1.ts @@ -202,6 +202,7 @@ import { AnyToolChoice, APISchema, AutoToolChoice, + BedrockDataAutomationConfiguration, BedrockFoundationModelConfiguration, ByteContentDoc, ChatPromptTemplateConfiguration, @@ -246,7 +247,6 @@ import { IngestionJobFilter, IngestionJobSortBy, IngestionJobSummary, - InlineContent, InputFlowNodeConfiguration, IntermediateStorage, InternalServerException, @@ -318,11 +318,14 @@ import { } from "../models/models_0"; import { BedrockEmbeddingModelConfiguration, + CuratedQuery, CustomContent, CustomS3Location, DocumentContent, DocumentMetadata, EmbeddingModelConfiguration, + InlineContent, + KendraKnowledgeBaseConfiguration, KnowledgeBase, KnowledgeBaseConfiguration, KnowledgeBaseDocument, @@ -340,12 +343,28 @@ import { PromptMetadataEntry, PromptSummary, PromptVariant, + QueryGenerationColumn, + QueryGenerationConfiguration, + QueryGenerationContext, + QueryGenerationTable, RdsConfiguration, RdsFieldMapping, RedisEnterpriseCloudConfiguration, RedisEnterpriseCloudFieldMapping, + RedshiftConfiguration, + RedshiftProvisionedAuthConfiguration, + RedshiftProvisionedConfiguration, + RedshiftQueryEngineAwsDataCatalogStorageConfiguration, + RedshiftQueryEngineConfiguration, + RedshiftQueryEngineRedshiftStorageConfiguration, + RedshiftQueryEngineStorageConfiguration, + RedshiftServerlessAuthConfiguration, + RedshiftServerlessConfiguration, S3Content, + SqlKnowledgeBaseConfiguration, StorageConfiguration, + SupplementalDataStorageConfiguration, + SupplementalDataStorageLocation, VectorKnowledgeBaseConfiguration, } from "../models/models_1"; @@ -3783,6 +3802,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_AutoToolChoice omitted. +// se_AwsDataCatalogTableNames omitted. + +// se_BedrockDataAutomationConfiguration omitted. + // se_BedrockEmbeddingModelConfiguration omitted. // se_BedrockFoundationModelConfiguration omitted. @@ -3827,6 +3850,10 @@ const se_ChatPromptTemplateConfiguration = (input: ChatPromptTemplateConfigurati // se_CrawlFilterConfiguration omitted. +// se_CuratedQueries omitted. + +// se_CuratedQuery omitted. + /** * serializeAws_restJson1CustomContent */ @@ -4016,6 +4043,8 @@ const se_InlineContent = (input: InlineContent, context: __SerdeContext): any => // se_IteratorFlowNodeConfiguration omitted. +// se_KendraKnowledgeBaseConfiguration omitted. + // se_KnowledgeBaseConfiguration omitted. /** @@ -4268,6 +4297,18 @@ const se_PromptVariantList = (input: PromptVariant[], context: __SerdeContext): }); }; +// se_QueryGenerationColumn omitted. + +// se_QueryGenerationColumns omitted. + +// se_QueryGenerationConfiguration omitted. + +// se_QueryGenerationContext omitted. + +// se_QueryGenerationTable omitted. + +// se_QueryGenerationTables omitted. + // se_RdsConfiguration omitted. // se_RdsFieldMapping omitted. @@ -4276,6 +4317,26 @@ const se_PromptVariantList = (input: PromptVariant[], context: __SerdeContext): // se_RedisEnterpriseCloudFieldMapping omitted. +// se_RedshiftConfiguration omitted. + +// se_RedshiftProvisionedAuthConfiguration omitted. + +// se_RedshiftProvisionedConfiguration omitted. + +// se_RedshiftQueryEngineAwsDataCatalogStorageConfiguration omitted. + +// se_RedshiftQueryEngineConfiguration omitted. + +// se_RedshiftQueryEngineRedshiftStorageConfiguration omitted. + +// se_RedshiftQueryEngineStorageConfiguration omitted. + +// se_RedshiftQueryEngineStorageConfigurations omitted. + +// se_RedshiftServerlessAuthConfiguration omitted. + +// se_RedshiftServerlessConfiguration omitted. + // se_RetrievalFlowNodeConfiguration omitted. // se_RetrievalFlowNodeS3Configuration omitted. @@ -4316,6 +4377,8 @@ const se_PromptVariantList = (input: PromptVariant[], context: __SerdeContext): // se_SpecificToolChoice omitted. +// se_SqlKnowledgeBaseConfiguration omitted. + // se_StopSequences omitted. // se_StorageConfiguration omitted. @@ -4328,6 +4391,12 @@ const se_PromptVariantList = (input: PromptVariant[], context: __SerdeContext): // se_StringListValue omitted. +// se_SupplementalDataStorageConfiguration omitted. + +// se_SupplementalDataStorageLocation omitted. + +// se_SupplementalDataStorageLocations omitted. + // se_SystemContentBlock omitted. // se_SystemContentBlocks omitted. @@ -4751,6 +4820,10 @@ const de_AgentVersionSummary = (output: any, context: __SerdeContext): AgentVers // de_AutoToolChoice omitted. +// de_AwsDataCatalogTableNames omitted. + +// de_BedrockDataAutomationConfiguration omitted. + // de_BedrockEmbeddingModelConfiguration omitted. // de_BedrockFoundationModelConfiguration omitted. @@ -4785,6 +4858,10 @@ const de_ChatPromptTemplateConfiguration = (output: any, context: __SerdeContext // de_CrawlFilterConfiguration omitted. +// de_CuratedQueries omitted. + +// de_CuratedQuery omitted. + // de_CustomDocumentIdentifier omitted. // de_CustomOrchestration omitted. @@ -5154,6 +5231,8 @@ const de_IngestionJobSummary = (output: any, context: __SerdeContext): Ingestion // de_IteratorFlowNodeConfiguration omitted. +// de_KendraKnowledgeBaseConfiguration omitted. + /** * deserializeAws_restJson1KnowledgeBase */ @@ -5488,6 +5567,18 @@ const de_PromptVariantList = (output: any, context: __SerdeContext): PromptVaria return retVal; }; +// de_QueryGenerationColumn omitted. + +// de_QueryGenerationColumns omitted. + +// de_QueryGenerationConfiguration omitted. + +// de_QueryGenerationContext omitted. + +// de_QueryGenerationTable omitted. + +// de_QueryGenerationTables omitted. + // de_RdsConfiguration omitted. // de_RdsFieldMapping omitted. @@ -5498,6 +5589,26 @@ const de_PromptVariantList = (output: any, context: __SerdeContext): PromptVaria // de_RedisEnterpriseCloudFieldMapping omitted. +// de_RedshiftConfiguration omitted. + +// de_RedshiftProvisionedAuthConfiguration omitted. + +// de_RedshiftProvisionedConfiguration omitted. + +// de_RedshiftQueryEngineAwsDataCatalogStorageConfiguration omitted. + +// de_RedshiftQueryEngineConfiguration omitted. + +// de_RedshiftQueryEngineRedshiftStorageConfiguration omitted. + +// de_RedshiftQueryEngineStorageConfiguration omitted. + +// de_RedshiftQueryEngineStorageConfigurations omitted. + +// de_RedshiftServerlessAuthConfiguration omitted. + +// de_RedshiftServerlessConfiguration omitted. + // de_RetrievalFlowNodeConfiguration omitted. // de_RetrievalFlowNodeS3Configuration omitted. @@ -5536,6 +5647,8 @@ const de_PromptVariantList = (output: any, context: __SerdeContext): PromptVaria // de_SpecificToolChoice omitted. +// de_SqlKnowledgeBaseConfiguration omitted. + // de_StopSequences omitted. // de_StorageConfiguration omitted. @@ -5546,6 +5659,12 @@ const de_PromptVariantList = (output: any, context: __SerdeContext): PromptVaria // de_StorageFlowNodeServiceConfiguration omitted. +// de_SupplementalDataStorageConfiguration omitted. + +// de_SupplementalDataStorageLocation omitted. + +// de_SupplementalDataStorageLocations omitted. + // de_SystemContentBlock omitted. // de_SystemContentBlocks omitted. diff --git a/codegen/sdk-codegen/aws-models/bedrock-agent.json b/codegen/sdk-codegen/aws-models/bedrock-agent.json index fc123dcf303f..e77db32ab7bd 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-agent.json +++ b/codegen/sdk-codegen/aws-models/bedrock-agent.json @@ -2361,6 +2361,28 @@ "smithy.api#documentation": "

Defines tools. The model automatically decides whether to call a tool or to generate text instead. For more information, see Use a tool to complete an Amazon Bedrock model response.

" } }, + "com.amazonaws.bedrockagent#AwsDataCatalogTableName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^.*\\.*$" + } + }, + "com.amazonaws.bedrockagent#AwsDataCatalogTableNames": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#AwsDataCatalogTableName" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, "com.amazonaws.bedrockagent#BasePromptTemplate": { "type": "string", "traits": { @@ -2371,6 +2393,20 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagent#BedrockDataAutomationConfiguration": { + "type": "structure", + "members": { + "parsingModality": { + "target": "com.amazonaws.bedrockagent#ParsingModality", + "traits": { + "smithy.api#documentation": "

Specifies whether to enable parsing of multimodal data, including both text and/or images.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for using Amazon Bedrock Data Automation as the parser for ingesting your data sources.

" + } + }, "com.amazonaws.bedrockagent#BedrockEmbeddingModelArn": { "type": "string", "traits": { @@ -2407,7 +2443,7 @@ "modelArn": { "target": "com.amazonaws.bedrockagent#BedrockModelArn", "traits": { - "smithy.api#documentation": "

The ARN of the foundation model or inference profile.

", + "smithy.api#documentation": "

The ARN of the foundation model or inference profile to use for parsing.

", "smithy.api#required": {} } }, @@ -2416,6 +2452,12 @@ "traits": { "smithy.api#documentation": "

Instructions for interpreting the contents of a document.

" } + }, + "parsingModality": { + "target": "com.amazonaws.bedrockagent#ParsingModality", + "traits": { + "smithy.api#documentation": "

Specifies whether to enable parsing of multimodal data, including both text and/or images.

" + } } }, "traits": { @@ -3884,8 +3926,7 @@ "storageConfiguration": { "target": "com.amazonaws.bedrockagent#StorageConfiguration", "traits": { - "smithy.api#documentation": "

Contains details about the configuration of the vector database used for the knowledge base.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains details about the configuration of the vector database used for the knowledge base.

" } }, "tags": { @@ -4249,6 +4290,39 @@ } } }, + "com.amazonaws.bedrockagent#CuratedQueries": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#CuratedQuery" + }, + "traits": { + "smithy.api#length": { + "max": 10 + } + } + }, + "com.amazonaws.bedrockagent#CuratedQuery": { + "type": "structure", + "members": { + "naturalLanguage": { + "target": "com.amazonaws.bedrockagent#NaturalLanguageString", + "traits": { + "smithy.api#documentation": "

An example natural language query.

", + "smithy.api#required": {} + } + }, + "sql": { + "target": "com.amazonaws.bedrockagent#SqlString", + "traits": { + "smithy.api#documentation": "

The SQL equivalent of the natural language query.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for a query, each of which defines information about example queries to help the query engine generate appropriate SQL queries.

" + } + }, "com.amazonaws.bedrockagent#CustomContent": { "type": "structure", "members": { @@ -4697,6 +4771,12 @@ "traits": { "smithy.api#enumValue": "CUSTOM" } + }, + "REDSHIFT_METADATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REDSHIFT_METADATA" + } } } }, @@ -5674,6 +5754,15 @@ } } }, + "com.amazonaws.bedrockagent#DescriptionString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, "com.amazonaws.bedrockagent#Dimensions": { "type": "integer", "traits": { @@ -9025,6 +9114,23 @@ "smithy.api#pattern": "^[0-9a-zA-Z]{10}$" } }, + "com.amazonaws.bedrockagent#IncludeExclude": { + "type": "enum", + "members": { + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + }, + "EXCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXCLUDE" + } + } + } + }, "com.amazonaws.bedrockagent#IncompatibleConnectionDataTypeFlowValidationDetails": { "type": "structure", "members": { @@ -9640,6 +9746,27 @@ "smithy.api#documentation": "

Contains configurations for an iterator node in a flow. Takes an input that is an array and iteratively sends each item of the array as an output to the following node. The size of the array is also returned in the output.

\n

The output flow node at the end of the flow iteration will return a response for each member of the array. To return only one response, you can include a collector node downstream from the iterator node.

" } }, + "com.amazonaws.bedrockagent#KendraIndexArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws(|-cn|-us-gov):kendra:[a-z0-9-]{1,20}:([0-9]{12}|):index/([a-zA-Z0-9][a-zA-Z0-9-]{35}|[a-zA-Z0-9][a-zA-Z0-9-]{35}-[a-zA-Z0-9][a-zA-Z0-9-]{35})$" + } + }, + "com.amazonaws.bedrockagent#KendraKnowledgeBaseConfiguration": { + "type": "structure", + "members": { + "kendraIndexArn": { + "target": "com.amazonaws.bedrockagent#KendraIndexArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Amazon Kendra index.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Settings for an Amazon Kendra knowledge base.

" + } + }, "com.amazonaws.bedrockagent#Key": { "type": "string", "traits": { @@ -9707,8 +9834,7 @@ "storageConfiguration": { "target": "com.amazonaws.bedrockagent#StorageConfiguration", "traits": { - "smithy.api#documentation": "

Contains details about the storage configuration of the knowledge base.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains details about the storage configuration of the knowledge base.

" } }, "status": { @@ -9767,6 +9893,18 @@ "traits": { "smithy.api#documentation": "

Contains details about the model that's used to convert the data source into vector embeddings.

" } + }, + "kendraKnowledgeBaseConfiguration": { + "target": "com.amazonaws.bedrockagent#KendraKnowledgeBaseConfiguration", + "traits": { + "smithy.api#documentation": "

Settings for an Amazon Kendra knowledge base.

" + } + }, + "sqlKnowledgeBaseConfiguration": { + "target": "com.amazonaws.bedrockagent#SqlKnowledgeBaseConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for a knowledge base connected to an SQL database.

" + } } }, "traits": { @@ -10116,6 +10254,18 @@ "traits": { "smithy.api#enumValue": "VECTOR" } + }, + "KENDRA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KENDRA" + } + }, + "SQL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SQL" + } } } }, @@ -12145,6 +12295,15 @@ "smithy.api#pattern": "^([0-9a-zA-Z][_-]?){1,100}$" } }, + "com.amazonaws.bedrockagent#NaturalLanguageString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, "com.amazonaws.bedrockagent#NextToken": { "type": "string", "traits": { @@ -12353,12 +12512,29 @@ "bedrockFoundationModelConfiguration": { "target": "com.amazonaws.bedrockagent#BedrockFoundationModelConfiguration", "traits": { - "smithy.api#documentation": "

Settings for a foundation model used to parse documents for a data source.

" + "smithy.api#documentation": "

If you specify BEDROCK_FOUNDATION_MODEL as the parsing strategy for ingesting your data source, use this object to modify configurations for using a foundation model to parse documents.

" + } + }, + "bedrockDataAutomationConfiguration": { + "target": "com.amazonaws.bedrockagent#BedrockDataAutomationConfiguration", + "traits": { + "smithy.api#documentation": "

If you specify BEDROCK_DATA_AUTOMATION as the parsing strategy for ingesting your data source, use this object to modify configurations for using the Amazon Bedrock Data Automation parser.

" } } }, "traits": { - "smithy.api#documentation": "

Settings for parsing document contents. By default, the service converts the contents of each\n document into text before splitting it into chunks. To improve processing of PDF files with tables and images,\n you can configure the data source to convert the pages of text into images and use a model to describe the\n contents of each page.

\n

To use a model to parse PDF documents, set the parsing strategy to BEDROCK_FOUNDATION_MODEL and\n specify the model or inference profile to use by ARN. You can also override the default parsing prompt with instructions for how\n to interpret images and tables in your documents. The following models are supported.

\n \n

You can get the ARN of a model with the ListFoundationModels action. Standard model usage\n charges apply for the foundation model parsing strategy.

" + "smithy.api#documentation": "

Settings for parsing document contents. If you exclude this field, the default parser converts the contents of each\n document into text before splitting it into chunks. Specify the parsing strategy to use in the parsingStrategy field and include the relevant configuration, or omit it to use the Amazon Bedrock default parser. For more information, see Parsing options for your data source.

\n \n

If you specify BEDROCK_DATA_AUTOMATION or BEDROCK_FOUNDATION_MODEL and it fails to parse a file, the Amazon Bedrock default parser will be used instead.

\n
" + } + }, + "com.amazonaws.bedrockagent#ParsingModality": { + "type": "enum", + "members": { + "MULTIMODAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MULTIMODAL" + } + } } }, "com.amazonaws.bedrockagent#ParsingPrompt": { @@ -12393,6 +12569,12 @@ "traits": { "smithy.api#enumValue": "BEDROCK_FOUNDATION_MODEL" } + }, + "BEDROCK_DATA_AUTOMATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEDROCK_DATA_AUTOMATION" + } } } }, @@ -13364,6 +13546,158 @@ "smithy.api#pattern": "^((([0-9a-zA-Z][_-]?){1,63})|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:provisioned-model/[a-z0-9]{12}))$" } }, + "com.amazonaws.bedrockagent#QueryEngineType": { + "type": "enum", + "members": { + "REDSHIFT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REDSHIFT" + } + } + } + }, + "com.amazonaws.bedrockagent#QueryExecutionTimeoutSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.bedrockagent#QueryGenerationColumn": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bedrockagent#QueryGenerationColumnName", + "traits": { + "smithy.api#documentation": "

The name of the column for which the other fields in this object apply.

" + } + }, + "description": { + "target": "com.amazonaws.bedrockagent#DescriptionString", + "traits": { + "smithy.api#documentation": "

A description of the column that helps the query engine understand the contents of the column.

" + } + }, + "inclusion": { + "target": "com.amazonaws.bedrockagent#IncludeExclude", + "traits": { + "smithy.api#documentation": "

Specifies whether to include or exclude the column during query generation. If you specify EXCLUDE, the column will be ignored. If you specify INCLUDE, all other columns in the table will be ignored.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a column in the current table for the query engine to consider.

" + } + }, + "com.amazonaws.bedrockagent#QueryGenerationColumnName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 127 + } + } + }, + "com.amazonaws.bedrockagent#QueryGenerationColumns": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#QueryGenerationColumn" + } + }, + "com.amazonaws.bedrockagent#QueryGenerationConfiguration": { + "type": "structure", + "members": { + "executionTimeoutSeconds": { + "target": "com.amazonaws.bedrockagent#QueryExecutionTimeoutSeconds", + "traits": { + "smithy.api#documentation": "

The time after which query generation will time out.

" + } + }, + "generationContext": { + "target": "com.amazonaws.bedrockagent#QueryGenerationContext", + "traits": { + "smithy.api#documentation": "

Specifies configurations for context to use during query generation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for query generation. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide..

" + } + }, + "com.amazonaws.bedrockagent#QueryGenerationContext": { + "type": "structure", + "members": { + "tables": { + "target": "com.amazonaws.bedrockagent#QueryGenerationTables", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which defines information about a table in the database.

" + } + }, + "curatedQueries": { + "target": "com.amazonaws.bedrockagent#CuratedQueries", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which defines information about example queries to help the query engine generate appropriate SQL queries.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

>Contains configurations for context to use during query generation.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagent#QueryGenerationTable": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bedrockagent#QueryGenerationTableName", + "traits": { + "smithy.api#documentation": "

The name of the table for which the other fields in this object apply.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.bedrockagent#DescriptionString", + "traits": { + "smithy.api#documentation": "

A description of the table that helps the query engine understand the contents of the table.

" + } + }, + "inclusion": { + "target": "com.amazonaws.bedrockagent#IncludeExclude", + "traits": { + "smithy.api#documentation": "

Specifies whether to include or exclude the table during query generation. If you specify EXCLUDE, the table will be ignored. If you specify INCLUDE, all other tables will be ignored.

" + } + }, + "columns": { + "target": "com.amazonaws.bedrockagent#QueryGenerationColumns", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which defines information about a column in the table.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a table for the query engine to consider.

" + } + }, + "com.amazonaws.bedrockagent#QueryGenerationTableName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^.*\\..*\\..*$" + } + }, + "com.amazonaws.bedrockagent#QueryGenerationTables": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#QueryGenerationTable" + }, + "traits": { + "smithy.api#length": { + "max": 50 + } + } + }, "com.amazonaws.bedrockagent#RdsArn": { "type": "string", "traits": { @@ -13569,22 +13903,330 @@ "smithy.api#pattern": "^.*$" } }, - "com.amazonaws.bedrockagent#RelayConversationHistory": { - "type": "enum", + "com.amazonaws.bedrockagent#RedshiftClusterIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + } + } + }, + "com.amazonaws.bedrockagent#RedshiftConfiguration": { + "type": "structure", "members": { - "TO_COLLABORATOR": { - "target": "smithy.api#Unit", + "storageConfigurations": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageConfigurations", "traits": { - "smithy.api#enumValue": "TO_COLLABORATOR" + "smithy.api#documentation": "

Specifies configurations for Amazon Redshift database storage.

", + "smithy.api#required": {} } }, - "DISABLED": { - "target": "smithy.api#Unit", + "queryEngineConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineConfiguration", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "

Specifies configurations for an Amazon Redshift query engine.

", + "smithy.api#required": {} + } + }, + "queryGenerationConfiguration": { + "target": "com.amazonaws.bedrockagent#QueryGenerationConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for generating queries.

" } } - } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Redshift database. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftDatabase": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.bedrockagent#RedshiftProvisionedAuthConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#RedshiftProvisionedAuthType", + "traits": { + "smithy.api#documentation": "

The type of authentication to use.

", + "smithy.api#required": {} + } + }, + "databaseUser": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The database username for authentication to an Amazon Redshift provisioned data warehouse.

" + } + }, + "usernamePasswordSecretArn": { + "target": "com.amazonaws.bedrockagent#SecretArn", + "traits": { + "smithy.api#documentation": "

The ARN of an Secrets Manager secret for authentication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for authentication to an Amazon Redshift provisioned data warehouse. Specify the type of authentication to use in the type field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftProvisionedAuthType": { + "type": "enum", + "members": { + "IAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM" + } + }, + "USERNAME_PASSWORD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USERNAME_PASSWORD" + } + }, + "USERNAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USERNAME" + } + } + } + }, + "com.amazonaws.bedrockagent#RedshiftProvisionedConfiguration": { + "type": "structure", + "members": { + "clusterIdentifier": { + "target": "com.amazonaws.bedrockagent#RedshiftClusterIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Redshift cluster.

", + "smithy.api#required": {} + } + }, + "authConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftProvisionedAuthConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for authentication to Amazon Redshift.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for a provisioned Amazon Redshift query engine.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineAwsDataCatalogStorageConfiguration": { + "type": "structure", + "members": { + "tableNames": { + "target": "com.amazonaws.bedrockagent#AwsDataCatalogTableNames", + "traits": { + "smithy.api#documentation": "

A list of names of the tables to use.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for storage in Glue Data Catalog.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineType", + "traits": { + "smithy.api#documentation": "

The type of query engine.

", + "smithy.api#required": {} + } + }, + "serverlessConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftServerlessConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for a serverless Amazon Redshift query engine.

" + } + }, + "provisionedConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftProvisionedConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for a provisioned Amazon Redshift query engine.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Redshift query engine. Specify the type of query engine in type and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineRedshiftStorageConfiguration": { + "type": "structure", + "members": { + "databaseName": { + "target": "com.amazonaws.bedrockagent#RedshiftDatabase", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Redshift database.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for storage in Amazon Redshift.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageType", + "traits": { + "smithy.api#documentation": "

The data storage service to use.

", + "smithy.api#required": {} + } + }, + "awsDataCatalogConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineAwsDataCatalogStorageConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for storage in Glue Data Catalog.

" + } + }, + "redshiftConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineRedshiftStorageConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for storage in Amazon Redshift.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for Amazon Redshift data storage. Specify the data storage service to use in the type field and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineStorageType": { + "type": "enum", + "members": { + "REDSHIFT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REDSHIFT" + } + }, + "AWS_DATA_CATALOG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_DATA_CATALOG" + } + } + } + }, + "com.amazonaws.bedrockagent#RedshiftQueryEngineType": { + "type": "enum", + "members": { + "SERVERLESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVERLESS" + } + }, + "PROVISIONED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROVISIONED" + } + } + } + }, + "com.amazonaws.bedrockagent#RedshiftServerlessAuthConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#RedshiftServerlessAuthType", + "traits": { + "smithy.api#documentation": "

The type of authentication to use.

", + "smithy.api#required": {} + } + }, + "usernamePasswordSecretArn": { + "target": "com.amazonaws.bedrockagent#SecretArn", + "traits": { + "smithy.api#documentation": "

The ARN of an Secrets Manager secret for authentication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies configurations for authentication to a Redshift Serverless. Specify the type of authentication to use in the type field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.

" + } + }, + "com.amazonaws.bedrockagent#RedshiftServerlessAuthType": { + "type": "enum", + "members": { + "IAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM" + } + }, + "USERNAME_PASSWORD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USERNAME_PASSWORD" + } + } + } + }, + "com.amazonaws.bedrockagent#RedshiftServerlessConfiguration": { + "type": "structure", + "members": { + "workgroupArn": { + "target": "com.amazonaws.bedrockagent#WorkgroupArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Amazon Redshift workgroup.

", + "smithy.api#required": {} + } + }, + "authConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftServerlessAuthConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for authentication to an Amazon Redshift provisioned data warehouse.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for authentication to Amazon Redshift Serverless.

" + } + }, + "com.amazonaws.bedrockagent#RelayConversationHistory": { + "type": "enum", + "members": { + "TO_COLLABORATOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TO_COLLABORATOR" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } }, "com.amazonaws.bedrockagent#RequireConfirmation": { "type": "enum", @@ -14154,6 +14796,36 @@ "smithy.api#documentation": "

Defines a specific tool that the model must request. No text is generated but the results of tool use are sent back to the model to help generate a response. For more information, see Use a tool to complete an Amazon Bedrock model response.

" } }, + "com.amazonaws.bedrockagent#SqlKnowledgeBaseConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#QueryEngineType", + "traits": { + "smithy.api#documentation": "

The type of SQL database to connect to the knowledge base.

", + "smithy.api#required": {} + } + }, + "redshiftConfiguration": { + "target": "com.amazonaws.bedrockagent#RedshiftConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies configurations for a knowledge base connected to an Amazon Redshift database.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for a knowledge base connected to an SQL database. Specify the SQL database type in the type field and include the corresponding field. For more information, see Build a knowledge base by connecting to a structured data source in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockagent#SqlString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, "com.amazonaws.bedrockagent#StartIngestionJob": { "type": "operation", "input": { @@ -14472,6 +15144,65 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagent#SupplementalDataStorageConfiguration": { + "type": "structure", + "members": { + "storageLocations": { + "target": "com.amazonaws.bedrockagent#SupplementalDataStorageLocations", + "traits": { + "smithy.api#documentation": "

A list of objects specifying storage locations for images extracted from multimodal documents in your data source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies configurations for the storage location of the images extracted from multimodal documents in your data source. These images can be retrieved and returned to the end user.

" + } + }, + "com.amazonaws.bedrockagent#SupplementalDataStorageLocation": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#SupplementalDataStorageLocationType", + "traits": { + "smithy.api#documentation": "

Specifies the storage service used for this location.

", + "smithy.api#required": {} + } + }, + "s3Location": { + "target": "com.amazonaws.bedrockagent#S3Location", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 location for the extracted images.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a storage location for images extracted from multimodal documents in your data source.

" + } + }, + "com.amazonaws.bedrockagent#SupplementalDataStorageLocationType": { + "type": "enum", + "members": { + "S3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3" + } + } + } + }, + "com.amazonaws.bedrockagent#SupplementalDataStorageLocations": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#SupplementalDataStorageLocation" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.bedrockagent#SystemContentBlock": { "type": "union", "members": { @@ -16255,8 +16986,7 @@ "storageConfiguration": { "target": "com.amazonaws.bedrockagent#StorageConfiguration", "traits": { - "smithy.api#documentation": "

Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.

" } } }, @@ -16590,7 +17320,7 @@ "parsingConfiguration": { "target": "com.amazonaws.bedrockagent#ParsingConfiguration", "traits": { - "smithy.api#documentation": "

A custom parser for data source documents.

" + "smithy.api#documentation": "

Configurations for a parser to use for parsing documents in your data source. If you exclude this field, the default parser will be used.

" } } }, @@ -16613,6 +17343,12 @@ "traits": { "smithy.api#documentation": "

The embeddings model configuration details for the vector model used in Knowledge Base.

" } + }, + "supplementalDataStorageConfiguration": { + "target": "com.amazonaws.bedrockagent#SupplementalDataStorageConfiguration", + "traits": { + "smithy.api#documentation": "

If you include multimodal data from your data source, use this object to specify configurations for the storage location of the images extracted from your documents. These images can be retrieved and returned to the end user. They can also be used in generation when using RetrieveAndGenerate.

" + } } }, "traits": { @@ -16745,6 +17481,12 @@ "traits": { "smithy.api#documentation": "

The configuration of the URL/URLs for the web content that you want \n to crawl. You should be authorized to crawl the URLs.

" } + }, + "com.amazonaws.bedrockagent#WorkgroupArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(arn:(aws(-[a-z]+)*):redshift-serverless:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:workgroup/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$" + } } } }