aws-sdk-kendra 1.38.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -112,6 +112,115 @@ module Aws::Kendra
112
112
  include Aws::Structure
113
113
  end
114
114
 
115
+ # @note When making an API call, you may pass AssociateEntitiesToExperienceRequest
116
+ # data as a hash:
117
+ #
118
+ # {
119
+ # id: "ExperienceId", # required
120
+ # index_id: "IndexId", # required
121
+ # entity_list: [ # required
122
+ # {
123
+ # entity_id: "EntityId", # required
124
+ # entity_type: "USER", # required, accepts USER, GROUP
125
+ # },
126
+ # ],
127
+ # }
128
+ #
129
+ # @!attribute [rw] id
130
+ # The identifier of your Amazon Kendra experience.
131
+ # @return [String]
132
+ #
133
+ # @!attribute [rw] index_id
134
+ # The identifier of the index for your Amazon Kendra experience.
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] entity_list
138
+ # Lists users or groups in your Amazon Web Services SSO identity
139
+ # source.
140
+ # @return [Array<Types::EntityConfiguration>]
141
+ #
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AssociateEntitiesToExperienceRequest AWS API Documentation
143
+ #
144
+ class AssociateEntitiesToExperienceRequest < Struct.new(
145
+ :id,
146
+ :index_id,
147
+ :entity_list)
148
+ SENSITIVE = []
149
+ include Aws::Structure
150
+ end
151
+
152
+ # @!attribute [rw] failed_entity_list
153
+ # Lists the users or groups in your Amazon Web Services SSO identity
154
+ # source that failed to properly configure with your Amazon Kendra
155
+ # experience.
156
+ # @return [Array<Types::FailedEntity>]
157
+ #
158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AssociateEntitiesToExperienceResponse AWS API Documentation
159
+ #
160
+ class AssociateEntitiesToExperienceResponse < Struct.new(
161
+ :failed_entity_list)
162
+ SENSITIVE = []
163
+ include Aws::Structure
164
+ end
165
+
166
+ # @note When making an API call, you may pass AssociatePersonasToEntitiesRequest
167
+ # data as a hash:
168
+ #
169
+ # {
170
+ # id: "ExperienceId", # required
171
+ # index_id: "IndexId", # required
172
+ # personas: [ # required
173
+ # {
174
+ # entity_id: "EntityId", # required
175
+ # persona: "OWNER", # required, accepts OWNER, VIEWER
176
+ # },
177
+ # ],
178
+ # }
179
+ #
180
+ # @!attribute [rw] id
181
+ # The identifier of your Amazon Kendra experience.
182
+ # @return [String]
183
+ #
184
+ # @!attribute [rw] index_id
185
+ # The identifier of the index for your Amazon Kendra experience.
186
+ # @return [String]
187
+ #
188
+ # @!attribute [rw] personas
189
+ # The personas that define the specific permissions of users or groups
190
+ # in your Amazon Web Services SSO identity source. The available
191
+ # personas or access roles are `Owner` and `Viewer`. For more
192
+ # information on these personas, see [Providing access to your search
193
+ # page][1].
194
+ #
195
+ #
196
+ #
197
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html#access-search-experience
198
+ # @return [Array<Types::EntityPersonaConfiguration>]
199
+ #
200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AssociatePersonasToEntitiesRequest AWS API Documentation
201
+ #
202
+ class AssociatePersonasToEntitiesRequest < Struct.new(
203
+ :id,
204
+ :index_id,
205
+ :personas)
206
+ SENSITIVE = []
207
+ include Aws::Structure
208
+ end
209
+
210
+ # @!attribute [rw] failed_entity_list
211
+ # Lists the users or groups in your Amazon Web Services SSO identity
212
+ # source that failed to properly configure with your Amazon Kendra
213
+ # experience.
214
+ # @return [Array<Types::FailedEntity>]
215
+ #
216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AssociatePersonasToEntitiesResponse AWS API Documentation
217
+ #
218
+ class AssociatePersonasToEntitiesResponse < Struct.new(
219
+ :failed_entity_list)
220
+ SENSITIVE = []
221
+ include Aws::Structure
222
+ end
223
+
115
224
  # Provides filtering the query results based on document attributes.
116
225
  #
117
226
  # When you use the `AndAllFilters` or `OrAllFilters`, filters you can
@@ -122,7 +231,7 @@ module Aws::Kendra
122
231
  #
123
232
  # 1. ` <OrAllFilters>`
124
233
  #
125
- # 2. ` <EqualTo>`
234
+ # 2. ` <EqualsTo>`
126
235
  #
127
236
  # If you use more than 2 layers, you receive a `ValidationException`
128
237
  # exception with the message "`AttributeFilter` cannot have a depth of
@@ -557,7 +666,7 @@ module Aws::Kendra
557
666
  # @return [Integer]
558
667
  #
559
668
  # @!attribute [rw] credentials
560
- # Your secret ARN, which you can create in [AWS Secrets Manager][1]
669
+ # Your secret ARN, which you can create in [Secrets Manager][1]
561
670
  #
562
671
  # You use a secret if basic authentication credentials are required to
563
672
  # connect to a website. The secret stores your credentials of user
@@ -800,6 +909,62 @@ module Aws::Kendra
800
909
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
801
910
  # },
802
911
  # ],
912
+ # custom_document_enrichment_configuration: {
913
+ # inline_configurations: [
914
+ # {
915
+ # condition: {
916
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
917
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
918
+ # condition_on_value: {
919
+ # string_value: "DocumentAttributeStringValue",
920
+ # string_list_value: ["String"],
921
+ # long_value: 1,
922
+ # date_value: Time.now,
923
+ # },
924
+ # },
925
+ # target: {
926
+ # target_document_attribute_key: "DocumentAttributeKey",
927
+ # target_document_attribute_value_deletion: false,
928
+ # target_document_attribute_value: {
929
+ # string_value: "DocumentAttributeStringValue",
930
+ # string_list_value: ["String"],
931
+ # long_value: 1,
932
+ # date_value: Time.now,
933
+ # },
934
+ # },
935
+ # document_content_deletion: false,
936
+ # },
937
+ # ],
938
+ # pre_extraction_hook_configuration: {
939
+ # invocation_condition: {
940
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
941
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
942
+ # condition_on_value: {
943
+ # string_value: "DocumentAttributeStringValue",
944
+ # string_list_value: ["String"],
945
+ # long_value: 1,
946
+ # date_value: Time.now,
947
+ # },
948
+ # },
949
+ # lambda_arn: "LambdaArn", # required
950
+ # s3_bucket: "S3BucketName", # required
951
+ # },
952
+ # post_extraction_hook_configuration: {
953
+ # invocation_condition: {
954
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
955
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
956
+ # condition_on_value: {
957
+ # string_value: "DocumentAttributeStringValue",
958
+ # string_list_value: ["String"],
959
+ # long_value: 1,
960
+ # date_value: Time.now,
961
+ # },
962
+ # },
963
+ # lambda_arn: "LambdaArn", # required
964
+ # s3_bucket: "S3BucketName", # required
965
+ # },
966
+ # role_arn: "RoleArn",
967
+ # },
803
968
  # }
804
969
  #
805
970
  # @!attribute [rw] index_id
@@ -843,12 +1008,28 @@ module Aws::Kendra
843
1008
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/quotas.html
844
1009
  # @return [Array<Types::Document>]
845
1010
  #
1011
+ # @!attribute [rw] custom_document_enrichment_configuration
1012
+ # Configuration information for altering your document metadata and
1013
+ # content during the document ingestion process when you use the
1014
+ # `BatchPutDocument` operation.
1015
+ #
1016
+ # For more information on how to create, modify and delete document
1017
+ # metadata, or make other content alterations when you ingest
1018
+ # documents into Amazon Kendra, see [Customizing document metadata
1019
+ # during the ingestion process][1].
1020
+ #
1021
+ #
1022
+ #
1023
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
1024
+ # @return [Types::CustomDocumentEnrichmentConfiguration]
1025
+ #
846
1026
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchPutDocumentRequest AWS API Documentation
847
1027
  #
848
1028
  class BatchPutDocumentRequest < Struct.new(
849
1029
  :index_id,
850
1030
  :role_arn,
851
- :documents)
1031
+ :documents,
1032
+ :custom_document_enrichment_configuration)
852
1033
  SENSITIVE = []
853
1034
  include Aws::Structure
854
1035
  end
@@ -1293,7 +1474,7 @@ module Aws::Kendra
1293
1474
  # @return [String]
1294
1475
  #
1295
1476
  # @!attribute [rw] secret_arn
1296
- # The Amazon Resource Name (ARN) of an Secrets Managersecret that
1477
+ # The Amazon Resource Name (ARN) of an Secrets Manager secret that
1297
1478
  # contains the key/value pairs required to connect to your Confluence
1298
1479
  # server. The secret must contain a JSON structure with the following
1299
1480
  # keys:
@@ -1610,6 +1791,47 @@ module Aws::Kendra
1610
1791
  include Aws::Structure
1611
1792
  end
1612
1793
 
1794
+ # Configuration information for your content sources, such as data
1795
+ # sources, FAQs, and content indexed directly via [BatchPutDocument][1].
1796
+ #
1797
+ #
1798
+ #
1799
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html
1800
+ #
1801
+ # @note When making an API call, you may pass ContentSourceConfiguration
1802
+ # data as a hash:
1803
+ #
1804
+ # {
1805
+ # data_source_ids: ["DataSourceId"],
1806
+ # faq_ids: ["FaqId"],
1807
+ # direct_put_content: false,
1808
+ # }
1809
+ #
1810
+ # @!attribute [rw] data_source_ids
1811
+ # The identifier of the data sources you want to use for your Amazon
1812
+ # Kendra experience.
1813
+ # @return [Array<String>]
1814
+ #
1815
+ # @!attribute [rw] faq_ids
1816
+ # The identifier of the FAQs that you want to use for your Amazon
1817
+ # Kendra experience.
1818
+ # @return [Array<String>]
1819
+ #
1820
+ # @!attribute [rw] direct_put_content
1821
+ # `TRUE` to use documents you indexed directly using the
1822
+ # `BatchPutDocument` operation.
1823
+ # @return [Boolean]
1824
+ #
1825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ContentSourceConfiguration AWS API Documentation
1826
+ #
1827
+ class ContentSourceConfiguration < Struct.new(
1828
+ :data_source_ids,
1829
+ :faq_ids,
1830
+ :direct_put_content)
1831
+ SENSITIVE = []
1832
+ include Aws::Structure
1833
+ end
1834
+
1613
1835
  # @note When making an API call, you may pass CreateDataSourceRequest
1614
1836
  # data as a hash:
1615
1837
  #
@@ -1940,6 +2162,62 @@ module Aws::Kendra
1940
2162
  # ],
1941
2163
  # client_token: "ClientTokenName",
1942
2164
  # language_code: "LanguageCode",
2165
+ # custom_document_enrichment_configuration: {
2166
+ # inline_configurations: [
2167
+ # {
2168
+ # condition: {
2169
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2170
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2171
+ # condition_on_value: {
2172
+ # string_value: "DocumentAttributeStringValue",
2173
+ # string_list_value: ["String"],
2174
+ # long_value: 1,
2175
+ # date_value: Time.now,
2176
+ # },
2177
+ # },
2178
+ # target: {
2179
+ # target_document_attribute_key: "DocumentAttributeKey",
2180
+ # target_document_attribute_value_deletion: false,
2181
+ # target_document_attribute_value: {
2182
+ # string_value: "DocumentAttributeStringValue",
2183
+ # string_list_value: ["String"],
2184
+ # long_value: 1,
2185
+ # date_value: Time.now,
2186
+ # },
2187
+ # },
2188
+ # document_content_deletion: false,
2189
+ # },
2190
+ # ],
2191
+ # pre_extraction_hook_configuration: {
2192
+ # invocation_condition: {
2193
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2194
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2195
+ # condition_on_value: {
2196
+ # string_value: "DocumentAttributeStringValue",
2197
+ # string_list_value: ["String"],
2198
+ # long_value: 1,
2199
+ # date_value: Time.now,
2200
+ # },
2201
+ # },
2202
+ # lambda_arn: "LambdaArn", # required
2203
+ # s3_bucket: "S3BucketName", # required
2204
+ # },
2205
+ # post_extraction_hook_configuration: {
2206
+ # invocation_condition: {
2207
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2208
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2209
+ # condition_on_value: {
2210
+ # string_value: "DocumentAttributeStringValue",
2211
+ # string_list_value: ["String"],
2212
+ # long_value: 1,
2213
+ # date_value: Time.now,
2214
+ # },
2215
+ # },
2216
+ # lambda_arn: "LambdaArn", # required
2217
+ # s3_bucket: "S3BucketName", # required
2218
+ # },
2219
+ # role_arn: "RoleArn",
2220
+ # },
1943
2221
  # }
1944
2222
  #
1945
2223
  # @!attribute [rw] name
@@ -2026,6 +2304,20 @@ module Aws::Kendra
2026
2304
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html
2027
2305
  # @return [String]
2028
2306
  #
2307
+ # @!attribute [rw] custom_document_enrichment_configuration
2308
+ # Configuration information for altering document metadata and content
2309
+ # during the document ingestion process when you create a data source.
2310
+ #
2311
+ # For more information on how to create, modify and delete document
2312
+ # metadata, or make other content alterations when you ingest
2313
+ # documents into Amazon Kendra, see [Customizing document metadata
2314
+ # during the ingestion process][1].
2315
+ #
2316
+ #
2317
+ #
2318
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
2319
+ # @return [Types::CustomDocumentEnrichmentConfiguration]
2320
+ #
2029
2321
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateDataSourceRequest AWS API Documentation
2030
2322
  #
2031
2323
  class CreateDataSourceRequest < Struct.new(
@@ -2038,7 +2330,8 @@ module Aws::Kendra
2038
2330
  :role_arn,
2039
2331
  :tags,
2040
2332
  :client_token,
2041
- :language_code)
2333
+ :language_code,
2334
+ :custom_document_enrichment_configuration)
2042
2335
  SENSITIVE = []
2043
2336
  include Aws::Structure
2044
2337
  end
@@ -2055,6 +2348,94 @@ module Aws::Kendra
2055
2348
  include Aws::Structure
2056
2349
  end
2057
2350
 
2351
+ # @note When making an API call, you may pass CreateExperienceRequest
2352
+ # data as a hash:
2353
+ #
2354
+ # {
2355
+ # name: "ExperienceName", # required
2356
+ # index_id: "IndexId", # required
2357
+ # role_arn: "RoleArn",
2358
+ # configuration: {
2359
+ # content_source_configuration: {
2360
+ # data_source_ids: ["DataSourceId"],
2361
+ # faq_ids: ["FaqId"],
2362
+ # direct_put_content: false,
2363
+ # },
2364
+ # user_identity_configuration: {
2365
+ # identity_attribute_name: "IdentityAttributeName",
2366
+ # },
2367
+ # },
2368
+ # description: "Description",
2369
+ # client_token: "ClientTokenName",
2370
+ # }
2371
+ #
2372
+ # @!attribute [rw] name
2373
+ # A name for your Amazon Kendra experience.
2374
+ # @return [String]
2375
+ #
2376
+ # @!attribute [rw] index_id
2377
+ # The identifier of the index for your Amazon Kendra experience.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] role_arn
2381
+ # The Amazon Resource Name (ARN) of a role with permission to access
2382
+ # `Query` operations, `QuerySuggestions` operations, `SubmitFeedback`
2383
+ # operations, and Amazon Web Services SSO that stores your user and
2384
+ # group information. For more information, see [IAM roles for Amazon
2385
+ # Kendra][1].
2386
+ #
2387
+ #
2388
+ #
2389
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
2390
+ # @return [String]
2391
+ #
2392
+ # @!attribute [rw] configuration
2393
+ # Provides the configuration information for your Amazon Kendra
2394
+ # experience. This includes `ContentSourceConfiguration`, which
2395
+ # specifies the data source IDs and/or FAQ IDs, and
2396
+ # `UserIdentityConfiguration`, which specifies the user or group
2397
+ # information to grant access to your Amazon Kendra experience.
2398
+ # @return [Types::ExperienceConfiguration]
2399
+ #
2400
+ # @!attribute [rw] description
2401
+ # A description for your Amazon Kendra experience.
2402
+ # @return [String]
2403
+ #
2404
+ # @!attribute [rw] client_token
2405
+ # A token that you provide to identify the request to create your
2406
+ # Amazon Kendra experience. Multiple calls to the `CreateExperience`
2407
+ # operation with the same client token creates only one Amazon Kendra
2408
+ # experience.
2409
+ #
2410
+ # **A suitable default value is auto-generated.** You should normally
2411
+ # not need to pass this option.
2412
+ # @return [String]
2413
+ #
2414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateExperienceRequest AWS API Documentation
2415
+ #
2416
+ class CreateExperienceRequest < Struct.new(
2417
+ :name,
2418
+ :index_id,
2419
+ :role_arn,
2420
+ :configuration,
2421
+ :description,
2422
+ :client_token)
2423
+ SENSITIVE = []
2424
+ include Aws::Structure
2425
+ end
2426
+
2427
+ # @!attribute [rw] id
2428
+ # The identifier for your created Amazon Kendra experience.
2429
+ # @return [String]
2430
+ #
2431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateExperienceResponse AWS API Documentation
2432
+ #
2433
+ class CreateExperienceResponse < Struct.new(
2434
+ :id)
2435
+ SENSITIVE = []
2436
+ include Aws::Structure
2437
+ end
2438
+
2058
2439
  # @note When making an API call, you may pass CreateFaqRequest
2059
2440
  # data as a hash:
2060
2441
  #
@@ -2291,8 +2672,8 @@ module Aws::Kendra
2291
2672
  # @return [String]
2292
2673
  #
2293
2674
  # @!attribute [rw] user_group_resolution_configuration
2294
- # Enables fetching access levels of groups and users from an AWS
2295
- # Single Sign-On identity source. To configure this, see
2675
+ # Enables fetching access levels of groups and users from an Amazon
2676
+ # Web Services Single Sign On identity source. To configure this, see
2296
2677
  # [UserGroupResolutionConfiguration][1].
2297
2678
  #
2298
2679
  #
@@ -2468,9 +2849,8 @@ module Aws::Kendra
2468
2849
  # @return [String]
2469
2850
  #
2470
2851
  # @!attribute [rw] role_arn
2471
- # An AWS Identity and Access Management (IAM) role that gives Amazon
2472
- # Kendra permissions to access thesaurus file specified in
2473
- # `SourceS3Path`.
2852
+ # An IAM role that gives Amazon Kendra permissions to access thesaurus
2853
+ # file specified in `SourceS3Path`.
2474
2854
  # @return [String]
2475
2855
  #
2476
2856
  # @!attribute [rw] tags
@@ -2518,34 +2898,156 @@ module Aws::Kendra
2518
2898
  include Aws::Structure
2519
2899
  end
2520
2900
 
2521
- # Configuration information for a Amazon Kendra data source.
2901
+ # Provides the configuration information for altering document metadata
2902
+ # and content during the document ingestion process.
2522
2903
  #
2523
- # @note When making an API call, you may pass DataSourceConfiguration
2904
+ # For more information, see [Customizing document metadata during the
2905
+ # ingestion process][1].
2906
+ #
2907
+ #
2908
+ #
2909
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
2910
+ #
2911
+ # @note When making an API call, you may pass CustomDocumentEnrichmentConfiguration
2524
2912
  # data as a hash:
2525
2913
  #
2526
2914
  # {
2527
- # s3_configuration: {
2528
- # bucket_name: "S3BucketName", # required
2529
- # inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
2530
- # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2531
- # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2532
- # documents_metadata_configuration: {
2533
- # s3_prefix: "S3ObjectKey",
2915
+ # inline_configurations: [
2916
+ # {
2917
+ # condition: {
2918
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2919
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2920
+ # condition_on_value: {
2921
+ # string_value: "DocumentAttributeStringValue",
2922
+ # string_list_value: ["String"],
2923
+ # long_value: 1,
2924
+ # date_value: Time.now,
2925
+ # },
2926
+ # },
2927
+ # target: {
2928
+ # target_document_attribute_key: "DocumentAttributeKey",
2929
+ # target_document_attribute_value_deletion: false,
2930
+ # target_document_attribute_value: {
2931
+ # string_value: "DocumentAttributeStringValue",
2932
+ # string_list_value: ["String"],
2933
+ # long_value: 1,
2934
+ # date_value: Time.now,
2935
+ # },
2936
+ # },
2937
+ # document_content_deletion: false,
2534
2938
  # },
2535
- # access_control_list_configuration: {
2536
- # key_path: "S3ObjectKey",
2939
+ # ],
2940
+ # pre_extraction_hook_configuration: {
2941
+ # invocation_condition: {
2942
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2943
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2944
+ # condition_on_value: {
2945
+ # string_value: "DocumentAttributeStringValue",
2946
+ # string_list_value: ["String"],
2947
+ # long_value: 1,
2948
+ # date_value: Time.now,
2949
+ # },
2537
2950
  # },
2951
+ # lambda_arn: "LambdaArn", # required
2952
+ # s3_bucket: "S3BucketName", # required
2538
2953
  # },
2539
- # share_point_configuration: {
2540
- # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
2541
- # urls: ["Url"], # required
2542
- # secret_arn: "SecretArn", # required
2543
- # crawl_attachments: false,
2544
- # use_change_log: false,
2545
- # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2546
- # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2547
- # vpc_configuration: {
2548
- # subnet_ids: ["SubnetId"], # required
2954
+ # post_extraction_hook_configuration: {
2955
+ # invocation_condition: {
2956
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
2957
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
2958
+ # condition_on_value: {
2959
+ # string_value: "DocumentAttributeStringValue",
2960
+ # string_list_value: ["String"],
2961
+ # long_value: 1,
2962
+ # date_value: Time.now,
2963
+ # },
2964
+ # },
2965
+ # lambda_arn: "LambdaArn", # required
2966
+ # s3_bucket: "S3BucketName", # required
2967
+ # },
2968
+ # role_arn: "RoleArn",
2969
+ # }
2970
+ #
2971
+ # @!attribute [rw] inline_configurations
2972
+ # Configuration information to alter document attributes or metadata
2973
+ # fields and content when ingesting documents into Amazon Kendra.
2974
+ # @return [Array<Types::InlineCustomDocumentEnrichmentConfiguration>]
2975
+ #
2976
+ # @!attribute [rw] pre_extraction_hook_configuration
2977
+ # Configuration information for invoking a Lambda function in Lambda
2978
+ # on the original or raw documents before extracting their metadata
2979
+ # and text. You can use a Lambda function to apply advanced logic for
2980
+ # creating, modifying, or deleting document metadata and content. For
2981
+ # more information, see [Advanced data manipulation][1].
2982
+ #
2983
+ #
2984
+ #
2985
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation
2986
+ # @return [Types::HookConfiguration]
2987
+ #
2988
+ # @!attribute [rw] post_extraction_hook_configuration
2989
+ # Configuration information for invoking a Lambda function in Lambda
2990
+ # on the structured documents with their metadata and text extracted.
2991
+ # You can use a Lambda function to apply advanced logic for creating,
2992
+ # modifying, or deleting document metadata and content. For more
2993
+ # information, see [Advanced data manipulation][1].
2994
+ #
2995
+ #
2996
+ #
2997
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation
2998
+ # @return [Types::HookConfiguration]
2999
+ #
3000
+ # @!attribute [rw] role_arn
3001
+ # The Amazon Resource Name (ARN) of a role with permission to run
3002
+ # `PreExtractionHookConfiguration` and
3003
+ # `PostExtractionHookConfiguration` for altering document metadata and
3004
+ # content during the document ingestion process. For more information,
3005
+ # see [IAM roles for Amazon Kendra][1].
3006
+ #
3007
+ #
3008
+ #
3009
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
3010
+ # @return [String]
3011
+ #
3012
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CustomDocumentEnrichmentConfiguration AWS API Documentation
3013
+ #
3014
+ class CustomDocumentEnrichmentConfiguration < Struct.new(
3015
+ :inline_configurations,
3016
+ :pre_extraction_hook_configuration,
3017
+ :post_extraction_hook_configuration,
3018
+ :role_arn)
3019
+ SENSITIVE = []
3020
+ include Aws::Structure
3021
+ end
3022
+
3023
+ # Configuration information for an Amazon Kendra data source.
3024
+ #
3025
+ # @note When making an API call, you may pass DataSourceConfiguration
3026
+ # data as a hash:
3027
+ #
3028
+ # {
3029
+ # s3_configuration: {
3030
+ # bucket_name: "S3BucketName", # required
3031
+ # inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
3032
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
3033
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
3034
+ # documents_metadata_configuration: {
3035
+ # s3_prefix: "S3ObjectKey",
3036
+ # },
3037
+ # access_control_list_configuration: {
3038
+ # key_path: "S3ObjectKey",
3039
+ # },
3040
+ # },
3041
+ # share_point_configuration: {
3042
+ # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
3043
+ # urls: ["Url"], # required
3044
+ # secret_arn: "SecretArn", # required
3045
+ # crawl_attachments: false,
3046
+ # use_change_log: false,
3047
+ # inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
3048
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
3049
+ # vpc_configuration: {
3050
+ # subnet_ids: ["SubnetId"], # required
2549
3051
  # security_group_ids: ["VpcSecurityGroupId"], # required
2550
3052
  # },
2551
3053
  # field_mappings: [
@@ -2878,7 +3380,7 @@ module Aws::Kendra
2878
3380
  #
2879
3381
  # @!attribute [rw] web_crawler_configuration
2880
3382
  # Provides the configuration information required for Amazon Kendra
2881
- # web crawler.
3383
+ # Web Crawler.
2882
3384
  # @return [Types::WebCrawlerConfiguration]
2883
3385
  #
2884
3386
  # @!attribute [rw] work_docs_configuration
@@ -3293,6 +3795,36 @@ module Aws::Kendra
3293
3795
  include Aws::Structure
3294
3796
  end
3295
3797
 
3798
+ # @note When making an API call, you may pass DeleteExperienceRequest
3799
+ # data as a hash:
3800
+ #
3801
+ # {
3802
+ # id: "ExperienceId", # required
3803
+ # index_id: "IndexId", # required
3804
+ # }
3805
+ #
3806
+ # @!attribute [rw] id
3807
+ # The identifier of your Amazon Kendra experience you want to delete.
3808
+ # @return [String]
3809
+ #
3810
+ # @!attribute [rw] index_id
3811
+ # The identifier of the index for your Amazon Kendra experience you
3812
+ # want to delete.
3813
+ # @return [String]
3814
+ #
3815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteExperienceRequest AWS API Documentation
3816
+ #
3817
+ class DeleteExperienceRequest < Struct.new(
3818
+ :id,
3819
+ :index_id)
3820
+ SENSITIVE = []
3821
+ include Aws::Structure
3822
+ end
3823
+
3824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteExperienceResponse AWS API Documentation
3825
+ #
3826
+ class DeleteExperienceResponse < Aws::EmptyStructure; end
3827
+
3296
3828
  # @note When making an API call, you may pass DeleteFaqRequest
3297
3829
  # data as a hash:
3298
3830
  #
@@ -3541,6 +4073,21 @@ module Aws::Kendra
3541
4073
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html
3542
4074
  # @return [String]
3543
4075
  #
4076
+ # @!attribute [rw] custom_document_enrichment_configuration
4077
+ # Configuration information for altering document metadata and content
4078
+ # during the document ingestion process when you describe a data
4079
+ # source.
4080
+ #
4081
+ # For more information on how to create, modify and delete document
4082
+ # metadata, or make other content alterations when you ingest
4083
+ # documents into Amazon Kendra, see [Customizing document metadata
4084
+ # during the ingestion process][1].
4085
+ #
4086
+ #
4087
+ #
4088
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
4089
+ # @return [Types::CustomDocumentEnrichmentConfiguration]
4090
+ #
3544
4091
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeDataSourceResponse AWS API Documentation
3545
4092
  #
3546
4093
  class DescribeDataSourceResponse < Struct.new(
@@ -3556,7 +4103,108 @@ module Aws::Kendra
3556
4103
  :schedule,
3557
4104
  :role_arn,
3558
4105
  :error_message,
3559
- :language_code)
4106
+ :language_code,
4107
+ :custom_document_enrichment_configuration)
4108
+ SENSITIVE = []
4109
+ include Aws::Structure
4110
+ end
4111
+
4112
+ # @note When making an API call, you may pass DescribeExperienceRequest
4113
+ # data as a hash:
4114
+ #
4115
+ # {
4116
+ # id: "ExperienceId", # required
4117
+ # index_id: "IndexId", # required
4118
+ # }
4119
+ #
4120
+ # @!attribute [rw] id
4121
+ # The identifier of your Amazon Kendra experience you want to get
4122
+ # information on.
4123
+ # @return [String]
4124
+ #
4125
+ # @!attribute [rw] index_id
4126
+ # The identifier of the index for your Amazon Kendra experience you
4127
+ # want to get information on.
4128
+ # @return [String]
4129
+ #
4130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeExperienceRequest AWS API Documentation
4131
+ #
4132
+ class DescribeExperienceRequest < Struct.new(
4133
+ :id,
4134
+ :index_id)
4135
+ SENSITIVE = []
4136
+ include Aws::Structure
4137
+ end
4138
+
4139
+ # @!attribute [rw] id
4140
+ # Shows the identifier of your Amazon Kendra experience.
4141
+ # @return [String]
4142
+ #
4143
+ # @!attribute [rw] index_id
4144
+ # Shows the identifier of the index for your Amazon Kendra experience.
4145
+ # @return [String]
4146
+ #
4147
+ # @!attribute [rw] name
4148
+ # Shows the name of your Amazon Kendra experience.
4149
+ # @return [String]
4150
+ #
4151
+ # @!attribute [rw] endpoints
4152
+ # Shows the endpoint URLs for your Amazon Kendra experiences. The URLs
4153
+ # are unique and fully hosted by Amazon Web Services.
4154
+ # @return [Array<Types::ExperienceEndpoint>]
4155
+ #
4156
+ # @!attribute [rw] configuration
4157
+ # Shows the configuration information for your Amazon Kendra
4158
+ # experience. This includes `ContentSourceConfiguration`, which
4159
+ # specifies the data source IDs and/or FAQ IDs, and
4160
+ # `UserIdentityConfiguration`, which specifies the user or group
4161
+ # information to grant access to your Amazon Kendra experience.
4162
+ # @return [Types::ExperienceConfiguration]
4163
+ #
4164
+ # @!attribute [rw] created_at
4165
+ # Shows the date-time your Amazon Kendra experience was created.
4166
+ # @return [Time]
4167
+ #
4168
+ # @!attribute [rw] updated_at
4169
+ # Shows the date-time your Amazon Kendra experience was last updated.
4170
+ # @return [Time]
4171
+ #
4172
+ # @!attribute [rw] description
4173
+ # Shows the description for your Amazon Kendra experience.
4174
+ # @return [String]
4175
+ #
4176
+ # @!attribute [rw] status
4177
+ # The current processing status of your Amazon Kendra experience. When
4178
+ # the status is `ACTIVE`, your Amazon Kendra experience is ready to
4179
+ # use. When the status is `FAILED`, the `ErrorMessage` field contains
4180
+ # the reason that this failed.
4181
+ # @return [String]
4182
+ #
4183
+ # @!attribute [rw] role_arn
4184
+ # Shows the Amazon Resource Name (ARN) of a role with permission to
4185
+ # access `Query` operations, `QuerySuggestions` operations,
4186
+ # `SubmitFeedback` operations, and Amazon Web Services SSO that stores
4187
+ # your user and group information.
4188
+ # @return [String]
4189
+ #
4190
+ # @!attribute [rw] error_message
4191
+ # The reason your Amazon Kendra experience could not properly process.
4192
+ # @return [String]
4193
+ #
4194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeExperienceResponse AWS API Documentation
4195
+ #
4196
+ class DescribeExperienceResponse < Struct.new(
4197
+ :id,
4198
+ :index_id,
4199
+ :name,
4200
+ :endpoints,
4201
+ :configuration,
4202
+ :created_at,
4203
+ :updated_at,
4204
+ :description,
4205
+ :status,
4206
+ :role_arn,
4207
+ :error_message)
3560
4208
  SENSITIVE = []
3561
4209
  include Aws::Structure
3562
4210
  end
@@ -3756,8 +4404,8 @@ module Aws::Kendra
3756
4404
  #
3757
4405
  # @!attribute [rw] user_group_resolution_configuration
3758
4406
  # Shows whether you have enabled the configuration for fetching access
3759
- # levels of groups and users from an AWS Single Sign-On identity
3760
- # source.
4407
+ # levels of groups and users from an Amazon Web Services Single Sign
4408
+ # On identity source.
3761
4409
  # @return [Types::UserGroupResolutionConfiguration]
3762
4410
  #
3763
4411
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeIndexResponse AWS API Documentation
@@ -4141,9 +4789,8 @@ module Aws::Kendra
4141
4789
  # @return [Time]
4142
4790
  #
4143
4791
  # @!attribute [rw] role_arn
4144
- # An AWS Identity and Access Management (IAM) role that gives Amazon
4145
- # Kendra permissions to access thesaurus file specified in
4146
- # `SourceS3Path`.
4792
+ # An IAM role that gives Amazon Kendra permissions to access thesaurus
4793
+ # file specified in `SourceS3Path`.
4147
4794
  # @return [String]
4148
4795
  #
4149
4796
  # @!attribute [rw] source_s3_path
@@ -4183,6 +4830,103 @@ module Aws::Kendra
4183
4830
  include Aws::Structure
4184
4831
  end
4185
4832
 
4833
+ # @note When making an API call, you may pass DisassociateEntitiesFromExperienceRequest
4834
+ # data as a hash:
4835
+ #
4836
+ # {
4837
+ # id: "ExperienceId", # required
4838
+ # index_id: "IndexId", # required
4839
+ # entity_list: [ # required
4840
+ # {
4841
+ # entity_id: "EntityId", # required
4842
+ # entity_type: "USER", # required, accepts USER, GROUP
4843
+ # },
4844
+ # ],
4845
+ # }
4846
+ #
4847
+ # @!attribute [rw] id
4848
+ # The identifier of your Amazon Kendra experience.
4849
+ # @return [String]
4850
+ #
4851
+ # @!attribute [rw] index_id
4852
+ # The identifier of the index for your Amazon Kendra experience.
4853
+ # @return [String]
4854
+ #
4855
+ # @!attribute [rw] entity_list
4856
+ # Lists users or groups in your Amazon Web Services SSO identity
4857
+ # source.
4858
+ # @return [Array<Types::EntityConfiguration>]
4859
+ #
4860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DisassociateEntitiesFromExperienceRequest AWS API Documentation
4861
+ #
4862
+ class DisassociateEntitiesFromExperienceRequest < Struct.new(
4863
+ :id,
4864
+ :index_id,
4865
+ :entity_list)
4866
+ SENSITIVE = []
4867
+ include Aws::Structure
4868
+ end
4869
+
4870
+ # @!attribute [rw] failed_entity_list
4871
+ # Lists the users or groups in your Amazon Web Services SSO identity
4872
+ # source that failed to properly remove access to your Amazon Kendra
4873
+ # experience.
4874
+ # @return [Array<Types::FailedEntity>]
4875
+ #
4876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DisassociateEntitiesFromExperienceResponse AWS API Documentation
4877
+ #
4878
+ class DisassociateEntitiesFromExperienceResponse < Struct.new(
4879
+ :failed_entity_list)
4880
+ SENSITIVE = []
4881
+ include Aws::Structure
4882
+ end
4883
+
4884
+ # @note When making an API call, you may pass DisassociatePersonasFromEntitiesRequest
4885
+ # data as a hash:
4886
+ #
4887
+ # {
4888
+ # id: "ExperienceId", # required
4889
+ # index_id: "IndexId", # required
4890
+ # entity_ids: ["EntityId"], # required
4891
+ # }
4892
+ #
4893
+ # @!attribute [rw] id
4894
+ # The identifier of your Amazon Kendra experience.
4895
+ # @return [String]
4896
+ #
4897
+ # @!attribute [rw] index_id
4898
+ # The identifier of the index for your Amazon Kendra experience.
4899
+ # @return [String]
4900
+ #
4901
+ # @!attribute [rw] entity_ids
4902
+ # The identifiers of users or groups in your Amazon Web Services SSO
4903
+ # identity source. For example, user IDs could be user emails.
4904
+ # @return [Array<String>]
4905
+ #
4906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DisassociatePersonasFromEntitiesRequest AWS API Documentation
4907
+ #
4908
+ class DisassociatePersonasFromEntitiesRequest < Struct.new(
4909
+ :id,
4910
+ :index_id,
4911
+ :entity_ids)
4912
+ SENSITIVE = []
4913
+ include Aws::Structure
4914
+ end
4915
+
4916
+ # @!attribute [rw] failed_entity_list
4917
+ # Lists the users or groups in your Amazon Web Services SSO identity
4918
+ # source that failed to properly remove access to your Amazon Kendra
4919
+ # experience.
4920
+ # @return [Array<Types::FailedEntity>]
4921
+ #
4922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DisassociatePersonasFromEntitiesResponse AWS API Documentation
4923
+ #
4924
+ class DisassociatePersonasFromEntitiesResponse < Struct.new(
4925
+ :failed_entity_list)
4926
+ SENSITIVE = []
4927
+ include Aws::Structure
4928
+ end
4929
+
4186
4930
  # A document in an index.
4187
4931
  #
4188
4932
  # @note When making an API call, you may pass Document
@@ -4294,6 +5038,13 @@ module Aws::Kendra
4294
5038
 
4295
5039
  # A custom attribute value assigned to a document.
4296
5040
  #
5041
+ # For more information on how to create custom document attributes, see
5042
+ # [Custom Attributes][1].
5043
+ #
5044
+ #
5045
+ #
5046
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-attributes.html
5047
+ #
4297
5048
  # @note When making an API call, you may pass DocumentAttribute
4298
5049
  # data as a hash:
4299
5050
  #
@@ -4324,55 +5075,193 @@ module Aws::Kendra
4324
5075
  include Aws::Structure
4325
5076
  end
4326
5077
 
4327
- # The value of a custom document attribute. You can only provide one
4328
- # value for a custom attribute.
5078
+ # The condition used for the target document attribute or metadata field
5079
+ # when ingesting documents into Amazon Kendra. You use this with
5080
+ # [DocumentAttributeTarget to apply the condition][1].
4329
5081
  #
4330
- # @note When making an API call, you may pass DocumentAttributeValue
5082
+ # For example, you can create the 'Department' target field and have
5083
+ # it prefill department names associated with the documents based on
5084
+ # information in the 'Source\_URI' field. Set the condition that if
5085
+ # the 'Source\_URI' field contains 'financial' in its URI value,
5086
+ # then prefill the target field 'Department' with the target value
5087
+ # 'Finance' for the document.
5088
+ #
5089
+ # Amazon Kendra cannot create a target field if it has not already been
5090
+ # created as an index field. After you create your index field, you can
5091
+ # create a document metadata field using `DocumentAttributeTarget`.
5092
+ # Amazon Kendra then will map your newly created metadata field to your
5093
+ # index field.
5094
+ #
5095
+ #
5096
+ #
5097
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_DocumentAttributeTarget.html
5098
+ #
5099
+ # @note When making an API call, you may pass DocumentAttributeCondition
4331
5100
  # data as a hash:
4332
5101
  #
4333
5102
  # {
4334
- # string_value: "DocumentAttributeStringValue",
4335
- # string_list_value: ["String"],
4336
- # long_value: 1,
4337
- # date_value: Time.now,
5103
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
5104
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
5105
+ # condition_on_value: {
5106
+ # string_value: "DocumentAttributeStringValue",
5107
+ # string_list_value: ["String"],
5108
+ # long_value: 1,
5109
+ # date_value: Time.now,
5110
+ # },
4338
5111
  # }
4339
5112
  #
4340
- # @!attribute [rw] string_value
4341
- # A string, such as "department".
5113
+ # @!attribute [rw] condition_document_attribute_key
5114
+ # The identifier of the document attribute used for the condition.
5115
+ #
5116
+ # For example, 'Source\_URI' could be an identifier for the
5117
+ # attribute or metadata field that contains source URIs associated
5118
+ # with the documents.
5119
+ #
5120
+ # Amazon Kendra currently does not support `_document_body` as an
5121
+ # attribute key used for the condition.
4342
5122
  # @return [String]
4343
5123
  #
4344
- # @!attribute [rw] string_list_value
4345
- # A list of strings.
4346
- # @return [Array<String>]
5124
+ # @!attribute [rw] operator
5125
+ # The condition operator.
4347
5126
  #
4348
- # @!attribute [rw] long_value
4349
- # A long integer value.
4350
- # @return [Integer]
5127
+ # For example, you can use 'Contains' to partially match a string.
5128
+ # @return [String]
4351
5129
  #
4352
- # @!attribute [rw] date_value
4353
- # A date expressed as an ISO 8601 string.
5130
+ # @!attribute [rw] condition_on_value
5131
+ # The value used by the operator.
4354
5132
  #
4355
- # It is important for the time zone to be included in the ISO 8601
4356
- # date-time format. For example, 20120325T123010+01:00 is the ISO 8601
4357
- # date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in
4358
- # Central European Time.
4359
- # @return [Time]
5133
+ # For example, you can specify the value 'financial' for strings in
5134
+ # the 'Source\_URI' field that partially match or contain this
5135
+ # value.
5136
+ # @return [Types::DocumentAttributeValue]
4360
5137
  #
4361
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentAttributeValue AWS API Documentation
5138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentAttributeCondition AWS API Documentation
4362
5139
  #
4363
- class DocumentAttributeValue < Struct.new(
4364
- :string_value,
4365
- :string_list_value,
4366
- :long_value,
4367
- :date_value)
5140
+ class DocumentAttributeCondition < Struct.new(
5141
+ :condition_document_attribute_key,
5142
+ :operator,
5143
+ :condition_on_value)
4368
5144
  SENSITIVE = []
4369
5145
  include Aws::Structure
4370
5146
  end
4371
5147
 
4372
- # Provides the count of documents that match a particular attribute when
4373
- # doing a faceted search.
5148
+ # The target document attribute or metadata field you want to alter when
5149
+ # ingesting documents into Amazon Kendra.
4374
5150
  #
4375
- # @!attribute [rw] document_attribute_value
5151
+ # For example, you can delete customer identification numbers associated
5152
+ # with the documents, stored in the document metadata field called
5153
+ # 'Customer\_ID'. You set the target key as 'Customer\_ID' and the
5154
+ # deletion flag to `TRUE`. This removes all customer ID values in the
5155
+ # field 'Customer\_ID'. This would scrub personally identifiable
5156
+ # information from each document's metadata.
5157
+ #
5158
+ # Amazon Kendra cannot create a target field if it has not already been
5159
+ # created as an index field. After you create your index field, you can
5160
+ # create a document metadata field using `DocumentAttributeTarget`.
5161
+ # Amazon Kendra then will map your newly created metadata field to your
5162
+ # index field.
5163
+ #
5164
+ # You can also use this with [DocumentAttributeCondition][1].
5165
+ #
5166
+ #
5167
+ #
5168
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_DocumentAttributeCondition.html
5169
+ #
5170
+ # @note When making an API call, you may pass DocumentAttributeTarget
5171
+ # data as a hash:
5172
+ #
5173
+ # {
5174
+ # target_document_attribute_key: "DocumentAttributeKey",
5175
+ # target_document_attribute_value_deletion: false,
5176
+ # target_document_attribute_value: {
5177
+ # string_value: "DocumentAttributeStringValue",
5178
+ # string_list_value: ["String"],
5179
+ # long_value: 1,
5180
+ # date_value: Time.now,
5181
+ # },
5182
+ # }
5183
+ #
5184
+ # @!attribute [rw] target_document_attribute_key
5185
+ # The identifier of the target document attribute or metadata field.
5186
+ #
5187
+ # For example, 'Department' could be an identifier for the target
5188
+ # attribute or metadata field that includes the department names
5189
+ # associated with the documents.
5190
+ # @return [String]
5191
+ #
5192
+ # @!attribute [rw] target_document_attribute_value_deletion
5193
+ # `TRUE` to delete the existing target value for your specified target
5194
+ # attribute key. You cannot create a target value and set this to
5195
+ # `TRUE`. To create a target value (`TargetDocumentAttributeValue`),
5196
+ # set this to `FALSE`.
5197
+ # @return [Boolean]
5198
+ #
5199
+ # @!attribute [rw] target_document_attribute_value
5200
+ # The target value you want to create for the target attribute.
5201
+ #
5202
+ # For example, 'Finance' could be the target value for the target
5203
+ # attribute key 'Department'.
5204
+ # @return [Types::DocumentAttributeValue]
5205
+ #
5206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentAttributeTarget AWS API Documentation
5207
+ #
5208
+ class DocumentAttributeTarget < Struct.new(
5209
+ :target_document_attribute_key,
5210
+ :target_document_attribute_value_deletion,
5211
+ :target_document_attribute_value)
5212
+ SENSITIVE = []
5213
+ include Aws::Structure
5214
+ end
5215
+
5216
+ # The value of a custom document attribute. You can only provide one
5217
+ # value for a custom attribute.
5218
+ #
5219
+ # @note When making an API call, you may pass DocumentAttributeValue
5220
+ # data as a hash:
5221
+ #
5222
+ # {
5223
+ # string_value: "DocumentAttributeStringValue",
5224
+ # string_list_value: ["String"],
5225
+ # long_value: 1,
5226
+ # date_value: Time.now,
5227
+ # }
5228
+ #
5229
+ # @!attribute [rw] string_value
5230
+ # A string, such as "department".
5231
+ # @return [String]
5232
+ #
5233
+ # @!attribute [rw] string_list_value
5234
+ # A list of strings.
5235
+ # @return [Array<String>]
5236
+ #
5237
+ # @!attribute [rw] long_value
5238
+ # A long integer value.
5239
+ # @return [Integer]
5240
+ #
5241
+ # @!attribute [rw] date_value
5242
+ # A date expressed as an ISO 8601 string.
5243
+ #
5244
+ # It is important for the time zone to be included in the ISO 8601
5245
+ # date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO
5246
+ # 8601 date-time format for March 25th 2012 at 12:30PM (plus 10
5247
+ # seconds) in Central European Time.
5248
+ # @return [Time]
5249
+ #
5250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentAttributeValue AWS API Documentation
5251
+ #
5252
+ class DocumentAttributeValue < Struct.new(
5253
+ :string_value,
5254
+ :string_list_value,
5255
+ :long_value,
5256
+ :date_value)
5257
+ SENSITIVE = []
5258
+ include Aws::Structure
5259
+ end
5260
+
5261
+ # Provides the count of documents that match a particular attribute when
5262
+ # doing a faceted search.
5263
+ #
5264
+ # @!attribute [rw] document_attribute_value
4376
5265
  # The value of the attribute. For example, "HR."
4377
5266
  # @return [Types::DocumentAttributeValue]
4378
5267
  #
@@ -4564,6 +5453,246 @@ module Aws::Kendra
4564
5453
  include Aws::Structure
4565
5454
  end
4566
5455
 
5456
+ # Provides the configuration information of users or groups in your
5457
+ # Amazon Web Services SSO identity source to grant access your Amazon
5458
+ # Kendra experience.
5459
+ #
5460
+ # @note When making an API call, you may pass EntityConfiguration
5461
+ # data as a hash:
5462
+ #
5463
+ # {
5464
+ # entity_id: "EntityId", # required
5465
+ # entity_type: "USER", # required, accepts USER, GROUP
5466
+ # }
5467
+ #
5468
+ # @!attribute [rw] entity_id
5469
+ # The identifier of a user or group in your Amazon Web Services SSO
5470
+ # identity source. For example, a user ID could be an email.
5471
+ # @return [String]
5472
+ #
5473
+ # @!attribute [rw] entity_type
5474
+ # Specifies whether you are configuring a `User` or a `Group`.
5475
+ # @return [String]
5476
+ #
5477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/EntityConfiguration AWS API Documentation
5478
+ #
5479
+ class EntityConfiguration < Struct.new(
5480
+ :entity_id,
5481
+ :entity_type)
5482
+ SENSITIVE = []
5483
+ include Aws::Structure
5484
+ end
5485
+
5486
+ # Information about the user entity.
5487
+ #
5488
+ # @!attribute [rw] user_name
5489
+ # The name of the user.
5490
+ # @return [String]
5491
+ #
5492
+ # @!attribute [rw] group_name
5493
+ # The name of the group.
5494
+ # @return [String]
5495
+ #
5496
+ # @!attribute [rw] identified_user_name
5497
+ # The user name of the user.
5498
+ # @return [String]
5499
+ #
5500
+ # @!attribute [rw] first_name
5501
+ # The first name of the user.
5502
+ # @return [String]
5503
+ #
5504
+ # @!attribute [rw] last_name
5505
+ # The last name of the user.
5506
+ # @return [String]
5507
+ #
5508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/EntityDisplayData AWS API Documentation
5509
+ #
5510
+ class EntityDisplayData < Struct.new(
5511
+ :user_name,
5512
+ :group_name,
5513
+ :identified_user_name,
5514
+ :first_name,
5515
+ :last_name)
5516
+ SENSITIVE = [:user_name, :group_name, :identified_user_name, :first_name, :last_name]
5517
+ include Aws::Structure
5518
+ end
5519
+
5520
+ # Provides the configuration information of users or groups in your
5521
+ # Amazon Web Services SSO identity source for access to your Amazon
5522
+ # Kendra experience. Specific permissions are defined for each user or
5523
+ # group once they are granted access to your Amazon Kendra experience.
5524
+ #
5525
+ # @note When making an API call, you may pass EntityPersonaConfiguration
5526
+ # data as a hash:
5527
+ #
5528
+ # {
5529
+ # entity_id: "EntityId", # required
5530
+ # persona: "OWNER", # required, accepts OWNER, VIEWER
5531
+ # }
5532
+ #
5533
+ # @!attribute [rw] entity_id
5534
+ # The identifier of a user or group in your Amazon Web Services SSO
5535
+ # identity source. For example, a user ID could be an email.
5536
+ # @return [String]
5537
+ #
5538
+ # @!attribute [rw] persona
5539
+ # The persona that defines the specific permissions of the user or
5540
+ # group in your Amazon Web Services SSO identity source. The available
5541
+ # personas or access roles are `Owner` and `Viewer`. For more
5542
+ # information on these personas, see [Providing access to your search
5543
+ # page][1].
5544
+ #
5545
+ #
5546
+ #
5547
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html#access-search-experience
5548
+ # @return [String]
5549
+ #
5550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/EntityPersonaConfiguration AWS API Documentation
5551
+ #
5552
+ class EntityPersonaConfiguration < Struct.new(
5553
+ :entity_id,
5554
+ :persona)
5555
+ SENSITIVE = []
5556
+ include Aws::Structure
5557
+ end
5558
+
5559
+ # Specifies the configuration information for your Amazon Kendra
5560
+ # experience. This includes the data source IDs and/or FAQ IDs, and user
5561
+ # or group information to grant access to your Amazon Kendra experience.
5562
+ #
5563
+ # @note When making an API call, you may pass ExperienceConfiguration
5564
+ # data as a hash:
5565
+ #
5566
+ # {
5567
+ # content_source_configuration: {
5568
+ # data_source_ids: ["DataSourceId"],
5569
+ # faq_ids: ["FaqId"],
5570
+ # direct_put_content: false,
5571
+ # },
5572
+ # user_identity_configuration: {
5573
+ # identity_attribute_name: "IdentityAttributeName",
5574
+ # },
5575
+ # }
5576
+ #
5577
+ # @!attribute [rw] content_source_configuration
5578
+ # The identifiers of your data sources and FAQs. Or, you can specify
5579
+ # that you want to use documents indexed via the `BatchPutDocument`
5580
+ # operation. This is the content you want to use for your Amazon
5581
+ # Kendra experience.
5582
+ # @return [Types::ContentSourceConfiguration]
5583
+ #
5584
+ # @!attribute [rw] user_identity_configuration
5585
+ # The Amazon Web Services SSO field name that contains the identifiers
5586
+ # of your users, such as their emails.
5587
+ # @return [Types::UserIdentityConfiguration]
5588
+ #
5589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ExperienceConfiguration AWS API Documentation
5590
+ #
5591
+ class ExperienceConfiguration < Struct.new(
5592
+ :content_source_configuration,
5593
+ :user_identity_configuration)
5594
+ SENSITIVE = []
5595
+ include Aws::Structure
5596
+ end
5597
+
5598
+ # Provides the configuration information of the endpoint for your Amazon
5599
+ # Kendra experience.
5600
+ #
5601
+ # @!attribute [rw] endpoint_type
5602
+ # The type of endpoint for your Amazon Kendra experience. The type
5603
+ # currently available is `HOME`, which is a unique and fully hosted
5604
+ # URL to the home page of your Amazon Kendra experience.
5605
+ # @return [String]
5606
+ #
5607
+ # @!attribute [rw] endpoint
5608
+ # The endpoint of your Amazon Kendra experience.
5609
+ # @return [String]
5610
+ #
5611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ExperienceEndpoint AWS API Documentation
5612
+ #
5613
+ class ExperienceEndpoint < Struct.new(
5614
+ :endpoint_type,
5615
+ :endpoint)
5616
+ SENSITIVE = []
5617
+ include Aws::Structure
5618
+ end
5619
+
5620
+ # Summary information for users or groups in your Amazon Web Services
5621
+ # SSO identity source with granted access to your Amazon Kendra
5622
+ # experience. You can create an Amazon Kendra experience such as a
5623
+ # search application. For more information on creating a search
5624
+ # application experience, see [Building a search experience with no
5625
+ # code][1].
5626
+ #
5627
+ #
5628
+ #
5629
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html
5630
+ #
5631
+ # @!attribute [rw] entity_id
5632
+ # The identifier of a user or group in your Amazon Web Services SSO
5633
+ # identity source. For example, a user ID could be an email.
5634
+ # @return [String]
5635
+ #
5636
+ # @!attribute [rw] entity_type
5637
+ # Shows the type as `User` or `Group`.
5638
+ # @return [String]
5639
+ #
5640
+ # @!attribute [rw] display_data
5641
+ # Information about the user entity.
5642
+ # @return [Types::EntityDisplayData]
5643
+ #
5644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ExperienceEntitiesSummary AWS API Documentation
5645
+ #
5646
+ class ExperienceEntitiesSummary < Struct.new(
5647
+ :entity_id,
5648
+ :entity_type,
5649
+ :display_data)
5650
+ SENSITIVE = []
5651
+ include Aws::Structure
5652
+ end
5653
+
5654
+ # Summary information for your Amazon Kendra experience. You can create
5655
+ # an Amazon Kendra experience such as a search application. For more
5656
+ # information on creating a search application experience, see [Building
5657
+ # a search experience with no code][1].
5658
+ #
5659
+ #
5660
+ #
5661
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html
5662
+ #
5663
+ # @!attribute [rw] name
5664
+ # The name of your Amazon Kendra experience.
5665
+ # @return [String]
5666
+ #
5667
+ # @!attribute [rw] id
5668
+ # The identifier of your Amazon Kendra experience.
5669
+ # @return [String]
5670
+ #
5671
+ # @!attribute [rw] created_at
5672
+ # The date-time your Amazon Kendra experience was created.
5673
+ # @return [Time]
5674
+ #
5675
+ # @!attribute [rw] status
5676
+ # The processing status of your Amazon Kendra experience.
5677
+ # @return [String]
5678
+ #
5679
+ # @!attribute [rw] endpoints
5680
+ # The endpoint URLs for your Amazon Kendra experiences. The URLs are
5681
+ # unique and fully hosted by Amazon Web Services.
5682
+ # @return [Array<Types::ExperienceEndpoint>]
5683
+ #
5684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ExperiencesSummary AWS API Documentation
5685
+ #
5686
+ class ExperiencesSummary < Struct.new(
5687
+ :name,
5688
+ :id,
5689
+ :created_at,
5690
+ :status,
5691
+ :endpoints)
5692
+ SENSITIVE = []
5693
+ include Aws::Structure
5694
+ end
5695
+
4567
5696
  # Information about a document attribute
4568
5697
  #
4569
5698
  # @note When making an API call, you may pass Facet
@@ -4613,6 +5742,30 @@ module Aws::Kendra
4613
5742
  include Aws::Structure
4614
5743
  end
4615
5744
 
5745
+ # Information on the users or groups in your Amazon Web Services SSO
5746
+ # identity source that failed to properly configure with your Amazon
5747
+ # Kendra experience.
5748
+ #
5749
+ # @!attribute [rw] entity_id
5750
+ # The identifier of the user or group in your Amazon Web Services SSO
5751
+ # identity source. For example, a user ID could be an email.
5752
+ # @return [String]
5753
+ #
5754
+ # @!attribute [rw] error_message
5755
+ # The reason the user or group in your Amazon Web Services SSO
5756
+ # identity source failed to properly configure with your Amazon Kendra
5757
+ # experience.
5758
+ # @return [String]
5759
+ #
5760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/FailedEntity AWS API Documentation
5761
+ #
5762
+ class FailedEntity < Struct.new(
5763
+ :entity_id,
5764
+ :error_message)
5765
+ SENSITIVE = []
5766
+ include Aws::Structure
5767
+ end
5768
+
4616
5769
  # Provides statistical information about the FAQ questions and answers
4617
5770
  # contained in an index.
4618
5771
  #
@@ -4741,6 +5894,111 @@ module Aws::Kendra
4741
5894
  include Aws::Structure
4742
5895
  end
4743
5896
 
5897
+ # @note When making an API call, you may pass GetSnapshotsRequest
5898
+ # data as a hash:
5899
+ #
5900
+ # {
5901
+ # index_id: "IndexId", # required
5902
+ # interval: "THIS_MONTH", # required, accepts THIS_MONTH, THIS_WEEK, ONE_WEEK_AGO, TWO_WEEKS_AGO, ONE_MONTH_AGO, TWO_MONTHS_AGO
5903
+ # metric_type: "QUERIES_BY_COUNT", # required, accepts QUERIES_BY_COUNT, QUERIES_BY_ZERO_CLICK_RATE, QUERIES_BY_ZERO_RESULT_RATE, DOCS_BY_CLICK_COUNT, AGG_QUERY_DOC_METRICS, TREND_QUERY_DOC_METRICS
5904
+ # next_token: "NextToken",
5905
+ # max_results: 1,
5906
+ # }
5907
+ #
5908
+ # @!attribute [rw] index_id
5909
+ # The identifier of the index to get search metrics data.
5910
+ # @return [String]
5911
+ #
5912
+ # @!attribute [rw] interval
5913
+ # The time interval or time window to get search metrics data. The
5914
+ # time interval uses the time zone of your index. You can view data in
5915
+ # the following time windows:
5916
+ #
5917
+ # * `THIS_WEEK`\: The current week, starting on the Sunday and ending
5918
+ # on the day before the current date.
5919
+ #
5920
+ # * `ONE_WEEK_AGO`\: The previous week, starting on the Sunday and
5921
+ # ending on the following Saturday.
5922
+ #
5923
+ # * `TWO_WEEKS_AGO`\: The week before the previous week, starting on
5924
+ # the Sunday and ending on the following Saturday.
5925
+ #
5926
+ # * `THIS_MONTH`\: The current month, starting on the first day of the
5927
+ # month and ending on the day before the current date.
5928
+ #
5929
+ # * `ONE_MONTH_AGO`\: The previous month, starting on the first day of
5930
+ # the month and ending on the last day of the month.
5931
+ #
5932
+ # * `TWO_MONTHS_AGO`\: The month before the previous month, starting
5933
+ # on the first day of the month and ending on last day of the month.
5934
+ # @return [String]
5935
+ #
5936
+ # @!attribute [rw] metric_type
5937
+ # The metric you want to retrieve. You can specify only one metric per
5938
+ # call.
5939
+ #
5940
+ # For more information about the metrics you can view, see [Gaining
5941
+ # insights with search analytics][1].
5942
+ #
5943
+ #
5944
+ #
5945
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/search-analytics.html
5946
+ # @return [String]
5947
+ #
5948
+ # @!attribute [rw] next_token
5949
+ # If the previous response was incomplete (because there is more data
5950
+ # to retrieve), Amazon Kendra returns a pagination token in the
5951
+ # response. You can use this pagination token to retrieve the next set
5952
+ # of search metrics data.
5953
+ # @return [String]
5954
+ #
5955
+ # @!attribute [rw] max_results
5956
+ # The maximum number of returned data for the metric.
5957
+ # @return [Integer]
5958
+ #
5959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GetSnapshotsRequest AWS API Documentation
5960
+ #
5961
+ class GetSnapshotsRequest < Struct.new(
5962
+ :index_id,
5963
+ :interval,
5964
+ :metric_type,
5965
+ :next_token,
5966
+ :max_results)
5967
+ SENSITIVE = []
5968
+ include Aws::Structure
5969
+ end
5970
+
5971
+ # @!attribute [rw] snap_shot_time_filter
5972
+ # The date-time for the beginning and end of the time window for the
5973
+ # search metrics data.
5974
+ # @return [Types::TimeRange]
5975
+ #
5976
+ # @!attribute [rw] snapshots_data_header
5977
+ # The column headers for the search metrics data.
5978
+ # @return [Array<String>]
5979
+ #
5980
+ # @!attribute [rw] snapshots_data
5981
+ # The search metrics data. The data returned depends on the metric
5982
+ # type you requested.
5983
+ # @return [Array<Array<String>>]
5984
+ #
5985
+ # @!attribute [rw] next_token
5986
+ # If the response is truncated, Amazon Kendra returns this token,
5987
+ # which you can use in a later request to retrieve the next set of
5988
+ # search metrics data.
5989
+ # @return [String]
5990
+ #
5991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GetSnapshotsResponse AWS API Documentation
5992
+ #
5993
+ class GetSnapshotsResponse < Struct.new(
5994
+ :snap_shot_time_filter,
5995
+ :snapshots_data_header,
5996
+ :snapshots_data,
5997
+ :next_token)
5998
+ SENSITIVE = []
5999
+ include Aws::Structure
6000
+ end
6001
+
4744
6002
  # Provides configuration information for data sources that connect to
4745
6003
  # Google Drive.
4746
6004
  #
@@ -5031,6 +6289,81 @@ module Aws::Kendra
5031
6289
  include Aws::Structure
5032
6290
  end
5033
6291
 
6292
+ # Provides the configuration information for invoking a Lambda function
6293
+ # in Lambda to alter document metadata and content when ingesting
6294
+ # documents into Amazon Kendra. You can configure your Lambda function
6295
+ # using [PreExtractionHookConfiguration][1] if you want to apply
6296
+ # advanced alterations on the original or raw documents. If you want to
6297
+ # apply advanced alterations on the Amazon Kendra structured documents,
6298
+ # you must configure your Lambda function using
6299
+ # [PostExtractionHookConfiguration][1]. You can only invoke one Lambda
6300
+ # function. However, this function can invoke other functions it
6301
+ # requires.
6302
+ #
6303
+ # For more information, see [Customizing document metadata during the
6304
+ # ingestion process][2].
6305
+ #
6306
+ #
6307
+ #
6308
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_CustomDocumentEnrichmentConfiguration.html
6309
+ # [2]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
6310
+ #
6311
+ # @note When making an API call, you may pass HookConfiguration
6312
+ # data as a hash:
6313
+ #
6314
+ # {
6315
+ # invocation_condition: {
6316
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
6317
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
6318
+ # condition_on_value: {
6319
+ # string_value: "DocumentAttributeStringValue",
6320
+ # string_list_value: ["String"],
6321
+ # long_value: 1,
6322
+ # date_value: Time.now,
6323
+ # },
6324
+ # },
6325
+ # lambda_arn: "LambdaArn", # required
6326
+ # s3_bucket: "S3BucketName", # required
6327
+ # }
6328
+ #
6329
+ # @!attribute [rw] invocation_condition
6330
+ # The condition used for when a Lambda function should be invoked.
6331
+ #
6332
+ # For example, you can specify a condition that if there are empty
6333
+ # date-time values, then Amazon Kendra should invoke a function that
6334
+ # inserts the current date-time.
6335
+ # @return [Types::DocumentAttributeCondition]
6336
+ #
6337
+ # @!attribute [rw] lambda_arn
6338
+ # The Amazon Resource Name (ARN) of a role with permission to run a
6339
+ # Lambda function during ingestion. For more information, see [IAM
6340
+ # roles for Amazon Kendra][1].
6341
+ #
6342
+ #
6343
+ #
6344
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
6345
+ # @return [String]
6346
+ #
6347
+ # @!attribute [rw] s3_bucket
6348
+ # Stores the original, raw documents or the structured, parsed
6349
+ # documents before and after altering them. For more information, see
6350
+ # [Data contracts for Lambda functions][1].
6351
+ #
6352
+ #
6353
+ #
6354
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#cde-data-contracts-lambda
6355
+ # @return [String]
6356
+ #
6357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/HookConfiguration AWS API Documentation
6358
+ #
6359
+ class HookConfiguration < Struct.new(
6360
+ :invocation_condition,
6361
+ :lambda_arn,
6362
+ :s3_bucket)
6363
+ SENSITIVE = []
6364
+ include Aws::Structure
6365
+ end
6366
+
5034
6367
  # A summary of information about an index.
5035
6368
  #
5036
6369
  # @!attribute [rw] name
@@ -5095,6 +6428,73 @@ module Aws::Kendra
5095
6428
  include Aws::Structure
5096
6429
  end
5097
6430
 
6431
+ # Provides the configuration information for applying basic logic to
6432
+ # alter document metadata and content when ingesting documents into
6433
+ # Amazon Kendra. To apply advanced logic, to go beyond what you can do
6434
+ # with basic logic, see [HookConfiguration][1].
6435
+ #
6436
+ # For more information, see [Customizing document metadata during the
6437
+ # ingestion process][2].
6438
+ #
6439
+ #
6440
+ #
6441
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_HookConfiguration.html
6442
+ # [2]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
6443
+ #
6444
+ # @note When making an API call, you may pass InlineCustomDocumentEnrichmentConfiguration
6445
+ # data as a hash:
6446
+ #
6447
+ # {
6448
+ # condition: {
6449
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
6450
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
6451
+ # condition_on_value: {
6452
+ # string_value: "DocumentAttributeStringValue",
6453
+ # string_list_value: ["String"],
6454
+ # long_value: 1,
6455
+ # date_value: Time.now,
6456
+ # },
6457
+ # },
6458
+ # target: {
6459
+ # target_document_attribute_key: "DocumentAttributeKey",
6460
+ # target_document_attribute_value_deletion: false,
6461
+ # target_document_attribute_value: {
6462
+ # string_value: "DocumentAttributeStringValue",
6463
+ # string_list_value: ["String"],
6464
+ # long_value: 1,
6465
+ # date_value: Time.now,
6466
+ # },
6467
+ # },
6468
+ # document_content_deletion: false,
6469
+ # }
6470
+ #
6471
+ # @!attribute [rw] condition
6472
+ # Configuration of the condition used for the target document
6473
+ # attribute or metadata field when ingesting documents into Amazon
6474
+ # Kendra.
6475
+ # @return [Types::DocumentAttributeCondition]
6476
+ #
6477
+ # @!attribute [rw] target
6478
+ # Configuration of the target document attribute or metadata field
6479
+ # when ingesting documents into Amazon Kendra. You can also include a
6480
+ # value.
6481
+ # @return [Types::DocumentAttributeTarget]
6482
+ #
6483
+ # @!attribute [rw] document_content_deletion
6484
+ # `TRUE` to delete content if the condition used for the target
6485
+ # attribute is met.
6486
+ # @return [Boolean]
6487
+ #
6488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/InlineCustomDocumentEnrichmentConfiguration AWS API Documentation
6489
+ #
6490
+ class InlineCustomDocumentEnrichmentConfiguration < Struct.new(
6491
+ :condition,
6492
+ :target,
6493
+ :document_content_deletion)
6494
+ SENSITIVE = []
6495
+ include Aws::Structure
6496
+ end
6497
+
5098
6498
  # @!attribute [rw] message
5099
6499
  # @return [String]
5100
6500
  #
@@ -5106,6 +6506,19 @@ module Aws::Kendra
5106
6506
  include Aws::Structure
5107
6507
  end
5108
6508
 
6509
+ # The input to the request is not valid.
6510
+ #
6511
+ # @!attribute [rw] message
6512
+ # @return [String]
6513
+ #
6514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/InvalidRequestException AWS API Documentation
6515
+ #
6516
+ class InvalidRequestException < Struct.new(
6517
+ :message)
6518
+ SENSITIVE = []
6519
+ include Aws::Structure
6520
+ end
6521
+
5109
6522
  # Configuration information for the JSON token type.
5110
6523
  #
5111
6524
  # @note When making an API call, you may pass JsonTokenTypeConfiguration
@@ -5133,142 +6546,307 @@ module Aws::Kendra
5133
6546
  include Aws::Structure
5134
6547
  end
5135
6548
 
5136
- # Configuration information for the JWT token type.
5137
- #
5138
- # @note When making an API call, you may pass JwtTokenTypeConfiguration
6549
+ # Configuration information for the JWT token type.
6550
+ #
6551
+ # @note When making an API call, you may pass JwtTokenTypeConfiguration
6552
+ # data as a hash:
6553
+ #
6554
+ # {
6555
+ # key_location: "URL", # required, accepts URL, SECRET_MANAGER
6556
+ # url: "Url",
6557
+ # secret_manager_arn: "RoleArn",
6558
+ # user_name_attribute_field: "UserNameAttributeField",
6559
+ # group_attribute_field: "GroupAttributeField",
6560
+ # issuer: "Issuer",
6561
+ # claim_regex: "ClaimRegex",
6562
+ # }
6563
+ #
6564
+ # @!attribute [rw] key_location
6565
+ # The location of the key.
6566
+ # @return [String]
6567
+ #
6568
+ # @!attribute [rw] url
6569
+ # The signing key URL.
6570
+ # @return [String]
6571
+ #
6572
+ # @!attribute [rw] secret_manager_arn
6573
+ # The Amazon Resource Name (arn) of the secret.
6574
+ # @return [String]
6575
+ #
6576
+ # @!attribute [rw] user_name_attribute_field
6577
+ # The user name attribute field.
6578
+ # @return [String]
6579
+ #
6580
+ # @!attribute [rw] group_attribute_field
6581
+ # The group attribute field.
6582
+ # @return [String]
6583
+ #
6584
+ # @!attribute [rw] issuer
6585
+ # The issuer of the token.
6586
+ # @return [String]
6587
+ #
6588
+ # @!attribute [rw] claim_regex
6589
+ # The regular expression that identifies the claim.
6590
+ # @return [String]
6591
+ #
6592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/JwtTokenTypeConfiguration AWS API Documentation
6593
+ #
6594
+ class JwtTokenTypeConfiguration < Struct.new(
6595
+ :key_location,
6596
+ :url,
6597
+ :secret_manager_arn,
6598
+ :user_name_attribute_field,
6599
+ :group_attribute_field,
6600
+ :issuer,
6601
+ :claim_regex)
6602
+ SENSITIVE = []
6603
+ include Aws::Structure
6604
+ end
6605
+
6606
+ # @note When making an API call, you may pass ListDataSourceSyncJobsRequest
6607
+ # data as a hash:
6608
+ #
6609
+ # {
6610
+ # id: "DataSourceId", # required
6611
+ # index_id: "IndexId", # required
6612
+ # next_token: "NextToken",
6613
+ # max_results: 1,
6614
+ # start_time_filter: {
6615
+ # start_time: Time.now,
6616
+ # end_time: Time.now,
6617
+ # },
6618
+ # status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED, SYNCING_INDEXING
6619
+ # }
6620
+ #
6621
+ # @!attribute [rw] id
6622
+ # The identifier of the data source.
6623
+ # @return [String]
6624
+ #
6625
+ # @!attribute [rw] index_id
6626
+ # The identifier of the index that contains the data source.
6627
+ # @return [String]
6628
+ #
6629
+ # @!attribute [rw] next_token
6630
+ # If the previous response was incomplete (because there is more data
6631
+ # to retrieve), Amazon Kendra returns a pagination token in the
6632
+ # response. You can use this pagination token to retrieve the next set
6633
+ # of jobs.
6634
+ # @return [String]
6635
+ #
6636
+ # @!attribute [rw] max_results
6637
+ # The maximum number of synchronization jobs to return in the
6638
+ # response. If there are fewer results in the list, this response
6639
+ # contains only the actual results.
6640
+ # @return [Integer]
6641
+ #
6642
+ # @!attribute [rw] start_time_filter
6643
+ # When specified, the synchronization jobs returned in the list are
6644
+ # limited to jobs between the specified dates.
6645
+ # @return [Types::TimeRange]
6646
+ #
6647
+ # @!attribute [rw] status_filter
6648
+ # When specified, only returns synchronization jobs with the `Status`
6649
+ # field equal to the specified status.
6650
+ # @return [String]
6651
+ #
6652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobsRequest AWS API Documentation
6653
+ #
6654
+ class ListDataSourceSyncJobsRequest < Struct.new(
6655
+ :id,
6656
+ :index_id,
6657
+ :next_token,
6658
+ :max_results,
6659
+ :start_time_filter,
6660
+ :status_filter)
6661
+ SENSITIVE = []
6662
+ include Aws::Structure
6663
+ end
6664
+
6665
+ # @!attribute [rw] history
6666
+ # A history of synchronization jobs for the data source.
6667
+ # @return [Array<Types::DataSourceSyncJob>]
6668
+ #
6669
+ # @!attribute [rw] next_token
6670
+ # If the response is truncated, Amazon Kendra returns this token that
6671
+ # you can use in the subsequent request to retrieve the next set of
6672
+ # jobs.
6673
+ # @return [String]
6674
+ #
6675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobsResponse AWS API Documentation
6676
+ #
6677
+ class ListDataSourceSyncJobsResponse < Struct.new(
6678
+ :history,
6679
+ :next_token)
6680
+ SENSITIVE = []
6681
+ include Aws::Structure
6682
+ end
6683
+
6684
+ # @note When making an API call, you may pass ListDataSourcesRequest
6685
+ # data as a hash:
6686
+ #
6687
+ # {
6688
+ # index_id: "IndexId", # required
6689
+ # next_token: "NextToken",
6690
+ # max_results: 1,
6691
+ # }
6692
+ #
6693
+ # @!attribute [rw] index_id
6694
+ # The identifier of the index that contains the data source.
6695
+ # @return [String]
6696
+ #
6697
+ # @!attribute [rw] next_token
6698
+ # If the previous response was incomplete (because there is more data
6699
+ # to retrieve), Amazon Kendra returns a pagination token in the
6700
+ # response. You can use this pagination token to retrieve the next set
6701
+ # of data sources (`DataSourceSummaryItems`).
6702
+ # @return [String]
6703
+ #
6704
+ # @!attribute [rw] max_results
6705
+ # The maximum number of data sources to return.
6706
+ # @return [Integer]
6707
+ #
6708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourcesRequest AWS API Documentation
6709
+ #
6710
+ class ListDataSourcesRequest < Struct.new(
6711
+ :index_id,
6712
+ :next_token,
6713
+ :max_results)
6714
+ SENSITIVE = []
6715
+ include Aws::Structure
6716
+ end
6717
+
6718
+ # @!attribute [rw] summary_items
6719
+ # An array of summary information for one or more data sources.
6720
+ # @return [Array<Types::DataSourceSummary>]
6721
+ #
6722
+ # @!attribute [rw] next_token
6723
+ # If the response is truncated, Amazon Kendra returns this token that
6724
+ # you can use in the subsequent request to retrieve the next set of
6725
+ # data sources.
6726
+ # @return [String]
6727
+ #
6728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourcesResponse AWS API Documentation
6729
+ #
6730
+ class ListDataSourcesResponse < Struct.new(
6731
+ :summary_items,
6732
+ :next_token)
6733
+ SENSITIVE = []
6734
+ include Aws::Structure
6735
+ end
6736
+
6737
+ # @note When making an API call, you may pass ListEntityPersonasRequest
5139
6738
  # data as a hash:
5140
6739
  #
5141
6740
  # {
5142
- # key_location: "URL", # required, accepts URL, SECRET_MANAGER
5143
- # url: "Url",
5144
- # secret_manager_arn: "RoleArn",
5145
- # user_name_attribute_field: "UserNameAttributeField",
5146
- # group_attribute_field: "GroupAttributeField",
5147
- # issuer: "Issuer",
5148
- # claim_regex: "ClaimRegex",
6741
+ # id: "ExperienceId", # required
6742
+ # index_id: "IndexId", # required
6743
+ # next_token: "NextToken",
6744
+ # max_results: 1,
5149
6745
  # }
5150
6746
  #
5151
- # @!attribute [rw] key_location
5152
- # The location of the key.
6747
+ # @!attribute [rw] id
6748
+ # The identifier of your Amazon Kendra experience.
5153
6749
  # @return [String]
5154
6750
  #
5155
- # @!attribute [rw] url
5156
- # The signing key URL.
6751
+ # @!attribute [rw] index_id
6752
+ # The identifier of the index for your Amazon Kendra experience.
5157
6753
  # @return [String]
5158
6754
  #
5159
- # @!attribute [rw] secret_manager_arn
5160
- # The Amazon Resource Name (arn) of the secret.
6755
+ # @!attribute [rw] next_token
6756
+ # If the previous response was incomplete (because there is more data
6757
+ # to retrieve), Amazon Kendra returns a pagination token in the
6758
+ # response. You can use this pagination token to retrieve the next set
6759
+ # of users or groups.
5161
6760
  # @return [String]
5162
6761
  #
5163
- # @!attribute [rw] user_name_attribute_field
5164
- # The user name attribute field.
5165
- # @return [String]
6762
+ # @!attribute [rw] max_results
6763
+ # The maximum number of returned users or groups.
6764
+ # @return [Integer]
5166
6765
  #
5167
- # @!attribute [rw] group_attribute_field
5168
- # The group attribute field.
5169
- # @return [String]
6766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListEntityPersonasRequest AWS API Documentation
5170
6767
  #
5171
- # @!attribute [rw] issuer
5172
- # The issuer of the token.
5173
- # @return [String]
6768
+ class ListEntityPersonasRequest < Struct.new(
6769
+ :id,
6770
+ :index_id,
6771
+ :next_token,
6772
+ :max_results)
6773
+ SENSITIVE = []
6774
+ include Aws::Structure
6775
+ end
6776
+
6777
+ # @!attribute [rw] summary_items
6778
+ # An array of summary information for one or more users or groups.
6779
+ # @return [Array<Types::PersonasSummary>]
5174
6780
  #
5175
- # @!attribute [rw] claim_regex
5176
- # The regular expression that identifies the claim.
6781
+ # @!attribute [rw] next_token
6782
+ # If the response is truncated, Amazon Kendra returns this token,
6783
+ # which you can use in a later request to retrieve the next set of
6784
+ # users or groups.
5177
6785
  # @return [String]
5178
6786
  #
5179
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/JwtTokenTypeConfiguration AWS API Documentation
6787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListEntityPersonasResponse AWS API Documentation
5180
6788
  #
5181
- class JwtTokenTypeConfiguration < Struct.new(
5182
- :key_location,
5183
- :url,
5184
- :secret_manager_arn,
5185
- :user_name_attribute_field,
5186
- :group_attribute_field,
5187
- :issuer,
5188
- :claim_regex)
6789
+ class ListEntityPersonasResponse < Struct.new(
6790
+ :summary_items,
6791
+ :next_token)
5189
6792
  SENSITIVE = []
5190
6793
  include Aws::Structure
5191
6794
  end
5192
6795
 
5193
- # @note When making an API call, you may pass ListDataSourceSyncJobsRequest
6796
+ # @note When making an API call, you may pass ListExperienceEntitiesRequest
5194
6797
  # data as a hash:
5195
6798
  #
5196
6799
  # {
5197
- # id: "DataSourceId", # required
6800
+ # id: "ExperienceId", # required
5198
6801
  # index_id: "IndexId", # required
5199
6802
  # next_token: "NextToken",
5200
- # max_results: 1,
5201
- # start_time_filter: {
5202
- # start_time: Time.now,
5203
- # end_time: Time.now,
5204
- # },
5205
- # status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED, SYNCING_INDEXING
5206
6803
  # }
5207
6804
  #
5208
6805
  # @!attribute [rw] id
5209
- # The identifier of the data source.
6806
+ # The identifier of your Amazon Kendra experience.
5210
6807
  # @return [String]
5211
6808
  #
5212
6809
  # @!attribute [rw] index_id
5213
- # The identifier of the index that contains the data source.
6810
+ # The identifier of the index for your Amazon Kendra experience.
5214
6811
  # @return [String]
5215
6812
  #
5216
6813
  # @!attribute [rw] next_token
5217
6814
  # If the previous response was incomplete (because there is more data
5218
6815
  # to retrieve), Amazon Kendra returns a pagination token in the
5219
6816
  # response. You can use this pagination token to retrieve the next set
5220
- # of jobs.
5221
- # @return [String]
5222
- #
5223
- # @!attribute [rw] max_results
5224
- # The maximum number of synchronization jobs to return in the
5225
- # response. If there are fewer results in the list, this response
5226
- # contains only the actual results.
5227
- # @return [Integer]
5228
- #
5229
- # @!attribute [rw] start_time_filter
5230
- # When specified, the synchronization jobs returned in the list are
5231
- # limited to jobs between the specified dates.
5232
- # @return [Types::TimeRange]
5233
- #
5234
- # @!attribute [rw] status_filter
5235
- # When specified, only returns synchronization jobs with the `Status`
5236
- # field equal to the specified status.
6817
+ # of users or groups.
5237
6818
  # @return [String]
5238
6819
  #
5239
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobsRequest AWS API Documentation
6820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListExperienceEntitiesRequest AWS API Documentation
5240
6821
  #
5241
- class ListDataSourceSyncJobsRequest < Struct.new(
6822
+ class ListExperienceEntitiesRequest < Struct.new(
5242
6823
  :id,
5243
6824
  :index_id,
5244
- :next_token,
5245
- :max_results,
5246
- :start_time_filter,
5247
- :status_filter)
6825
+ :next_token)
5248
6826
  SENSITIVE = []
5249
6827
  include Aws::Structure
5250
6828
  end
5251
6829
 
5252
- # @!attribute [rw] history
5253
- # A history of synchronization jobs for the data source.
5254
- # @return [Array<Types::DataSourceSyncJob>]
6830
+ # @!attribute [rw] summary_items
6831
+ # An array of summary information for one or more users or groups.
6832
+ # @return [Array<Types::ExperienceEntitiesSummary>]
5255
6833
  #
5256
6834
  # @!attribute [rw] next_token
5257
- # If the response is truncated, Amazon Kendra returns this token that
5258
- # you can use in the subsequent request to retrieve the next set of
5259
- # jobs.
6835
+ # If the response is truncated, Amazon Kendra returns this token,
6836
+ # which you can use in a later request to retrieve the next set of
6837
+ # users or groups.
5260
6838
  # @return [String]
5261
6839
  #
5262
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobsResponse AWS API Documentation
6840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListExperienceEntitiesResponse AWS API Documentation
5263
6841
  #
5264
- class ListDataSourceSyncJobsResponse < Struct.new(
5265
- :history,
6842
+ class ListExperienceEntitiesResponse < Struct.new(
6843
+ :summary_items,
5266
6844
  :next_token)
5267
6845
  SENSITIVE = []
5268
6846
  include Aws::Structure
5269
6847
  end
5270
6848
 
5271
- # @note When making an API call, you may pass ListDataSourcesRequest
6849
+ # @note When making an API call, you may pass ListExperiencesRequest
5272
6850
  # data as a hash:
5273
6851
  #
5274
6852
  # {
@@ -5278,23 +6856,23 @@ module Aws::Kendra
5278
6856
  # }
5279
6857
  #
5280
6858
  # @!attribute [rw] index_id
5281
- # The identifier of the index that contains the data source.
6859
+ # The identifier of the index for your Amazon Kendra experience.
5282
6860
  # @return [String]
5283
6861
  #
5284
6862
  # @!attribute [rw] next_token
5285
6863
  # If the previous response was incomplete (because there is more data
5286
6864
  # to retrieve), Amazon Kendra returns a pagination token in the
5287
6865
  # response. You can use this pagination token to retrieve the next set
5288
- # of data sources (`DataSourceSummaryItems`).
6866
+ # of Amazon Kendra experiences.
5289
6867
  # @return [String]
5290
6868
  #
5291
6869
  # @!attribute [rw] max_results
5292
- # The maximum number of data sources to return.
6870
+ # The maximum number of returned Amazon Kendra experiences.
5293
6871
  # @return [Integer]
5294
6872
  #
5295
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourcesRequest AWS API Documentation
6873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListExperiencesRequest AWS API Documentation
5296
6874
  #
5297
- class ListDataSourcesRequest < Struct.new(
6875
+ class ListExperiencesRequest < Struct.new(
5298
6876
  :index_id,
5299
6877
  :next_token,
5300
6878
  :max_results)
@@ -5303,18 +6881,19 @@ module Aws::Kendra
5303
6881
  end
5304
6882
 
5305
6883
  # @!attribute [rw] summary_items
5306
- # An array of summary information for one or more data sources.
5307
- # @return [Array<Types::DataSourceSummary>]
6884
+ # An array of summary information for one or more Amazon Kendra
6885
+ # experiences.
6886
+ # @return [Array<Types::ExperiencesSummary>]
5308
6887
  #
5309
6888
  # @!attribute [rw] next_token
5310
- # If the response is truncated, Amazon Kendra returns this token that
5311
- # you can use in the subsequent request to retrieve the next set of
5312
- # data sources.
6889
+ # If the response is truncated, Amazon Kendra returns this token,
6890
+ # which you can use in a later request to retrieve the next set of
6891
+ # Amazon Kendra experiences.
5313
6892
  # @return [String]
5314
6893
  #
5315
- # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourcesResponse AWS API Documentation
6894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListExperiencesResponse AWS API Documentation
5316
6895
  #
5317
- class ListDataSourcesResponse < Struct.new(
6896
+ class ListExperiencesResponse < Struct.new(
5318
6897
  :summary_items,
5319
6898
  :next_token)
5320
6899
  SENSITIVE = []
@@ -5824,6 +7403,54 @@ module Aws::Kendra
5824
7403
  include Aws::Structure
5825
7404
  end
5826
7405
 
7406
+ # Summary information for users or groups in your Amazon Web Services
7407
+ # SSO identity source. This applies to users and groups with specific
7408
+ # permissions that define their level of access to your Amazon Kendra
7409
+ # experience. You can create an Amazon Kendra experience such as a
7410
+ # search application. For more information on creating a search
7411
+ # application experience, see [Building a search experience with no
7412
+ # code][1].
7413
+ #
7414
+ #
7415
+ #
7416
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html
7417
+ #
7418
+ # @!attribute [rw] entity_id
7419
+ # The identifier of a user or group in your Amazon Web Services SSO
7420
+ # identity source. For example, a user ID could be an email.
7421
+ # @return [String]
7422
+ #
7423
+ # @!attribute [rw] persona
7424
+ # The persona that defines the specific permissions of the user or
7425
+ # group in your Amazon Web Services SSO identity source. The available
7426
+ # personas or access roles are `Owner` and `Viewer`. For more
7427
+ # information on these personas, see [Providing access to your search
7428
+ # page][1].
7429
+ #
7430
+ #
7431
+ #
7432
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html#access-search-experience
7433
+ # @return [String]
7434
+ #
7435
+ # @!attribute [rw] created_at
7436
+ # The date-time the summary information was created.
7437
+ # @return [Time]
7438
+ #
7439
+ # @!attribute [rw] updated_at
7440
+ # The date-time the summary information was last updated.
7441
+ # @return [Time]
7442
+ #
7443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/PersonasSummary AWS API Documentation
7444
+ #
7445
+ class PersonasSummary < Struct.new(
7446
+ :entity_id,
7447
+ :persona,
7448
+ :created_at,
7449
+ :updated_at)
7450
+ SENSITIVE = []
7451
+ include Aws::Structure
7452
+ end
7453
+
5827
7454
  # Provides user and group information for document access filtering.
5828
7455
  #
5829
7456
  # @note When making an API call, you may pass Principal
@@ -5893,7 +7520,7 @@ module Aws::Kendra
5893
7520
  # @return [Integer]
5894
7521
  #
5895
7522
  # @!attribute [rw] credentials
5896
- # Your secret ARN, which you can create in [AWS Secrets Manager][1]
7523
+ # Your secret ARN, which you can create in [Secrets Manager][1]
5897
7524
  #
5898
7525
  # The credentials are optional. You use a secret if web proxy
5899
7526
  # credentials are required to connect to a website host. Amazon Kendra
@@ -6028,7 +7655,7 @@ module Aws::Kendra
6028
7655
  #
6029
7656
  # {
6030
7657
  # index_id: "IndexId", # required
6031
- # query_text: "QueryText", # required
7658
+ # query_text: "QueryText",
6032
7659
  # attribute_filter: {
6033
7660
  # and_all_filters: [
6034
7661
  # {
@@ -6279,13 +7906,27 @@ module Aws::Kendra
6279
7906
  # items, you can only retrieve the first 100 of the items.
6280
7907
  # @return [Integer]
6281
7908
  #
7909
+ # @!attribute [rw] warnings
7910
+ # A list of warning codes and their messages on problems with your
7911
+ # query.
7912
+ #
7913
+ # Amazon Kendra currently only supports one type of warning, which is
7914
+ # a warning on invalid syntax used in the query. For examples of
7915
+ # invalid query syntax, see [Searching with advanced query syntax][1].
7916
+ #
7917
+ #
7918
+ #
7919
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/searching-example.html#searching-index-query-syntax
7920
+ # @return [Array<Types::Warning>]
7921
+ #
6282
7922
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/QueryResult AWS API Documentation
6283
7923
  #
6284
7924
  class QueryResult < Struct.new(
6285
7925
  :query_id,
6286
7926
  :result_items,
6287
7927
  :facet_results,
6288
- :total_number_of_results)
7928
+ :total_number_of_results,
7929
+ :warnings)
6289
7930
  SENSITIVE = []
6290
7931
  include Aws::Structure
6291
7932
  end
@@ -7241,7 +8882,7 @@ module Aws::Kendra
7241
8882
  #
7242
8883
  # *When selecting websites to index, you must adhere to the [Amazon
7243
8884
  # Acceptable Use Policy][1] and all other Amazon terms. Remember that
7244
- # you must only use the Amazon Kendra web crawler to index your own
8885
+ # you must only use Amazon Kendra Web Crawler to index your own
7245
8886
  # webpages, or webpages that you have authorization to index.*
7246
8887
  #
7247
8888
  #
@@ -7385,7 +9026,7 @@ module Aws::Kendra
7385
9026
  # @!attribute [rw] authentication_type
7386
9027
  # Determines the type of authentication used to connect to the
7387
9028
  # ServiceNow instance. If you choose `HTTP_BASIC`, Amazon Kendra is
7388
- # authenticated using the user name and password provided in the AWS
9029
+ # authenticated using the user name and password provided in the
7389
9030
  # Secrets Manager secret in the `SecretArn` field. When you choose
7390
9031
  # `OAUTH2`, Amazon Kendra is authenticated using the OAuth token and
7391
9032
  # secret provided in the Secrets Manager secret, and the user name and
@@ -7630,7 +9271,7 @@ module Aws::Kendra
7630
9271
  # SharePoint Server, you also need to provide the sever domain name as
7631
9272
  # part of the credentials. For more information, see [Using a
7632
9273
  # Microsoft SharePoint Data Source][1]. For more information about
7633
- # Secrets Manager, see [ What Is Secrets Manager][2] in the <i>Secrets
9274
+ # Secrets Manager see [ What Is Secrets Manager][2] in the <i>Secrets
7634
9275
  # Manager </i> user guide.
7635
9276
  #
7636
9277
  #
@@ -7726,7 +9367,7 @@ module Aws::Kendra
7726
9367
  #
7727
9368
  # *When selecting websites to index, you must adhere to the [Amazon
7728
9369
  # Acceptable Use Policy][1] and all other Amazon terms. Remember that
7729
- # you must only use the Amazon Kendra web crawler to index your own
9370
+ # you must only use Amazon Kendra Web Crawler to index your own
7730
9371
  # webpages, or webpages that you have authorization to index.*
7731
9372
  #
7732
9373
  #
@@ -8609,6 +10250,62 @@ module Aws::Kendra
8609
10250
  # schedule: "ScanSchedule",
8610
10251
  # role_arn: "RoleArn",
8611
10252
  # language_code: "LanguageCode",
10253
+ # custom_document_enrichment_configuration: {
10254
+ # inline_configurations: [
10255
+ # {
10256
+ # condition: {
10257
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
10258
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
10259
+ # condition_on_value: {
10260
+ # string_value: "DocumentAttributeStringValue",
10261
+ # string_list_value: ["String"],
10262
+ # long_value: 1,
10263
+ # date_value: Time.now,
10264
+ # },
10265
+ # },
10266
+ # target: {
10267
+ # target_document_attribute_key: "DocumentAttributeKey",
10268
+ # target_document_attribute_value_deletion: false,
10269
+ # target_document_attribute_value: {
10270
+ # string_value: "DocumentAttributeStringValue",
10271
+ # string_list_value: ["String"],
10272
+ # long_value: 1,
10273
+ # date_value: Time.now,
10274
+ # },
10275
+ # },
10276
+ # document_content_deletion: false,
10277
+ # },
10278
+ # ],
10279
+ # pre_extraction_hook_configuration: {
10280
+ # invocation_condition: {
10281
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
10282
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
10283
+ # condition_on_value: {
10284
+ # string_value: "DocumentAttributeStringValue",
10285
+ # string_list_value: ["String"],
10286
+ # long_value: 1,
10287
+ # date_value: Time.now,
10288
+ # },
10289
+ # },
10290
+ # lambda_arn: "LambdaArn", # required
10291
+ # s3_bucket: "S3BucketName", # required
10292
+ # },
10293
+ # post_extraction_hook_configuration: {
10294
+ # invocation_condition: {
10295
+ # condition_document_attribute_key: "DocumentAttributeKey", # required
10296
+ # operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
10297
+ # condition_on_value: {
10298
+ # string_value: "DocumentAttributeStringValue",
10299
+ # string_list_value: ["String"],
10300
+ # long_value: 1,
10301
+ # date_value: Time.now,
10302
+ # },
10303
+ # },
10304
+ # lambda_arn: "LambdaArn", # required
10305
+ # s3_bucket: "S3BucketName", # required
10306
+ # },
10307
+ # role_arn: "RoleArn",
10308
+ # },
8612
10309
  # }
8613
10310
  #
8614
10311
  # @!attribute [rw] id
@@ -8626,7 +10323,7 @@ module Aws::Kendra
8626
10323
  # @return [String]
8627
10324
  #
8628
10325
  # @!attribute [rw] configuration
8629
- # Configuration information for a Amazon Kendra data source.
10326
+ # Configuration information for an Amazon Kendra data source.
8630
10327
  # @return [Types::DataSourceConfiguration]
8631
10328
  #
8632
10329
  # @!attribute [rw] description
@@ -8654,6 +10351,20 @@ module Aws::Kendra
8654
10351
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html
8655
10352
  # @return [String]
8656
10353
  #
10354
+ # @!attribute [rw] custom_document_enrichment_configuration
10355
+ # Configuration information for altering document metadata and content
10356
+ # during the document ingestion process when you update a data source.
10357
+ #
10358
+ # For more information on how to create, modify and delete document
10359
+ # metadata, or make other content alterations when you ingest
10360
+ # documents into Amazon Kendra, see [Customizing document metadata
10361
+ # during the ingestion process][1].
10362
+ #
10363
+ #
10364
+ #
10365
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html
10366
+ # @return [Types::CustomDocumentEnrichmentConfiguration]
10367
+ #
8657
10368
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateDataSourceRequest AWS API Documentation
8658
10369
  #
8659
10370
  class UpdateDataSourceRequest < Struct.new(
@@ -8664,7 +10375,77 @@ module Aws::Kendra
8664
10375
  :description,
8665
10376
  :schedule,
8666
10377
  :role_arn,
8667
- :language_code)
10378
+ :language_code,
10379
+ :custom_document_enrichment_configuration)
10380
+ SENSITIVE = []
10381
+ include Aws::Structure
10382
+ end
10383
+
10384
+ # @note When making an API call, you may pass UpdateExperienceRequest
10385
+ # data as a hash:
10386
+ #
10387
+ # {
10388
+ # id: "ExperienceId", # required
10389
+ # name: "ExperienceName",
10390
+ # index_id: "IndexId", # required
10391
+ # role_arn: "RoleArn",
10392
+ # configuration: {
10393
+ # content_source_configuration: {
10394
+ # data_source_ids: ["DataSourceId"],
10395
+ # faq_ids: ["FaqId"],
10396
+ # direct_put_content: false,
10397
+ # },
10398
+ # user_identity_configuration: {
10399
+ # identity_attribute_name: "IdentityAttributeName",
10400
+ # },
10401
+ # },
10402
+ # description: "Description",
10403
+ # }
10404
+ #
10405
+ # @!attribute [rw] id
10406
+ # The identifier of your Amazon Kendra experience you want to update.
10407
+ # @return [String]
10408
+ #
10409
+ # @!attribute [rw] name
10410
+ # The name of your Amazon Kendra experience you want to update.
10411
+ # @return [String]
10412
+ #
10413
+ # @!attribute [rw] index_id
10414
+ # The identifier of the index for your Amazon Kendra experience you
10415
+ # want to update.
10416
+ # @return [String]
10417
+ #
10418
+ # @!attribute [rw] role_arn
10419
+ # The Amazon Resource Name (ARN) of a role with permission to access
10420
+ # `Query` operations, `QuerySuggestions` operations, `SubmitFeedback`
10421
+ # operations, and Amazon Web Services SSO that stores your user and
10422
+ # group information. For more information, see [IAM roles for Amazon
10423
+ # Kendra][1].
10424
+ #
10425
+ #
10426
+ #
10427
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
10428
+ # @return [String]
10429
+ #
10430
+ # @!attribute [rw] configuration
10431
+ # Provides the user configuration information. This includes the
10432
+ # Amazon Web Services SSO field name that contains the identifiers of
10433
+ # your users, such as their emails.
10434
+ # @return [Types::ExperienceConfiguration]
10435
+ #
10436
+ # @!attribute [rw] description
10437
+ # The description of your Amazon Kendra experience you want to update.
10438
+ # @return [String]
10439
+ #
10440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateExperienceRequest AWS API Documentation
10441
+ #
10442
+ class UpdateExperienceRequest < Struct.new(
10443
+ :id,
10444
+ :name,
10445
+ :index_id,
10446
+ :role_arn,
10447
+ :configuration,
10448
+ :description)
8668
10449
  SENSITIVE = []
8669
10450
  include Aws::Structure
8670
10451
  end
@@ -8765,8 +10546,8 @@ module Aws::Kendra
8765
10546
  # @return [String]
8766
10547
  #
8767
10548
  # @!attribute [rw] user_group_resolution_configuration
8768
- # Enables fetching access levels of groups and users from an AWS
8769
- # Single Sign-On identity source. To configure this, see
10549
+ # Enables fetching access levels of groups and users from an Amazon
10550
+ # Web Services Single Sign On identity source. To configure this, see
8770
10551
  # [UserGroupResolutionConfiguration][1].
8771
10552
  #
8772
10553
  #
@@ -9003,7 +10784,7 @@ module Aws::Kendra
9003
10784
  #
9004
10785
  # *When selecting websites to index, you must adhere to the [Amazon
9005
10786
  # Acceptable Use Policy][1] and all other Amazon terms. Remember that
9006
- # you must only use the Amazon Kendra web crawler to index your own
10787
+ # you must only use Amazon Kendra Web Crawler to index your own
9007
10788
  # webpages, or webpages that you have authorization to index.*
9008
10789
  #
9009
10790
  #
@@ -9113,21 +10894,28 @@ module Aws::Kendra
9113
10894
  end
9114
10895
 
9115
10896
  # Provides the configuration information to fetch access levels of
9116
- # groups and users from an AWS Single Sign-On identity source. This is
9117
- # useful for setting up user context filtering, where Amazon Kendra
9118
- # filters search results for different users based on their group's
9119
- # access to documents. You can also map your users to their groups for
9120
- # user context filtering using the [PutPrincipalMapping operation][1].
10897
+ # groups and users from an Amazon Web Services Single Sign On identity
10898
+ # source. This is useful for setting up user context filtering, where
10899
+ # Amazon Kendra filters search results for different users based on
10900
+ # their group's access to documents. You can also map your users to
10901
+ # their groups for user context filtering using the [PutPrincipalMapping
10902
+ # operation][1].
10903
+ #
10904
+ # To set up an Amazon Web Services SSO identity source in the console to
10905
+ # use with Amazon Kendra, see [Getting started with an Amazon Web
10906
+ # Services SSO identity source][2]. You must also grant the required
10907
+ # permissions to use Amazon Web Services SSO with Amazon Kendra. For
10908
+ # more information, see [IAM roles for Amazon Web Services SSO][3].
9121
10909
  #
9122
- # To set up an AWS SSO identity source in the console to use with Amazon
9123
- # Kendra, see [Getting started with an AWS SSO identity source][2]. You
9124
- # must also grant the required permissions to use AWS SSO with Amazon
9125
- # Kendra. For more information, see [IAM roles for AWS Single
9126
- # Sign-On][3].
10910
+ # Amazon Kendra currently does not support using
10911
+ # `UserGroupResolutionConfiguration` with an Amazon Web Services
10912
+ # organization member account for your Amazon Web Services SSO identify
10913
+ # source. You must create your index in the parent account for the
10914
+ # organization in order to use `UserGroupResolutionConfiguration`.
9127
10915
  #
9128
10916
  #
9129
10917
  #
9130
- # [1]: https://docs.aws.amazon.com/latest/dg/API_PutPrincipalMapping.html
10918
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html
9131
10919
  # [2]: https://docs.aws.amazon.com/kendra/latest/dg/getting-started-aws-sso.html
9132
10920
  # [3]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-aws-sso
9133
10921
  #
@@ -9140,9 +10928,10 @@ module Aws::Kendra
9140
10928
  #
9141
10929
  # @!attribute [rw] user_group_resolution_mode
9142
10930
  # The identity store provider (mode) you want to use to fetch access
9143
- # levels of groups and users. AWS Single Sign-On is currently the only
9144
- # available mode. Your users and groups must exist in an AWS SSO
9145
- # identity source in order to use this mode.
10931
+ # levels of groups and users. Amazon Web Services Single Sign On is
10932
+ # currently the only available mode. Your users and groups must exist
10933
+ # in an Amazon Web Services SSO identity source in order to use this
10934
+ # mode.
9146
10935
  # @return [String]
9147
10936
  #
9148
10937
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserGroupResolutionConfiguration AWS API Documentation
@@ -9153,6 +10942,39 @@ module Aws::Kendra
9153
10942
  include Aws::Structure
9154
10943
  end
9155
10944
 
10945
+ # Configuration information for the identifiers of your users.
10946
+ #
10947
+ # @note When making an API call, you may pass UserIdentityConfiguration
10948
+ # data as a hash:
10949
+ #
10950
+ # {
10951
+ # identity_attribute_name: "IdentityAttributeName",
10952
+ # }
10953
+ #
10954
+ # @!attribute [rw] identity_attribute_name
10955
+ # The Amazon Web Services SSO field name that contains the identifiers
10956
+ # of your users, such as their emails. This is used for [user context
10957
+ # filtering][1] and for granting access to your Amazon Kendra
10958
+ # experience. You must set up Amazon Web Services SSO with Amazon
10959
+ # Kendra. You must include your users and groups in your Access
10960
+ # Control List when you ingest documents into your index. For more
10961
+ # information, see [Getting started with an Amazon Web Services SSO
10962
+ # identity source][2].
10963
+ #
10964
+ #
10965
+ #
10966
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html
10967
+ # [2]: https://docs.aws.amazon.com/kendra/latest/dg/getting-started-aws-sso.html
10968
+ # @return [String]
10969
+ #
10970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserIdentityConfiguration AWS API Documentation
10971
+ #
10972
+ class UserIdentityConfiguration < Struct.new(
10973
+ :identity_attribute_name)
10974
+ SENSITIVE = []
10975
+ include Aws::Structure
10976
+ end
10977
+
9156
10978
  # Provides configuration information for a token configuration.
9157
10979
  #
9158
10980
  # @note When making an API call, you may pass UserTokenConfiguration
@@ -9202,8 +11024,27 @@ module Aws::Kendra
9202
11024
  include Aws::Structure
9203
11025
  end
9204
11026
 
9205
- # Provides the configuration information required for Amazon Kendra web
9206
- # crawler.
11027
+ # The warning code and message that explains a problem with a query.
11028
+ #
11029
+ # @!attribute [rw] message
11030
+ # The message that explains the problem with the query.
11031
+ # @return [String]
11032
+ #
11033
+ # @!attribute [rw] code
11034
+ # The code used to show the type of warning for the query.
11035
+ # @return [String]
11036
+ #
11037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Warning AWS API Documentation
11038
+ #
11039
+ class Warning < Struct.new(
11040
+ :message,
11041
+ :code)
11042
+ SENSITIVE = []
11043
+ include Aws::Structure
11044
+ end
11045
+
11046
+ # Provides the configuration information required for Amazon Kendra Web
11047
+ # Crawler.
9207
11048
  #
9208
11049
  # @note When making an API call, you may pass WebCrawlerConfiguration
9209
11050
  # data as a hash:
@@ -9254,7 +11095,7 @@ module Aws::Kendra
9254
11095
  #
9255
11096
  # *When selecting websites to index, you must adhere to the [Amazon
9256
11097
  # Acceptable Use Policy][1] and all other Amazon terms. Remember that
9257
- # you must only use the Amazon Kendra web crawler to index your own
11098
+ # you must only use Amazon Kendra Web Crawler to index your own
9258
11099
  # webpages, or webpages that you have authorization to index.*
9259
11100
  #
9260
11101
  #
@@ -9328,7 +11169,7 @@ module Aws::Kendra
9328
11169
  #
9329
11170
  # Web proxy credentials are optional and you can use them to connect
9330
11171
  # to a web proxy server that requires basic authentication. To store
9331
- # web proxy credentials, you use a secret in [AWS Secrets Manager][1].
11172
+ # web proxy credentials, you use a secret in [Secrets Manager][1].
9332
11173
  #
9333
11174
  #
9334
11175
  #
@@ -9345,7 +11186,7 @@ module Aws::Kendra
9345
11186
  # You must provide the website host name and port number. For example,
9346
11187
  # the host name of https://a.example.com/page1.html is
9347
11188
  # "a.example.com" and the port is 443, the standard port for HTTPS.
9348
- # You use a secret in [AWS Secrets Manager][1] to store your
11189
+ # You use a secret in [Secrets Manager][1] to store your
9349
11190
  # authentication credentials.
9350
11191
  #
9351
11192
  #
@@ -9397,10 +11238,10 @@ module Aws::Kendra
9397
11238
  # The identifier of the directory corresponding to your Amazon
9398
11239
  # WorkDocs site repository.
9399
11240
  #
9400
- # You can find the organization ID in the [AWS Directory Service][1]
9401
- # by going to **Active Directory**, then **Directories**. Your Amazon
11241
+ # You can find the organization ID in the [Directory Service][1] by
11242
+ # going to **Active Directory**, then **Directories**. Your Amazon
9402
11243
  # WorkDocs site directory has an ID, which is the organization ID. You
9403
- # can also set up a new Amazon WorkDocs directory in the AWS Directory
11244
+ # can also set up a new Amazon WorkDocs directory in the Directory
9404
11245
  # Service console and enable a Amazon WorkDocs site for the directory
9405
11246
  # in the Amazon WorkDocs console.
9406
11247
  #