aws-sdk-kendra 1.29.0 → 1.33.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')
@@ -232,12 +254,16 @@ module Aws::Kendra
232
254
  OneDriveUserList = Shapes::ListShape.new(name: 'OneDriveUserList')
233
255
  OneDriveUsers = Shapes::StructureShape.new(name: 'OneDriveUsers')
234
256
  Order = Shapes::StringShape.new(name: 'Order')
257
+ OrganizationId = Shapes::StringShape.new(name: 'OrganizationId')
235
258
  Port = Shapes::IntegerShape.new(name: 'Port')
236
259
  Principal = Shapes::StructureShape.new(name: 'Principal')
237
260
  PrincipalList = Shapes::ListShape.new(name: 'PrincipalList')
261
+ PrincipalMappingStatus = Shapes::StringShape.new(name: 'PrincipalMappingStatus')
238
262
  PrincipalName = Shapes::StringShape.new(name: 'PrincipalName')
263
+ PrincipalOrderingId = Shapes::IntegerShape.new(name: 'PrincipalOrderingId')
239
264
  PrincipalType = Shapes::StringShape.new(name: 'PrincipalType')
240
265
  ProxyConfiguration = Shapes::StructureShape.new(name: 'ProxyConfiguration')
266
+ PutPrincipalMappingRequest = Shapes::StructureShape.new(name: 'PutPrincipalMappingRequest')
241
267
  QueryCapacityUnit = Shapes::IntegerShape.new(name: 'QueryCapacityUnit')
242
268
  QueryId = Shapes::StringShape.new(name: 'QueryId')
243
269
  QueryIdentifiersEnclosingOption = Shapes::StringShape.new(name: 'QueryIdentifiersEnclosingOption')
@@ -361,6 +387,7 @@ module Aws::Kendra
361
387
  UserAccount = Shapes::StringShape.new(name: 'UserAccount')
362
388
  UserContext = Shapes::StructureShape.new(name: 'UserContext')
363
389
  UserContextPolicy = Shapes::StringShape.new(name: 'UserContextPolicy')
390
+ UserId = Shapes::StringShape.new(name: 'UserId')
364
391
  UserNameAttributeField = Shapes::StringShape.new(name: 'UserNameAttributeField')
365
392
  UserTokenConfiguration = Shapes::StructureShape.new(name: 'UserTokenConfiguration')
366
393
  UserTokenConfigurationList = Shapes::ListShape.new(name: 'UserTokenConfigurationList')
@@ -371,6 +398,7 @@ module Aws::Kendra
371
398
  VpcSecurityGroupId = Shapes::StringShape.new(name: 'VpcSecurityGroupId')
372
399
  WebCrawlerConfiguration = Shapes::StructureShape.new(name: 'WebCrawlerConfiguration')
373
400
  WebCrawlerMode = Shapes::StringShape.new(name: 'WebCrawlerMode')
401
+ WorkDocsConfiguration = Shapes::StructureShape.new(name: 'WorkDocsConfiguration')
374
402
 
375
403
  AccessControlListConfiguration.add_member(:key_path, Shapes::ShapeRef.new(shape: S3ObjectKey, location_name: "KeyPath"))
376
404
  AccessControlListConfiguration.struct_class = Types::AccessControlListConfiguration
@@ -625,8 +653,15 @@ module Aws::Kendra
625
653
  DataSourceConfiguration.add_member(:confluence_configuration, Shapes::ShapeRef.new(shape: ConfluenceConfiguration, location_name: "ConfluenceConfiguration"))
626
654
  DataSourceConfiguration.add_member(:google_drive_configuration, Shapes::ShapeRef.new(shape: GoogleDriveConfiguration, location_name: "GoogleDriveConfiguration"))
627
655
  DataSourceConfiguration.add_member(:web_crawler_configuration, Shapes::ShapeRef.new(shape: WebCrawlerConfiguration, location_name: "WebCrawlerConfiguration"))
656
+ DataSourceConfiguration.add_member(:work_docs_configuration, Shapes::ShapeRef.new(shape: WorkDocsConfiguration, location_name: "WorkDocsConfiguration"))
628
657
  DataSourceConfiguration.struct_class = Types::DataSourceConfiguration
629
658
 
659
+ DataSourceGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "GroupId"))
660
+ DataSourceGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, required: true, location_name: "DataSourceId"))
661
+ DataSourceGroup.struct_class = Types::DataSourceGroup
662
+
663
+ DataSourceGroups.member = Shapes::ShapeRef.new(shape: DataSourceGroup)
664
+
630
665
  DataSourceInclusionsExclusionsStrings.member = Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStringsMember)
631
666
 
632
667
  DataSourceSummary.add_member(:name, Shapes::ShapeRef.new(shape: DataSourceName, location_name: "Name"))
@@ -692,6 +727,12 @@ module Aws::Kendra
692
727
  DeleteIndexRequest.add_member(:id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "Id"))
693
728
  DeleteIndexRequest.struct_class = Types::DeleteIndexRequest
694
729
 
730
+ DeletePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
731
+ DeletePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
732
+ DeletePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
733
+ DeletePrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
734
+ DeletePrincipalMappingRequest.struct_class = Types::DeletePrincipalMappingRequest
735
+
695
736
  DeleteQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
696
737
  DeleteQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
697
738
  DeleteQuerySuggestionsBlockListRequest.struct_class = Types::DeleteQuerySuggestionsBlockListRequest
@@ -755,6 +796,17 @@ module Aws::Kendra
755
796
  DescribeIndexResponse.add_member(:user_context_policy, Shapes::ShapeRef.new(shape: UserContextPolicy, location_name: "UserContextPolicy"))
756
797
  DescribeIndexResponse.struct_class = Types::DescribeIndexResponse
757
798
 
799
+ DescribePrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
800
+ DescribePrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
801
+ DescribePrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
802
+ DescribePrincipalMappingRequest.struct_class = Types::DescribePrincipalMappingRequest
803
+
804
+ DescribePrincipalMappingResponse.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, location_name: "IndexId"))
805
+ DescribePrincipalMappingResponse.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
806
+ DescribePrincipalMappingResponse.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
807
+ DescribePrincipalMappingResponse.add_member(:group_ordering_id_summaries, Shapes::ShapeRef.new(shape: GroupOrderingIdSummaries, location_name: "GroupOrderingIdSummaries"))
808
+ DescribePrincipalMappingResponse.struct_class = Types::DescribePrincipalMappingResponse
809
+
758
810
  DescribeQuerySuggestionsBlockListRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
759
811
  DescribeQuerySuggestionsBlockListRequest.add_member(:id, Shapes::ShapeRef.new(shape: QuerySuggestionsBlockListId, required: true, location_name: "Id"))
760
812
  DescribeQuerySuggestionsBlockListRequest.struct_class = Types::DescribeQuerySuggestionsBlockListRequest
@@ -812,6 +864,7 @@ module Aws::Kendra
812
864
  Document.add_member(:s3_path, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3Path"))
813
865
  Document.add_member(:attributes, Shapes::ShapeRef.new(shape: DocumentAttributeList, location_name: "Attributes"))
814
866
  Document.add_member(:access_control_list, Shapes::ShapeRef.new(shape: PrincipalList, location_name: "AccessControlList"))
867
+ Document.add_member(:hierarchical_access_control_list, Shapes::ShapeRef.new(shape: HierarchicalPrincipalList, location_name: "HierarchicalAccessControlList"))
815
868
  Document.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location_name: "ContentType"))
816
869
  Document.struct_class = Types::Document
817
870
 
@@ -915,6 +968,31 @@ module Aws::Kendra
915
968
  GoogleDriveConfiguration.add_member(:exclude_shared_drives, Shapes::ShapeRef.new(shape: ExcludeSharedDrivesList, location_name: "ExcludeSharedDrives"))
916
969
  GoogleDriveConfiguration.struct_class = Types::GoogleDriveConfiguration
917
970
 
971
+ GroupMembers.add_member(:member_groups, Shapes::ShapeRef.new(shape: MemberGroups, location_name: "MemberGroups"))
972
+ GroupMembers.add_member(:member_users, Shapes::ShapeRef.new(shape: MemberUsers, location_name: "MemberUsers"))
973
+ GroupMembers.add_member(:s3_pathfor_group_members, Shapes::ShapeRef.new(shape: S3Path, location_name: "S3PathforGroupMembers"))
974
+ GroupMembers.struct_class = Types::GroupMembers
975
+
976
+ GroupOrderingIdSummaries.member = Shapes::ShapeRef.new(shape: GroupOrderingIdSummary)
977
+
978
+ GroupOrderingIdSummary.add_member(:status, Shapes::ShapeRef.new(shape: PrincipalMappingStatus, location_name: "Status"))
979
+ GroupOrderingIdSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedAt"))
980
+ GroupOrderingIdSummary.add_member(:received_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ReceivedAt"))
981
+ GroupOrderingIdSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
982
+ GroupOrderingIdSummary.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "FailureReason"))
983
+ GroupOrderingIdSummary.struct_class = Types::GroupOrderingIdSummary
984
+
985
+ GroupSummary.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, location_name: "GroupId"))
986
+ GroupSummary.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
987
+ GroupSummary.struct_class = Types::GroupSummary
988
+
989
+ Groups.member = Shapes::ShapeRef.new(shape: PrincipalName)
990
+
991
+ HierarchicalPrincipal.add_member(:principal_list, Shapes::ShapeRef.new(shape: PrincipalList, required: true, location_name: "PrincipalList"))
992
+ HierarchicalPrincipal.struct_class = Types::HierarchicalPrincipal
993
+
994
+ HierarchicalPrincipalList.member = Shapes::ShapeRef.new(shape: HierarchicalPrincipal)
995
+
918
996
  Highlight.add_member(:begin_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "BeginOffset"))
919
997
  Highlight.add_member(:end_offset, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "EndOffset"))
920
998
  Highlight.add_member(:top_answer, Shapes::ShapeRef.new(shape: Boolean, location_name: "TopAnswer"))
@@ -983,6 +1061,17 @@ module Aws::Kendra
983
1061
  ListFaqsResponse.add_member(:faq_summary_items, Shapes::ShapeRef.new(shape: FaqSummaryItems, location_name: "FaqSummaryItems"))
984
1062
  ListFaqsResponse.struct_class = Types::ListFaqsResponse
985
1063
 
1064
+ ListGroupsOlderThanOrderingIdRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1065
+ ListGroupsOlderThanOrderingIdRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1066
+ ListGroupsOlderThanOrderingIdRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, required: true, location_name: "OrderingId"))
1067
+ ListGroupsOlderThanOrderingIdRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1068
+ ListGroupsOlderThanOrderingIdRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListPrincipalsRequest, location_name: "MaxResults"))
1069
+ ListGroupsOlderThanOrderingIdRequest.struct_class = Types::ListGroupsOlderThanOrderingIdRequest
1070
+
1071
+ ListGroupsOlderThanOrderingIdResponse.add_member(:groups_summaries, Shapes::ShapeRef.new(shape: ListOfGroupSummaries, location_name: "GroupsSummaries"))
1072
+ ListGroupsOlderThanOrderingIdResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1073
+ ListGroupsOlderThanOrderingIdResponse.struct_class = Types::ListGroupsOlderThanOrderingIdResponse
1074
+
986
1075
  ListIndicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
987
1076
  ListIndicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListIndicesRequest, location_name: "MaxResults"))
988
1077
  ListIndicesRequest.struct_class = Types::ListIndicesRequest
@@ -991,6 +1080,8 @@ module Aws::Kendra
991
1080
  ListIndicesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
992
1081
  ListIndicesResponse.struct_class = Types::ListIndicesResponse
993
1082
 
1083
+ ListOfGroupSummaries.member = Shapes::ShapeRef.new(shape: GroupSummary)
1084
+
994
1085
  ListQuerySuggestionsBlockListsRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
995
1086
  ListQuerySuggestionsBlockListsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
996
1087
  ListQuerySuggestionsBlockListsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsIntegerForListQuerySuggestionsBlockLists, location_name: "MaxResults"))
@@ -1015,6 +1106,17 @@ module Aws::Kendra
1015
1106
  ListThesauriResponse.add_member(:thesaurus_summary_items, Shapes::ShapeRef.new(shape: ThesaurusSummaryItems, location_name: "ThesaurusSummaryItems"))
1016
1107
  ListThesauriResponse.struct_class = Types::ListThesauriResponse
1017
1108
 
1109
+ MemberGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1110
+ MemberGroup.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1111
+ MemberGroup.struct_class = Types::MemberGroup
1112
+
1113
+ MemberGroups.member = Shapes::ShapeRef.new(shape: MemberGroup)
1114
+
1115
+ MemberUser.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location_name: "UserId"))
1116
+ MemberUser.struct_class = Types::MemberUser
1117
+
1118
+ MemberUsers.member = Shapes::ShapeRef.new(shape: MemberUser)
1119
+
1018
1120
  OneDriveConfiguration.add_member(:tenant_domain, Shapes::ShapeRef.new(shape: TenantDomain, required: true, location_name: "TenantDomain"))
1019
1121
  OneDriveConfiguration.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, required: true, location_name: "SecretArn"))
1020
1122
  OneDriveConfiguration.add_member(:one_drive_users, Shapes::ShapeRef.new(shape: OneDriveUsers, required: true, location_name: "OneDriveUsers"))
@@ -1033,6 +1135,7 @@ module Aws::Kendra
1033
1135
  Principal.add_member(:name, Shapes::ShapeRef.new(shape: PrincipalName, required: true, location_name: "Name"))
1034
1136
  Principal.add_member(:type, Shapes::ShapeRef.new(shape: PrincipalType, required: true, location_name: "Type"))
1035
1137
  Principal.add_member(:access, Shapes::ShapeRef.new(shape: ReadAccessType, required: true, location_name: "Access"))
1138
+ Principal.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1036
1139
  Principal.struct_class = Types::Principal
1037
1140
 
1038
1141
  PrincipalList.member = Shapes::ShapeRef.new(shape: Principal)
@@ -1042,6 +1145,14 @@ module Aws::Kendra
1042
1145
  ProxyConfiguration.add_member(:credentials, Shapes::ShapeRef.new(shape: SecretArn, location_name: "Credentials"))
1043
1146
  ProxyConfiguration.struct_class = Types::ProxyConfiguration
1044
1147
 
1148
+ PutPrincipalMappingRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1149
+ PutPrincipalMappingRequest.add_member(:data_source_id, Shapes::ShapeRef.new(shape: DataSourceId, location_name: "DataSourceId"))
1150
+ PutPrincipalMappingRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: GroupId, required: true, location_name: "GroupId"))
1151
+ PutPrincipalMappingRequest.add_member(:group_members, Shapes::ShapeRef.new(shape: GroupMembers, required: true, location_name: "GroupMembers"))
1152
+ PutPrincipalMappingRequest.add_member(:ordering_id, Shapes::ShapeRef.new(shape: PrincipalOrderingId, location_name: "OrderingId"))
1153
+ PutPrincipalMappingRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn"))
1154
+ PutPrincipalMappingRequest.struct_class = Types::PutPrincipalMappingRequest
1155
+
1045
1156
  QueryRequest.add_member(:index_id, Shapes::ShapeRef.new(shape: IndexId, required: true, location_name: "IndexId"))
1046
1157
  QueryRequest.add_member(:query_text, Shapes::ShapeRef.new(shape: QueryText, required: true, location_name: "QueryText"))
1047
1158
  QueryRequest.add_member(:attribute_filter, Shapes::ShapeRef.new(shape: AttributeFilter, location_name: "AttributeFilter"))
@@ -1386,6 +1497,9 @@ module Aws::Kendra
1386
1497
  Urls.struct_class = Types::Urls
1387
1498
 
1388
1499
  UserContext.add_member(:token, Shapes::ShapeRef.new(shape: Token, location_name: "Token"))
1500
+ UserContext.add_member(:user_id, Shapes::ShapeRef.new(shape: PrincipalName, location_name: "UserId"))
1501
+ UserContext.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups"))
1502
+ UserContext.add_member(:data_source_groups, Shapes::ShapeRef.new(shape: DataSourceGroups, location_name: "DataSourceGroups"))
1389
1503
  UserContext.struct_class = Types::UserContext
1390
1504
 
1391
1505
  UserTokenConfiguration.add_member(:jwt_token_type_configuration, Shapes::ShapeRef.new(shape: JwtTokenTypeConfiguration, location_name: "JwtTokenTypeConfiguration"))
@@ -1411,6 +1525,14 @@ module Aws::Kendra
1411
1525
  WebCrawlerConfiguration.add_member(:authentication_configuration, Shapes::ShapeRef.new(shape: AuthenticationConfiguration, location_name: "AuthenticationConfiguration"))
1412
1526
  WebCrawlerConfiguration.struct_class = Types::WebCrawlerConfiguration
1413
1527
 
1528
+ WorkDocsConfiguration.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
1529
+ WorkDocsConfiguration.add_member(:crawl_comments, Shapes::ShapeRef.new(shape: Boolean, location_name: "CrawlComments"))
1530
+ WorkDocsConfiguration.add_member(:use_change_log, Shapes::ShapeRef.new(shape: Boolean, location_name: "UseChangeLog"))
1531
+ WorkDocsConfiguration.add_member(:inclusion_patterns, Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStrings, location_name: "InclusionPatterns"))
1532
+ WorkDocsConfiguration.add_member(:exclusion_patterns, Shapes::ShapeRef.new(shape: DataSourceInclusionsExclusionsStrings, location_name: "ExclusionPatterns"))
1533
+ WorkDocsConfiguration.add_member(:field_mappings, Shapes::ShapeRef.new(shape: DataSourceToIndexFieldMappingList, location_name: "FieldMappings"))
1534
+ WorkDocsConfiguration.struct_class = Types::WorkDocsConfiguration
1535
+
1414
1536
 
1415
1537
  # @api private
1416
1538
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1606,6 +1728,20 @@ module Aws::Kendra
1606
1728
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1607
1729
  end)
1608
1730
 
1731
+ api.add_operation(:delete_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1732
+ o.name = "DeletePrincipalMapping"
1733
+ o.http_method = "POST"
1734
+ o.http_request_uri = "/"
1735
+ o.input = Shapes::ShapeRef.new(shape: DeletePrincipalMappingRequest)
1736
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1737
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1738
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1739
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1740
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1741
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1742
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1743
+ end)
1744
+
1609
1745
  api.add_operation(:delete_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1610
1746
  o.name = "DeleteQuerySuggestionsBlockList"
1611
1747
  o.http_method = "POST"
@@ -1673,6 +1809,19 @@ module Aws::Kendra
1673
1809
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1674
1810
  end)
1675
1811
 
1812
+ api.add_operation(:describe_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
1813
+ o.name = "DescribePrincipalMapping"
1814
+ o.http_method = "POST"
1815
+ o.http_request_uri = "/"
1816
+ o.input = Shapes::ShapeRef.new(shape: DescribePrincipalMappingRequest)
1817
+ o.output = Shapes::ShapeRef.new(shape: DescribePrincipalMappingResponse)
1818
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1819
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1820
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1821
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1822
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1823
+ end)
1824
+
1676
1825
  api.add_operation(:describe_query_suggestions_block_list, Seahorse::Model::Operation.new.tap do |o|
1677
1826
  o.name = "DescribeQuerySuggestionsBlockList"
1678
1827
  o.http_method = "POST"
@@ -1779,6 +1928,20 @@ module Aws::Kendra
1779
1928
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1780
1929
  end)
1781
1930
 
1931
+ api.add_operation(:list_groups_older_than_ordering_id, Seahorse::Model::Operation.new.tap do |o|
1932
+ o.name = "ListGroupsOlderThanOrderingId"
1933
+ o.http_method = "POST"
1934
+ o.http_request_uri = "/"
1935
+ o.input = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdRequest)
1936
+ o.output = Shapes::ShapeRef.new(shape: ListGroupsOlderThanOrderingIdResponse)
1937
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1938
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1939
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1940
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1941
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1942
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1943
+ end)
1944
+
1782
1945
  api.add_operation(:list_indices, Seahorse::Model::Operation.new.tap do |o|
1783
1946
  o.name = "ListIndices"
1784
1947
  o.http_method = "POST"
@@ -1836,6 +1999,21 @@ module Aws::Kendra
1836
1999
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1837
2000
  end)
1838
2001
 
2002
+ api.add_operation(:put_principal_mapping, Seahorse::Model::Operation.new.tap do |o|
2003
+ o.name = "PutPrincipalMapping"
2004
+ o.http_method = "POST"
2005
+ o.http_request_uri = "/"
2006
+ o.input = Shapes::ShapeRef.new(shape: PutPrincipalMappingRequest)
2007
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2008
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2009
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2010
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2011
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2012
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2013
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2014
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2015
+ end)
2016
+
1839
2017
  api.add_operation(:query, Seahorse::Model::Operation.new.tap do |o|
1840
2018
  o.name = "Query"
1841
2019
  o.http_method = "POST"
@@ -25,7 +25,8 @@ module Aws::Kendra
25
25
  # }
26
26
  #
27
27
  # @!attribute [rw] key_path
28
- # Path to the AWS S3 bucket that contains the ACL files.
28
+ # Path to the Amazon Web Services S3 bucket that contains the ACL
29
+ # files.
29
30
  # @return [String]
30
31
  #
31
32
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AccessControlListConfiguration AWS API Documentation
@@ -127,6 +128,10 @@ module Aws::Kendra
127
128
  # exception with the message "`AttributeFilter` cannot have a depth of
128
129
  # more than 2."
129
130
  #
131
+ # If you use more than 10 attribute filters, you receive a
132
+ # `ValidationException` exception with the message "`AttributeFilter`
133
+ # cannot have a length of more than 10".
134
+ #
130
135
  # @note When making an API call, you may pass AttributeFilter
131
136
  # data as a hash:
132
137
  #
@@ -777,6 +782,19 @@ module Aws::Kendra
777
782
  # name: "PrincipalName", # required
778
783
  # type: "USER", # required, accepts USER, GROUP
779
784
  # access: "ALLOW", # required, accepts ALLOW, DENY
785
+ # data_source_id: "DataSourceId",
786
+ # },
787
+ # ],
788
+ # hierarchical_access_control_list: [
789
+ # {
790
+ # principal_list: [ # required
791
+ # {
792
+ # name: "PrincipalName", # required
793
+ # type: "USER", # required, accepts USER, GROUP
794
+ # access: "ALLOW", # required, accepts ALLOW, DENY
795
+ # data_source_id: "DataSourceId",
796
+ # },
797
+ # ],
780
798
  # },
781
799
  # ],
782
800
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -842,8 +860,9 @@ module Aws::Kendra
842
860
  # index.
843
861
  #
844
862
  # If there was an error adding a document to an index the error is
845
- # reported in your AWS CloudWatch log. For more information, see
846
- # [Monitoring Amazon Kendra with Amazon CloudWatch Logs][1]
863
+ # reported in your Amazon Web Services CloudWatch log. For more
864
+ # information, see [Monitoring Amazon Kendra with Amazon CloudWatch
865
+ # Logs][1]
847
866
  #
848
867
  #
849
868
  #
@@ -1274,7 +1293,7 @@ module Aws::Kendra
1274
1293
  # @return [String]
1275
1294
  #
1276
1295
  # @!attribute [rw] secret_arn
1277
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
1296
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
1278
1297
  # contains the key/value pairs required to connect to your Confluence
1279
1298
  # server. The secret must contain a JSON structure with the following
1280
1299
  # keys:
@@ -1567,11 +1586,11 @@ module Aws::Kendra
1567
1586
  # @return [String]
1568
1587
  #
1569
1588
  # @!attribute [rw] secret_arn
1570
- # The Amazon Resource Name (ARN) of credentials stored in AWS Secrets
1589
+ # The Amazon Resource Name (ARN) of credentials stored in Secrets
1571
1590
  # Manager. The credentials should be a user/password pair. For more
1572
1591
  # information, see [Using a Database Data Source][1]. For more
1573
- # information about AWS Secrets Manager, see [ What Is AWS Secrets
1574
- # Manager ][2] in the *AWS Secrets Manager* user guide.
1592
+ # information about Secrets Manager, see [ What Is Secrets Manager][2]
1593
+ # in the <i> Secrets Manager </i> user guide.
1575
1594
  #
1576
1595
  #
1577
1596
  #
@@ -1597,7 +1616,7 @@ module Aws::Kendra
1597
1616
  # {
1598
1617
  # name: "DataSourceName", # required
1599
1618
  # index_id: "IndexId", # required
1600
- # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER
1619
+ # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER, WORKDOCS
1601
1620
  # configuration: {
1602
1621
  # s3_configuration: {
1603
1622
  # bucket_name: "S3BucketName", # required
@@ -1895,6 +1914,20 @@ module Aws::Kendra
1895
1914
  # ],
1896
1915
  # },
1897
1916
  # },
1917
+ # work_docs_configuration: {
1918
+ # organization_id: "OrganizationId", # required
1919
+ # crawl_comments: false,
1920
+ # use_change_log: false,
1921
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1922
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1923
+ # field_mappings: [
1924
+ # {
1925
+ # data_source_field_name: "DataSourceFieldName", # required
1926
+ # date_field_format: "DataSourceDateFieldFormat",
1927
+ # index_field_name: "IndexFieldName", # required
1928
+ # },
1929
+ # ],
1930
+ # },
1898
1931
  # },
1899
1932
  # description: "Description",
1900
1933
  # schedule: "ScanSchedule",
@@ -2174,15 +2207,14 @@ module Aws::Kendra
2174
2207
  # @return [String]
2175
2208
  #
2176
2209
  # @!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.
2210
+ # An Identity and Access Management(IAM) role that gives Amazon Kendra
2211
+ # permissions to access your Amazon CloudWatch logs and metrics. This
2212
+ # is also the role used when you use the `BatchPutDocument` operation
2213
+ # to index documents from an Amazon S3 bucket.
2182
2214
  # @return [String]
2183
2215
  #
2184
2216
  # @!attribute [rw] server_side_encryption_configuration
2185
- # The identifier of the AWS KMS customer managed key (CMK) to use to
2217
+ # The identifier of the KMScustomer managed key (CMK) to use to
2186
2218
  # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
2187
2219
  # support asymmetric CMKs.
2188
2220
  # @return [Types::ServerSideEncryptionConfiguration]
@@ -2745,6 +2777,20 @@ module Aws::Kendra
2745
2777
  # ],
2746
2778
  # },
2747
2779
  # },
2780
+ # work_docs_configuration: {
2781
+ # organization_id: "OrganizationId", # required
2782
+ # crawl_comments: false,
2783
+ # use_change_log: false,
2784
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2785
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2786
+ # field_mappings: [
2787
+ # {
2788
+ # data_source_field_name: "DataSourceFieldName", # required
2789
+ # date_field_format: "DataSourceDateFieldFormat",
2790
+ # index_field_name: "IndexFieldName", # required
2791
+ # },
2792
+ # ],
2793
+ # },
2748
2794
  # }
2749
2795
  #
2750
2796
  # @!attribute [rw] s3_configuration
@@ -2792,6 +2838,11 @@ module Aws::Kendra
2792
2838
  # web crawler.
2793
2839
  # @return [Types::WebCrawlerConfiguration]
2794
2840
  #
2841
+ # @!attribute [rw] work_docs_configuration
2842
+ # Provides the configuration information to connect to WorkDocs as
2843
+ # your data source.
2844
+ # @return [Types::WorkDocsConfiguration]
2845
+ #
2795
2846
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceConfiguration AWS API Documentation
2796
2847
  #
2797
2848
  class DataSourceConfiguration < Struct.new(
@@ -2803,7 +2854,39 @@ module Aws::Kendra
2803
2854
  :service_now_configuration,
2804
2855
  :confluence_configuration,
2805
2856
  :google_drive_configuration,
2806
- :web_crawler_configuration)
2857
+ :web_crawler_configuration,
2858
+ :work_docs_configuration)
2859
+ SENSITIVE = []
2860
+ include Aws::Structure
2861
+ end
2862
+
2863
+ # Data source information for user context filtering.
2864
+ #
2865
+ # @note When making an API call, you may pass DataSourceGroup
2866
+ # data as a hash:
2867
+ #
2868
+ # {
2869
+ # group_id: "PrincipalName", # required
2870
+ # data_source_id: "DataSourceId", # required
2871
+ # }
2872
+ #
2873
+ # @!attribute [rw] group_id
2874
+ # The identifier of the group you want to add to your list of groups.
2875
+ # This is for filtering search results based on the groups' access to
2876
+ # documents.
2877
+ # @return [String]
2878
+ #
2879
+ # @!attribute [rw] data_source_id
2880
+ # The identifier of the data source group you want to add to your list
2881
+ # of data source groups. This is for filtering search results based on
2882
+ # the groups' access to documents in that data source.
2883
+ # @return [String]
2884
+ #
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceGroup AWS API Documentation
2886
+ #
2887
+ class DataSourceGroup < Struct.new(
2888
+ :group_id,
2889
+ :data_source_id)
2807
2890
  SENSITIVE = []
2808
2891
  include Aws::Structure
2809
2892
  end
@@ -3199,6 +3282,68 @@ module Aws::Kendra
3199
3282
  include Aws::Structure
3200
3283
  end
3201
3284
 
3285
+ # @note When making an API call, you may pass DeletePrincipalMappingRequest
3286
+ # data as a hash:
3287
+ #
3288
+ # {
3289
+ # index_id: "IndexId", # required
3290
+ # data_source_id: "DataSourceId",
3291
+ # group_id: "GroupId", # required
3292
+ # ordering_id: 1,
3293
+ # }
3294
+ #
3295
+ # @!attribute [rw] index_id
3296
+ # The identifier of the index you want to delete a group from.
3297
+ # @return [String]
3298
+ #
3299
+ # @!attribute [rw] data_source_id
3300
+ # The identifier of the data source you want to delete a group from.
3301
+ #
3302
+ # This is useful if a group is tied to multiple data sources and you
3303
+ # want to delete a group from accessing documents in a certain data
3304
+ # source. For example, the groups "Research", "Engineering", and
3305
+ # "Sales and Marketing" are all tied to the company's documents
3306
+ # stored in the data sources Confluence and Salesforce. You want to
3307
+ # delete "Research" and "Engineering" groups from Salesforce, so
3308
+ # that these groups cannot access customer-related documents stored in
3309
+ # Salesforce. Only "Sales and Marketing" should access documents in
3310
+ # the Salesforce data source.
3311
+ # @return [String]
3312
+ #
3313
+ # @!attribute [rw] group_id
3314
+ # The identifier of the group you want to delete.
3315
+ # @return [String]
3316
+ #
3317
+ # @!attribute [rw] ordering_id
3318
+ # The timestamp identifier you specify to ensure Amazon Kendra does
3319
+ # not override the latest `DELETE` action with previous actions. The
3320
+ # highest number ID, which is the ordering ID, is the latest action
3321
+ # you want to process and apply on top of other actions with lower
3322
+ # number IDs. This prevents previous actions with lower number IDs
3323
+ # from possibly overriding the latest action.
3324
+ #
3325
+ # The ordering ID can be the UNIX time of the last update you made to
3326
+ # a group members list. You would then provide this list when calling
3327
+ # `PutPrincipalMapping`. This ensures your `DELETE` action for that
3328
+ # updated group with the latest members list doesn't get overwritten
3329
+ # by earlier `DELETE` actions for the same group which are yet to be
3330
+ # processed.
3331
+ #
3332
+ # The default ordering ID is the current UNIX time in milliseconds
3333
+ # that the action was received by Amazon Kendra.
3334
+ # @return [Integer]
3335
+ #
3336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeletePrincipalMappingRequest AWS API Documentation
3337
+ #
3338
+ class DeletePrincipalMappingRequest < Struct.new(
3339
+ :index_id,
3340
+ :data_source_id,
3341
+ :group_id,
3342
+ :ordering_id)
3343
+ SENSITIVE = []
3344
+ include Aws::Structure
3345
+ end
3346
+
3202
3347
  # @note When making an API call, you may pass DeleteQuerySuggestionsBlockListRequest
3203
3348
  # data as a hash:
3204
3349
  #
@@ -3477,8 +3622,8 @@ module Aws::Kendra
3477
3622
  # @return [String]
3478
3623
  #
3479
3624
  # @!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.
3625
+ # The identifier of the KMScustomer master key (CMK) used to encrypt
3626
+ # your data. Amazon Kendra doesn't support asymmetric CMKs.
3482
3627
  # @return [Types::ServerSideEncryptionConfiguration]
3483
3628
  #
3484
3629
  # @!attribute [rw] status
@@ -3552,6 +3697,86 @@ module Aws::Kendra
3552
3697
  include Aws::Structure
3553
3698
  end
3554
3699
 
3700
+ # @note When making an API call, you may pass DescribePrincipalMappingRequest
3701
+ # data as a hash:
3702
+ #
3703
+ # {
3704
+ # index_id: "IndexId", # required
3705
+ # data_source_id: "DataSourceId",
3706
+ # group_id: "GroupId", # required
3707
+ # }
3708
+ #
3709
+ # @!attribute [rw] index_id
3710
+ # The identifier of the index required to check the processing of
3711
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3712
+ # @return [String]
3713
+ #
3714
+ # @!attribute [rw] data_source_id
3715
+ # The identifier of the data source to check the processing of `PUT`
3716
+ # and `DELETE` actions for mapping users to their groups.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] group_id
3720
+ # The identifier of the group required to check the processing of
3721
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3722
+ # @return [String]
3723
+ #
3724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingRequest AWS API Documentation
3725
+ #
3726
+ class DescribePrincipalMappingRequest < Struct.new(
3727
+ :index_id,
3728
+ :data_source_id,
3729
+ :group_id)
3730
+ SENSITIVE = []
3731
+ include Aws::Structure
3732
+ end
3733
+
3734
+ # @!attribute [rw] index_id
3735
+ # Shows the identifier of the index to see information on the
3736
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3737
+ # groups.
3738
+ # @return [String]
3739
+ #
3740
+ # @!attribute [rw] data_source_id
3741
+ # Shows the identifier of the data source to see information on the
3742
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3743
+ # groups.
3744
+ # @return [String]
3745
+ #
3746
+ # @!attribute [rw] group_id
3747
+ # Shows the identifier of the group to see information on the
3748
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3749
+ # groups.
3750
+ # @return [String]
3751
+ #
3752
+ # @!attribute [rw] group_ordering_id_summaries
3753
+ # Shows the following information on the processing of `PUT` and
3754
+ # `DELETE` actions for mapping users to their groups:
3755
+ #
3756
+ # * Status – the status can be either `PROCESSING`, `SUCCEEDED`,
3757
+ # `DELETING`, `DELETED`, or `FAILED`.
3758
+ #
3759
+ # * Last updated – the last date-time an action was updated.
3760
+ #
3761
+ # * Received – the last date-time an action was received or submitted.
3762
+ #
3763
+ # * Ordering ID – the latest action that should process and apply
3764
+ # after other actions.
3765
+ #
3766
+ # * Failure reason – the reason an action could not be processed.
3767
+ # @return [Array<Types::GroupOrderingIdSummary>]
3768
+ #
3769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingResponse AWS API Documentation
3770
+ #
3771
+ class DescribePrincipalMappingResponse < Struct.new(
3772
+ :index_id,
3773
+ :data_source_id,
3774
+ :group_id,
3775
+ :group_ordering_id_summaries)
3776
+ SENSITIVE = []
3777
+ include Aws::Structure
3778
+ end
3779
+
3555
3780
  # @note When making an API call, you may pass DescribeQuerySuggestionsBlockListRequest
3556
3781
  # data as a hash:
3557
3782
  #
@@ -3902,6 +4127,19 @@ module Aws::Kendra
3902
4127
  # name: "PrincipalName", # required
3903
4128
  # type: "USER", # required, accepts USER, GROUP
3904
4129
  # access: "ALLOW", # required, accepts ALLOW, DENY
4130
+ # data_source_id: "DataSourceId",
4131
+ # },
4132
+ # ],
4133
+ # hierarchical_access_control_list: [
4134
+ # {
4135
+ # principal_list: [ # required
4136
+ # {
4137
+ # name: "PrincipalName", # required
4138
+ # type: "USER", # required, accepts USER, GROUP
4139
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4140
+ # data_source_id: "DataSourceId",
4141
+ # },
4142
+ # ],
3905
4143
  # },
3906
4144
  # ],
3907
4145
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -3920,9 +4158,9 @@ module Aws::Kendra
3920
4158
  #
3921
4159
  # Documents passed to the `Blob` parameter must be base64 encoded.
3922
4160
  # 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.
4161
+ # you're using an Amazon Web Services SDK to call Amazon Kendra
4162
+ # operations. If you are calling the Amazon Kendra endpoint directly
4163
+ # using REST, you must base64 encode the contents before sending.
3926
4164
  # @return [String]
3927
4165
  #
3928
4166
  # @!attribute [rw] s3_path
@@ -3937,9 +4175,19 @@ module Aws::Kendra
3937
4175
  # @return [Array<Types::DocumentAttribute>]
3938
4176
  #
3939
4177
  # @!attribute [rw] access_control_list
3940
- # Information to use for user context filtering.
4178
+ # Information on user and group access rights, which is used for user
4179
+ # context filtering.
3941
4180
  # @return [Array<Types::Principal>]
3942
4181
  #
4182
+ # @!attribute [rw] hierarchical_access_control_list
4183
+ # The list of [principal][1] lists that define the hierarchy for which
4184
+ # documents users should have access to.
4185
+ #
4186
+ #
4187
+ #
4188
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4189
+ # @return [Array<Types::HierarchicalPrincipal>]
4190
+ #
3943
4191
  # @!attribute [rw] content_type
3944
4192
  # The file type of the document in the `Blob` field.
3945
4193
  # @return [String]
@@ -3953,6 +4201,7 @@ module Aws::Kendra
3953
4201
  :s3_path,
3954
4202
  :attributes,
3955
4203
  :access_control_list,
4204
+ :hierarchical_access_control_list,
3956
4205
  :content_type)
3957
4206
  SENSITIVE = []
3958
4207
  include Aws::Structure
@@ -4216,9 +4465,10 @@ module Aws::Kendra
4216
4465
  # }
4217
4466
  #
4218
4467
  # @!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.
4468
+ # A prefix used to filter metadata configuration files in the Amazon
4469
+ # Web Services S3 bucket. The S3 bucket might contain multiple
4470
+ # metadata files. Use `S3Prefix` to include only the desired metadata
4471
+ # files.
4222
4472
  # @return [String]
4223
4473
  #
4224
4474
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentsMetadataConfiguration AWS API Documentation
@@ -4416,7 +4666,7 @@ module Aws::Kendra
4416
4666
  # }
4417
4667
  #
4418
4668
  # @!attribute [rw] secret_arn
4419
- # The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that
4669
+ # The Amazon Resource Name (ARN) of a Secrets Managersecret that
4420
4670
  # contains the credentials required to connect to Google Drive. For
4421
4671
  # more information, see [Using a Google Workspace Drive data
4422
4672
  # source][1].
@@ -4490,6 +4740,157 @@ module Aws::Kendra
4490
4740
  include Aws::Structure
4491
4741
  end
4492
4742
 
4743
+ # A list of users or sub groups that belong to a group. Users and groups
4744
+ # are useful for filtering search results to different users based on
4745
+ # their group's access to documents.
4746
+ #
4747
+ # @note When making an API call, you may pass GroupMembers
4748
+ # data as a hash:
4749
+ #
4750
+ # {
4751
+ # member_groups: [
4752
+ # {
4753
+ # group_id: "GroupId", # required
4754
+ # data_source_id: "DataSourceId",
4755
+ # },
4756
+ # ],
4757
+ # member_users: [
4758
+ # {
4759
+ # user_id: "UserId", # required
4760
+ # },
4761
+ # ],
4762
+ # s3_pathfor_group_members: {
4763
+ # bucket: "S3BucketName", # required
4764
+ # key: "S3ObjectKey", # required
4765
+ # },
4766
+ # }
4767
+ #
4768
+ # @!attribute [rw] member_groups
4769
+ # A list of sub groups that belong to a group. For example, the sub
4770
+ # groups "Research", "Engineering", and "Sales and Marketing"
4771
+ # all belong to the group "Company".
4772
+ # @return [Array<Types::MemberGroup>]
4773
+ #
4774
+ # @!attribute [rw] member_users
4775
+ # A list of users that belong to a group. For example, a list of
4776
+ # interns all belong to the "Interns" group.
4777
+ # @return [Array<Types::MemberUser>]
4778
+ #
4779
+ # @!attribute [rw] s3_pathfor_group_members
4780
+ # If you have more than 1000 users and/or sub groups for a single
4781
+ # group, you need to provide the path to the S3 file that lists your
4782
+ # users and sub groups for a group. Your sub groups can contain more
4783
+ # than 1000 users, but the list of sub groups that belong to a group
4784
+ # (and/or users) must be no more than 1000.
4785
+ # @return [Types::S3Path]
4786
+ #
4787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupMembers AWS API Documentation
4788
+ #
4789
+ class GroupMembers < Struct.new(
4790
+ :member_groups,
4791
+ :member_users,
4792
+ :s3_pathfor_group_members)
4793
+ SENSITIVE = []
4794
+ include Aws::Structure
4795
+ end
4796
+
4797
+ # Information on the processing of `PUT` and `DELETE` actions for
4798
+ # mapping users to their groups.
4799
+ #
4800
+ # @!attribute [rw] status
4801
+ # The current processing status of actions for mapping users to their
4802
+ # groups. The status can be either `PROCESSING`, `SUCCEEDED`,
4803
+ # `DELETING`, `DELETED`, or `FAILED`.
4804
+ # @return [String]
4805
+ #
4806
+ # @!attribute [rw] last_updated_at
4807
+ # The last date-time an action was updated. An action can be a `PUT`
4808
+ # or `DELETE` action for mapping users to their groups.
4809
+ # @return [Time]
4810
+ #
4811
+ # @!attribute [rw] received_at
4812
+ # The date-time an action was received by Amazon Kendra. An action can
4813
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4814
+ # @return [Time]
4815
+ #
4816
+ # @!attribute [rw] ordering_id
4817
+ # The order in which actions should complete processing. An action can
4818
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4819
+ # @return [Integer]
4820
+ #
4821
+ # @!attribute [rw] failure_reason
4822
+ # The reason an action could not be processed. An action can be a
4823
+ # `PUT` or `DELETE` action for mapping users to their groups.
4824
+ # @return [String]
4825
+ #
4826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupOrderingIdSummary AWS API Documentation
4827
+ #
4828
+ class GroupOrderingIdSummary < Struct.new(
4829
+ :status,
4830
+ :last_updated_at,
4831
+ :received_at,
4832
+ :ordering_id,
4833
+ :failure_reason)
4834
+ SENSITIVE = []
4835
+ include Aws::Structure
4836
+ end
4837
+
4838
+ # Group summary information.
4839
+ #
4840
+ # @!attribute [rw] group_id
4841
+ # The identifier of the group you want group summary information on.
4842
+ # @return [String]
4843
+ #
4844
+ # @!attribute [rw] ordering_id
4845
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
4846
+ # action.
4847
+ # @return [Integer]
4848
+ #
4849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupSummary AWS API Documentation
4850
+ #
4851
+ class GroupSummary < Struct.new(
4852
+ :group_id,
4853
+ :ordering_id)
4854
+ SENSITIVE = []
4855
+ include Aws::Structure
4856
+ end
4857
+
4858
+ # Information to define the hierarchy for which documents users should
4859
+ # have access to.
4860
+ #
4861
+ # @note When making an API call, you may pass HierarchicalPrincipal
4862
+ # data as a hash:
4863
+ #
4864
+ # {
4865
+ # principal_list: [ # required
4866
+ # {
4867
+ # name: "PrincipalName", # required
4868
+ # type: "USER", # required, accepts USER, GROUP
4869
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4870
+ # data_source_id: "DataSourceId",
4871
+ # },
4872
+ # ],
4873
+ # }
4874
+ #
4875
+ # @!attribute [rw] principal_list
4876
+ # A list of [principal][1] lists that define the hierarchy for which
4877
+ # documents users should have access to. Each hierarchical list
4878
+ # specifies which user or group has allow or deny access for each
4879
+ # document.
4880
+ #
4881
+ #
4882
+ #
4883
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4884
+ # @return [Array<Types::Principal>]
4885
+ #
4886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/HierarchicalPrincipal AWS API Documentation
4887
+ #
4888
+ class HierarchicalPrincipal < Struct.new(
4889
+ :principal_list)
4890
+ SENSITIVE = []
4891
+ include Aws::Structure
4892
+ end
4893
+
4493
4894
  # Provides information that you can use to highlight a search result so
4494
4895
  # that your users can quickly identify terms in the response.
4495
4896
  #
@@ -4870,6 +5271,71 @@ module Aws::Kendra
4870
5271
  include Aws::Structure
4871
5272
  end
4872
5273
 
5274
+ # @note When making an API call, you may pass ListGroupsOlderThanOrderingIdRequest
5275
+ # data as a hash:
5276
+ #
5277
+ # {
5278
+ # index_id: "IndexId", # required
5279
+ # data_source_id: "DataSourceId",
5280
+ # ordering_id: 1, # required
5281
+ # next_token: "NextToken",
5282
+ # max_results: 1,
5283
+ # }
5284
+ #
5285
+ # @!attribute [rw] index_id
5286
+ # The identifier of the index for getting a list of groups mapped to
5287
+ # users before a given ordering or timestamp identifier.
5288
+ # @return [String]
5289
+ #
5290
+ # @!attribute [rw] data_source_id
5291
+ # The identifier of the data source for getting a list of groups
5292
+ # mapped to users before a given ordering timestamp identifier.
5293
+ # @return [String]
5294
+ #
5295
+ # @!attribute [rw] ordering_id
5296
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
5297
+ # action for mapping users to their groups.
5298
+ # @return [Integer]
5299
+ #
5300
+ # @!attribute [rw] next_token
5301
+ # The next items in the list of groups that go beyond the maximum.
5302
+ # @return [String]
5303
+ #
5304
+ # @!attribute [rw] max_results
5305
+ # The maximum results shown for a list of groups that are mapped to
5306
+ # users before a given ordering or timestamp identifier.
5307
+ # @return [Integer]
5308
+ #
5309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdRequest AWS API Documentation
5310
+ #
5311
+ class ListGroupsOlderThanOrderingIdRequest < Struct.new(
5312
+ :index_id,
5313
+ :data_source_id,
5314
+ :ordering_id,
5315
+ :next_token,
5316
+ :max_results)
5317
+ SENSITIVE = []
5318
+ include Aws::Structure
5319
+ end
5320
+
5321
+ # @!attribute [rw] groups_summaries
5322
+ # Summary information for list of groups that are mapped to users
5323
+ # before a given ordering or timestamp identifier.
5324
+ # @return [Array<Types::GroupSummary>]
5325
+ #
5326
+ # @!attribute [rw] next_token
5327
+ # The next items in the list of groups that go beyond the maximum.
5328
+ # @return [String]
5329
+ #
5330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdResponse AWS API Documentation
5331
+ #
5332
+ class ListGroupsOlderThanOrderingIdResponse < Struct.new(
5333
+ :groups_summaries,
5334
+ :next_token)
5335
+ SENSITIVE = []
5336
+ include Aws::Structure
5337
+ end
5338
+
4873
5339
  # @note When making an API call, you may pass ListIndicesRequest
4874
5340
  # data as a hash:
4875
5341
  #
@@ -5074,6 +5540,55 @@ module Aws::Kendra
5074
5540
  include Aws::Structure
5075
5541
  end
5076
5542
 
5543
+ # The sub groups that belong to a group.
5544
+ #
5545
+ # @note When making an API call, you may pass MemberGroup
5546
+ # data as a hash:
5547
+ #
5548
+ # {
5549
+ # group_id: "GroupId", # required
5550
+ # data_source_id: "DataSourceId",
5551
+ # }
5552
+ #
5553
+ # @!attribute [rw] group_id
5554
+ # The identifier of the sub group you want to map to a group.
5555
+ # @return [String]
5556
+ #
5557
+ # @!attribute [rw] data_source_id
5558
+ # The identifier of the data source for the sub group you want to map
5559
+ # to a group.
5560
+ # @return [String]
5561
+ #
5562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberGroup AWS API Documentation
5563
+ #
5564
+ class MemberGroup < Struct.new(
5565
+ :group_id,
5566
+ :data_source_id)
5567
+ SENSITIVE = []
5568
+ include Aws::Structure
5569
+ end
5570
+
5571
+ # The users that belong to a group.
5572
+ #
5573
+ # @note When making an API call, you may pass MemberUser
5574
+ # data as a hash:
5575
+ #
5576
+ # {
5577
+ # user_id: "UserId", # required
5578
+ # }
5579
+ #
5580
+ # @!attribute [rw] user_id
5581
+ # The identifier of the user you want to map to a group.
5582
+ # @return [String]
5583
+ #
5584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberUser AWS API Documentation
5585
+ #
5586
+ class MemberUser < Struct.new(
5587
+ :user_id)
5588
+ SENSITIVE = []
5589
+ include Aws::Structure
5590
+ end
5591
+
5077
5592
  # Provides configuration information for data sources that connect to
5078
5593
  # OneDrive.
5079
5594
  #
@@ -5107,7 +5622,7 @@ module Aws::Kendra
5107
5622
  # @return [String]
5108
5623
  #
5109
5624
  # @!attribute [rw] secret_arn
5110
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
5625
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
5111
5626
  # contains the user name and password to connect to OneDrive. The user
5112
5627
  # namd should be the application ID for the OneDrive application, and
5113
5628
  # the password is the application key for the OneDrive application.
@@ -5205,6 +5720,7 @@ module Aws::Kendra
5205
5720
  # name: "PrincipalName", # required
5206
5721
  # type: "USER", # required, accepts USER, GROUP
5207
5722
  # access: "ALLOW", # required, accepts ALLOW, DENY
5723
+ # data_source_id: "DataSourceId",
5208
5724
  # }
5209
5725
  #
5210
5726
  # @!attribute [rw] name
@@ -5219,12 +5735,18 @@ module Aws::Kendra
5219
5735
  # Whether to allow or deny access to the principal.
5220
5736
  # @return [String]
5221
5737
  #
5738
+ # @!attribute [rw] data_source_id
5739
+ # The identifier of the data source the principal should access
5740
+ # documents from.
5741
+ # @return [String]
5742
+ #
5222
5743
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Principal AWS API Documentation
5223
5744
  #
5224
5745
  class Principal < Struct.new(
5225
5746
  :name,
5226
5747
  :type,
5227
- :access)
5748
+ :access,
5749
+ :data_source_id)
5228
5750
  SENSITIVE = []
5229
5751
  include Aws::Structure
5230
5752
  end
@@ -5280,6 +5802,114 @@ module Aws::Kendra
5280
5802
  include Aws::Structure
5281
5803
  end
5282
5804
 
5805
+ # @note When making an API call, you may pass PutPrincipalMappingRequest
5806
+ # data as a hash:
5807
+ #
5808
+ # {
5809
+ # index_id: "IndexId", # required
5810
+ # data_source_id: "DataSourceId",
5811
+ # group_id: "GroupId", # required
5812
+ # group_members: { # required
5813
+ # member_groups: [
5814
+ # {
5815
+ # group_id: "GroupId", # required
5816
+ # data_source_id: "DataSourceId",
5817
+ # },
5818
+ # ],
5819
+ # member_users: [
5820
+ # {
5821
+ # user_id: "UserId", # required
5822
+ # },
5823
+ # ],
5824
+ # s3_pathfor_group_members: {
5825
+ # bucket: "S3BucketName", # required
5826
+ # key: "S3ObjectKey", # required
5827
+ # },
5828
+ # },
5829
+ # ordering_id: 1,
5830
+ # role_arn: "RoleArn",
5831
+ # }
5832
+ #
5833
+ # @!attribute [rw] index_id
5834
+ # The identifier of the index you want to map users to their groups.
5835
+ # @return [String]
5836
+ #
5837
+ # @!attribute [rw] data_source_id
5838
+ # The identifier of the data source you want to map users to their
5839
+ # groups.
5840
+ #
5841
+ # This is useful if a group is tied to multiple data sources, but you
5842
+ # only want the group to access documents of a certain data source.
5843
+ # For example, the groups "Research", "Engineering", and "Sales
5844
+ # and Marketing" are all tied to the company's documents stored in
5845
+ # the data sources Confluence and Salesforce. However, "Sales and
5846
+ # Marketing" team only needs access to customer-related documents
5847
+ # stored in Salesforce.
5848
+ # @return [String]
5849
+ #
5850
+ # @!attribute [rw] group_id
5851
+ # The identifier of the group you want to map its users to.
5852
+ # @return [String]
5853
+ #
5854
+ # @!attribute [rw] group_members
5855
+ # The list that contains your users or sub groups that belong the same
5856
+ # group.
5857
+ #
5858
+ # For example, the group "Company" includes the user "CEO" and the
5859
+ # sub groups "Research", "Engineering", and "Sales and
5860
+ # Marketing".
5861
+ #
5862
+ # If you have more than 1000 users and/or sub groups for a single
5863
+ # group, you need to provide the path to the S3 file that lists your
5864
+ # users and sub groups for a group. Your sub groups can contain more
5865
+ # than 1000 users, but the list of sub groups that belong to a group
5866
+ # (and/or users) must be no more than 1000.
5867
+ # @return [Types::GroupMembers]
5868
+ #
5869
+ # @!attribute [rw] ordering_id
5870
+ # The timestamp identifier you specify to ensure Amazon Kendra does
5871
+ # not override the latest `PUT` action with previous actions. The
5872
+ # highest number ID, which is the ordering ID, is the latest action
5873
+ # you want to process and apply on top of other actions with lower
5874
+ # number IDs. This prevents previous actions with lower number IDs
5875
+ # from possibly overriding the latest action.
5876
+ #
5877
+ # The ordering ID can be the UNIX time of the last update you made to
5878
+ # a group members list. You would then provide this list when calling
5879
+ # `PutPrincipalMapping`. This ensures your `PUT` action for that
5880
+ # updated group with the latest members list doesn't get overwritten
5881
+ # by earlier `PUT` actions for the same group which are yet to be
5882
+ # processed.
5883
+ #
5884
+ # The default ordering ID is the current UNIX time in milliseconds
5885
+ # that the action was received by Amazon Kendra.
5886
+ # @return [Integer]
5887
+ #
5888
+ # @!attribute [rw] role_arn
5889
+ # The Amazon Resource Name (ARN) of a role that has access to the S3
5890
+ # file that contains your list of users or sub groups that belong to a
5891
+ # group.
5892
+ #
5893
+ # For more information, see [IAM roles for Amazon Kendra][1].
5894
+ #
5895
+ #
5896
+ #
5897
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds
5898
+ # @return [String]
5899
+ #
5900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/PutPrincipalMappingRequest AWS API Documentation
5901
+ #
5902
+ class PutPrincipalMappingRequest < Struct.new(
5903
+ :index_id,
5904
+ :data_source_id,
5905
+ :group_id,
5906
+ :group_members,
5907
+ :ordering_id,
5908
+ :role_arn)
5909
+ SENSITIVE = []
5910
+ include Aws::Structure
5911
+ end
5912
+
5283
5913
  # @note When making an API call, you may pass QueryRequest
5284
5914
  # data as a hash:
5285
5915
  #
@@ -5393,6 +6023,14 @@ module Aws::Kendra
5393
6023
  # },
5394
6024
  # user_context: {
5395
6025
  # token: "Token",
6026
+ # user_id: "PrincipalName",
6027
+ # groups: ["PrincipalName"],
6028
+ # data_source_groups: [
6029
+ # {
6030
+ # group_id: "PrincipalName", # required
6031
+ # data_source_id: "DataSourceId", # required
6032
+ # },
6033
+ # ],
5396
6034
  # },
5397
6035
  # visitor_id: "VisitorId",
5398
6036
  # }
@@ -6095,7 +6733,7 @@ module Aws::Kendra
6095
6733
  # @return [String]
6096
6734
  #
6097
6735
  # @!attribute [rw] secret_arn
6098
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
6736
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
6099
6737
  # contains the key/value pairs required to connect to your Salesforce
6100
6738
  # instance. The secret must contain a JSON structure with the
6101
6739
  # following keys:
@@ -6538,9 +7176,9 @@ module Aws::Kendra
6538
7176
  include Aws::Structure
6539
7177
  end
6540
7178
 
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.
7179
+ # Provides the identifier of the KMScustomer master key (CMK) used to
7180
+ # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support
7181
+ # asymmetric CMKs.
6544
7182
  #
6545
7183
  # @note When making an API call, you may pass ServerSideEncryptionConfiguration
6546
7184
  # data as a hash:
@@ -6550,8 +7188,8 @@ module Aws::Kendra
6550
7188
  # }
6551
7189
  #
6552
7190
  # @!attribute [rw] kms_key_id
6553
- # The identifier of the AWS KMS customer master key (CMK). Amazon
6554
- # Kendra doesn't support asymmetric CMKs.
7191
+ # The identifier of the KMScustomer master key (CMK). Amazon Kendra
7192
+ # doesn't support asymmetric CMKs.
6555
7193
  # @return [String]
6556
7194
  #
6557
7195
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ServerSideEncryptionConfiguration AWS API Documentation
@@ -6611,7 +7249,7 @@ module Aws::Kendra
6611
7249
  # @return [String]
6612
7250
  #
6613
7251
  # @!attribute [rw] secret_arn
6614
- # The Amazon Resource Name (ARN) of the AWS Secret Manager secret that
7252
+ # The Amazon Resource Name (ARN) of the Secrets Manager secret that
6615
7253
  # contains the user name and password required to connect to the
6616
7254
  # ServiceNow instance.
6617
7255
  # @return [String]
@@ -6874,11 +7512,13 @@ module Aws::Kendra
6874
7512
  # @return [Array<String>]
6875
7513
  #
6876
7514
  # @!attribute [rw] secret_arn
6877
- # 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.
7515
+ # The Amazon Resource Name (ARN) of credentials stored in Secrets
7516
+ # Manager. The credentials should be a user/password pair. If you use
7517
+ # SharePoint Server, you also need to provide the sever domain name as
7518
+ # part of the credentials. For more information, see [Using a
7519
+ # Microsoft SharePoint Data Source][1]. For more information about
7520
+ # Secrets Manager, see [ What Is Secrets Manager][2] in the <i>Secrets
7521
+ # Manager </i> user guide.
6882
7522
  #
6883
7523
  #
6884
7524
  #
@@ -7837,6 +8477,20 @@ module Aws::Kendra
7837
8477
  # ],
7838
8478
  # },
7839
8479
  # },
8480
+ # work_docs_configuration: {
8481
+ # organization_id: "OrganizationId", # required
8482
+ # crawl_comments: false,
8483
+ # use_change_log: false,
8484
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8485
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8486
+ # field_mappings: [
8487
+ # {
8488
+ # data_source_field_name: "DataSourceFieldName", # required
8489
+ # date_field_format: "DataSourceDateFieldFormat",
8490
+ # index_field_name: "IndexFieldName", # required
8491
+ # },
8492
+ # ],
8493
+ # },
7840
8494
  # },
7841
8495
  # description: "Description",
7842
8496
  # schedule: "ScanSchedule",
@@ -8253,21 +8907,60 @@ module Aws::Kendra
8253
8907
 
8254
8908
  # Provides information about the user context for a Amazon Kendra index.
8255
8909
  #
8910
+ # This is used for filtering search results for different users based on
8911
+ # their access to documents.
8912
+ #
8913
+ # You provide one of the following:
8914
+ #
8915
+ # * User token
8916
+ #
8917
+ # * User ID, the groups the user belongs to, and the data sources the
8918
+ # groups can access
8919
+ #
8920
+ # If you provide both, an exception is thrown.
8921
+ #
8256
8922
  # @note When making an API call, you may pass UserContext
8257
8923
  # data as a hash:
8258
8924
  #
8259
8925
  # {
8260
8926
  # token: "Token",
8927
+ # user_id: "PrincipalName",
8928
+ # groups: ["PrincipalName"],
8929
+ # data_source_groups: [
8930
+ # {
8931
+ # group_id: "PrincipalName", # required
8932
+ # data_source_id: "DataSourceId", # required
8933
+ # },
8934
+ # ],
8261
8935
  # }
8262
8936
  #
8263
8937
  # @!attribute [rw] token
8264
- # The user context token. It must be a JWT or a JSON token.
8938
+ # The user context token for filtering search results for a user. It
8939
+ # must be a JWT or a JSON token.
8940
+ # @return [String]
8941
+ #
8942
+ # @!attribute [rw] user_id
8943
+ # The identifier of the user you want to filter search results based
8944
+ # on their access to documents.
8265
8945
  # @return [String]
8266
8946
  #
8947
+ # @!attribute [rw] groups
8948
+ # The list of groups you want to filter search results based on the
8949
+ # groups' access to documents.
8950
+ # @return [Array<String>]
8951
+ #
8952
+ # @!attribute [rw] data_source_groups
8953
+ # The list of data source groups you want to filter search results
8954
+ # based on groups' access to documents in that data source.
8955
+ # @return [Array<Types::DataSourceGroup>]
8956
+ #
8267
8957
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserContext AWS API Documentation
8268
8958
  #
8269
8959
  class UserContext < Struct.new(
8270
- :token)
8960
+ :token,
8961
+ :user_id,
8962
+ :groups,
8963
+ :data_source_groups)
8271
8964
  SENSITIVE = []
8272
8965
  include Aws::Structure
8273
8966
  end
@@ -8483,5 +9176,110 @@ module Aws::Kendra
8483
9176
  include Aws::Structure
8484
9177
  end
8485
9178
 
9179
+ # Provides the configuration information to connect to Amazon WorkDocs
9180
+ # as your data source.
9181
+ #
9182
+ # Amazon WorkDocs connector is available in Oregon, North Virginia,
9183
+ # Sydney, Singapore and Ireland regions.
9184
+ #
9185
+ # @note When making an API call, you may pass WorkDocsConfiguration
9186
+ # data as a hash:
9187
+ #
9188
+ # {
9189
+ # organization_id: "OrganizationId", # required
9190
+ # crawl_comments: false,
9191
+ # use_change_log: false,
9192
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
9193
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
9194
+ # field_mappings: [
9195
+ # {
9196
+ # data_source_field_name: "DataSourceFieldName", # required
9197
+ # date_field_format: "DataSourceDateFieldFormat",
9198
+ # index_field_name: "IndexFieldName", # required
9199
+ # },
9200
+ # ],
9201
+ # }
9202
+ #
9203
+ # @!attribute [rw] organization_id
9204
+ # The identifier of the directory corresponding to your Amazon
9205
+ # WorkDocs site repository.
9206
+ #
9207
+ # You can find the organization ID in the [AWS Directory Service][1]
9208
+ # by going to **Active Directory**, then **Directories**. Your Amazon
9209
+ # WorkDocs site directory has an ID, which is the organization ID. You
9210
+ # can also set up a new Amazon WorkDocs directory in the AWS Directory
9211
+ # Service console and enable a Amazon WorkDocs site for the directory
9212
+ # in the Amazon WorkDocs console.
9213
+ #
9214
+ #
9215
+ #
9216
+ # [1]: https://console.aws.amazon.com/directoryservicev2/
9217
+ # @return [String]
9218
+ #
9219
+ # @!attribute [rw] crawl_comments
9220
+ # `TRUE` to include comments on documents in your index. Including
9221
+ # comments in your index means each comment is a document that can be
9222
+ # searched on.
9223
+ #
9224
+ # The default is set to `FALSE`.
9225
+ # @return [Boolean]
9226
+ #
9227
+ # @!attribute [rw] use_change_log
9228
+ # `TRUE` to use the change logs to update documents in your index
9229
+ # instead of scanning all documents.
9230
+ #
9231
+ # If you are syncing your Amazon WorkDocs data source with your index
9232
+ # for the first time, all documents are scanned. After your first
9233
+ # sync, you can use the change logs to update your documents in your
9234
+ # index for future syncs.
9235
+ #
9236
+ # The default is set to `FALSE`.
9237
+ # @return [Boolean]
9238
+ #
9239
+ # @!attribute [rw] inclusion_patterns
9240
+ # A list of regular expression patterns to include certain files in
9241
+ # your Amazon WorkDocs site repository. Files that match the patterns
9242
+ # are included in the index. Files that don't match the patterns are
9243
+ # excluded from the index. If a file matches both an inclusion pattern
9244
+ # and an exclusion pattern, the exclusion pattern takes precedence and
9245
+ # the file isn’t included in the index.
9246
+ # @return [Array<String>]
9247
+ #
9248
+ # @!attribute [rw] exclusion_patterns
9249
+ # A list of regular expression patterns to exclude certain files in
9250
+ # your Amazon WorkDocs site repository. Files that match the patterns
9251
+ # are excluded from the index. Files that don’t match the patterns are
9252
+ # included in the index. If a file matches both an inclusion pattern
9253
+ # and an exclusion pattern, the exclusion pattern takes precedence and
9254
+ # the file isn’t included in the index.
9255
+ # @return [Array<String>]
9256
+ #
9257
+ # @!attribute [rw] field_mappings
9258
+ # A list of `DataSourceToIndexFieldMapping` objects that map Amazon
9259
+ # WorkDocs field names to custom index field names in Amazon Kendra.
9260
+ # You must first create the custom index fields using the
9261
+ # `UpdateIndex` operation before you map to Amazon WorkDocs fields.
9262
+ # For more information, see [Mapping Data Source Fields][1]. The
9263
+ # Amazon WorkDocs data source field names need to exist in your Amazon
9264
+ # WorkDocs custom metadata.
9265
+ #
9266
+ #
9267
+ #
9268
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html
9269
+ # @return [Array<Types::DataSourceToIndexFieldMapping>]
9270
+ #
9271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/WorkDocsConfiguration AWS API Documentation
9272
+ #
9273
+ class WorkDocsConfiguration < Struct.new(
9274
+ :organization_id,
9275
+ :crawl_comments,
9276
+ :use_change_log,
9277
+ :inclusion_patterns,
9278
+ :exclusion_patterns,
9279
+ :field_mappings)
9280
+ SENSITIVE = []
9281
+ include Aws::Structure
9282
+ end
9283
+
8486
9284
  end
8487
9285
  end