aws-sdk-kendra 1.28.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -86,6 +86,8 @@ module Aws::Kendra
86
86
  DataSourceConfiguration = Shapes::StructureShape.new(name: 'DataSourceConfiguration')
87
87
  DataSourceDateFieldFormat = Shapes::StringShape.new(name: 'DataSourceDateFieldFormat')
88
88
  DataSourceFieldName = Shapes::StringShape.new(name: 'DataSourceFieldName')
89
+ DataSourceGroup = Shapes::StructureShape.new(name: 'DataSourceGroup')
90
+ DataSourceGroups = Shapes::ListShape.new(name: 'DataSourceGroups')
89
91
  DataSourceId = Shapes::StringShape.new(name: 'DataSourceId')
90
92
  DataSourceInclusionsExclusionsStrings = Shapes::ListShape.new(name: 'DataSourceInclusionsExclusionsStrings')
91
93
  DataSourceInclusionsExclusionsStringsMember = Shapes::StringShape.new(name: 'DataSourceInclusionsExclusionsStringsMember')
@@ -111,6 +113,7 @@ module Aws::Kendra
111
113
  DeleteDataSourceRequest = Shapes::StructureShape.new(name: 'DeleteDataSourceRequest')
112
114
  DeleteFaqRequest = Shapes::StructureShape.new(name: 'DeleteFaqRequest')
113
115
  DeleteIndexRequest = Shapes::StructureShape.new(name: 'DeleteIndexRequest')
116
+ DeletePrincipalMappingRequest = Shapes::StructureShape.new(name: 'DeletePrincipalMappingRequest')
114
117
  DeleteQuerySuggestionsBlockListRequest = Shapes::StructureShape.new(name: 'DeleteQuerySuggestionsBlockListRequest')
115
118
  DeleteThesaurusRequest = Shapes::StructureShape.new(name: 'DeleteThesaurusRequest')
116
119
  DescribeDataSourceRequest = Shapes::StructureShape.new(name: 'DescribeDataSourceRequest')
@@ -119,6 +122,8 @@ module Aws::Kendra
119
122
  DescribeFaqResponse = Shapes::StructureShape.new(name: 'DescribeFaqResponse')
120
123
  DescribeIndexRequest = Shapes::StructureShape.new(name: 'DescribeIndexRequest')
121
124
  DescribeIndexResponse = Shapes::StructureShape.new(name: 'DescribeIndexResponse')
125
+ DescribePrincipalMappingRequest = Shapes::StructureShape.new(name: 'DescribePrincipalMappingRequest')
126
+ DescribePrincipalMappingResponse = Shapes::StructureShape.new(name: 'DescribePrincipalMappingResponse')
122
127
  DescribeQuerySuggestionsBlockListRequest = Shapes::StructureShape.new(name: 'DescribeQuerySuggestionsBlockListRequest')
123
128
  DescribeQuerySuggestionsBlockListResponse = Shapes::StructureShape.new(name: 'DescribeQuerySuggestionsBlockListResponse')
124
129
  DescribeQuerySuggestionsConfigRequest = Shapes::StructureShape.new(name: 'DescribeQuerySuggestionsConfigRequest')
@@ -161,6 +166,7 @@ module Aws::Kendra
161
166
  FacetList = Shapes::ListShape.new(name: 'FacetList')
162
167
  FacetResult = Shapes::StructureShape.new(name: 'FacetResult')
163
168
  FacetResultList = Shapes::ListShape.new(name: 'FacetResultList')
169
+ FailureReason = Shapes::StringShape.new(name: 'FailureReason')
164
170
  FaqFileFormat = Shapes::StringShape.new(name: 'FaqFileFormat')
165
171
  FaqId = Shapes::StringShape.new(name: 'FaqId')
166
172
  FaqName = Shapes::StringShape.new(name: 'FaqName')
@@ -173,6 +179,14 @@ module Aws::Kendra
173
179
  GetQuerySuggestionsResponse = Shapes::StructureShape.new(name: 'GetQuerySuggestionsResponse')
174
180
  GoogleDriveConfiguration = Shapes::StructureShape.new(name: 'GoogleDriveConfiguration')
175
181
  GroupAttributeField = Shapes::StringShape.new(name: 'GroupAttributeField')
182
+ GroupId = Shapes::StringShape.new(name: 'GroupId')
183
+ GroupMembers = Shapes::StructureShape.new(name: 'GroupMembers')
184
+ GroupOrderingIdSummaries = Shapes::ListShape.new(name: 'GroupOrderingIdSummaries')
185
+ GroupOrderingIdSummary = Shapes::StructureShape.new(name: 'GroupOrderingIdSummary')
186
+ GroupSummary = Shapes::StructureShape.new(name: 'GroupSummary')
187
+ Groups = Shapes::ListShape.new(name: 'Groups')
188
+ HierarchicalPrincipal = Shapes::StructureShape.new(name: 'HierarchicalPrincipal')
189
+ HierarchicalPrincipalList = Shapes::ListShape.new(name: 'HierarchicalPrincipalList')
176
190
  Highlight = Shapes::StructureShape.new(name: 'Highlight')
177
191
  HighlightList = Shapes::ListShape.new(name: 'HighlightList')
178
192
  HighlightType = Shapes::StringShape.new(name: 'HighlightType')
@@ -202,8 +216,11 @@ module Aws::Kendra
202
216
  ListDataSourcesResponse = Shapes::StructureShape.new(name: 'ListDataSourcesResponse')
203
217
  ListFaqsRequest = Shapes::StructureShape.new(name: 'ListFaqsRequest')
204
218
  ListFaqsResponse = Shapes::StructureShape.new(name: 'ListFaqsResponse')
219
+ ListGroupsOlderThanOrderingIdRequest = Shapes::StructureShape.new(name: 'ListGroupsOlderThanOrderingIdRequest')
220
+ ListGroupsOlderThanOrderingIdResponse = Shapes::StructureShape.new(name: 'ListGroupsOlderThanOrderingIdResponse')
205
221
  ListIndicesRequest = Shapes::StructureShape.new(name: 'ListIndicesRequest')
206
222
  ListIndicesResponse = Shapes::StructureShape.new(name: 'ListIndicesResponse')
223
+ ListOfGroupSummaries = Shapes::ListShape.new(name: 'ListOfGroupSummaries')
207
224
  ListQuerySuggestionsBlockListsRequest = Shapes::StructureShape.new(name: 'ListQuerySuggestionsBlockListsRequest')
208
225
  ListQuerySuggestionsBlockListsResponse = Shapes::StructureShape.new(name: 'ListQuerySuggestionsBlockListsResponse')
209
226
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
@@ -217,9 +234,14 @@ module Aws::Kendra
217
234
  MaxResultsIntegerForListDataSourcesRequest = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListDataSourcesRequest')
218
235
  MaxResultsIntegerForListFaqsRequest = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListFaqsRequest')
219
236
  MaxResultsIntegerForListIndicesRequest = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListIndicesRequest')
237
+ MaxResultsIntegerForListPrincipalsRequest = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListPrincipalsRequest')
220
238
  MaxResultsIntegerForListQuerySuggestionsBlockLists = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListQuerySuggestionsBlockLists')
221
239
  MaxResultsIntegerForListThesauriRequest = Shapes::IntegerShape.new(name: 'MaxResultsIntegerForListThesauriRequest')
222
240
  MaxUrlsPerMinuteCrawlRate = Shapes::IntegerShape.new(name: 'MaxUrlsPerMinuteCrawlRate')
241
+ MemberGroup = Shapes::StructureShape.new(name: 'MemberGroup')
242
+ MemberGroups = Shapes::ListShape.new(name: 'MemberGroups')
243
+ MemberUser = Shapes::StructureShape.new(name: 'MemberUser')
244
+ MemberUsers = Shapes::ListShape.new(name: 'MemberUsers')
223
245
  MetricValue = Shapes::StringShape.new(name: 'MetricValue')
224
246
  MimeType = Shapes::StringShape.new(name: 'MimeType')
225
247
  MinimumNumberOfQueryingUsers = Shapes::IntegerShape.new(name: 'MinimumNumberOfQueryingUsers')
@@ -232,12 +254,16 @@ module Aws::Kendra
232
254
  OneDriveUserList = Shapes::ListShape.new(name: 'OneDriveUserList')
233
255
  OneDriveUsers = Shapes::StructureShape.new(name: 'OneDriveUsers')
234
256
  Order = Shapes::StringShape.new(name: 'Order')
257
+ OrganizationId = Shapes::StringShape.new(name: 'OrganizationId')
235
258
  Port = Shapes::IntegerShape.new(name: 'Port')
236
259
  Principal = Shapes::StructureShape.new(name: 'Principal')
237
260
  PrincipalList = Shapes::ListShape.new(name: 'PrincipalList')
261
+ PrincipalMappingStatus = Shapes::StringShape.new(name: 'PrincipalMappingStatus')
238
262
  PrincipalName = Shapes::StringShape.new(name: 'PrincipalName')
263
+ PrincipalOrderingId = Shapes::IntegerShape.new(name: 'PrincipalOrderingId')
239
264
  PrincipalType = Shapes::StringShape.new(name: 'PrincipalType')
240
265
  ProxyConfiguration = Shapes::StructureShape.new(name: 'ProxyConfiguration')
266
+ PutPrincipalMappingRequest = Shapes::StructureShape.new(name: 'PutPrincipalMappingRequest')
241
267
  QueryCapacityUnit = Shapes::IntegerShape.new(name: 'QueryCapacityUnit')
242
268
  QueryId = Shapes::StringShape.new(name: 'QueryId')
243
269
  QueryIdentifiersEnclosingOption = Shapes::StringShape.new(name: 'QueryIdentifiersEnclosingOption')
@@ -361,6 +387,7 @@ module Aws::Kendra
361
387
  UserAccount = Shapes::StringShape.new(name: 'UserAccount')
362
388
  UserContext = Shapes::StructureShape.new(name: 'UserContext')
363
389
  UserContextPolicy = Shapes::StringShape.new(name: 'UserContextPolicy')
390
+ UserId = Shapes::StringShape.new(name: 'UserId')
364
391
  UserNameAttributeField = Shapes::StringShape.new(name: 'UserNameAttributeField')
365
392
  UserTokenConfiguration = Shapes::StructureShape.new(name: 'UserTokenConfiguration')
366
393
  UserTokenConfigurationList = Shapes::ListShape.new(name: 'UserTokenConfigurationList')
@@ -371,6 +398,7 @@ module Aws::Kendra
371
398
  VpcSecurityGroupId = Shapes::StringShape.new(name: 'VpcSecurityGroupId')
372
399
  WebCrawlerConfiguration = Shapes::StructureShape.new(name: 'WebCrawlerConfiguration')
373
400
  WebCrawlerMode = Shapes::StringShape.new(name: 'WebCrawlerMode')
401
+ WorkDocsConfiguration = Shapes::StructureShape.new(name: 'WorkDocsConfiguration')
374
402
 
375
403
  AccessControlListConfiguration.add_member(:key_path, Shapes::ShapeRef.new(shape: S3ObjectKey, location_name: "KeyPath"))
376
404
  AccessControlListConfiguration.struct_class = Types::AccessControlListConfiguration
@@ -625,8 +653,15 @@ module Aws::Kendra
625
653
  DataSourceConfiguration.add_member(:confluence_configuration, Shapes::ShapeRef.new(shape: ConfluenceConfiguration, location_name: "ConfluenceConfiguration"))
626
654
  DataSourceConfiguration.add_member(:google_drive_configuration, Shapes::ShapeRef.new(shape: GoogleDriveConfiguration, location_name: "GoogleDriveConfiguration"))
627
655
  DataSourceConfiguration.add_member(:web_crawler_configuration, Shapes::ShapeRef.new(shape: WebCrawlerConfiguration, location_name: "WebCrawlerConfiguration"))
656
+ DataSourceConfiguration.add_member(:work_docs_configuration, Shapes::ShapeRef.new(shape: WorkDocsConfiguration, location_name: "WorkDocsConfiguration"))
628
657
  DataSourceConfiguration.struct_class = Types::DataSourceConfiguration
629
658
 
659
+ DataSourceGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "GroupId"))
660
+ DataSourceGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, required: true, location_name: "DataSourceId"))
661
+ DataSourceGroup.struct_class = Types::DataSourceGroup
662
+
663
+ DataSourceGroups.member = Shapes::ShapeRef.new(shape: DataSourceGroup)
664
+
630
665
  DataSourceInclusionsExclusionsStrings.member = Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStringsMember)
631
666
 
632
667
  DataSourceSummary.add_member(:name, Shapes::ShapeRef.new(shape: DataSourceName, location_name: "Name"))
@@ -692,6 +727,12 @@ module Aws::Kendra
692
727
  DeleteIndexRequest.add_member(:id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "Id"))
693
728
  DeleteIndexRequest.struct_class = Types::DeleteIndexRequest
694
729
 
730
+ DeletePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
731
+ DeletePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
732
+ DeletePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
733
+ DeletePrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
734
+ DeletePrincipalMappingRequest.struct_class = Types::DeletePrincipalMappingRequest
735
+
695
736
  DeleteQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
696
737
  DeleteQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
697
738
  DeleteQuerySuggestionsBlockListRequest.struct_class = Types::DeleteQuerySuggestionsBlockListRequest
@@ -755,6 +796,17 @@ module Aws::Kendra
755
796
  DescribeIndexResponse.add_member(:user_context_policy, Shapes::ShapeRef.new(shape: UserContextPolicy, location_name: "UserContextPolicy"))
756
797
  DescribeIndexResponse.struct_class = Types::DescribeIndexResponse
757
798
 
799
+ DescribePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
800
+ DescribePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
801
+ DescribePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
802
+ DescribePrincipalMappingRequest.struct_class = Types::DescribePrincipalMappingRequest
803
+
804
+ DescribePrincipalMappingResponse.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, location_name: "IndexId"))
805
+ DescribePrincipalMappingResponse.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
806
+ DescribePrincipalMappingResponse.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
807
+ DescribePrincipalMappingResponse.add_member(:group_ordering_id_summaries, Shapes::ShapeRef.new(shape: GroupOrderingIdSummaries, location_name: "GroupOrderingIdSummaries"))
808
+ DescribePrincipalMappingResponse.struct_class = Types::DescribePrincipalMappingResponse
809
+
758
810
  DescribeQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
759
811
  DescribeQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
760
812
  DescribeQuerySuggestionsBlockListRequest.struct_class = Types::DescribeQuerySuggestionsBlockListRequest
@@ -812,6 +864,7 @@ module Aws::Kendra
812
864
  Document.add_member(:s3_path, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3Path"))
813
865
  Document.add_member(:attributes, Shapes::ShapeRef.new(shape: DocumentAttributeList, location_name: "Attributes"))
814
866
  Document.add_member(:access_control_list, Shapes::ShapeRef.new(shape: PrincipalList, location_name: "AccessControlList"))
867
+ Document.add_member(:hierarchical_access_control_list, Shapes::ShapeRef.new(shape: HierarchicalPrincipalList, location_name: "HierarchicalAccessControlList"))
815
868
  Document.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location_name: "ContentType"))
816
869
  Document.struct_class = Types::Document
817
870
 
@@ -915,6 +968,31 @@ module Aws::Kendra
915
968
  GoogleDriveConfiguration.add_member(:exclude_shared_drives, Shapes::ShapeRef.new(shape: ExcludeSharedDrivesList, location_name: "ExcludeSharedDrives"))
916
969
  GoogleDriveConfiguration.struct_class = Types::GoogleDriveConfiguration
917
970
 
971
+ GroupMembers.add_member(:member_groups, Shapes::ShapeRef.new(shape: MemberGroups, location_name: "MemberGroups"))
972
+ GroupMembers.add_member(:member_users, Shapes::ShapeRef.new(shape: MemberUsers, location_name: "MemberUsers"))
973
+ GroupMembers.add_member(:s3_pathfor_group_members, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3PathforGroupMembers"))
974
+ GroupMembers.struct_class = Types::GroupMembers
975
+
976
+ GroupOrderingIdSummaries.member = Shapes::ShapeRef.new(shape: GroupOrderingIdSummary)
977
+
978
+ GroupOrderingIdSummary.add_member(:status, Shapes::ShapeRef.new(shape: PrincipalMappingStatus, location_name: "Status"))
979
+ GroupOrderingIdSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedAt"))
980
+ GroupOrderingIdSummary.add_member(:received_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ReceivedAt"))
981
+ GroupOrderingIdSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
982
+ GroupOrderingIdSummary.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "FailureReason"))
983
+ GroupOrderingIdSummary.struct_class = Types::GroupOrderingIdSummary
984
+
985
+ GroupSummary.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
986
+ GroupSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
987
+ GroupSummary.struct_class = Types::GroupSummary
988
+
989
+ Groups.member = Shapes::ShapeRef.new(shape: PrincipalName)
990
+
991
+ HierarchicalPrincipal.add_member(:principal_list, Shapes::ShapeRef.new(shape: PrincipalList, required: true, location_name: "PrincipalList"))
992
+ HierarchicalPrincipal.struct_class = Types::HierarchicalPrincipal
993
+
994
+ HierarchicalPrincipalList.member = Shapes::ShapeRef.new(shape: HierarchicalPrincipal)
995
+
918
996
  Highlight.add_member(:begin_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "BeginOffset"))
919
997
  Highlight.add_member(:end_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "EndOffset"))
920
998
  Highlight.add_member(:top_answer, Shapes::ShapeRef.new(shape: Boolean, location_name: "TopAnswer"))
@@ -983,6 +1061,17 @@ module Aws::Kendra
983
1061
  ListFaqsResponse.add_member(:faq_summary_items, Shapes::ShapeRef.new(shape: FaqSummaryItems, location_name: "FaqSummaryItems"))
984
1062
  ListFaqsResponse.struct_class = Types::ListFaqsResponse
985
1063
 
1064
+ ListGroupsOlderThanOrderingIdRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1065
+ ListGroupsOlderThanOrderingIdRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1066
+ ListGroupsOlderThanOrderingIdRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, required: true, location_name: "OrderingId"))
1067
+ ListGroupsOlderThanOrderingIdRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1068
+ ListGroupsOlderThanOrderingIdRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListPrincipalsRequest, location_name: "MaxResults"))
1069
+ ListGroupsOlderThanOrderingIdRequest.struct_class = Types::ListGroupsOlderThanOrderingIdRequest
1070
+
1071
+ ListGroupsOlderThanOrderingIdResponse.add_member(:groups_summaries, Shapes::ShapeRef.new(shape: ListOfGroupSummaries, location_name: "GroupsSummaries"))
1072
+ ListGroupsOlderThanOrderingIdResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1073
+ ListGroupsOlderThanOrderingIdResponse.struct_class = Types::ListGroupsOlderThanOrderingIdResponse
1074
+
986
1075
  ListIndicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
987
1076
  ListIndicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListIndicesRequest, location_name: "MaxResults"))
988
1077
  ListIndicesRequest.struct_class = Types::ListIndicesRequest
@@ -991,6 +1080,8 @@ module Aws::Kendra
991
1080
  ListIndicesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
992
1081
  ListIndicesResponse.struct_class = Types::ListIndicesResponse
993
1082
 
1083
+ ListOfGroupSummaries.member = Shapes::ShapeRef.new(shape: GroupSummary)
1084
+
994
1085
  ListQuerySuggestionsBlockListsRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
995
1086
  ListQuerySuggestionsBlockListsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
996
1087
  ListQuerySuggestionsBlockListsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListQuerySuggestionsBlockLists, location_name: "MaxResults"))
@@ -1015,6 +1106,17 @@ module Aws::Kendra
1015
1106
  ListThesauriResponse.add_member(:thesaurus_summary_items, Shapes::ShapeRef.new(shape: ThesaurusSummaryItems, location_name: "ThesaurusSummaryItems"))
1016
1107
  ListThesauriResponse.struct_class = Types::ListThesauriResponse
1017
1108
 
1109
+ MemberGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1110
+ MemberGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1111
+ MemberGroup.struct_class = Types::MemberGroup
1112
+
1113
+ MemberGroups.member = Shapes::ShapeRef.new(shape: MemberGroup)
1114
+
1115
+ MemberUser.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location_name: "UserId"))
1116
+ MemberUser.struct_class = Types::MemberUser
1117
+
1118
+ MemberUsers.member = Shapes::ShapeRef.new(shape: MemberUser)
1119
+
1018
1120
  OneDriveConfiguration.add_member(:tenant_domain, Shapes::ShapeRef.new(shape: TenantDomain, required: true, location_name: "TenantDomain"))
1019
1121
  OneDriveConfiguration.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, required: true, location_name: "SecretArn"))
1020
1122
  OneDriveConfiguration.add_member(:one_drive_users, Shapes::ShapeRef.new(shape: OneDriveUsers, required: true, location_name: "OneDriveUsers"))
@@ -1033,6 +1135,7 @@ module Aws::Kendra
1033
1135
  Principal.add_member(:name, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "Name"))
1034
1136
  Principal.add_member(:type, Shapes::ShapeRef.new(shape: PrincipalType, required: true, location_name: "Type"))
1035
1137
  Principal.add_member(:access, Shapes::ShapeRef.new(shape: ReadAccessType, required: true, location_name: "Access"))
1138
+ Principal.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1036
1139
  Principal.struct_class = Types::Principal
1037
1140
 
1038
1141
  PrincipalList.member = Shapes::ShapeRef.new(shape: Principal)
@@ -1042,6 +1145,14 @@ module Aws::Kendra
1042
1145
  ProxyConfiguration.add_member(:credentials, Shapes::ShapeRef.new(shape: SecretArn, location_name: "Credentials"))
1043
1146
  ProxyConfiguration.struct_class = Types::ProxyConfiguration
1044
1147
 
1148
+ PutPrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1149
+ PutPrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1150
+ PutPrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1151
+ PutPrincipalMappingRequest.add_member(:group_members, Shapes::ShapeRef.new(shape: GroupMembers, required: true, location_name: "GroupMembers"))
1152
+ PutPrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
1153
+ PutPrincipalMappingRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn"))
1154
+ PutPrincipalMappingRequest.struct_class = Types::PutPrincipalMappingRequest
1155
+
1045
1156
  QueryRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1046
1157
  QueryRequest.add_member(:query_text, Shapes::ShapeRef.new(shape: QueryText, required: true, location_name: "QueryText"))
1047
1158
  QueryRequest.add_member(:attribute_filter, Shapes::ShapeRef.new(shape: AttributeFilter, location_name: "AttributeFilter"))
@@ -1386,6 +1497,9 @@ module Aws::Kendra
1386
1497
  Urls.struct_class = Types::Urls
1387
1498
 
1388
1499
  UserContext.add_member(:token, Shapes::ShapeRef.new(shape: Token, location_name: "Token"))
1500
+ UserContext.add_member(:user_id, Shapes::ShapeRef.new(shape: PrincipalName, location_name: "UserId"))
1501
+ UserContext.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups"))
1502
+ UserContext.add_member(:data_source_groups, Shapes::ShapeRef.new(shape: DataSourceGroups, location_name: "DataSourceGroups"))
1389
1503
  UserContext.struct_class = Types::UserContext
1390
1504
 
1391
1505
  UserTokenConfiguration.add_member(:jwt_token_type_configuration, Shapes::ShapeRef.new(shape: JwtTokenTypeConfiguration, location_name: "JwtTokenTypeConfiguration"))
@@ -1411,6 +1525,14 @@ module Aws::Kendra
1411
1525
  WebCrawlerConfiguration.add_member(:authentication_configuration, Shapes::ShapeRef.new(shape: AuthenticationConfiguration, location_name: "AuthenticationConfiguration"))
1412
1526
  WebCrawlerConfiguration.struct_class = Types::WebCrawlerConfiguration
1413
1527
 
1528
+ WorkDocsConfiguration.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
1529
+ WorkDocsConfiguration.add_member(:crawl_comments, Shapes::ShapeRef.new(shape: Boolean, location_name: "CrawlComments"))
1530
+ WorkDocsConfiguration.add_member(:use_change_log, Shapes::ShapeRef.new(shape: Boolean, location_name: "UseChangeLog"))
1531
+ WorkDocsConfiguration.add_member(:inclusion_patterns, Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStrings, location_name: "InclusionPatterns"))
1532
+ WorkDocsConfiguration.add_member(:exclusion_patterns, Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStrings, location_name: "ExclusionPatterns"))
1533
+ WorkDocsConfiguration.add_member(:field_mappings, Shapes::ShapeRef.new(shape: DataSourceToIndexFieldMappingList, location_name: "FieldMappings"))
1534
+ WorkDocsConfiguration.struct_class = Types::WorkDocsConfiguration
1535
+
1414
1536
 
1415
1537
  # @api private
1416
1538
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1606,6 +1728,20 @@ module Aws::Kendra
1606
1728
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1607
1729
  end)
1608
1730
 
1731
+ api.add_operation(:delete_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1732
+ o.name = "DeletePrincipalMapping"
1733
+ o.http_method = "POST"
1734
+ o.http_request_uri = "/"
1735
+ o.input = Shapes::ShapeRef.new(shape: DeletePrincipalMappingRequest)
1736
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1737
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1738
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1739
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1740
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1741
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1742
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1743
+ end)
1744
+
1609
1745
  api.add_operation(:delete_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1610
1746
  o.name = "DeleteQuerySuggestionsBlockList"
1611
1747
  o.http_method = "POST"
@@ -1673,6 +1809,19 @@ module Aws::Kendra
1673
1809
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1674
1810
  end)
1675
1811
 
1812
+ api.add_operation(:describe_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1813
+ o.name = "DescribePrincipalMapping"
1814
+ o.http_method = "POST"
1815
+ o.http_request_uri = "/"
1816
+ o.input = Shapes::ShapeRef.new(shape: DescribePrincipalMappingRequest)
1817
+ o.output = Shapes::ShapeRef.new(shape: DescribePrincipalMappingResponse)
1818
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1819
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1820
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1821
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1822
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1823
+ end)
1824
+
1676
1825
  api.add_operation(:describe_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1677
1826
  o.name = "DescribeQuerySuggestionsBlockList"
1678
1827
  o.http_method = "POST"
@@ -1779,6 +1928,20 @@ module Aws::Kendra
1779
1928
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1780
1929
  end)
1781
1930
 
1931
+ api.add_operation(:list_groups_older_than_ordering_id, Seahorse::Model::Operation.new.tap do |o|
1932
+ o.name = "ListGroupsOlderThanOrderingId"
1933
+ o.http_method = "POST"
1934
+ o.http_request_uri = "/"
1935
+ o.input = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdRequest)
1936
+ o.output = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdResponse)
1937
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1938
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1939
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1940
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1941
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1942
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1943
+ end)
1944
+
1782
1945
  api.add_operation(:list_indices, Seahorse::Model::Operation.new.tap do |o|
1783
1946
  o.name = "ListIndices"
1784
1947
  o.http_method = "POST"
@@ -1836,6 +1999,21 @@ module Aws::Kendra
1836
1999
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1837
2000
  end)
1838
2001
 
2002
+ api.add_operation(:put_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
2003
+ o.name = "PutPrincipalMapping"
2004
+ o.http_method = "POST"
2005
+ o.http_request_uri = "/"
2006
+ o.input = Shapes::ShapeRef.new(shape: PutPrincipalMappingRequest)
2007
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2008
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2009
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2010
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2011
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2012
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2013
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2014
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2015
+ end)
2016
+
1839
2017
  api.add_operation(:query, Seahorse::Model::Operation.new.tap do |o|
1840
2018
  o.name = "Query"
1841
2019
  o.http_method = "POST"
@@ -25,7 +25,8 @@ module Aws::Kendra
25
25
  # }
26
26
  #
27
27
  # @!attribute [rw] key_path
28
- # Path to the AWS S3 bucket that contains the ACL files.
28
+ # Path to the Amazon Web Services S3 bucket that contains the ACL
29
+ # files.
29
30
  # @return [String]
30
31
  #
31
32
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AccessControlListConfiguration AWS API Documentation
@@ -127,6 +128,10 @@ module Aws::Kendra
127
128
  # exception with the message "`AttributeFilter` cannot have a depth of
128
129
  # more than 2."
129
130
  #
131
+ # If you use more than 10 attribute filters, you receive a
132
+ # `ValidationException` exception with the message "`AttributeFilter`
133
+ # cannot have a length of more than 10".
134
+ #
130
135
  # @note When making an API call, you may pass AttributeFilter
131
136
  # data as a hash:
132
137
  #
@@ -777,6 +782,19 @@ module Aws::Kendra
777
782
  # name: "PrincipalName", # required
778
783
  # type: "USER", # required, accepts USER, GROUP
779
784
  # access: "ALLOW", # required, accepts ALLOW, DENY
785
+ # data_source_id: "DataSourceId",
786
+ # },
787
+ # ],
788
+ # hierarchical_access_control_list: [
789
+ # {
790
+ # principal_list: [ # required
791
+ # {
792
+ # name: "PrincipalName", # required
793
+ # type: "USER", # required, accepts USER, GROUP
794
+ # access: "ALLOW", # required, accepts ALLOW, DENY
795
+ # data_source_id: "DataSourceId",
796
+ # },
797
+ # ],
780
798
  # },
781
799
  # ],
782
800
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -842,8 +860,9 @@ module Aws::Kendra
842
860
  # index.
843
861
  #
844
862
  # If there was an error adding a document to an index the error is
845
- # reported in your AWS CloudWatch log. For more information, see
846
- # [Monitoring Amazon Kendra with Amazon CloudWatch Logs][1]
863
+ # reported in your Amazon Web Services CloudWatch log. For more
864
+ # information, see [Monitoring Amazon Kendra with Amazon CloudWatch
865
+ # Logs][1]
847
866
  #
848
867
  #
849
868
  #
@@ -896,23 +915,25 @@ module Aws::Kendra
896
915
  #
897
916
  # @!attribute [rw] storage_capacity_units
898
917
  # The amount of extra storage capacity for an index. A single capacity
899
- # unit for an index provides 150 GB of storage space or 500,000
900
- # documents, whichever is reached first.
918
+ # unit provides 30 GB of storage space or 100,000 documents, whichever
919
+ # is reached first.
901
920
  # @return [Integer]
902
921
  #
903
922
  # @!attribute [rw] query_capacity_units
904
923
  # The amount of extra query capacity for an index and
905
924
  # [GetQuerySuggestions][1] capacity.
906
925
  #
907
- # A single extra capacity unit for an index provides 0.5 queries per
908
- # second or approximately 40,000 queries per day.
926
+ # A single extra capacity unit for an index provides 0.1 queries per
927
+ # second or approximately 8,000 queries per day.
909
928
  #
910
- # `GetQuerySuggestions` capacity is 5 times the provisioned query
911
- # capacity for an index. For example, the base capacity for an index
912
- # is 0.5 queries per second, so GetQuerySuggestions capacity is 2.5
913
- # calls per second. If adding another 0.5 queries per second to total
914
- # 1 queries per second for an index, the `GetQuerySuggestions`
915
- # capacity is 5 calls per second.
929
+ # `GetQuerySuggestions` capacity is five times the provisioned query
930
+ # capacity for an index, or the base capacity of 2.5 calls per second,
931
+ # whichever is higher. For example, the base capacity for an index is
932
+ # 0.1 queries per second, and `GetQuerySuggestions` capacity has a
933
+ # base of 2.5 calls per second. If you add another 0.1 queries per
934
+ # second to total 0.2 queries per second for an index, the
935
+ # `GetQuerySuggestions` capacity is 2.5 calls per second (higher than
936
+ # five times 0.2 queries per second).
916
937
  #
917
938
  #
918
939
  #
@@ -1272,7 +1293,7 @@ module Aws::Kendra
1272
1293
  # @return [String]
1273
1294
  #
1274
1295
  # @!attribute [rw] secret_arn
1275
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
1296
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
1276
1297
  # contains the key/value pairs required to connect to your Confluence
1277
1298
  # server. The secret must contain a JSON structure with the following
1278
1299
  # keys:
@@ -1565,11 +1586,11 @@ module Aws::Kendra
1565
1586
  # @return [String]
1566
1587
  #
1567
1588
  # @!attribute [rw] secret_arn
1568
- # The Amazon Resource Name (ARN) of credentials stored in AWS Secrets
1589
+ # The Amazon Resource Name (ARN) of credentials stored in Secrets
1569
1590
  # Manager. The credentials should be a user/password pair. For more
1570
1591
  # information, see [Using a Database Data Source][1]. For more
1571
- # information about AWS Secrets Manager, see [ What Is AWS Secrets
1572
- # Manager ][2] in the *AWS Secrets Manager* user guide.
1592
+ # information about Secrets Manager, see [ What Is Secrets Manager][2]
1593
+ # in the <i> Secrets Manager </i> user guide.
1573
1594
  #
1574
1595
  #
1575
1596
  #
@@ -1595,7 +1616,7 @@ module Aws::Kendra
1595
1616
  # {
1596
1617
  # name: "DataSourceName", # required
1597
1618
  # index_id: "IndexId", # required
1598
- # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER
1619
+ # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER, WORKDOCS
1599
1620
  # configuration: {
1600
1621
  # s3_configuration: {
1601
1622
  # bucket_name: "S3BucketName", # required
@@ -1893,6 +1914,20 @@ module Aws::Kendra
1893
1914
  # ],
1894
1915
  # },
1895
1916
  # },
1917
+ # work_docs_configuration: {
1918
+ # organization_id: "OrganizationId", # required
1919
+ # crawl_comments: false,
1920
+ # use_change_log: false,
1921
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1922
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1923
+ # field_mappings: [
1924
+ # {
1925
+ # data_source_field_name: "DataSourceFieldName", # required
1926
+ # date_field_format: "DataSourceDateFieldFormat",
1927
+ # index_field_name: "IndexFieldName", # required
1928
+ # },
1929
+ # ],
1930
+ # },
1896
1931
  # },
1897
1932
  # description: "Description",
1898
1933
  # schedule: "ScanSchedule",
@@ -2162,18 +2197,24 @@ module Aws::Kendra
2162
2197
  #
2163
2198
  # The `Edition` parameter is optional. If you don't supply a value,
2164
2199
  # the default is `ENTERPRISE_EDITION`.
2200
+ #
2201
+ # For more information on quota limits for enterprise and developer
2202
+ # editions, see [Quotas][1].
2203
+ #
2204
+ #
2205
+ #
2206
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/quotas.html
2165
2207
  # @return [String]
2166
2208
  #
2167
2209
  # @!attribute [rw] role_arn
2168
- # An AWS Identity and Access Management (IAM) role that gives Amazon
2169
- # Kendra permissions to access your Amazon CloudWatch logs and
2170
- # metrics. This is also the role used when you use the
2171
- # `BatchPutDocument` operation to index documents from an Amazon S3
2172
- # bucket.
2210
+ # An Identity and Access Management(IAM) role that gives Amazon Kendra
2211
+ # permissions to access your Amazon CloudWatch logs and metrics. This
2212
+ # is also the role used when you use the `BatchPutDocument` operation
2213
+ # to index documents from an Amazon S3 bucket.
2173
2214
  # @return [String]
2174
2215
  #
2175
2216
  # @!attribute [rw] server_side_encryption_configuration
2176
- # The identifier of the AWS KMS customer managed key (CMK) to use to
2217
+ # The identifier of the KMScustomer managed key (CMK) to use to
2177
2218
  # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
2178
2219
  # support asymmetric CMKs.
2179
2220
  # @return [Types::ServerSideEncryptionConfiguration]
@@ -2736,6 +2777,20 @@ module Aws::Kendra
2736
2777
  # ],
2737
2778
  # },
2738
2779
  # },
2780
+ # work_docs_configuration: {
2781
+ # organization_id: "OrganizationId", # required
2782
+ # crawl_comments: false,
2783
+ # use_change_log: false,
2784
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2785
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2786
+ # field_mappings: [
2787
+ # {
2788
+ # data_source_field_name: "DataSourceFieldName", # required
2789
+ # date_field_format: "DataSourceDateFieldFormat",
2790
+ # index_field_name: "IndexFieldName", # required
2791
+ # },
2792
+ # ],
2793
+ # },
2739
2794
  # }
2740
2795
  #
2741
2796
  # @!attribute [rw] s3_configuration
@@ -2783,6 +2838,11 @@ module Aws::Kendra
2783
2838
  # web crawler.
2784
2839
  # @return [Types::WebCrawlerConfiguration]
2785
2840
  #
2841
+ # @!attribute [rw] work_docs_configuration
2842
+ # Provides the configuration information to connect to WorkDocs as
2843
+ # your data source.
2844
+ # @return [Types::WorkDocsConfiguration]
2845
+ #
2786
2846
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceConfiguration AWS API Documentation
2787
2847
  #
2788
2848
  class DataSourceConfiguration < Struct.new(
@@ -2794,7 +2854,39 @@ module Aws::Kendra
2794
2854
  :service_now_configuration,
2795
2855
  :confluence_configuration,
2796
2856
  :google_drive_configuration,
2797
- :web_crawler_configuration)
2857
+ :web_crawler_configuration,
2858
+ :work_docs_configuration)
2859
+ SENSITIVE = []
2860
+ include Aws::Structure
2861
+ end
2862
+
2863
+ # Data source information for user context filtering.
2864
+ #
2865
+ # @note When making an API call, you may pass DataSourceGroup
2866
+ # data as a hash:
2867
+ #
2868
+ # {
2869
+ # group_id: "PrincipalName", # required
2870
+ # data_source_id: "DataSourceId", # required
2871
+ # }
2872
+ #
2873
+ # @!attribute [rw] group_id
2874
+ # The identifier of the group you want to add to your list of groups.
2875
+ # This is for filtering search results based on the groups' access to
2876
+ # documents.
2877
+ # @return [String]
2878
+ #
2879
+ # @!attribute [rw] data_source_id
2880
+ # The identifier of the data source group you want to add to your list
2881
+ # of data source groups. This is for filtering search results based on
2882
+ # the groups' access to documents in that data source.
2883
+ # @return [String]
2884
+ #
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceGroup AWS API Documentation
2886
+ #
2887
+ class DataSourceGroup < Struct.new(
2888
+ :group_id,
2889
+ :data_source_id)
2798
2890
  SENSITIVE = []
2799
2891
  include Aws::Structure
2800
2892
  end
@@ -3190,6 +3282,68 @@ module Aws::Kendra
3190
3282
  include Aws::Structure
3191
3283
  end
3192
3284
 
3285
+ # @note When making an API call, you may pass DeletePrincipalMappingRequest
3286
+ # data as a hash:
3287
+ #
3288
+ # {
3289
+ # index_id: "IndexId", # required
3290
+ # data_source_id: "DataSourceId",
3291
+ # group_id: "GroupId", # required
3292
+ # ordering_id: 1,
3293
+ # }
3294
+ #
3295
+ # @!attribute [rw] index_id
3296
+ # The identifier of the index you want to delete a group from.
3297
+ # @return [String]
3298
+ #
3299
+ # @!attribute [rw] data_source_id
3300
+ # The identifier of the data source you want to delete a group from.
3301
+ #
3302
+ # This is useful if a group is tied to multiple data sources and you
3303
+ # want to delete a group from accessing documents in a certain data
3304
+ # source. For example, the groups "Research", "Engineering", and
3305
+ # "Sales and Marketing" are all tied to the company's documents
3306
+ # stored in the data sources Confluence and Salesforce. You want to
3307
+ # delete "Research" and "Engineering" groups from Salesforce, so
3308
+ # that these groups cannot access customer-related documents stored in
3309
+ # Salesforce. Only "Sales and Marketing" should access documents in
3310
+ # the Salesforce data source.
3311
+ # @return [String]
3312
+ #
3313
+ # @!attribute [rw] group_id
3314
+ # The identifier of the group you want to delete.
3315
+ # @return [String]
3316
+ #
3317
+ # @!attribute [rw] ordering_id
3318
+ # The timestamp identifier you specify to ensure Amazon Kendra does
3319
+ # not override the latest `DELETE` action with previous actions. The
3320
+ # highest number ID, which is the ordering ID, is the latest action
3321
+ # you want to process and apply on top of other actions with lower
3322
+ # number IDs. This prevents previous actions with lower number IDs
3323
+ # from possibly overriding the latest action.
3324
+ #
3325
+ # The ordering ID can be the UNIX time of the last update you made to
3326
+ # a group members list. You would then provide this list when calling
3327
+ # `PutPrincipalMapping`. This ensures your `DELETE` action for that
3328
+ # updated group with the latest members list doesn't get overwritten
3329
+ # by earlier `DELETE` actions for the same group which are yet to be
3330
+ # processed.
3331
+ #
3332
+ # The default ordering ID is the current UNIX time in milliseconds
3333
+ # that the action was received by Amazon Kendra.
3334
+ # @return [Integer]
3335
+ #
3336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeletePrincipalMappingRequest AWS API Documentation
3337
+ #
3338
+ class DeletePrincipalMappingRequest < Struct.new(
3339
+ :index_id,
3340
+ :data_source_id,
3341
+ :group_id,
3342
+ :ordering_id)
3343
+ SENSITIVE = []
3344
+ include Aws::Structure
3345
+ end
3346
+
3193
3347
  # @note When making an API call, you may pass DeleteQuerySuggestionsBlockListRequest
3194
3348
  # data as a hash:
3195
3349
  #
@@ -3468,8 +3622,8 @@ module Aws::Kendra
3468
3622
  # @return [String]
3469
3623
  #
3470
3624
  # @!attribute [rw] server_side_encryption_configuration
3471
- # The identifier of the AWS KMS customer master key (CMK) used to
3472
- # encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.
3625
+ # The identifier of the KMScustomer master key (CMK) used to encrypt
3626
+ # your data. Amazon Kendra doesn't support asymmetric CMKs.
3473
3627
  # @return [Types::ServerSideEncryptionConfiguration]
3474
3628
  #
3475
3629
  # @!attribute [rw] status
@@ -3543,6 +3697,86 @@ module Aws::Kendra
3543
3697
  include Aws::Structure
3544
3698
  end
3545
3699
 
3700
+ # @note When making an API call, you may pass DescribePrincipalMappingRequest
3701
+ # data as a hash:
3702
+ #
3703
+ # {
3704
+ # index_id: "IndexId", # required
3705
+ # data_source_id: "DataSourceId",
3706
+ # group_id: "GroupId", # required
3707
+ # }
3708
+ #
3709
+ # @!attribute [rw] index_id
3710
+ # The identifier of the index required to check the processing of
3711
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3712
+ # @return [String]
3713
+ #
3714
+ # @!attribute [rw] data_source_id
3715
+ # The identifier of the data source to check the processing of `PUT`
3716
+ # and `DELETE` actions for mapping users to their groups.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] group_id
3720
+ # The identifier of the group required to check the processing of
3721
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3722
+ # @return [String]
3723
+ #
3724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingRequest AWS API Documentation
3725
+ #
3726
+ class DescribePrincipalMappingRequest < Struct.new(
3727
+ :index_id,
3728
+ :data_source_id,
3729
+ :group_id)
3730
+ SENSITIVE = []
3731
+ include Aws::Structure
3732
+ end
3733
+
3734
+ # @!attribute [rw] index_id
3735
+ # Shows the identifier of the index to see information on the
3736
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3737
+ # groups.
3738
+ # @return [String]
3739
+ #
3740
+ # @!attribute [rw] data_source_id
3741
+ # Shows the identifier of the data source to see information on the
3742
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3743
+ # groups.
3744
+ # @return [String]
3745
+ #
3746
+ # @!attribute [rw] group_id
3747
+ # Shows the identifier of the group to see information on the
3748
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3749
+ # groups.
3750
+ # @return [String]
3751
+ #
3752
+ # @!attribute [rw] group_ordering_id_summaries
3753
+ # Shows the following information on the processing of `PUT` and
3754
+ # `DELETE` actions for mapping users to their groups:
3755
+ #
3756
+ # * Status – the status can be either `PROCESSING`, `SUCCEEDED`,
3757
+ # `DELETING`, `DELETED`, or `FAILED`.
3758
+ #
3759
+ # * Last updated – the last date-time an action was updated.
3760
+ #
3761
+ # * Received – the last date-time an action was received or submitted.
3762
+ #
3763
+ # * Ordering ID – the latest action that should process and apply
3764
+ # after other actions.
3765
+ #
3766
+ # * Failure reason – the reason an action could not be processed.
3767
+ # @return [Array<Types::GroupOrderingIdSummary>]
3768
+ #
3769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingResponse AWS API Documentation
3770
+ #
3771
+ class DescribePrincipalMappingResponse < Struct.new(
3772
+ :index_id,
3773
+ :data_source_id,
3774
+ :group_id,
3775
+ :group_ordering_id_summaries)
3776
+ SENSITIVE = []
3777
+ include Aws::Structure
3778
+ end
3779
+
3546
3780
  # @note When making an API call, you may pass DescribeQuerySuggestionsBlockListRequest
3547
3781
  # data as a hash:
3548
3782
  #
@@ -3893,6 +4127,19 @@ module Aws::Kendra
3893
4127
  # name: "PrincipalName", # required
3894
4128
  # type: "USER", # required, accepts USER, GROUP
3895
4129
  # access: "ALLOW", # required, accepts ALLOW, DENY
4130
+ # data_source_id: "DataSourceId",
4131
+ # },
4132
+ # ],
4133
+ # hierarchical_access_control_list: [
4134
+ # {
4135
+ # principal_list: [ # required
4136
+ # {
4137
+ # name: "PrincipalName", # required
4138
+ # type: "USER", # required, accepts USER, GROUP
4139
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4140
+ # data_source_id: "DataSourceId",
4141
+ # },
4142
+ # ],
3896
4143
  # },
3897
4144
  # ],
3898
4145
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -3911,9 +4158,9 @@ module Aws::Kendra
3911
4158
  #
3912
4159
  # Documents passed to the `Blob` parameter must be base64 encoded.
3913
4160
  # Your code might not need to encode the document file bytes if
3914
- # you're using an AWS SDK to call Amazon Kendra operations. If you
3915
- # are calling the Amazon Kendra endpoint directly using REST, you must
3916
- # base64 encode the contents before sending.
4161
+ # you're using an Amazon Web Services SDK to call Amazon Kendra
4162
+ # operations. If you are calling the Amazon Kendra endpoint directly
4163
+ # using REST, you must base64 encode the contents before sending.
3917
4164
  # @return [String]
3918
4165
  #
3919
4166
  # @!attribute [rw] s3_path
@@ -3928,9 +4175,19 @@ module Aws::Kendra
3928
4175
  # @return [Array<Types::DocumentAttribute>]
3929
4176
  #
3930
4177
  # @!attribute [rw] access_control_list
3931
- # Information to use for user context filtering.
4178
+ # Information on user and group access rights, which is used for user
4179
+ # context filtering.
3932
4180
  # @return [Array<Types::Principal>]
3933
4181
  #
4182
+ # @!attribute [rw] hierarchical_access_control_list
4183
+ # The list of [principal][1] lists that define the hierarchy for which
4184
+ # documents users should have access to.
4185
+ #
4186
+ #
4187
+ #
4188
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4189
+ # @return [Array<Types::HierarchicalPrincipal>]
4190
+ #
3934
4191
  # @!attribute [rw] content_type
3935
4192
  # The file type of the document in the `Blob` field.
3936
4193
  # @return [String]
@@ -3944,6 +4201,7 @@ module Aws::Kendra
3944
4201
  :s3_path,
3945
4202
  :attributes,
3946
4203
  :access_control_list,
4204
+ :hierarchical_access_control_list,
3947
4205
  :content_type)
3948
4206
  SENSITIVE = []
3949
4207
  include Aws::Structure
@@ -4207,9 +4465,10 @@ module Aws::Kendra
4207
4465
  # }
4208
4466
  #
4209
4467
  # @!attribute [rw] s3_prefix
4210
- # A prefix used to filter metadata configuration files in the AWS S3
4211
- # bucket. The S3 bucket might contain multiple metadata files. Use
4212
- # `S3Prefix` to include only the desired metadata files.
4468
+ # A prefix used to filter metadata configuration files in the Amazon
4469
+ # Web Services S3 bucket. The S3 bucket might contain multiple
4470
+ # metadata files. Use `S3Prefix` to include only the desired metadata
4471
+ # files.
4213
4472
  # @return [String]
4214
4473
  #
4215
4474
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentsMetadataConfiguration AWS API Documentation
@@ -4407,7 +4666,7 @@ module Aws::Kendra
4407
4666
  # }
4408
4667
  #
4409
4668
  # @!attribute [rw] secret_arn
4410
- # The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that
4669
+ # The Amazon Resource Name (ARN) of a Secrets Managersecret that
4411
4670
  # contains the credentials required to connect to Google Drive. For
4412
4671
  # more information, see [Using a Google Workspace Drive data
4413
4672
  # source][1].
@@ -4481,6 +4740,157 @@ module Aws::Kendra
4481
4740
  include Aws::Structure
4482
4741
  end
4483
4742
 
4743
+ # A list of users or sub groups that belong to a group. Users and groups
4744
+ # are useful for filtering search results to different users based on
4745
+ # their group's access to documents.
4746
+ #
4747
+ # @note When making an API call, you may pass GroupMembers
4748
+ # data as a hash:
4749
+ #
4750
+ # {
4751
+ # member_groups: [
4752
+ # {
4753
+ # group_id: "GroupId", # required
4754
+ # data_source_id: "DataSourceId",
4755
+ # },
4756
+ # ],
4757
+ # member_users: [
4758
+ # {
4759
+ # user_id: "UserId", # required
4760
+ # },
4761
+ # ],
4762
+ # s3_pathfor_group_members: {
4763
+ # bucket: "S3BucketName", # required
4764
+ # key: "S3ObjectKey", # required
4765
+ # },
4766
+ # }
4767
+ #
4768
+ # @!attribute [rw] member_groups
4769
+ # A list of sub groups that belong to a group. For example, the sub
4770
+ # groups "Research", "Engineering", and "Sales and Marketing"
4771
+ # all belong to the group "Company".
4772
+ # @return [Array<Types::MemberGroup>]
4773
+ #
4774
+ # @!attribute [rw] member_users
4775
+ # A list of users that belong to a group. For example, a list of
4776
+ # interns all belong to the "Interns" group.
4777
+ # @return [Array<Types::MemberUser>]
4778
+ #
4779
+ # @!attribute [rw] s3_pathfor_group_members
4780
+ # If you have more than 1000 users and/or sub groups for a single
4781
+ # group, you need to provide the path to the S3 file that lists your
4782
+ # users and sub groups for a group. Your sub groups can contain more
4783
+ # than 1000 users, but the list of sub groups that belong to a group
4784
+ # (and/or users) must be no more than 1000.
4785
+ # @return [Types::S3Path]
4786
+ #
4787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupMembers AWS API Documentation
4788
+ #
4789
+ class GroupMembers < Struct.new(
4790
+ :member_groups,
4791
+ :member_users,
4792
+ :s3_pathfor_group_members)
4793
+ SENSITIVE = []
4794
+ include Aws::Structure
4795
+ end
4796
+
4797
+ # Information on the processing of `PUT` and `DELETE` actions for
4798
+ # mapping users to their groups.
4799
+ #
4800
+ # @!attribute [rw] status
4801
+ # The current processing status of actions for mapping users to their
4802
+ # groups. The status can be either `PROCESSING`, `SUCCEEDED`,
4803
+ # `DELETING`, `DELETED`, or `FAILED`.
4804
+ # @return [String]
4805
+ #
4806
+ # @!attribute [rw] last_updated_at
4807
+ # The last date-time an action was updated. An action can be a `PUT`
4808
+ # or `DELETE` action for mapping users to their groups.
4809
+ # @return [Time]
4810
+ #
4811
+ # @!attribute [rw] received_at
4812
+ # The date-time an action was received by Amazon Kendra. An action can
4813
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4814
+ # @return [Time]
4815
+ #
4816
+ # @!attribute [rw] ordering_id
4817
+ # The order in which actions should complete processing. An action can
4818
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4819
+ # @return [Integer]
4820
+ #
4821
+ # @!attribute [rw] failure_reason
4822
+ # The reason an action could not be processed. An action can be a
4823
+ # `PUT` or `DELETE` action for mapping users to their groups.
4824
+ # @return [String]
4825
+ #
4826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupOrderingIdSummary AWS API Documentation
4827
+ #
4828
+ class GroupOrderingIdSummary < Struct.new(
4829
+ :status,
4830
+ :last_updated_at,
4831
+ :received_at,
4832
+ :ordering_id,
4833
+ :failure_reason)
4834
+ SENSITIVE = []
4835
+ include Aws::Structure
4836
+ end
4837
+
4838
+ # Group summary information.
4839
+ #
4840
+ # @!attribute [rw] group_id
4841
+ # The identifier of the group you want group summary information on.
4842
+ # @return [String]
4843
+ #
4844
+ # @!attribute [rw] ordering_id
4845
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
4846
+ # action.
4847
+ # @return [Integer]
4848
+ #
4849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupSummary AWS API Documentation
4850
+ #
4851
+ class GroupSummary < Struct.new(
4852
+ :group_id,
4853
+ :ordering_id)
4854
+ SENSITIVE = []
4855
+ include Aws::Structure
4856
+ end
4857
+
4858
+ # Information to define the hierarchy for which documents users should
4859
+ # have access to.
4860
+ #
4861
+ # @note When making an API call, you may pass HierarchicalPrincipal
4862
+ # data as a hash:
4863
+ #
4864
+ # {
4865
+ # principal_list: [ # required
4866
+ # {
4867
+ # name: "PrincipalName", # required
4868
+ # type: "USER", # required, accepts USER, GROUP
4869
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4870
+ # data_source_id: "DataSourceId",
4871
+ # },
4872
+ # ],
4873
+ # }
4874
+ #
4875
+ # @!attribute [rw] principal_list
4876
+ # A list of [principal][1] lists that define the hierarchy for which
4877
+ # documents users should have access to. Each hierarchical list
4878
+ # specifies which user or group has allow or deny access for each
4879
+ # document.
4880
+ #
4881
+ #
4882
+ #
4883
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4884
+ # @return [Array<Types::Principal>]
4885
+ #
4886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/HierarchicalPrincipal AWS API Documentation
4887
+ #
4888
+ class HierarchicalPrincipal < Struct.new(
4889
+ :principal_list)
4890
+ SENSITIVE = []
4891
+ include Aws::Structure
4892
+ end
4893
+
4484
4894
  # Provides information that you can use to highlight a search result so
4485
4895
  # that your users can quickly identify terms in the response.
4486
4896
  #
@@ -4861,6 +5271,71 @@ module Aws::Kendra
4861
5271
  include Aws::Structure
4862
5272
  end
4863
5273
 
5274
+ # @note When making an API call, you may pass ListGroupsOlderThanOrderingIdRequest
5275
+ # data as a hash:
5276
+ #
5277
+ # {
5278
+ # index_id: "IndexId", # required
5279
+ # data_source_id: "DataSourceId",
5280
+ # ordering_id: 1, # required
5281
+ # next_token: "NextToken",
5282
+ # max_results: 1,
5283
+ # }
5284
+ #
5285
+ # @!attribute [rw] index_id
5286
+ # The identifier of the index for getting a list of groups mapped to
5287
+ # users before a given ordering or timestamp identifier.
5288
+ # @return [String]
5289
+ #
5290
+ # @!attribute [rw] data_source_id
5291
+ # The identifier of the data source for getting a list of groups
5292
+ # mapped to users before a given ordering timestamp identifier.
5293
+ # @return [String]
5294
+ #
5295
+ # @!attribute [rw] ordering_id
5296
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
5297
+ # action for mapping users to their groups.
5298
+ # @return [Integer]
5299
+ #
5300
+ # @!attribute [rw] next_token
5301
+ # The next items in the list of groups that go beyond the maximum.
5302
+ # @return [String]
5303
+ #
5304
+ # @!attribute [rw] max_results
5305
+ # The maximum results shown for a list of groups that are mapped to
5306
+ # users before a given ordering or timestamp identifier.
5307
+ # @return [Integer]
5308
+ #
5309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdRequest AWS API Documentation
5310
+ #
5311
+ class ListGroupsOlderThanOrderingIdRequest < Struct.new(
5312
+ :index_id,
5313
+ :data_source_id,
5314
+ :ordering_id,
5315
+ :next_token,
5316
+ :max_results)
5317
+ SENSITIVE = []
5318
+ include Aws::Structure
5319
+ end
5320
+
5321
+ # @!attribute [rw] groups_summaries
5322
+ # Summary information for list of groups that are mapped to users
5323
+ # before a given ordering or timestamp identifier.
5324
+ # @return [Array<Types::GroupSummary>]
5325
+ #
5326
+ # @!attribute [rw] next_token
5327
+ # The next items in the list of groups that go beyond the maximum.
5328
+ # @return [String]
5329
+ #
5330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdResponse AWS API Documentation
5331
+ #
5332
+ class ListGroupsOlderThanOrderingIdResponse < Struct.new(
5333
+ :groups_summaries,
5334
+ :next_token)
5335
+ SENSITIVE = []
5336
+ include Aws::Structure
5337
+ end
5338
+
4864
5339
  # @note When making an API call, you may pass ListIndicesRequest
4865
5340
  # data as a hash:
4866
5341
  #
@@ -5065,6 +5540,55 @@ module Aws::Kendra
5065
5540
  include Aws::Structure
5066
5541
  end
5067
5542
 
5543
+ # The sub groups that belong to a group.
5544
+ #
5545
+ # @note When making an API call, you may pass MemberGroup
5546
+ # data as a hash:
5547
+ #
5548
+ # {
5549
+ # group_id: "GroupId", # required
5550
+ # data_source_id: "DataSourceId",
5551
+ # }
5552
+ #
5553
+ # @!attribute [rw] group_id
5554
+ # The identifier of the sub group you want to map to a group.
5555
+ # @return [String]
5556
+ #
5557
+ # @!attribute [rw] data_source_id
5558
+ # The identifier of the data source for the sub group you want to map
5559
+ # to a group.
5560
+ # @return [String]
5561
+ #
5562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberGroup AWS API Documentation
5563
+ #
5564
+ class MemberGroup < Struct.new(
5565
+ :group_id,
5566
+ :data_source_id)
5567
+ SENSITIVE = []
5568
+ include Aws::Structure
5569
+ end
5570
+
5571
+ # The users that belong to a group.
5572
+ #
5573
+ # @note When making an API call, you may pass MemberUser
5574
+ # data as a hash:
5575
+ #
5576
+ # {
5577
+ # user_id: "UserId", # required
5578
+ # }
5579
+ #
5580
+ # @!attribute [rw] user_id
5581
+ # The identifier of the user you want to map to a group.
5582
+ # @return [String]
5583
+ #
5584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberUser AWS API Documentation
5585
+ #
5586
+ class MemberUser < Struct.new(
5587
+ :user_id)
5588
+ SENSITIVE = []
5589
+ include Aws::Structure
5590
+ end
5591
+
5068
5592
  # Provides configuration information for data sources that connect to
5069
5593
  # OneDrive.
5070
5594
  #
@@ -5098,7 +5622,7 @@ module Aws::Kendra
5098
5622
  # @return [String]
5099
5623
  #
5100
5624
  # @!attribute [rw] secret_arn
5101
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
5625
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
5102
5626
  # contains the user name and password to connect to OneDrive. The user
5103
5627
  # namd should be the application ID for the OneDrive application, and
5104
5628
  # the password is the application key for the OneDrive application.
@@ -5196,6 +5720,7 @@ module Aws::Kendra
5196
5720
  # name: "PrincipalName", # required
5197
5721
  # type: "USER", # required, accepts USER, GROUP
5198
5722
  # access: "ALLOW", # required, accepts ALLOW, DENY
5723
+ # data_source_id: "DataSourceId",
5199
5724
  # }
5200
5725
  #
5201
5726
  # @!attribute [rw] name
@@ -5210,12 +5735,18 @@ module Aws::Kendra
5210
5735
  # Whether to allow or deny access to the principal.
5211
5736
  # @return [String]
5212
5737
  #
5738
+ # @!attribute [rw] data_source_id
5739
+ # The identifier of the data source the principal should access
5740
+ # documents from.
5741
+ # @return [String]
5742
+ #
5213
5743
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Principal AWS API Documentation
5214
5744
  #
5215
5745
  class Principal < Struct.new(
5216
5746
  :name,
5217
5747
  :type,
5218
- :access)
5748
+ :access,
5749
+ :data_source_id)
5219
5750
  SENSITIVE = []
5220
5751
  include Aws::Structure
5221
5752
  end
@@ -5271,6 +5802,114 @@ module Aws::Kendra
5271
5802
  include Aws::Structure
5272
5803
  end
5273
5804
 
5805
+ # @note When making an API call, you may pass PutPrincipalMappingRequest
5806
+ # data as a hash:
5807
+ #
5808
+ # {
5809
+ # index_id: "IndexId", # required
5810
+ # data_source_id: "DataSourceId",
5811
+ # group_id: "GroupId", # required
5812
+ # group_members: { # required
5813
+ # member_groups: [
5814
+ # {
5815
+ # group_id: "GroupId", # required
5816
+ # data_source_id: "DataSourceId",
5817
+ # },
5818
+ # ],
5819
+ # member_users: [
5820
+ # {
5821
+ # user_id: "UserId", # required
5822
+ # },
5823
+ # ],
5824
+ # s3_pathfor_group_members: {
5825
+ # bucket: "S3BucketName", # required
5826
+ # key: "S3ObjectKey", # required
5827
+ # },
5828
+ # },
5829
+ # ordering_id: 1,
5830
+ # role_arn: "RoleArn",
5831
+ # }
5832
+ #
5833
+ # @!attribute [rw] index_id
5834
+ # The identifier of the index you want to map users to their groups.
5835
+ # @return [String]
5836
+ #
5837
+ # @!attribute [rw] data_source_id
5838
+ # The identifier of the data source you want to map users to their
5839
+ # groups.
5840
+ #
5841
+ # This is useful if a group is tied to multiple data sources, but you
5842
+ # only want the group to access documents of a certain data source.
5843
+ # For example, the groups "Research", "Engineering", and "Sales
5844
+ # and Marketing" are all tied to the company's documents stored in
5845
+ # the data sources Confluence and Salesforce. However, "Sales and
5846
+ # Marketing" team only needs access to customer-related documents
5847
+ # stored in Salesforce.
5848
+ # @return [String]
5849
+ #
5850
+ # @!attribute [rw] group_id
5851
+ # The identifier of the group you want to map its users to.
5852
+ # @return [String]
5853
+ #
5854
+ # @!attribute [rw] group_members
5855
+ # The list that contains your users or sub groups that belong the same
5856
+ # group.
5857
+ #
5858
+ # For example, the group "Company" includes the user "CEO" and the
5859
+ # sub groups "Research", "Engineering", and "Sales and
5860
+ # Marketing".
5861
+ #
5862
+ # If you have more than 1000 users and/or sub groups for a single
5863
+ # group, you need to provide the path to the S3 file that lists your
5864
+ # users and sub groups for a group. Your sub groups can contain more
5865
+ # than 1000 users, but the list of sub groups that belong to a group
5866
+ # (and/or users) must be no more than 1000.
5867
+ # @return [Types::GroupMembers]
5868
+ #
5869
+ # @!attribute [rw] ordering_id
5870
+ # The timestamp identifier you specify to ensure Amazon Kendra does
5871
+ # not override the latest `PUT` action with previous actions. The
5872
+ # highest number ID, which is the ordering ID, is the latest action
5873
+ # you want to process and apply on top of other actions with lower
5874
+ # number IDs. This prevents previous actions with lower number IDs
5875
+ # from possibly overriding the latest action.
5876
+ #
5877
+ # The ordering ID can be the UNIX time of the last update you made to
5878
+ # a group members list. You would then provide this list when calling
5879
+ # `PutPrincipalMapping`. This ensures your `PUT` action for that
5880
+ # updated group with the latest members list doesn't get overwritten
5881
+ # by earlier `PUT` actions for the same group which are yet to be
5882
+ # processed.
5883
+ #
5884
+ # The default ordering ID is the current UNIX time in milliseconds
5885
+ # that the action was received by Amazon Kendra.
5886
+ # @return [Integer]
5887
+ #
5888
+ # @!attribute [rw] role_arn
5889
+ # The Amazon Resource Name (ARN) of a role that has access to the S3
5890
+ # file that contains your list of users or sub groups that belong to a
5891
+ # group.
5892
+ #
5893
+ # For more information, see [IAM roles for Amazon Kendra][1].
5894
+ #
5895
+ #
5896
+ #
5897
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds
5898
+ # @return [String]
5899
+ #
5900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/PutPrincipalMappingRequest AWS API Documentation
5901
+ #
5902
+ class PutPrincipalMappingRequest < Struct.new(
5903
+ :index_id,
5904
+ :data_source_id,
5905
+ :group_id,
5906
+ :group_members,
5907
+ :ordering_id,
5908
+ :role_arn)
5909
+ SENSITIVE = []
5910
+ include Aws::Structure
5911
+ end
5912
+
5274
5913
  # @note When making an API call, you may pass QueryRequest
5275
5914
  # data as a hash:
5276
5915
  #
@@ -5384,6 +6023,14 @@ module Aws::Kendra
5384
6023
  # },
5385
6024
  # user_context: {
5386
6025
  # token: "Token",
6026
+ # user_id: "PrincipalName",
6027
+ # groups: ["PrincipalName"],
6028
+ # data_source_groups: [
6029
+ # {
6030
+ # group_id: "PrincipalName", # required
6031
+ # data_source_id: "DataSourceId", # required
6032
+ # },
6033
+ # ],
5387
6034
  # },
5388
6035
  # visitor_id: "VisitorId",
5389
6036
  # }
@@ -6086,7 +6733,7 @@ module Aws::Kendra
6086
6733
  # @return [String]
6087
6734
  #
6088
6735
  # @!attribute [rw] secret_arn
6089
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
6736
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
6090
6737
  # contains the key/value pairs required to connect to your Salesforce
6091
6738
  # instance. The secret must contain a JSON structure with the
6092
6739
  # following keys:
@@ -6529,9 +7176,9 @@ module Aws::Kendra
6529
7176
  include Aws::Structure
6530
7177
  end
6531
7178
 
6532
- # Provides the identifier of the AWS KMS customer master key (CMK) used
6533
- # to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
6534
- # support asymmetric CMKs.
7179
+ # Provides the identifier of the KMScustomer master key (CMK) used to
7180
+ # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support
7181
+ # asymmetric CMKs.
6535
7182
  #
6536
7183
  # @note When making an API call, you may pass ServerSideEncryptionConfiguration
6537
7184
  # data as a hash:
@@ -6541,8 +7188,8 @@ module Aws::Kendra
6541
7188
  # }
6542
7189
  #
6543
7190
  # @!attribute [rw] kms_key_id
6544
- # The identifier of the AWS KMS customer master key (CMK). Amazon
6545
- # Kendra doesn't support asymmetric CMKs.
7191
+ # The identifier of the KMScustomer master key (CMK). Amazon Kendra
7192
+ # doesn't support asymmetric CMKs.
6546
7193
  # @return [String]
6547
7194
  #
6548
7195
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ServerSideEncryptionConfiguration AWS API Documentation
@@ -6602,7 +7249,7 @@ module Aws::Kendra
6602
7249
  # @return [String]
6603
7250
  #
6604
7251
  # @!attribute [rw] secret_arn
6605
- # The Amazon Resource Name (ARN) of the AWS Secret Manager secret that
7252
+ # The Amazon Resource Name (ARN) of the Secrets Manager secret that
6606
7253
  # contains the user name and password required to connect to the
6607
7254
  # ServiceNow instance.
6608
7255
  # @return [String]
@@ -6865,13 +7512,13 @@ module Aws::Kendra
6865
7512
  # @return [Array<String>]
6866
7513
  #
6867
7514
  # @!attribute [rw] secret_arn
6868
- # The Amazon Resource Name (ARN) of credentials stored in AWS Secrets
7515
+ # The Amazon Resource Name (ARN) of credentials stored in Secrets
6869
7516
  # Manager. The credentials should be a user/password pair. If you use
6870
- # SharePoint Sever, you also need to provide the sever domain name as
7517
+ # SharePoint Server, you also need to provide the sever domain name as
6871
7518
  # part of the credentials. For more information, see [Using a
6872
- # Microsoft SharePoint Data Source][1]. For more information about AWS
6873
- # Secrets Manager, see [ What Is AWS Secrets Manager ][2] in the *AWS
6874
- # Secrets Manager* user guide.
7519
+ # Microsoft SharePoint Data Source][1]. For more information about
7520
+ # Secrets Manager, see [ What Is Secrets Manager][2] in the <i>Secrets
7521
+ # Manager </i> user guide.
6875
7522
  #
6876
7523
  #
6877
7524
  #
@@ -7830,6 +8477,20 @@ module Aws::Kendra
7830
8477
  # ],
7831
8478
  # },
7832
8479
  # },
8480
+ # work_docs_configuration: {
8481
+ # organization_id: "OrganizationId", # required
8482
+ # crawl_comments: false,
8483
+ # use_change_log: false,
8484
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8485
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8486
+ # field_mappings: [
8487
+ # {
8488
+ # data_source_field_name: "DataSourceFieldName", # required
8489
+ # date_field_format: "DataSourceDateFieldFormat",
8490
+ # index_field_name: "IndexFieldName", # required
8491
+ # },
8492
+ # ],
8493
+ # },
7833
8494
  # },
7834
8495
  # description: "Description",
7835
8496
  # schedule: "ScanSchedule",
@@ -8246,21 +8907,60 @@ module Aws::Kendra
8246
8907
 
8247
8908
  # Provides information about the user context for a Amazon Kendra index.
8248
8909
  #
8910
+ # This is used for filtering search results for different users based on
8911
+ # their access to documents.
8912
+ #
8913
+ # You provide one of the following:
8914
+ #
8915
+ # * User token
8916
+ #
8917
+ # * User ID, the groups the user belongs to, and the data sources the
8918
+ # groups can access
8919
+ #
8920
+ # If you provide both, an exception is thrown.
8921
+ #
8249
8922
  # @note When making an API call, you may pass UserContext
8250
8923
  # data as a hash:
8251
8924
  #
8252
8925
  # {
8253
8926
  # token: "Token",
8927
+ # user_id: "PrincipalName",
8928
+ # groups: ["PrincipalName"],
8929
+ # data_source_groups: [
8930
+ # {
8931
+ # group_id: "PrincipalName", # required
8932
+ # data_source_id: "DataSourceId", # required
8933
+ # },
8934
+ # ],
8254
8935
  # }
8255
8936
  #
8256
8937
  # @!attribute [rw] token
8257
- # The user context token. It must be a JWT or a JSON token.
8938
+ # The user context token for filtering search results for a user. It
8939
+ # must be a JWT or a JSON token.
8258
8940
  # @return [String]
8259
8941
  #
8942
+ # @!attribute [rw] user_id
8943
+ # The identifier of the user you want to filter search results based
8944
+ # on their access to documents.
8945
+ # @return [String]
8946
+ #
8947
+ # @!attribute [rw] groups
8948
+ # The list of groups you want to filter search results based on the
8949
+ # groups' access to documents.
8950
+ # @return [Array<String>]
8951
+ #
8952
+ # @!attribute [rw] data_source_groups
8953
+ # The list of data source groups you want to filter search results
8954
+ # based on groups' access to documents in that data source.
8955
+ # @return [Array<Types::DataSourceGroup>]
8956
+ #
8260
8957
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserContext AWS API Documentation
8261
8958
  #
8262
8959
  class UserContext < Struct.new(
8263
- :token)
8960
+ :token,
8961
+ :user_id,
8962
+ :groups,
8963
+ :data_source_groups)
8264
8964
  SENSITIVE = []
8265
8965
  include Aws::Structure
8266
8966
  end
@@ -8476,5 +9176,110 @@ module Aws::Kendra
8476
9176
  include Aws::Structure
8477
9177
  end
8478
9178
 
9179
+ # Provides the configuration information to connect to Amazon WorkDocs
9180
+ # as your data source.
9181
+ #
9182
+ # Amazon WorkDocs connector is available in Oregon, North Virginia,
9183
+ # Sydney, Singapore and Ireland regions.
9184
+ #
9185
+ # @note When making an API call, you may pass WorkDocsConfiguration
9186
+ # data as a hash:
9187
+ #
9188
+ # {
9189
+ # organization_id: "OrganizationId", # required
9190
+ # crawl_comments: false,
9191
+ # use_change_log: false,
9192
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
9193
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
9194
+ # field_mappings: [
9195
+ # {
9196
+ # data_source_field_name: "DataSourceFieldName", # required
9197
+ # date_field_format: "DataSourceDateFieldFormat",
9198
+ # index_field_name: "IndexFieldName", # required
9199
+ # },
9200
+ # ],
9201
+ # }
9202
+ #
9203
+ # @!attribute [rw] organization_id
9204
+ # The identifier of the directory corresponding to your Amazon
9205
+ # WorkDocs site repository.
9206
+ #
9207
+ # You can find the organization ID in the [AWS Directory Service][1]
9208
+ # by going to **Active Directory**, then **Directories**. Your Amazon
9209
+ # WorkDocs site directory has an ID, which is the organization ID. You
9210
+ # can also set up a new Amazon WorkDocs directory in the AWS Directory
9211
+ # Service console and enable a Amazon WorkDocs site for the directory
9212
+ # in the Amazon WorkDocs console.
9213
+ #
9214
+ #
9215
+ #
9216
+ # [1]: https://console.aws.amazon.com/directoryservicev2/
9217
+ # @return [String]
9218
+ #
9219
+ # @!attribute [rw] crawl_comments
9220
+ # `TRUE` to include comments on documents in your index. Including
9221
+ # comments in your index means each comment is a document that can be
9222
+ # searched on.
9223
+ #
9224
+ # The default is set to `FALSE`.
9225
+ # @return [Boolean]
9226
+ #
9227
+ # @!attribute [rw] use_change_log
9228
+ # `TRUE` to use the change logs to update documents in your index
9229
+ # instead of scanning all documents.
9230
+ #
9231
+ # If you are syncing your Amazon WorkDocs data source with your index
9232
+ # for the first time, all documents are scanned. After your first
9233
+ # sync, you can use the change logs to update your documents in your
9234
+ # index for future syncs.
9235
+ #
9236
+ # The default is set to `FALSE`.
9237
+ # @return [Boolean]
9238
+ #
9239
+ # @!attribute [rw] inclusion_patterns
9240
+ # A list of regular expression patterns to include certain files in
9241
+ # your Amazon WorkDocs site repository. Files that match the patterns
9242
+ # are included in the index. Files that don't match the patterns are
9243
+ # excluded from the index. If a file matches both an inclusion pattern
9244
+ # and an exclusion pattern, the exclusion pattern takes precedence and
9245
+ # the file isn’t included in the index.
9246
+ # @return [Array<String>]
9247
+ #
9248
+ # @!attribute [rw] exclusion_patterns
9249
+ # A list of regular expression patterns to exclude certain files in
9250
+ # your Amazon WorkDocs site repository. Files that match the patterns
9251
+ # are excluded from the index. Files that don’t match the patterns are
9252
+ # included in the index. If a file matches both an inclusion pattern
9253
+ # and an exclusion pattern, the exclusion pattern takes precedence and
9254
+ # the file isn’t included in the index.
9255
+ # @return [Array<String>]
9256
+ #
9257
+ # @!attribute [rw] field_mappings
9258
+ # A list of `DataSourceToIndexFieldMapping` objects that map Amazon
9259
+ # WorkDocs field names to custom index field names in Amazon Kendra.
9260
+ # You must first create the custom index fields using the
9261
+ # `UpdateIndex` operation before you map to Amazon WorkDocs fields.
9262
+ # For more information, see [Mapping Data Source Fields][1]. The
9263
+ # Amazon WorkDocs data source field names need to exist in your Amazon
9264
+ # WorkDocs custom metadata.
9265
+ #
9266
+ #
9267
+ #
9268
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html
9269
+ # @return [Array<Types::DataSourceToIndexFieldMapping>]
9270
+ #
9271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/WorkDocsConfiguration AWS API Documentation
9272
+ #
9273
+ class WorkDocsConfiguration < Struct.new(
9274
+ :organization_id,
9275
+ :crawl_comments,
9276
+ :use_change_log,
9277
+ :inclusion_patterns,
9278
+ :exclusion_patterns,
9279
+ :field_mappings)
9280
+ SENSITIVE = []
9281
+ include Aws::Structure
9282
+ end
9283
+
8479
9284
  end
8480
9285
  end