aws-sdk-kendra 1.38.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #