aws-sdk-kendra 1.29.0 → 1.30.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')
@@ -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