aws-sdk-kendra 1.29.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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')
@@ -235,9 +257,12 @@ module Aws::Kendra
235
257
  Port = Shapes::IntegerShape.new(name: 'Port')
236
258
  Principal = Shapes::StructureShape.new(name: 'Principal')
237
259
  PrincipalList = Shapes::ListShape.new(name: 'PrincipalList')
260
+ PrincipalMappingStatus = Shapes::StringShape.new(name: 'PrincipalMappingStatus')
238
261
  PrincipalName = Shapes::StringShape.new(name: 'PrincipalName')
262
+ PrincipalOrderingId = Shapes::IntegerShape.new(name: 'PrincipalOrderingId')
239
263
  PrincipalType = Shapes::StringShape.new(name: 'PrincipalType')
240
264
  ProxyConfiguration = Shapes::StructureShape.new(name: 'ProxyConfiguration')
265
+ PutPrincipalMappingRequest = Shapes::StructureShape.new(name: 'PutPrincipalMappingRequest')
241
266
  QueryCapacityUnit = Shapes::IntegerShape.new(name: 'QueryCapacityUnit')
242
267
  QueryId = Shapes::StringShape.new(name: 'QueryId')
243
268
  QueryIdentifiersEnclosingOption = Shapes::StringShape.new(name: 'QueryIdentifiersEnclosingOption')
@@ -361,6 +386,7 @@ module Aws::Kendra
361
386
  UserAccount = Shapes::StringShape.new(name: 'UserAccount')
362
387
  UserContext = Shapes::StructureShape.new(name: 'UserContext')
363
388
  UserContextPolicy = Shapes::StringShape.new(name: 'UserContextPolicy')
389
+ UserId = Shapes::StringShape.new(name: 'UserId')
364
390
  UserNameAttributeField = Shapes::StringShape.new(name: 'UserNameAttributeField')
365
391
  UserTokenConfiguration = Shapes::StructureShape.new(name: 'UserTokenConfiguration')
366
392
  UserTokenConfigurationList = Shapes::ListShape.new(name: 'UserTokenConfigurationList')
@@ -627,6 +653,12 @@ module Aws::Kendra
627
653
  DataSourceConfiguration.add_member(:web_crawler_configuration, Shapes::ShapeRef.new(shape: WebCrawlerConfiguration, location_name: "WebCrawlerConfiguration"))
628
654
  DataSourceConfiguration.struct_class = Types::DataSourceConfiguration
629
655
 
656
+ DataSourceGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "GroupId"))
657
+ DataSourceGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, required: true, location_name: "DataSourceId"))
658
+ DataSourceGroup.struct_class = Types::DataSourceGroup
659
+
660
+ DataSourceGroups.member = Shapes::ShapeRef.new(shape: DataSourceGroup)
661
+
630
662
  DataSourceInclusionsExclusionsStrings.member = Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStringsMember)
631
663
 
632
664
  DataSourceSummary.add_member(:name, Shapes::ShapeRef.new(shape: DataSourceName, location_name: "Name"))
@@ -692,6 +724,12 @@ module Aws::Kendra
692
724
  DeleteIndexRequest.add_member(:id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "Id"))
693
725
  DeleteIndexRequest.struct_class = Types::DeleteIndexRequest
694
726
 
727
+ DeletePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
728
+ DeletePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
729
+ DeletePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
730
+ DeletePrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
731
+ DeletePrincipalMappingRequest.struct_class = Types::DeletePrincipalMappingRequest
732
+
695
733
  DeleteQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
696
734
  DeleteQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
697
735
  DeleteQuerySuggestionsBlockListRequest.struct_class = Types::DeleteQuerySuggestionsBlockListRequest
@@ -755,6 +793,17 @@ module Aws::Kendra
755
793
  DescribeIndexResponse.add_member(:user_context_policy, Shapes::ShapeRef.new(shape: UserContextPolicy, location_name: "UserContextPolicy"))
756
794
  DescribeIndexResponse.struct_class = Types::DescribeIndexResponse
757
795
 
796
+ DescribePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
797
+ DescribePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
798
+ DescribePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
799
+ DescribePrincipalMappingRequest.struct_class = Types::DescribePrincipalMappingRequest
800
+
801
+ DescribePrincipalMappingResponse.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, location_name: "IndexId"))
802
+ DescribePrincipalMappingResponse.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
803
+ DescribePrincipalMappingResponse.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
804
+ DescribePrincipalMappingResponse.add_member(:group_ordering_id_summaries, Shapes::ShapeRef.new(shape: GroupOrderingIdSummaries, location_name: "GroupOrderingIdSummaries"))
805
+ DescribePrincipalMappingResponse.struct_class = Types::DescribePrincipalMappingResponse
806
+
758
807
  DescribeQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
759
808
  DescribeQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
760
809
  DescribeQuerySuggestionsBlockListRequest.struct_class = Types::DescribeQuerySuggestionsBlockListRequest
@@ -812,6 +861,7 @@ module Aws::Kendra
812
861
  Document.add_member(:s3_path, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3Path"))
813
862
  Document.add_member(:attributes, Shapes::ShapeRef.new(shape: DocumentAttributeList, location_name: "Attributes"))
814
863
  Document.add_member(:access_control_list, Shapes::ShapeRef.new(shape: PrincipalList, location_name: "AccessControlList"))
864
+ Document.add_member(:hierarchical_access_control_list, Shapes::ShapeRef.new(shape: HierarchicalPrincipalList, location_name: "HierarchicalAccessControlList"))
815
865
  Document.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location_name: "ContentType"))
816
866
  Document.struct_class = Types::Document
817
867
 
@@ -915,6 +965,31 @@ module Aws::Kendra
915
965
  GoogleDriveConfiguration.add_member(:exclude_shared_drives, Shapes::ShapeRef.new(shape: ExcludeSharedDrivesList, location_name: "ExcludeSharedDrives"))
916
966
  GoogleDriveConfiguration.struct_class = Types::GoogleDriveConfiguration
917
967
 
968
+ GroupMembers.add_member(:member_groups, Shapes::ShapeRef.new(shape: MemberGroups, location_name: "MemberGroups"))
969
+ GroupMembers.add_member(:member_users, Shapes::ShapeRef.new(shape: MemberUsers, location_name: "MemberUsers"))
970
+ GroupMembers.add_member(:s3_pathfor_group_members, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3PathforGroupMembers"))
971
+ GroupMembers.struct_class = Types::GroupMembers
972
+
973
+ GroupOrderingIdSummaries.member = Shapes::ShapeRef.new(shape: GroupOrderingIdSummary)
974
+
975
+ GroupOrderingIdSummary.add_member(:status, Shapes::ShapeRef.new(shape: PrincipalMappingStatus, location_name: "Status"))
976
+ GroupOrderingIdSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedAt"))
977
+ GroupOrderingIdSummary.add_member(:received_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ReceivedAt"))
978
+ GroupOrderingIdSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
979
+ GroupOrderingIdSummary.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "FailureReason"))
980
+ GroupOrderingIdSummary.struct_class = Types::GroupOrderingIdSummary
981
+
982
+ GroupSummary.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
983
+ GroupSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
984
+ GroupSummary.struct_class = Types::GroupSummary
985
+
986
+ Groups.member = Shapes::ShapeRef.new(shape: PrincipalName)
987
+
988
+ HierarchicalPrincipal.add_member(:principal_list, Shapes::ShapeRef.new(shape: PrincipalList, required: true, location_name: "PrincipalList"))
989
+ HierarchicalPrincipal.struct_class = Types::HierarchicalPrincipal
990
+
991
+ HierarchicalPrincipalList.member = Shapes::ShapeRef.new(shape: HierarchicalPrincipal)
992
+
918
993
  Highlight.add_member(:begin_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "BeginOffset"))
919
994
  Highlight.add_member(:end_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "EndOffset"))
920
995
  Highlight.add_member(:top_answer, Shapes::ShapeRef.new(shape: Boolean, location_name: "TopAnswer"))
@@ -983,6 +1058,17 @@ module Aws::Kendra
983
1058
  ListFaqsResponse.add_member(:faq_summary_items, Shapes::ShapeRef.new(shape: FaqSummaryItems, location_name: "FaqSummaryItems"))
984
1059
  ListFaqsResponse.struct_class = Types::ListFaqsResponse
985
1060
 
1061
+ ListGroupsOlderThanOrderingIdRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1062
+ ListGroupsOlderThanOrderingIdRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1063
+ ListGroupsOlderThanOrderingIdRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, required: true, location_name: "OrderingId"))
1064
+ ListGroupsOlderThanOrderingIdRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1065
+ ListGroupsOlderThanOrderingIdRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListPrincipalsRequest, location_name: "MaxResults"))
1066
+ ListGroupsOlderThanOrderingIdRequest.struct_class = Types::ListGroupsOlderThanOrderingIdRequest
1067
+
1068
+ ListGroupsOlderThanOrderingIdResponse.add_member(:groups_summaries, Shapes::ShapeRef.new(shape: ListOfGroupSummaries, location_name: "GroupsSummaries"))
1069
+ ListGroupsOlderThanOrderingIdResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1070
+ ListGroupsOlderThanOrderingIdResponse.struct_class = Types::ListGroupsOlderThanOrderingIdResponse
1071
+
986
1072
  ListIndicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
987
1073
  ListIndicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListIndicesRequest, location_name: "MaxResults"))
988
1074
  ListIndicesRequest.struct_class = Types::ListIndicesRequest
@@ -991,6 +1077,8 @@ module Aws::Kendra
991
1077
  ListIndicesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
992
1078
  ListIndicesResponse.struct_class = Types::ListIndicesResponse
993
1079
 
1080
+ ListOfGroupSummaries.member = Shapes::ShapeRef.new(shape: GroupSummary)
1081
+
994
1082
  ListQuerySuggestionsBlockListsRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
995
1083
  ListQuerySuggestionsBlockListsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
996
1084
  ListQuerySuggestionsBlockListsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListQuerySuggestionsBlockLists, location_name: "MaxResults"))
@@ -1015,6 +1103,17 @@ module Aws::Kendra
1015
1103
  ListThesauriResponse.add_member(:thesaurus_summary_items, Shapes::ShapeRef.new(shape: ThesaurusSummaryItems, location_name: "ThesaurusSummaryItems"))
1016
1104
  ListThesauriResponse.struct_class = Types::ListThesauriResponse
1017
1105
 
1106
+ MemberGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1107
+ MemberGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1108
+ MemberGroup.struct_class = Types::MemberGroup
1109
+
1110
+ MemberGroups.member = Shapes::ShapeRef.new(shape: MemberGroup)
1111
+
1112
+ MemberUser.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location_name: "UserId"))
1113
+ MemberUser.struct_class = Types::MemberUser
1114
+
1115
+ MemberUsers.member = Shapes::ShapeRef.new(shape: MemberUser)
1116
+
1018
1117
  OneDriveConfiguration.add_member(:tenant_domain, Shapes::ShapeRef.new(shape: TenantDomain, required: true, location_name: "TenantDomain"))
1019
1118
  OneDriveConfiguration.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, required: true, location_name: "SecretArn"))
1020
1119
  OneDriveConfiguration.add_member(:one_drive_users, Shapes::ShapeRef.new(shape: OneDriveUsers, required: true, location_name: "OneDriveUsers"))
@@ -1033,6 +1132,7 @@ module Aws::Kendra
1033
1132
  Principal.add_member(:name, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "Name"))
1034
1133
  Principal.add_member(:type, Shapes::ShapeRef.new(shape: PrincipalType, required: true, location_name: "Type"))
1035
1134
  Principal.add_member(:access, Shapes::ShapeRef.new(shape: ReadAccessType, required: true, location_name: "Access"))
1135
+ Principal.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1036
1136
  Principal.struct_class = Types::Principal
1037
1137
 
1038
1138
  PrincipalList.member = Shapes::ShapeRef.new(shape: Principal)
@@ -1042,6 +1142,14 @@ module Aws::Kendra
1042
1142
  ProxyConfiguration.add_member(:credentials, Shapes::ShapeRef.new(shape: SecretArn, location_name: "Credentials"))
1043
1143
  ProxyConfiguration.struct_class = Types::ProxyConfiguration
1044
1144
 
1145
+ PutPrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1146
+ PutPrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1147
+ PutPrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1148
+ PutPrincipalMappingRequest.add_member(:group_members, Shapes::ShapeRef.new(shape: GroupMembers, required: true, location_name: "GroupMembers"))
1149
+ PutPrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
1150
+ PutPrincipalMappingRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn"))
1151
+ PutPrincipalMappingRequest.struct_class = Types::PutPrincipalMappingRequest
1152
+
1045
1153
  QueryRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1046
1154
  QueryRequest.add_member(:query_text, Shapes::ShapeRef.new(shape: QueryText, required: true, location_name: "QueryText"))
1047
1155
  QueryRequest.add_member(:attribute_filter, Shapes::ShapeRef.new(shape: AttributeFilter, location_name: "AttributeFilter"))
@@ -1386,6 +1494,9 @@ module Aws::Kendra
1386
1494
  Urls.struct_class = Types::Urls
1387
1495
 
1388
1496
  UserContext.add_member(:token, Shapes::ShapeRef.new(shape: Token, location_name: "Token"))
1497
+ UserContext.add_member(:user_id, Shapes::ShapeRef.new(shape: PrincipalName, location_name: "UserId"))
1498
+ UserContext.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups"))
1499
+ UserContext.add_member(:data_source_groups, Shapes::ShapeRef.new(shape: DataSourceGroups, location_name: "DataSourceGroups"))
1389
1500
  UserContext.struct_class = Types::UserContext
1390
1501
 
1391
1502
  UserTokenConfiguration.add_member(:jwt_token_type_configuration, Shapes::ShapeRef.new(shape: JwtTokenTypeConfiguration, location_name: "JwtTokenTypeConfiguration"))
@@ -1606,6 +1717,20 @@ module Aws::Kendra
1606
1717
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1607
1718
  end)
1608
1719
 
1720
+ api.add_operation(:delete_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1721
+ o.name = "DeletePrincipalMapping"
1722
+ o.http_method = "POST"
1723
+ o.http_request_uri = "/"
1724
+ o.input = Shapes::ShapeRef.new(shape: DeletePrincipalMappingRequest)
1725
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1726
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1727
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1728
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1729
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1730
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1731
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1732
+ end)
1733
+
1609
1734
  api.add_operation(:delete_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1610
1735
  o.name = "DeleteQuerySuggestionsBlockList"
1611
1736
  o.http_method = "POST"
@@ -1673,6 +1798,19 @@ module Aws::Kendra
1673
1798
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1674
1799
  end)
1675
1800
 
1801
+ api.add_operation(:describe_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1802
+ o.name = "DescribePrincipalMapping"
1803
+ o.http_method = "POST"
1804
+ o.http_request_uri = "/"
1805
+ o.input = Shapes::ShapeRef.new(shape: DescribePrincipalMappingRequest)
1806
+ o.output = Shapes::ShapeRef.new(shape: DescribePrincipalMappingResponse)
1807
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1808
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1809
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1810
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1811
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1812
+ end)
1813
+
1676
1814
  api.add_operation(:describe_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1677
1815
  o.name = "DescribeQuerySuggestionsBlockList"
1678
1816
  o.http_method = "POST"
@@ -1779,6 +1917,20 @@ module Aws::Kendra
1779
1917
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1780
1918
  end)
1781
1919
 
1920
+ api.add_operation(:list_groups_older_than_ordering_id, Seahorse::Model::Operation.new.tap do |o|
1921
+ o.name = "ListGroupsOlderThanOrderingId"
1922
+ o.http_method = "POST"
1923
+ o.http_request_uri = "/"
1924
+ o.input = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdRequest)
1925
+ o.output = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdResponse)
1926
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1927
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1928
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1929
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1930
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1931
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1932
+ end)
1933
+
1782
1934
  api.add_operation(:list_indices, Seahorse::Model::Operation.new.tap do |o|
1783
1935
  o.name = "ListIndices"
1784
1936
  o.http_method = "POST"
@@ -1836,6 +1988,21 @@ module Aws::Kendra
1836
1988
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1837
1989
  end)
1838
1990
 
1991
+ api.add_operation(:put_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1992
+ o.name = "PutPrincipalMapping"
1993
+ o.http_method = "POST"
1994
+ o.http_request_uri = "/"
1995
+ o.input = Shapes::ShapeRef.new(shape: PutPrincipalMappingRequest)
1996
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1997
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1998
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1999
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2000
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2001
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2002
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2003
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2004
+ end)
2005
+
1839
2006
  api.add_operation(:query, Seahorse::Model::Operation.new.tap do |o|
1840
2007
  o.name = "Query"
1841
2008
  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
@@ -777,6 +778,19 @@ module Aws::Kendra
777
778
  # name: "PrincipalName", # required
778
779
  # type: "USER", # required, accepts USER, GROUP
779
780
  # access: "ALLOW", # required, accepts ALLOW, DENY
781
+ # data_source_id: "DataSourceId",
782
+ # },
783
+ # ],
784
+ # hierarchical_access_control_list: [
785
+ # {
786
+ # principal_list: [ # required
787
+ # {
788
+ # name: "PrincipalName", # required
789
+ # type: "USER", # required, accepts USER, GROUP
790
+ # access: "ALLOW", # required, accepts ALLOW, DENY
791
+ # data_source_id: "DataSourceId",
792
+ # },
793
+ # ],
780
794
  # },
781
795
  # ],
782
796
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -842,8 +856,9 @@ module Aws::Kendra
842
856
  # index.
843
857
  #
844
858
  # 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]
859
+ # reported in your Amazon Web Services CloudWatch log. For more
860
+ # information, see [Monitoring Amazon Kendra with Amazon CloudWatch
861
+ # Logs][1]
847
862
  #
848
863
  #
849
864
  #
@@ -896,25 +911,23 @@ module Aws::Kendra
896
911
  #
897
912
  # @!attribute [rw] storage_capacity_units
898
913
  # The amount of extra storage capacity for an index. A single capacity
899
- # unit provides 30 GB of storage space or 100,000 documents, whichever
900
- # is reached first.
914
+ # unit for an index provides 150 GB of storage space or 500,000
915
+ # documents, whichever is reached first.
901
916
  # @return [Integer]
902
917
  #
903
918
  # @!attribute [rw] query_capacity_units
904
919
  # The amount of extra query capacity for an index and
905
920
  # [GetQuerySuggestions][1] capacity.
906
921
  #
907
- # A single extra capacity unit for an index provides 0.1 queries per
908
- # second or approximately 8,000 queries per day.
922
+ # A single extra capacity unit for an index provides 0.5 queries per
923
+ # second or approximately 40,000 queries per day.
909
924
  #
910
- # `GetQuerySuggestions` capacity is five times the provisioned query
911
- # capacity for an index, or the base capacity of 2.5 calls per second,
912
- # whichever is higher. For example, the base capacity for an index is
913
- # 0.1 queries per second, and `GetQuerySuggestions` capacity has a
914
- # base of 2.5 calls per second. If you add another 0.1 queries per
915
- # second to total 0.2 queries per second for an index, the
916
- # `GetQuerySuggestions` capacity is 2.5 calls per second (higher than
917
- # five times 0.2 queries per second).
925
+ # `GetQuerySuggestions` capacity is 5 times the provisioned query
926
+ # capacity for an index. For example, the base capacity for an index
927
+ # is 0.5 queries per second, so GetQuerySuggestions capacity is 2.5
928
+ # calls per second. If adding another 0.5 queries per second to total
929
+ # 1 queries per second for an index, the `GetQuerySuggestions`
930
+ # capacity is 5 calls per second.
918
931
  #
919
932
  #
920
933
  #
@@ -1274,7 +1287,7 @@ module Aws::Kendra
1274
1287
  # @return [String]
1275
1288
  #
1276
1289
  # @!attribute [rw] secret_arn
1277
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
1290
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
1278
1291
  # contains the key/value pairs required to connect to your Confluence
1279
1292
  # server. The secret must contain a JSON structure with the following
1280
1293
  # keys:
@@ -1571,7 +1584,7 @@ module Aws::Kendra
1571
1584
  # Manager. The credentials should be a user/password pair. For more
1572
1585
  # information, see [Using a Database Data Source][1]. For more
1573
1586
  # information about AWS Secrets Manager, see [ What Is AWS Secrets
1574
- # Manager ][2] in the *AWS Secrets Manager* user guide.
1587
+ # Manager ][2] in the <i> Secrets Manager </i> user guide.
1575
1588
  #
1576
1589
  #
1577
1590
  #
@@ -2164,25 +2177,17 @@ module Aws::Kendra
2164
2177
  #
2165
2178
  # The `Edition` parameter is optional. If you don't supply a value,
2166
2179
  # the default is `ENTERPRISE_EDITION`.
2167
- #
2168
- # For more information on quota limits for enterprise and developer
2169
- # editions, see [Quotas][1].
2170
- #
2171
- #
2172
- #
2173
- # [1]: https://docs.aws.amazon.com/kendra/latest/dg/quotas.html
2174
2180
  # @return [String]
2175
2181
  #
2176
2182
  # @!attribute [rw] role_arn
2177
- # An AWS Identity and Access Management (IAM) role that gives Amazon
2178
- # Kendra permissions to access your Amazon CloudWatch logs and
2179
- # metrics. This is also the role used when you use the
2180
- # `BatchPutDocument` operation to index documents from an Amazon S3
2181
- # bucket.
2183
+ # An Identity and Access Management(IAM) role that gives Amazon Kendra
2184
+ # permissions to access your Amazon CloudWatch logs and metrics. This
2185
+ # is also the role used when you use the `BatchPutDocument` operation
2186
+ # to index documents from an Amazon S3 bucket.
2182
2187
  # @return [String]
2183
2188
  #
2184
2189
  # @!attribute [rw] server_side_encryption_configuration
2185
- # The identifier of the AWS KMS customer managed key (CMK) to use to
2190
+ # The identifier of the KMScustomer managed key (CMK) to use to
2186
2191
  # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
2187
2192
  # support asymmetric CMKs.
2188
2193
  # @return [Types::ServerSideEncryptionConfiguration]
@@ -2808,6 +2813,37 @@ module Aws::Kendra
2808
2813
  include Aws::Structure
2809
2814
  end
2810
2815
 
2816
+ # Data source information for user context filtering.
2817
+ #
2818
+ # @note When making an API call, you may pass DataSourceGroup
2819
+ # data as a hash:
2820
+ #
2821
+ # {
2822
+ # group_id: "PrincipalName", # required
2823
+ # data_source_id: "DataSourceId", # required
2824
+ # }
2825
+ #
2826
+ # @!attribute [rw] group_id
2827
+ # The identifier of the group you want to add to your list of groups.
2828
+ # This is for filtering search results based on the groups' access to
2829
+ # documents.
2830
+ # @return [String]
2831
+ #
2832
+ # @!attribute [rw] data_source_id
2833
+ # The identifier of the data source group you want to add to your list
2834
+ # of data source groups. This is for filtering search results based on
2835
+ # the groups' access to documents in that data source.
2836
+ # @return [String]
2837
+ #
2838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceGroup AWS API Documentation
2839
+ #
2840
+ class DataSourceGroup < Struct.new(
2841
+ :group_id,
2842
+ :data_source_id)
2843
+ SENSITIVE = []
2844
+ include Aws::Structure
2845
+ end
2846
+
2811
2847
  # Summary information for a Amazon Kendra data source. Returned in a
2812
2848
  # call to the `DescribeDataSource` operation.
2813
2849
  #
@@ -3199,6 +3235,68 @@ module Aws::Kendra
3199
3235
  include Aws::Structure
3200
3236
  end
3201
3237
 
3238
+ # @note When making an API call, you may pass DeletePrincipalMappingRequest
3239
+ # data as a hash:
3240
+ #
3241
+ # {
3242
+ # index_id: "IndexId", # required
3243
+ # data_source_id: "DataSourceId",
3244
+ # group_id: "GroupId", # required
3245
+ # ordering_id: 1,
3246
+ # }
3247
+ #
3248
+ # @!attribute [rw] index_id
3249
+ # The identifier of the index you want to delete a group from.
3250
+ # @return [String]
3251
+ #
3252
+ # @!attribute [rw] data_source_id
3253
+ # The identifier of the data source you want to delete a group from.
3254
+ #
3255
+ # This is useful if a group is tied to multiple data sources and you
3256
+ # want to delete a group from accessing documents in a certain data
3257
+ # source. For example, the groups "Research", "Engineering", and
3258
+ # "Sales and Marketing" are all tied to the company's documents
3259
+ # stored in the data sources Confluence and Salesforce. You want to
3260
+ # delete "Research" and "Engineering" groups from Salesforce, so
3261
+ # that these groups cannot access customer-related documents stored in
3262
+ # Salesforce. Only "Sales and Marketing" should access documents in
3263
+ # the Salesforce data source.
3264
+ # @return [String]
3265
+ #
3266
+ # @!attribute [rw] group_id
3267
+ # The identifier of the group you want to delete.
3268
+ # @return [String]
3269
+ #
3270
+ # @!attribute [rw] ordering_id
3271
+ # The timestamp identifier you specify to ensure Amazon Kendra does
3272
+ # not override the latest `DELETE` action with previous actions. The
3273
+ # highest number ID, which is the ordering ID, is the latest action
3274
+ # you want to process and apply on top of other actions with lower
3275
+ # number IDs. This prevents previous actions with lower number IDs
3276
+ # from possibly overriding the latest action.
3277
+ #
3278
+ # The ordering ID can be the UNIX time of the last update you made to
3279
+ # a group members list. You would then provide this list when calling
3280
+ # `PutPrincipalMapping`. This ensures your `DELETE` action for that
3281
+ # updated group with the latest members list doesn't get overwritten
3282
+ # by earlier `DELETE` actions for the same group which are yet to be
3283
+ # processed.
3284
+ #
3285
+ # The default ordering ID is the current UNIX time in milliseconds
3286
+ # that the action was received by Amazon Kendra.
3287
+ # @return [Integer]
3288
+ #
3289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeletePrincipalMappingRequest AWS API Documentation
3290
+ #
3291
+ class DeletePrincipalMappingRequest < Struct.new(
3292
+ :index_id,
3293
+ :data_source_id,
3294
+ :group_id,
3295
+ :ordering_id)
3296
+ SENSITIVE = []
3297
+ include Aws::Structure
3298
+ end
3299
+
3202
3300
  # @note When making an API call, you may pass DeleteQuerySuggestionsBlockListRequest
3203
3301
  # data as a hash:
3204
3302
  #
@@ -3477,8 +3575,8 @@ module Aws::Kendra
3477
3575
  # @return [String]
3478
3576
  #
3479
3577
  # @!attribute [rw] server_side_encryption_configuration
3480
- # The identifier of the AWS KMS customer master key (CMK) used to
3481
- # encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.
3578
+ # The identifier of the KMScustomer master key (CMK) used to encrypt
3579
+ # your data. Amazon Kendra doesn't support asymmetric CMKs.
3482
3580
  # @return [Types::ServerSideEncryptionConfiguration]
3483
3581
  #
3484
3582
  # @!attribute [rw] status
@@ -3552,6 +3650,86 @@ module Aws::Kendra
3552
3650
  include Aws::Structure
3553
3651
  end
3554
3652
 
3653
+ # @note When making an API call, you may pass DescribePrincipalMappingRequest
3654
+ # data as a hash:
3655
+ #
3656
+ # {
3657
+ # index_id: "IndexId", # required
3658
+ # data_source_id: "DataSourceId",
3659
+ # group_id: "GroupId", # required
3660
+ # }
3661
+ #
3662
+ # @!attribute [rw] index_id
3663
+ # The identifier of the index required to check the processing of
3664
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3665
+ # @return [String]
3666
+ #
3667
+ # @!attribute [rw] data_source_id
3668
+ # The identifier of the data source to check the processing of `PUT`
3669
+ # and `DELETE` actions for mapping users to their groups.
3670
+ # @return [String]
3671
+ #
3672
+ # @!attribute [rw] group_id
3673
+ # The identifier of the group required to check the processing of
3674
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3675
+ # @return [String]
3676
+ #
3677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingRequest AWS API Documentation
3678
+ #
3679
+ class DescribePrincipalMappingRequest < Struct.new(
3680
+ :index_id,
3681
+ :data_source_id,
3682
+ :group_id)
3683
+ SENSITIVE = []
3684
+ include Aws::Structure
3685
+ end
3686
+
3687
+ # @!attribute [rw] index_id
3688
+ # Shows the identifier of the index to see information on the
3689
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3690
+ # groups.
3691
+ # @return [String]
3692
+ #
3693
+ # @!attribute [rw] data_source_id
3694
+ # Shows the identifier of the data source to see information on the
3695
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3696
+ # groups.
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] group_id
3700
+ # Shows the identifier of the group to see information on the
3701
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3702
+ # groups.
3703
+ # @return [String]
3704
+ #
3705
+ # @!attribute [rw] group_ordering_id_summaries
3706
+ # Shows the following information on the processing of `PUT` and
3707
+ # `DELETE` actions for mapping users to their groups:
3708
+ #
3709
+ # * Status – the status can be either `PROCESSING`, `SUCCEEDED`,
3710
+ # `DELETING`, `DELETED`, or `FAILED`.
3711
+ #
3712
+ # * Last updated – the last date-time an action was updated.
3713
+ #
3714
+ # * Received – the last date-time an action was received or submitted.
3715
+ #
3716
+ # * Ordering ID – the latest action that should process and apply
3717
+ # after other actions.
3718
+ #
3719
+ # * Failure reason – the reason an action could not be processed.
3720
+ # @return [Array<Types::GroupOrderingIdSummary>]
3721
+ #
3722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingResponse AWS API Documentation
3723
+ #
3724
+ class DescribePrincipalMappingResponse < Struct.new(
3725
+ :index_id,
3726
+ :data_source_id,
3727
+ :group_id,
3728
+ :group_ordering_id_summaries)
3729
+ SENSITIVE = []
3730
+ include Aws::Structure
3731
+ end
3732
+
3555
3733
  # @note When making an API call, you may pass DescribeQuerySuggestionsBlockListRequest
3556
3734
  # data as a hash:
3557
3735
  #
@@ -3902,6 +4080,19 @@ module Aws::Kendra
3902
4080
  # name: "PrincipalName", # required
3903
4081
  # type: "USER", # required, accepts USER, GROUP
3904
4082
  # access: "ALLOW", # required, accepts ALLOW, DENY
4083
+ # data_source_id: "DataSourceId",
4084
+ # },
4085
+ # ],
4086
+ # hierarchical_access_control_list: [
4087
+ # {
4088
+ # principal_list: [ # required
4089
+ # {
4090
+ # name: "PrincipalName", # required
4091
+ # type: "USER", # required, accepts USER, GROUP
4092
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4093
+ # data_source_id: "DataSourceId",
4094
+ # },
4095
+ # ],
3905
4096
  # },
3906
4097
  # ],
3907
4098
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -3920,9 +4111,9 @@ module Aws::Kendra
3920
4111
  #
3921
4112
  # Documents passed to the `Blob` parameter must be base64 encoded.
3922
4113
  # Your code might not need to encode the document file bytes if
3923
- # you're using an AWS SDK to call Amazon Kendra operations. If you
3924
- # are calling the Amazon Kendra endpoint directly using REST, you must
3925
- # base64 encode the contents before sending.
4114
+ # you're using an Amazon Web Services SDK to call Amazon Kendra
4115
+ # operations. If you are calling the Amazon Kendra endpoint directly
4116
+ # using REST, you must base64 encode the contents before sending.
3926
4117
  # @return [String]
3927
4118
  #
3928
4119
  # @!attribute [rw] s3_path
@@ -3937,9 +4128,19 @@ module Aws::Kendra
3937
4128
  # @return [Array<Types::DocumentAttribute>]
3938
4129
  #
3939
4130
  # @!attribute [rw] access_control_list
3940
- # Information to use for user context filtering.
4131
+ # Information on user and group access rights, which is used for user
4132
+ # context filtering.
3941
4133
  # @return [Array<Types::Principal>]
3942
4134
  #
4135
+ # @!attribute [rw] hierarchical_access_control_list
4136
+ # The list of [principal][1] lists that define the hierarchy for which
4137
+ # documents users should have access to.
4138
+ #
4139
+ #
4140
+ #
4141
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4142
+ # @return [Array<Types::HierarchicalPrincipal>]
4143
+ #
3943
4144
  # @!attribute [rw] content_type
3944
4145
  # The file type of the document in the `Blob` field.
3945
4146
  # @return [String]
@@ -3953,6 +4154,7 @@ module Aws::Kendra
3953
4154
  :s3_path,
3954
4155
  :attributes,
3955
4156
  :access_control_list,
4157
+ :hierarchical_access_control_list,
3956
4158
  :content_type)
3957
4159
  SENSITIVE = []
3958
4160
  include Aws::Structure
@@ -4216,9 +4418,10 @@ module Aws::Kendra
4216
4418
  # }
4217
4419
  #
4218
4420
  # @!attribute [rw] s3_prefix
4219
- # A prefix used to filter metadata configuration files in the AWS S3
4220
- # bucket. The S3 bucket might contain multiple metadata files. Use
4221
- # `S3Prefix` to include only the desired metadata files.
4421
+ # A prefix used to filter metadata configuration files in the Amazon
4422
+ # Web Services S3 bucket. The S3 bucket might contain multiple
4423
+ # metadata files. Use `S3Prefix` to include only the desired metadata
4424
+ # files.
4222
4425
  # @return [String]
4223
4426
  #
4224
4427
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentsMetadataConfiguration AWS API Documentation
@@ -4416,7 +4619,7 @@ module Aws::Kendra
4416
4619
  # }
4417
4620
  #
4418
4621
  # @!attribute [rw] secret_arn
4419
- # The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that
4622
+ # The Amazon Resource Name (ARN) of a Secrets Managersecret that
4420
4623
  # contains the credentials required to connect to Google Drive. For
4421
4624
  # more information, see [Using a Google Workspace Drive data
4422
4625
  # source][1].
@@ -4490,6 +4693,157 @@ module Aws::Kendra
4490
4693
  include Aws::Structure
4491
4694
  end
4492
4695
 
4696
+ # A list of users or sub groups that belong to a group. Users and groups
4697
+ # are useful for filtering search results to different users based on
4698
+ # their group's access to documents.
4699
+ #
4700
+ # @note When making an API call, you may pass GroupMembers
4701
+ # data as a hash:
4702
+ #
4703
+ # {
4704
+ # member_groups: [
4705
+ # {
4706
+ # group_id: "GroupId", # required
4707
+ # data_source_id: "DataSourceId",
4708
+ # },
4709
+ # ],
4710
+ # member_users: [
4711
+ # {
4712
+ # user_id: "UserId", # required
4713
+ # },
4714
+ # ],
4715
+ # s3_pathfor_group_members: {
4716
+ # bucket: "S3BucketName", # required
4717
+ # key: "S3ObjectKey", # required
4718
+ # },
4719
+ # }
4720
+ #
4721
+ # @!attribute [rw] member_groups
4722
+ # A list of sub groups that belong to a group. For example, the sub
4723
+ # groups "Research", "Engineering", and "Sales and Marketing"
4724
+ # all belong to the group "Company".
4725
+ # @return [Array<Types::MemberGroup>]
4726
+ #
4727
+ # @!attribute [rw] member_users
4728
+ # A list of users that belong to a group. For example, a list of
4729
+ # interns all belong to the "Interns" group.
4730
+ # @return [Array<Types::MemberUser>]
4731
+ #
4732
+ # @!attribute [rw] s3_pathfor_group_members
4733
+ # If you have more than 1000 users and/or sub groups for a single
4734
+ # group, you need to provide the path to the S3 file that lists your
4735
+ # users and sub groups for a group. Your sub groups can contain more
4736
+ # than 1000 users, but the list of sub groups that belong to a group
4737
+ # (and/or users) must be no more than 1000.
4738
+ # @return [Types::S3Path]
4739
+ #
4740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupMembers AWS API Documentation
4741
+ #
4742
+ class GroupMembers < Struct.new(
4743
+ :member_groups,
4744
+ :member_users,
4745
+ :s3_pathfor_group_members)
4746
+ SENSITIVE = []
4747
+ include Aws::Structure
4748
+ end
4749
+
4750
+ # Information on the processing of `PUT` and `DELETE` actions for
4751
+ # mapping users to their groups.
4752
+ #
4753
+ # @!attribute [rw] status
4754
+ # The current processing status of actions for mapping users to their
4755
+ # groups. The status can be either `PROCESSING`, `SUCCEEDED`,
4756
+ # `DELETING`, `DELETED`, or `FAILED`.
4757
+ # @return [String]
4758
+ #
4759
+ # @!attribute [rw] last_updated_at
4760
+ # The last date-time an action was updated. An action can be a `PUT`
4761
+ # or `DELETE` action for mapping users to their groups.
4762
+ # @return [Time]
4763
+ #
4764
+ # @!attribute [rw] received_at
4765
+ # The date-time an action was received by Amazon Kendra. An action can
4766
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4767
+ # @return [Time]
4768
+ #
4769
+ # @!attribute [rw] ordering_id
4770
+ # The order in which actions should complete processing. An action can
4771
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4772
+ # @return [Integer]
4773
+ #
4774
+ # @!attribute [rw] failure_reason
4775
+ # The reason an action could not be processed. An action can be a
4776
+ # `PUT` or `DELETE` action for mapping users to their groups.
4777
+ # @return [String]
4778
+ #
4779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupOrderingIdSummary AWS API Documentation
4780
+ #
4781
+ class GroupOrderingIdSummary < Struct.new(
4782
+ :status,
4783
+ :last_updated_at,
4784
+ :received_at,
4785
+ :ordering_id,
4786
+ :failure_reason)
4787
+ SENSITIVE = []
4788
+ include Aws::Structure
4789
+ end
4790
+
4791
+ # Group summary information.
4792
+ #
4793
+ # @!attribute [rw] group_id
4794
+ # The identifier of the group you want group summary information on.
4795
+ # @return [String]
4796
+ #
4797
+ # @!attribute [rw] ordering_id
4798
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
4799
+ # action.
4800
+ # @return [Integer]
4801
+ #
4802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupSummary AWS API Documentation
4803
+ #
4804
+ class GroupSummary < Struct.new(
4805
+ :group_id,
4806
+ :ordering_id)
4807
+ SENSITIVE = []
4808
+ include Aws::Structure
4809
+ end
4810
+
4811
+ # Information to define the hierarchy for which documents users should
4812
+ # have access to.
4813
+ #
4814
+ # @note When making an API call, you may pass HierarchicalPrincipal
4815
+ # data as a hash:
4816
+ #
4817
+ # {
4818
+ # principal_list: [ # required
4819
+ # {
4820
+ # name: "PrincipalName", # required
4821
+ # type: "USER", # required, accepts USER, GROUP
4822
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4823
+ # data_source_id: "DataSourceId",
4824
+ # },
4825
+ # ],
4826
+ # }
4827
+ #
4828
+ # @!attribute [rw] principal_list
4829
+ # A list of [principal][1] lists that define the hierarchy for which
4830
+ # documents users should have access to. Each hierarchical list
4831
+ # specifies which user or group has allow or deny access for each
4832
+ # document.
4833
+ #
4834
+ #
4835
+ #
4836
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4837
+ # @return [Array<Types::Principal>]
4838
+ #
4839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/HierarchicalPrincipal AWS API Documentation
4840
+ #
4841
+ class HierarchicalPrincipal < Struct.new(
4842
+ :principal_list)
4843
+ SENSITIVE = []
4844
+ include Aws::Structure
4845
+ end
4846
+
4493
4847
  # Provides information that you can use to highlight a search result so
4494
4848
  # that your users can quickly identify terms in the response.
4495
4849
  #
@@ -4870,6 +5224,71 @@ module Aws::Kendra
4870
5224
  include Aws::Structure
4871
5225
  end
4872
5226
 
5227
+ # @note When making an API call, you may pass ListGroupsOlderThanOrderingIdRequest
5228
+ # data as a hash:
5229
+ #
5230
+ # {
5231
+ # index_id: "IndexId", # required
5232
+ # data_source_id: "DataSourceId",
5233
+ # ordering_id: 1, # required
5234
+ # next_token: "NextToken",
5235
+ # max_results: 1,
5236
+ # }
5237
+ #
5238
+ # @!attribute [rw] index_id
5239
+ # The identifier of the index for getting a list of groups mapped to
5240
+ # users before a given ordering or timestamp identifier.
5241
+ # @return [String]
5242
+ #
5243
+ # @!attribute [rw] data_source_id
5244
+ # The identifier of the data source for getting a list of groups
5245
+ # mapped to users before a given ordering timestamp identifier.
5246
+ # @return [String]
5247
+ #
5248
+ # @!attribute [rw] ordering_id
5249
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
5250
+ # action for mapping users to their groups.
5251
+ # @return [Integer]
5252
+ #
5253
+ # @!attribute [rw] next_token
5254
+ # The next items in the list of groups that go beyond the maximum.
5255
+ # @return [String]
5256
+ #
5257
+ # @!attribute [rw] max_results
5258
+ # The maximum results shown for a list of groups that are mapped to
5259
+ # users before a given ordering or timestamp identifier.
5260
+ # @return [Integer]
5261
+ #
5262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdRequest AWS API Documentation
5263
+ #
5264
+ class ListGroupsOlderThanOrderingIdRequest < Struct.new(
5265
+ :index_id,
5266
+ :data_source_id,
5267
+ :ordering_id,
5268
+ :next_token,
5269
+ :max_results)
5270
+ SENSITIVE = []
5271
+ include Aws::Structure
5272
+ end
5273
+
5274
+ # @!attribute [rw] groups_summaries
5275
+ # Summary information for list of groups that are mapped to users
5276
+ # before a given ordering or timestamp identifier.
5277
+ # @return [Array<Types::GroupSummary>]
5278
+ #
5279
+ # @!attribute [rw] next_token
5280
+ # The next items in the list of groups that go beyond the maximum.
5281
+ # @return [String]
5282
+ #
5283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdResponse AWS API Documentation
5284
+ #
5285
+ class ListGroupsOlderThanOrderingIdResponse < Struct.new(
5286
+ :groups_summaries,
5287
+ :next_token)
5288
+ SENSITIVE = []
5289
+ include Aws::Structure
5290
+ end
5291
+
4873
5292
  # @note When making an API call, you may pass ListIndicesRequest
4874
5293
  # data as a hash:
4875
5294
  #
@@ -5074,6 +5493,55 @@ module Aws::Kendra
5074
5493
  include Aws::Structure
5075
5494
  end
5076
5495
 
5496
+ # The sub groups that belong to a group.
5497
+ #
5498
+ # @note When making an API call, you may pass MemberGroup
5499
+ # data as a hash:
5500
+ #
5501
+ # {
5502
+ # group_id: "GroupId", # required
5503
+ # data_source_id: "DataSourceId",
5504
+ # }
5505
+ #
5506
+ # @!attribute [rw] group_id
5507
+ # The identifier of the sub group you want to map to a group.
5508
+ # @return [String]
5509
+ #
5510
+ # @!attribute [rw] data_source_id
5511
+ # The identifier of the data source for the sub group you want to map
5512
+ # to a group.
5513
+ # @return [String]
5514
+ #
5515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberGroup AWS API Documentation
5516
+ #
5517
+ class MemberGroup < Struct.new(
5518
+ :group_id,
5519
+ :data_source_id)
5520
+ SENSITIVE = []
5521
+ include Aws::Structure
5522
+ end
5523
+
5524
+ # The users that belong to a group.
5525
+ #
5526
+ # @note When making an API call, you may pass MemberUser
5527
+ # data as a hash:
5528
+ #
5529
+ # {
5530
+ # user_id: "UserId", # required
5531
+ # }
5532
+ #
5533
+ # @!attribute [rw] user_id
5534
+ # The identifier of the user you want to map to a group.
5535
+ # @return [String]
5536
+ #
5537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberUser AWS API Documentation
5538
+ #
5539
+ class MemberUser < Struct.new(
5540
+ :user_id)
5541
+ SENSITIVE = []
5542
+ include Aws::Structure
5543
+ end
5544
+
5077
5545
  # Provides configuration information for data sources that connect to
5078
5546
  # OneDrive.
5079
5547
  #
@@ -5107,7 +5575,7 @@ module Aws::Kendra
5107
5575
  # @return [String]
5108
5576
  #
5109
5577
  # @!attribute [rw] secret_arn
5110
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
5578
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
5111
5579
  # contains the user name and password to connect to OneDrive. The user
5112
5580
  # namd should be the application ID for the OneDrive application, and
5113
5581
  # the password is the application key for the OneDrive application.
@@ -5205,6 +5673,7 @@ module Aws::Kendra
5205
5673
  # name: "PrincipalName", # required
5206
5674
  # type: "USER", # required, accepts USER, GROUP
5207
5675
  # access: "ALLOW", # required, accepts ALLOW, DENY
5676
+ # data_source_id: "DataSourceId",
5208
5677
  # }
5209
5678
  #
5210
5679
  # @!attribute [rw] name
@@ -5219,12 +5688,18 @@ module Aws::Kendra
5219
5688
  # Whether to allow or deny access to the principal.
5220
5689
  # @return [String]
5221
5690
  #
5691
+ # @!attribute [rw] data_source_id
5692
+ # The identifier of the data source the principal should access
5693
+ # documents from.
5694
+ # @return [String]
5695
+ #
5222
5696
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Principal AWS API Documentation
5223
5697
  #
5224
5698
  class Principal < Struct.new(
5225
5699
  :name,
5226
5700
  :type,
5227
- :access)
5701
+ :access,
5702
+ :data_source_id)
5228
5703
  SENSITIVE = []
5229
5704
  include Aws::Structure
5230
5705
  end
@@ -5280,6 +5755,114 @@ module Aws::Kendra
5280
5755
  include Aws::Structure
5281
5756
  end
5282
5757
 
5758
+ # @note When making an API call, you may pass PutPrincipalMappingRequest
5759
+ # data as a hash:
5760
+ #
5761
+ # {
5762
+ # index_id: "IndexId", # required
5763
+ # data_source_id: "DataSourceId",
5764
+ # group_id: "GroupId", # required
5765
+ # group_members: { # required
5766
+ # member_groups: [
5767
+ # {
5768
+ # group_id: "GroupId", # required
5769
+ # data_source_id: "DataSourceId",
5770
+ # },
5771
+ # ],
5772
+ # member_users: [
5773
+ # {
5774
+ # user_id: "UserId", # required
5775
+ # },
5776
+ # ],
5777
+ # s3_pathfor_group_members: {
5778
+ # bucket: "S3BucketName", # required
5779
+ # key: "S3ObjectKey", # required
5780
+ # },
5781
+ # },
5782
+ # ordering_id: 1,
5783
+ # role_arn: "RoleArn",
5784
+ # }
5785
+ #
5786
+ # @!attribute [rw] index_id
5787
+ # The identifier of the index you want to map users to their groups.
5788
+ # @return [String]
5789
+ #
5790
+ # @!attribute [rw] data_source_id
5791
+ # The identifier of the data source you want to map users to their
5792
+ # groups.
5793
+ #
5794
+ # This is useful if a group is tied to multiple data sources, but you
5795
+ # only want the group to access documents of a certain data source.
5796
+ # For example, the groups "Research", "Engineering", and "Sales
5797
+ # and Marketing" are all tied to the company's documents stored in
5798
+ # the data sources Confluence and Salesforce. However, "Sales and
5799
+ # Marketing" team only needs access to customer-related documents
5800
+ # stored in Salesforce.
5801
+ # @return [String]
5802
+ #
5803
+ # @!attribute [rw] group_id
5804
+ # The identifier of the group you want to map its users to.
5805
+ # @return [String]
5806
+ #
5807
+ # @!attribute [rw] group_members
5808
+ # The list that contains your users or sub groups that belong the same
5809
+ # group.
5810
+ #
5811
+ # For example, the group "Company" includes the user "CEO" and the
5812
+ # sub groups "Research", "Engineering", and "Sales and
5813
+ # Marketing".
5814
+ #
5815
+ # If you have more than 1000 users and/or sub groups for a single
5816
+ # group, you need to provide the path to the S3 file that lists your
5817
+ # users and sub groups for a group. Your sub groups can contain more
5818
+ # than 1000 users, but the list of sub groups that belong to a group
5819
+ # (and/or users) must be no more than 1000.
5820
+ # @return [Types::GroupMembers]
5821
+ #
5822
+ # @!attribute [rw] ordering_id
5823
+ # The timestamp identifier you specify to ensure Amazon Kendra does
5824
+ # not override the latest `PUT` action with previous actions. The
5825
+ # highest number ID, which is the ordering ID, is the latest action
5826
+ # you want to process and apply on top of other actions with lower
5827
+ # number IDs. This prevents previous actions with lower number IDs
5828
+ # from possibly overriding the latest action.
5829
+ #
5830
+ # The ordering ID can be the UNIX time of the last update you made to
5831
+ # a group members list. You would then provide this list when calling
5832
+ # `PutPrincipalMapping`. This ensures your `PUT` action for that
5833
+ # updated group with the latest members list doesn't get overwritten
5834
+ # by earlier `PUT` actions for the same group which are yet to be
5835
+ # processed.
5836
+ #
5837
+ # The default ordering ID is the current UNIX time in milliseconds
5838
+ # that the action was received by Amazon Kendra.
5839
+ # @return [Integer]
5840
+ #
5841
+ # @!attribute [rw] role_arn
5842
+ # The Amazon Resource Name (ARN) of a role that has access to the S3
5843
+ # file that contains your list of users or sub groups that belong to a
5844
+ # group.
5845
+ #
5846
+ # For more information, see [IAM roles for Amazon Kendra][1].
5847
+ #
5848
+ #
5849
+ #
5850
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds
5851
+ # @return [String]
5852
+ #
5853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/PutPrincipalMappingRequest AWS API Documentation
5854
+ #
5855
+ class PutPrincipalMappingRequest < Struct.new(
5856
+ :index_id,
5857
+ :data_source_id,
5858
+ :group_id,
5859
+ :group_members,
5860
+ :ordering_id,
5861
+ :role_arn)
5862
+ SENSITIVE = []
5863
+ include Aws::Structure
5864
+ end
5865
+
5283
5866
  # @note When making an API call, you may pass QueryRequest
5284
5867
  # data as a hash:
5285
5868
  #
@@ -5393,6 +5976,14 @@ module Aws::Kendra
5393
5976
  # },
5394
5977
  # user_context: {
5395
5978
  # token: "Token",
5979
+ # user_id: "PrincipalName",
5980
+ # groups: ["PrincipalName"],
5981
+ # data_source_groups: [
5982
+ # {
5983
+ # group_id: "PrincipalName", # required
5984
+ # data_source_id: "DataSourceId", # required
5985
+ # },
5986
+ # ],
5396
5987
  # },
5397
5988
  # visitor_id: "VisitorId",
5398
5989
  # }
@@ -6095,7 +6686,7 @@ module Aws::Kendra
6095
6686
  # @return [String]
6096
6687
  #
6097
6688
  # @!attribute [rw] secret_arn
6098
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
6689
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
6099
6690
  # contains the key/value pairs required to connect to your Salesforce
6100
6691
  # instance. The secret must contain a JSON structure with the
6101
6692
  # following keys:
@@ -6538,9 +7129,9 @@ module Aws::Kendra
6538
7129
  include Aws::Structure
6539
7130
  end
6540
7131
 
6541
- # Provides the identifier of the AWS KMS customer master key (CMK) used
6542
- # to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
6543
- # support asymmetric CMKs.
7132
+ # Provides the identifier of the KMScustomer master key (CMK) used to
7133
+ # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support
7134
+ # asymmetric CMKs.
6544
7135
  #
6545
7136
  # @note When making an API call, you may pass ServerSideEncryptionConfiguration
6546
7137
  # data as a hash:
@@ -6550,8 +7141,8 @@ module Aws::Kendra
6550
7141
  # }
6551
7142
  #
6552
7143
  # @!attribute [rw] kms_key_id
6553
- # The identifier of the AWS KMS customer master key (CMK). Amazon
6554
- # Kendra doesn't support asymmetric CMKs.
7144
+ # The identifier of the KMScustomer master key (CMK). Amazon Kendra
7145
+ # doesn't support asymmetric CMKs.
6555
7146
  # @return [String]
6556
7147
  #
6557
7148
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ServerSideEncryptionConfiguration AWS API Documentation
@@ -6611,7 +7202,7 @@ module Aws::Kendra
6611
7202
  # @return [String]
6612
7203
  #
6613
7204
  # @!attribute [rw] secret_arn
6614
- # The Amazon Resource Name (ARN) of the AWS Secret Manager secret that
7205
+ # The Amazon Resource Name (ARN) of the Secrets Manager secret that
6615
7206
  # contains the user name and password required to connect to the
6616
7207
  # ServiceNow instance.
6617
7208
  # @return [String]
@@ -6875,10 +7466,12 @@ module Aws::Kendra
6875
7466
  #
6876
7467
  # @!attribute [rw] secret_arn
6877
7468
  # The Amazon Resource Name (ARN) of credentials stored in AWS Secrets
6878
- # Manager. The credentials should be a user/password pair. For more
6879
- # information, see [Using a Microsoft SharePoint Data Source][1]. For
6880
- # more information about AWS Secrets Manager, see [ What Is AWS
6881
- # Secrets Manager ][2] in the *AWS Secrets Manager* user guide.
7469
+ # Manager. The credentials should be a user/password pair. If you use
7470
+ # SharePoint Sever, you also need to provide the sever domain name as
7471
+ # part of the credentials. For more information, see [Using a
7472
+ # Microsoft SharePoint Data Source][1]. For more information about AWS
7473
+ # Secrets Manager, see [ What Is AWS Secrets Manager ][2] in the
7474
+ # <i>Secrets Manager </i> user guide.
6882
7475
  #
6883
7476
  #
6884
7477
  #
@@ -8253,21 +8846,60 @@ module Aws::Kendra
8253
8846
 
8254
8847
  # Provides information about the user context for a Amazon Kendra index.
8255
8848
  #
8849
+ # This is used for filtering search results for different users based on
8850
+ # their access to documents.
8851
+ #
8852
+ # You provide one of the following:
8853
+ #
8854
+ # * User token
8855
+ #
8856
+ # * User ID, the groups the user belongs to, and the data sources the
8857
+ # groups can access
8858
+ #
8859
+ # If you provide both, an exception is thrown.
8860
+ #
8256
8861
  # @note When making an API call, you may pass UserContext
8257
8862
  # data as a hash:
8258
8863
  #
8259
8864
  # {
8260
8865
  # token: "Token",
8866
+ # user_id: "PrincipalName",
8867
+ # groups: ["PrincipalName"],
8868
+ # data_source_groups: [
8869
+ # {
8870
+ # group_id: "PrincipalName", # required
8871
+ # data_source_id: "DataSourceId", # required
8872
+ # },
8873
+ # ],
8261
8874
  # }
8262
8875
  #
8263
8876
  # @!attribute [rw] token
8264
- # The user context token. It must be a JWT or a JSON token.
8877
+ # The user context token for filtering search results for a user. It
8878
+ # must be a JWT or a JSON token.
8265
8879
  # @return [String]
8266
8880
  #
8881
+ # @!attribute [rw] user_id
8882
+ # The identifier of the user you want to filter search results based
8883
+ # on their access to documents.
8884
+ # @return [String]
8885
+ #
8886
+ # @!attribute [rw] groups
8887
+ # The list of groups you want to filter search results based on the
8888
+ # groups' access to documents.
8889
+ # @return [Array<String>]
8890
+ #
8891
+ # @!attribute [rw] data_source_groups
8892
+ # The list of data source groups you want to filter search results
8893
+ # based on groups' access to documents in that data source.
8894
+ # @return [Array<Types::DataSourceGroup>]
8895
+ #
8267
8896
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserContext AWS API Documentation
8268
8897
  #
8269
8898
  class UserContext < Struct.new(
8270
- :token)
8899
+ :token,
8900
+ :user_id,
8901
+ :groups,
8902
+ :data_source_groups)
8271
8903
  SENSITIVE = []
8272
8904
  include Aws::Structure
8273
8905
  end