Skip to content

Commit d1aebb8

Browse files
author
awstools
committed
feat(client-kendra): Amazon Kendra now provides a data source connector for Quip. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-quip.html
1 parent a39c581 commit d1aebb8

File tree

3 files changed

+397
-2
lines changed

3 files changed

+397
-2
lines changed

clients/client-kendra/src/models/models_0.ts

Lines changed: 116 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1685,7 +1685,7 @@ export interface BoxConfiguration {
16851685

16861686
/**
16871687
* <p>Configuration information for an Amazon VPC to connect to your Box. For
1688-
* more information, see <a href="https://docs.aws.amazon.com/endra/latest/dg/vpc-configuration.html">Configuring a VPC</a>.</p>
1688+
* more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html">Configuring a VPC</a>.</p>
16891689
*/
16901690
VpcConfiguration?: DataSourceVpcConfiguration;
16911691
}
@@ -2594,6 +2594,114 @@ export namespace OneDriveConfiguration {
25942594
});
25952595
}
25962596

2597+
/**
2598+
* <p>Provides the configuration information to connect to Quip as your data source.</p>
2599+
*/
2600+
export interface QuipConfiguration {
2601+
/**
2602+
* <p>The configuration information to connect to your Quip data source domain.</p>
2603+
*/
2604+
Domain: string | undefined;
2605+
2606+
/**
2607+
* <p>The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the
2608+
* key-value pairs
2609+
* that are
2610+
* required to connect to your Quip file system. Windows is currently the
2611+
* only supported type. The secret must contain a JSON structure with the following
2612+
* keys:</p>
2613+
* <ul>
2614+
* <li>
2615+
* <p>username—The Active Directory user name, along with the Domain Name
2616+
* System (DNS) domain
2617+
* name. For example,
2618+
2619+
* The Active Directory user account must have read and mounting access to the Quip
2620+
* file system for Windows.</p>
2621+
* </li>
2622+
* <li>
2623+
* <p>password—The password of the Active Directory user account with
2624+
* read and mounting access to the Quip Windows file system.</p>
2625+
* </li>
2626+
* </ul>
2627+
*/
2628+
SecretArn: string | undefined;
2629+
2630+
/**
2631+
* <p>Specify whether to crawl file comments in your Quip data source.
2632+
* You can specify one or more of these options.</p>
2633+
*/
2634+
CrawlFileComments?: boolean;
2635+
2636+
/**
2637+
* <p>Specify whether to crawl chat rooms in your Quip data source.
2638+
* You can specify one or more of these options.</p>
2639+
*/
2640+
CrawlChatRooms?: boolean;
2641+
2642+
/**
2643+
* <p>Specify whether to crawl attachments in your Quip data source.
2644+
* You can specify one or more of these options.</p>
2645+
*/
2646+
CrawlAttachments?: boolean;
2647+
2648+
/**
2649+
* <p>The identifier of the Quip folder IDs to index.</p>
2650+
*/
2651+
FolderIds?: string[];
2652+
2653+
/**
2654+
* <p>A list of field mappings to apply when indexing Quip threads.</p>
2655+
*/
2656+
ThreadFieldMappings?: DataSourceToIndexFieldMapping[];
2657+
2658+
/**
2659+
* <p>A list of field mappings to apply when indexing Quip messages.</p>
2660+
*/
2661+
MessageFieldMappings?: DataSourceToIndexFieldMapping[];
2662+
2663+
/**
2664+
* <p>A list of field mappings to apply when indexing Quip attachments.</p>
2665+
*/
2666+
AttachmentFieldMappings?: DataSourceToIndexFieldMapping[];
2667+
2668+
/**
2669+
* <p>A list of regular expression patterns to include certain files in your Quip file
2670+
* system. Files that match the patterns are included in the index. Files that don't match
2671+
* the patterns are excluded from the index. If a file matches both an inclusion pattern
2672+
* and an exclusion pattern, the exclusion pattern takes
2673+
* precedence,
2674+
* and the file isn't included in the index.</p>
2675+
*/
2676+
InclusionPatterns?: string[];
2677+
2678+
/**
2679+
* <p>A list of regular expression patterns to exclude certain files in your Quip file
2680+
* system. Files that match the patterns are excluded from the index. Files that don’t
2681+
* match the patterns are included in the index. If a file matches both an inclusion
2682+
* pattern and an exclusion pattern, the exclusion pattern takes
2683+
* precedence,
2684+
* and the file isn't included in the index.</p>
2685+
*/
2686+
ExclusionPatterns?: string[];
2687+
2688+
/**
2689+
* <p>Configuration information for connecting to an Amazon Virtual Private Cloud
2690+
* (VPC)
2691+
* for your Quip. Your Quip instance must reside inside your VPC.</p>
2692+
*/
2693+
VpcConfiguration?: DataSourceVpcConfiguration;
2694+
}
2695+
2696+
export namespace QuipConfiguration {
2697+
/**
2698+
* @internal
2699+
*/
2700+
export const filterSensitiveLog = (obj: QuipConfiguration): any => ({
2701+
...obj,
2702+
});
2703+
}
2704+
25972705
/**
25982706
* <p>Document metadata files that contain information such as the
25992707
* document access control information, source URI, document author,
@@ -3979,6 +4087,12 @@ export interface DataSourceConfiguration {
39794087
* <p>Provides the configuration information to connect to Box as your data source.</p>
39804088
*/
39814089
BoxConfiguration?: BoxConfiguration;
4090+
4091+
/**
4092+
* <p>Provides the configuration information to connect to Quip as your
4093+
* data source.</p>
4094+
*/
4095+
QuipConfiguration?: QuipConfiguration;
39824096
}
39834097

39844098
export namespace DataSourceConfiguration {
@@ -4026,6 +4140,7 @@ export enum DataSourceType {
40264140
FSX = "FSX",
40274141
GOOGLEDRIVE = "GOOGLEDRIVE",
40284142
ONEDRIVE = "ONEDRIVE",
4143+
QUIP = "QUIP",
40294144
S3 = "S3",
40304145
SALESFORCE = "SALESFORCE",
40314146
SERVICENOW = "SERVICENOW",

clients/client-kendra/src/protocols/Aws_json1_1.ts

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ import {
312312
QueryResult,
313313
QueryResultItem,
314314
QuerySuggestionsBlockListSummary,
315+
QuipConfiguration,
315316
Relevance,
316317
RelevanceFeedback,
317318
ResourceAlreadyExistException,
@@ -5096,6 +5097,10 @@ const serializeAws_json1_1DataSourceConfiguration = (input: DataSourceConfigurat
50965097
input.OneDriveConfiguration !== null && {
50975098
OneDriveConfiguration: serializeAws_json1_1OneDriveConfiguration(input.OneDriveConfiguration, context),
50985099
}),
5100+
...(input.QuipConfiguration !== undefined &&
5101+
input.QuipConfiguration !== null && {
5102+
QuipConfiguration: serializeAws_json1_1QuipConfiguration(input.QuipConfiguration, context),
5103+
}),
50995104
...(input.S3Configuration !== undefined &&
51005105
input.S3Configuration !== null && {
51015106
S3Configuration: serializeAws_json1_1S3DataSourceConfiguration(input.S3Configuration, context),
@@ -5729,6 +5734,17 @@ const serializeAws_json1_1FaqIdsList = (input: string[], context: __SerdeContext
57295734
});
57305735
};
57315736

5737+
const serializeAws_json1_1FolderIdList = (input: string[], context: __SerdeContext): any => {
5738+
return input
5739+
.filter((e: any) => e != null)
5740+
.map((entry) => {
5741+
if (entry === null) {
5742+
return null as any;
5743+
}
5744+
return entry;
5745+
});
5746+
};
5747+
57325748
const serializeAws_json1_1FsxConfiguration = (input: FsxConfiguration, context: __SerdeContext): any => {
57335749
return {
57345750
...(input.ExclusionPatterns !== undefined &&
@@ -6233,6 +6249,51 @@ const serializeAws_json1_1QueryRequest = (input: QueryRequest, context: __SerdeC
62336249
};
62346250
};
62356251

6252+
const serializeAws_json1_1QuipConfiguration = (input: QuipConfiguration, context: __SerdeContext): any => {
6253+
return {
6254+
...(input.AttachmentFieldMappings !== undefined &&
6255+
input.AttachmentFieldMappings !== null && {
6256+
AttachmentFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList(
6257+
input.AttachmentFieldMappings,
6258+
context
6259+
),
6260+
}),
6261+
...(input.CrawlAttachments !== undefined &&
6262+
input.CrawlAttachments !== null && { CrawlAttachments: input.CrawlAttachments }),
6263+
...(input.CrawlChatRooms !== undefined &&
6264+
input.CrawlChatRooms !== null && { CrawlChatRooms: input.CrawlChatRooms }),
6265+
...(input.CrawlFileComments !== undefined &&
6266+
input.CrawlFileComments !== null && { CrawlFileComments: input.CrawlFileComments }),
6267+
...(input.Domain !== undefined && input.Domain !== null && { Domain: input.Domain }),
6268+
...(input.ExclusionPatterns !== undefined &&
6269+
input.ExclusionPatterns !== null && {
6270+
ExclusionPatterns: serializeAws_json1_1DataSourceInclusionsExclusionsStrings(input.ExclusionPatterns, context),
6271+
}),
6272+
...(input.FolderIds !== undefined &&
6273+
input.FolderIds !== null && { FolderIds: serializeAws_json1_1FolderIdList(input.FolderIds, context) }),
6274+
...(input.InclusionPatterns !== undefined &&
6275+
input.InclusionPatterns !== null && {
6276+
InclusionPatterns: serializeAws_json1_1DataSourceInclusionsExclusionsStrings(input.InclusionPatterns, context),
6277+
}),
6278+
...(input.MessageFieldMappings !== undefined &&
6279+
input.MessageFieldMappings !== null && {
6280+
MessageFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList(
6281+
input.MessageFieldMappings,
6282+
context
6283+
),
6284+
}),
6285+
...(input.SecretArn !== undefined && input.SecretArn !== null && { SecretArn: input.SecretArn }),
6286+
...(input.ThreadFieldMappings !== undefined &&
6287+
input.ThreadFieldMappings !== null && {
6288+
ThreadFieldMappings: serializeAws_json1_1DataSourceToIndexFieldMappingList(input.ThreadFieldMappings, context),
6289+
}),
6290+
...(input.VpcConfiguration !== undefined &&
6291+
input.VpcConfiguration !== null && {
6292+
VpcConfiguration: serializeAws_json1_1DataSourceVpcConfiguration(input.VpcConfiguration, context),
6293+
}),
6294+
};
6295+
};
6296+
62366297
const serializeAws_json1_1Relevance = (input: Relevance, context: __SerdeContext): any => {
62376298
return {
62386299
...(input.Duration !== undefined && input.Duration !== null && { Duration: input.Duration }),
@@ -7919,6 +7980,10 @@ const deserializeAws_json1_1DataSourceConfiguration = (
79197980
output.OneDriveConfiguration !== undefined && output.OneDriveConfiguration !== null
79207981
? deserializeAws_json1_1OneDriveConfiguration(output.OneDriveConfiguration, context)
79217982
: undefined,
7983+
QuipConfiguration:
7984+
output.QuipConfiguration !== undefined && output.QuipConfiguration !== null
7985+
? deserializeAws_json1_1QuipConfiguration(output.QuipConfiguration, context)
7986+
: undefined,
79227987
S3Configuration:
79237988
output.S3Configuration !== undefined && output.S3Configuration !== null
79247989
? deserializeAws_json1_1S3DataSourceConfiguration(output.S3Configuration, context)
@@ -8754,6 +8819,18 @@ const deserializeAws_json1_1FaqSummaryItems = (output: any, context: __SerdeCont
87548819
return retVal;
87558820
};
87568821

8822+
const deserializeAws_json1_1FolderIdList = (output: any, context: __SerdeContext): string[] => {
8823+
const retVal = (output || [])
8824+
.filter((e: any) => e != null)
8825+
.map((entry: any) => {
8826+
if (entry === null) {
8827+
return null as any;
8828+
}
8829+
return __expectString(entry) as any;
8830+
});
8831+
return retVal;
8832+
};
8833+
87578834
const deserializeAws_json1_1FsxConfiguration = (output: any, context: __SerdeContext): FsxConfiguration => {
87588835
return {
87598836
ExclusionPatterns:
@@ -9388,6 +9465,44 @@ const deserializeAws_json1_1QuerySuggestionsBlockListSummaryItems = (
93889465
return retVal;
93899466
};
93909467

9468+
const deserializeAws_json1_1QuipConfiguration = (output: any, context: __SerdeContext): QuipConfiguration => {
9469+
return {
9470+
AttachmentFieldMappings:
9471+
output.AttachmentFieldMappings !== undefined && output.AttachmentFieldMappings !== null
9472+
? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.AttachmentFieldMappings, context)
9473+
: undefined,
9474+
CrawlAttachments: __expectBoolean(output.CrawlAttachments),
9475+
CrawlChatRooms: __expectBoolean(output.CrawlChatRooms),
9476+
CrawlFileComments: __expectBoolean(output.CrawlFileComments),
9477+
Domain: __expectString(output.Domain),
9478+
ExclusionPatterns:
9479+
output.ExclusionPatterns !== undefined && output.ExclusionPatterns !== null
9480+
? deserializeAws_json1_1DataSourceInclusionsExclusionsStrings(output.ExclusionPatterns, context)
9481+
: undefined,
9482+
FolderIds:
9483+
output.FolderIds !== undefined && output.FolderIds !== null
9484+
? deserializeAws_json1_1FolderIdList(output.FolderIds, context)
9485+
: undefined,
9486+
InclusionPatterns:
9487+
output.InclusionPatterns !== undefined && output.InclusionPatterns !== null
9488+
? deserializeAws_json1_1DataSourceInclusionsExclusionsStrings(output.InclusionPatterns, context)
9489+
: undefined,
9490+
MessageFieldMappings:
9491+
output.MessageFieldMappings !== undefined && output.MessageFieldMappings !== null
9492+
? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.MessageFieldMappings, context)
9493+
: undefined,
9494+
SecretArn: __expectString(output.SecretArn),
9495+
ThreadFieldMappings:
9496+
output.ThreadFieldMappings !== undefined && output.ThreadFieldMappings !== null
9497+
? deserializeAws_json1_1DataSourceToIndexFieldMappingList(output.ThreadFieldMappings, context)
9498+
: undefined,
9499+
VpcConfiguration:
9500+
output.VpcConfiguration !== undefined && output.VpcConfiguration !== null
9501+
? deserializeAws_json1_1DataSourceVpcConfiguration(output.VpcConfiguration, context)
9502+
: undefined,
9503+
} as any;
9504+
};
9505+
93919506
const deserializeAws_json1_1Relevance = (output: any, context: __SerdeContext): Relevance => {
93929507
return {
93939508
Duration: __expectString(output.Duration),

0 commit comments

Comments
 (0)