diff --git a/clients/client-kendra/src/models/models_0.ts b/clients/client-kendra/src/models/models_0.ts index 2019860d7600..e013115fbcb2 100644 --- a/clients/client-kendra/src/models/models_0.ts +++ b/clients/client-kendra/src/models/models_0.ts @@ -1685,7 +1685,7 @@ export interface BoxConfiguration { /** *

Configuration information for an Amazon VPC to connect to your Box. For - * more information, see Configuring a VPC.

+ * more information, see Configuring a VPC.

*/ VpcConfiguration?: DataSourceVpcConfiguration; } @@ -2594,6 +2594,114 @@ export namespace OneDriveConfiguration { }); } +/** + *

Provides the configuration information to connect to Quip as your data source.

+ */ +export interface QuipConfiguration { + /** + *

The configuration information to connect to your Quip data source domain.

+ */ + Domain: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the + * key-value pairs + * that are + * required to connect to your Quip file system. Windows is currently the + * only supported type. The secret must contain a JSON structure with the following + * keys:

+ * + */ + SecretArn: string | undefined; + + /** + *

Specify whether to crawl file comments in your Quip data source. + * You can specify one or more of these options.

+ */ + CrawlFileComments?: boolean; + + /** + *

Specify whether to crawl chat rooms in your Quip data source. + * You can specify one or more of these options.

+ */ + CrawlChatRooms?: boolean; + + /** + *

Specify whether to crawl attachments in your Quip data source. + * You can specify one or more of these options.

+ */ + CrawlAttachments?: boolean; + + /** + *

The identifier of the Quip folder IDs to index.

+ */ + FolderIds?: string[]; + + /** + *

A list of field mappings to apply when indexing Quip threads.

+ */ + ThreadFieldMappings?: DataSourceToIndexFieldMapping[]; + + /** + *

A list of field mappings to apply when indexing Quip messages.

+ */ + MessageFieldMappings?: DataSourceToIndexFieldMapping[]; + + /** + *

A list of field mappings to apply when indexing Quip attachments.

+ */ + AttachmentFieldMappings?: DataSourceToIndexFieldMapping[]; + + /** + *

A list of regular expression patterns to include certain files in your Quip file + * system. Files that match the patterns are included in the index. Files that don't match + * the patterns are excluded from the index. If a file matches both an inclusion pattern + * and an exclusion pattern, the exclusion pattern takes + * precedence, + * and the file isn't included in the index.

+ */ + InclusionPatterns?: string[]; + + /** + *

A list of regular expression patterns to exclude certain files in your Quip file + * system. Files that match the patterns are excluded from the index. Files that don’t + * match the patterns are included in the index. If a file matches both an inclusion + * pattern and an exclusion pattern, the exclusion pattern takes + * precedence, + * and the file isn't included in the index.

+ */ + ExclusionPatterns?: string[]; + + /** + *

Configuration information for connecting to an Amazon Virtual Private Cloud + * (VPC) + * for your Quip. Your Quip instance must reside inside your VPC.

+ */ + VpcConfiguration?: DataSourceVpcConfiguration; +} + +export namespace QuipConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: QuipConfiguration): any => ({ + ...obj, + }); +} + /** *

Document metadata files that contain information such as the * document access control information, source URI, document author, @@ -3979,6 +4087,12 @@ export interface DataSourceConfiguration { *

Provides the configuration information to connect to Box as your data source.

*/ BoxConfiguration?: BoxConfiguration; + + /** + *

Provides the configuration information to connect to Quip as your + * data source.

+ */ + QuipConfiguration?: QuipConfiguration; } export namespace DataSourceConfiguration { @@ -4026,6 +4140,7 @@ export enum DataSourceType { FSX = "FSX", GOOGLEDRIVE = "GOOGLEDRIVE", ONEDRIVE = "ONEDRIVE", + QUIP = "QUIP", S3 = "S3", SALESFORCE = "SALESFORCE", SERVICENOW = "SERVICENOW", diff --git a/clients/client-kendra/src/protocols/Aws_json1_1.ts b/clients/client-kendra/src/protocols/Aws_json1_1.ts index a41fddb01013..88ad3785e11d 100644 --- a/clients/client-kendra/src/protocols/Aws_json1_1.ts +++ b/clients/client-kendra/src/protocols/Aws_json1_1.ts @@ -312,6 +312,7 @@ import { QueryResult, QueryResultItem, QuerySuggestionsBlockListSummary, + QuipConfiguration, Relevance, RelevanceFeedback, ResourceAlreadyExistException, @@ -5096,6 +5097,10 @@ const serializeAws_json1_1DataSourceConfiguration = (input: DataSourceConfigurat input.OneDriveConfiguration !== null && { OneDriveConfiguration: serializeAws_json1_1OneDriveConfiguration(input.OneDriveConfiguration, context), }), + ...(input.QuipConfiguration !== undefined && + input.QuipConfiguration !== null && { + QuipConfiguration: serializeAws_json1_1QuipConfiguration(input.QuipConfiguration, context), + }), ...(input.S3Configuration !== undefined && input.S3Configuration !== null && { S3Configuration: serializeAws_json1_1S3DataSourceConfiguration(input.S3Configuration, context), @@ -5729,6 +5734,17 @@ const serializeAws_json1_1FaqIdsList = (input: string[], context: __SerdeContext }); }; +const serializeAws_json1_1FolderIdList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1FsxConfiguration = (input: FsxConfiguration, context: __SerdeContext): any => { return { ...(input.ExclusionPatterns !== undefined && @@ -6233,6 +6249,51 @@ const serializeAws_json1_1QueryRequest = (input: QueryRequest, context: __SerdeC }; }; +const serializeAws_json1_1QuipConfiguration = (input: QuipConfiguration, context: __SerdeContext): any => { + return { + ...(input.AttachmentFieldMappings !== undefined && + input.AttachmentFieldMappings !== null && { + AttachmentFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList( + input.AttachmentFieldMappings, + context + ), + }), + ...(input.CrawlAttachments !== undefined && + input.CrawlAttachments !== null && { CrawlAttachments: input.CrawlAttachments }), + ...(input.CrawlChatRooms !== undefined && + input.CrawlChatRooms !== null && { CrawlChatRooms: input.CrawlChatRooms }), + ...(input.CrawlFileComments !== undefined && + input.CrawlFileComments !== null && { CrawlFileComments: input.CrawlFileComments }), + ...(input.Domain !== undefined && input.Domain !== null && { Domain: input.Domain }), + ...(input.ExclusionPatterns !== undefined && + input.ExclusionPatterns !== null && { + ExclusionPatterns: serializeAws_json1_1DataSourceInclusionsExclusionsStrings(input.ExclusionPatterns, context), + }), + ...(input.FolderIds !== undefined && + input.FolderIds !== null && { FolderIds: serializeAws_json1_1FolderIdList(input.FolderIds, context) }), + ...(input.InclusionPatterns !== undefined && + input.InclusionPatterns !== null && { + InclusionPatterns: serializeAws_json1_1DataSourceInclusionsExclusionsStrings(input.InclusionPatterns, context), + }), + ...(input.MessageFieldMappings !== undefined && + input.MessageFieldMappings !== null && { + MessageFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList( + input.MessageFieldMappings, + context + ), + }), + ...(input.SecretArn !== undefined && input.SecretArn !== null && { SecretArn: input.SecretArn }), + ...(input.ThreadFieldMappings !== undefined && + input.ThreadFieldMappings !== null && { + ThreadFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList(input.ThreadFieldMappings, context), + }), + ...(input.VpcConfiguration !== undefined && + input.VpcConfiguration !== null && { + VpcConfiguration: serializeAws_json1_1DataSourceVpcConfiguration(input.VpcConfiguration, context), + }), + }; +}; + const serializeAws_json1_1Relevance = (input: Relevance, context: __SerdeContext): any => { return { ...(input.Duration !== undefined && input.Duration !== null && { Duration: input.Duration }), @@ -7919,6 +7980,10 @@ const deserializeAws_json1_1DataSourceConfiguration = ( output.OneDriveConfiguration !== undefined && output.OneDriveConfiguration !== null ? deserializeAws_json1_1OneDriveConfiguration(output.OneDriveConfiguration, context) : undefined, + QuipConfiguration: + output.QuipConfiguration !== undefined && output.QuipConfiguration !== null + ? deserializeAws_json1_1QuipConfiguration(output.QuipConfiguration, context) + : undefined, S3Configuration: output.S3Configuration !== undefined && output.S3Configuration !== null ? deserializeAws_json1_1S3DataSourceConfiguration(output.S3Configuration, context) @@ -8754,6 +8819,18 @@ const deserializeAws_json1_1FaqSummaryItems = (output: any, context: __SerdeCont return retVal; }; +const deserializeAws_json1_1FolderIdList = (output: any, context: __SerdeContext): string[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); + return retVal; +}; + const deserializeAws_json1_1FsxConfiguration = (output: any, context: __SerdeContext): FsxConfiguration => { return { ExclusionPatterns: @@ -9388,6 +9465,44 @@ const deserializeAws_json1_1QuerySuggestionsBlockListSummaryItems = ( return retVal; }; +const deserializeAws_json1_1QuipConfiguration = (output: any, context: __SerdeContext): QuipConfiguration => { + return { + AttachmentFieldMappings: + output.AttachmentFieldMappings !== undefined && output.AttachmentFieldMappings !== null + ? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.AttachmentFieldMappings, context) + : undefined, + CrawlAttachments: __expectBoolean(output.CrawlAttachments), + CrawlChatRooms: __expectBoolean(output.CrawlChatRooms), + CrawlFileComments: __expectBoolean(output.CrawlFileComments), + Domain: __expectString(output.Domain), + ExclusionPatterns: + output.ExclusionPatterns !== undefined && output.ExclusionPatterns !== null + ? deserializeAws_json1_1DataSourceInclusionsExclusionsStrings(output.ExclusionPatterns, context) + : undefined, + FolderIds: + output.FolderIds !== undefined && output.FolderIds !== null + ? deserializeAws_json1_1FolderIdList(output.FolderIds, context) + : undefined, + InclusionPatterns: + output.InclusionPatterns !== undefined && output.InclusionPatterns !== null + ? deserializeAws_json1_1DataSourceInclusionsExclusionsStrings(output.InclusionPatterns, context) + : undefined, + MessageFieldMappings: + output.MessageFieldMappings !== undefined && output.MessageFieldMappings !== null + ? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.MessageFieldMappings, context) + : undefined, + SecretArn: __expectString(output.SecretArn), + ThreadFieldMappings: + output.ThreadFieldMappings !== undefined && output.ThreadFieldMappings !== null + ? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.ThreadFieldMappings, context) + : undefined, + VpcConfiguration: + output.VpcConfiguration !== undefined && output.VpcConfiguration !== null + ? deserializeAws_json1_1DataSourceVpcConfiguration(output.VpcConfiguration, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1Relevance = (output: any, context: __SerdeContext): Relevance => { return { Duration: __expectString(output.Duration), diff --git a/codegen/sdk-codegen/aws-models/kendra.json b/codegen/sdk-codegen/aws-models/kendra.json index b1c3ed9c936f..57a4e0ccf162 100644 --- a/codegen/sdk-codegen/aws-models/kendra.json +++ b/codegen/sdk-codegen/aws-models/kendra.json @@ -1009,7 +1009,7 @@ "VpcConfiguration": { "target": "com.amazonaws.kendra#DataSourceVpcConfiguration", "traits": { - "smithy.api#documentation": "

Configuration information for an Amazon VPC to connect to your Box. For \n more information, see Configuring a VPC.

" + "smithy.api#documentation": "

Configuration information for an Amazon VPC to connect to your Box. For \n more information, see Configuring a VPC.

" } } }, @@ -1066,6 +1066,9 @@ "input": { "target": "com.amazonaws.kendra#ClearQuerySuggestionsRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -2660,6 +2663,12 @@ "traits": { "smithy.api#documentation": "

Provides the configuration information to connect to Box as your data source.

" } + }, + "QuipConfiguration": { + "target": "com.amazonaws.kendra#QuipConfiguration", + "traits": { + "smithy.api#documentation": "

Provides the configuration information to connect to Quip as your \n data source.

" + } } }, "traits": { @@ -3121,6 +3130,10 @@ { "value": "BOX", "name": "BOX" + }, + { + "value": "QUIP", + "name": "QUIP" } ] } @@ -3248,6 +3261,9 @@ "input": { "target": "com.amazonaws.kendra#DeleteDataSourceRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -3351,6 +3367,9 @@ "input": { "target": "com.amazonaws.kendra#DeleteFaqRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -3399,6 +3418,9 @@ "input": { "target": "com.amazonaws.kendra#DeleteIndexRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -3440,6 +3462,9 @@ "input": { "target": "com.amazonaws.kendra#DeletePrincipalMappingRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -3500,6 +3525,9 @@ "input": { "target": "com.amazonaws.kendra#DeleteQuerySuggestionsBlockListRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -3548,6 +3576,9 @@ "input": { "target": "com.amazonaws.kendra#DeleteThesaurusRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -5166,6 +5197,16 @@ "smithy.api#documentation": "

Document metadata files that contain information such as the\n document access control information, source URI, document author,\n and custom attributes. Each metadata file contains metadata about a\n single document.

" } }, + "com.amazonaws.kendra#Domain": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#pattern": "^(?!-)[A-Za-z0-9-].*(?The configuration information to connect to your Quip data source domain.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the\n key-value pairs\n that are\n required to connect to your Quip file system. Windows is currently the\n only supported type. The secret must contain a JSON structure with the following\n keys:

\n ", + "smithy.api#required": {} + } + }, + "CrawlFileComments": { + "target": "com.amazonaws.kendra#Boolean", + "traits": { + "smithy.api#documentation": "

Specify whether to crawl file comments in your Quip data source. \n You can specify one or more of these options.

" + } + }, + "CrawlChatRooms": { + "target": "com.amazonaws.kendra#Boolean", + "traits": { + "smithy.api#documentation": "

Specify whether to crawl chat rooms in your Quip data source. \n You can specify one or more of these options.

" + } + }, + "CrawlAttachments": { + "target": "com.amazonaws.kendra#Boolean", + "traits": { + "smithy.api#documentation": "

Specify whether to crawl attachments in your Quip data source. \n You can specify one or more of these options.

" + } + }, + "FolderIds": { + "target": "com.amazonaws.kendra#FolderIdList", + "traits": { + "smithy.api#documentation": "

The identifier of the Quip folder IDs to index.

" + } + }, + "ThreadFieldMappings": { + "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", + "traits": { + "smithy.api#documentation": "

A list of field mappings to apply when indexing Quip threads.

" + } + }, + "MessageFieldMappings": { + "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", + "traits": { + "smithy.api#documentation": "

A list of field mappings to apply when indexing Quip messages.

" + } + }, + "AttachmentFieldMappings": { + "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", + "traits": { + "smithy.api#documentation": "

A list of field mappings to apply when indexing Quip attachments.

" + } + }, + "InclusionPatterns": { + "target": "com.amazonaws.kendra#DataSourceInclusionsExclusionsStrings", + "traits": { + "smithy.api#documentation": "

A list of regular expression patterns to include certain files in your Quip file\n system. Files that match the patterns are included in the index. Files that don't match\n the patterns are excluded from the index. If a file matches both an inclusion pattern\n and an exclusion pattern, the exclusion pattern takes\n precedence,\n and the file isn't included in the index.

" + } + }, + "ExclusionPatterns": { + "target": "com.amazonaws.kendra#DataSourceInclusionsExclusionsStrings", + "traits": { + "smithy.api#documentation": "

A list of regular expression patterns to exclude certain files in your Quip file\n system. Files that match the patterns are excluded from the index. Files that don’t\n match the patterns are included in the index. If a file matches both an inclusion\n pattern and an exclusion pattern, the exclusion pattern takes\n precedence,\n and the file isn't included in the index.

" + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.kendra#DataSourceVpcConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration information for connecting to an Amazon Virtual Private Cloud\n (VPC)\n for your Quip. Your Quip instance must reside inside your VPC.

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

Provides the configuration information to connect to Quip as your data source.

" + } + }, "com.amazonaws.kendra#ReadAccessType": { "type": "string", "traits": { @@ -10273,6 +10414,9 @@ "input": { "target": "com.amazonaws.kendra#StopDataSourceSyncJobRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -10336,6 +10480,9 @@ "input": { "target": "com.amazonaws.kendra#SubmitFeedbackRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -10903,6 +11050,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateDataSourceRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -10993,6 +11143,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateExperienceRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -11065,6 +11218,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateIndexRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -11157,6 +11313,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateQuerySuggestionsBlockListRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -11229,6 +11388,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateQuerySuggestionsConfigRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" @@ -11300,6 +11462,9 @@ "input": { "target": "com.amazonaws.kendra#UpdateThesaurusRequest" }, + "output": { + "target": "smithy.api#Unit" + }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException"