aws-sdk-kendra 1.0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4bfe816ade95b908350e1d830f6d1755877bff86
4
+ data.tar.gz: '00197e00cb2bcd019d49007b3fd416cb3f00a83c'
5
+ SHA512:
6
+ metadata.gz: ab61f26d2d12ed0f52e8cd0b348ba7aea4dac11c4e246efee479f3390c313c9f73a04d299864e26758b71bd9023c9279cce727920ad325dd4b09689985c4c965
7
+ data.tar.gz: b84db43ceb49eca9d333023c07c0bd149712922846931c21c7036e424682dc2eb81108c4ac600eec3db61e665212ef4ada6d42ec768560fa09bd7cf3c5f56834
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-kendra/types'
12
+ require_relative 'aws-sdk-kendra/client_api'
13
+ require_relative 'aws-sdk-kendra/client'
14
+ require_relative 'aws-sdk-kendra/errors'
15
+ require_relative 'aws-sdk-kendra/resource'
16
+ require_relative 'aws-sdk-kendra/customizations'
17
+
18
+ # This module provides support for AWSKendraFrontendService. This module is available in the
19
+ # `aws-sdk-kendra` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWSKendraFrontendService all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Kendra::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Kendra
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1615 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:kendra)
31
+
32
+ module Aws::Kendra
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :kendra
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Integer] :client_side_monitoring_port (31000)
124
+ # Required for publishing client metrics. The port that the client side monitoring
125
+ # agent is running on, where client metrics will be published via UDP.
126
+ #
127
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
128
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
129
+ # will use the Client Side Monitoring Agent Publisher.
130
+ #
131
+ # @option options [Boolean] :convert_params (true)
132
+ # When `true`, an attempt is made to coerce request parameters into
133
+ # the required types.
134
+ #
135
+ # @option options [Boolean] :disable_host_prefix_injection (false)
136
+ # Set to true to disable SDK automatically adding host prefix
137
+ # to default service endpoint when available.
138
+ #
139
+ # @option options [String] :endpoint
140
+ # The client endpoint is normally constructed from the `:region`
141
+ # option. You should only configure an `:endpoint` when connecting
142
+ # to test endpoints. This should be avalid HTTP(S) URI.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
145
+ # Used for the maximum size limit of the LRU cache storing endpoints data
146
+ # for endpoint discovery enabled operations. Defaults to 1000.
147
+ #
148
+ # @option options [Integer] :endpoint_cache_max_threads (10)
149
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
150
+ #
151
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
152
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
153
+ # Use this option to config the time interval in seconds for making
154
+ # requests fetching endpoints information. Defaults to 60 sec.
155
+ #
156
+ # @option options [Boolean] :endpoint_discovery (false)
157
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
158
+ #
159
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
+ # The log formatter.
161
+ #
162
+ # @option options [Symbol] :log_level (:info)
163
+ # The log level to send messages to the `:logger` at.
164
+ #
165
+ # @option options [Logger] :logger
166
+ # The Logger instance to send log messages to. If this option
167
+ # is not set, logging will be disabled.
168
+ #
169
+ # @option options [String] :profile ("default")
170
+ # Used when loading credentials from the shared credentials file
171
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
172
+ #
173
+ # @option options [Float] :retry_base_delay (0.3)
174
+ # The base delay in seconds used by the default backoff function.
175
+ #
176
+ # @option options [Symbol] :retry_jitter (:none)
177
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
178
+ #
179
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
+ #
181
+ # @option options [Integer] :retry_limit (3)
182
+ # The maximum number of times to retry failed requests. Only
183
+ # ~ 500 level server errors and certain ~ 400 level client errors
184
+ # are retried. Generally, these are throttling errors, data
185
+ # checksum errors, networking errors, timeout errors and auth
186
+ # errors from expired credentials.
187
+ #
188
+ # @option options [Integer] :retry_max_delay (0)
189
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
190
+ #
191
+ # @option options [String] :secret_access_key
192
+ #
193
+ # @option options [String] :session_token
194
+ #
195
+ # @option options [Boolean] :simple_json (false)
196
+ # Disables request parameter conversion, validation, and formatting.
197
+ # Also disable response data type conversions. This option is useful
198
+ # when you want to ensure the highest level of performance by
199
+ # avoiding overhead of walking request parameters and response data
200
+ # structures.
201
+ #
202
+ # When `:simple_json` is enabled, the request parameters hash must
203
+ # be formatted exactly as the DynamoDB API expects.
204
+ #
205
+ # @option options [Boolean] :stub_responses (false)
206
+ # Causes the client to return stubbed responses. By default
207
+ # fake responses are generated and returned. You can specify
208
+ # the response data to return or errors to raise by calling
209
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
210
+ #
211
+ # ** Please note ** When response stubbing is enabled, no HTTP
212
+ # requests are made, and retries are disabled.
213
+ #
214
+ # @option options [Boolean] :validate_params (true)
215
+ # When `true`, request parameters are validated before
216
+ # sending the request.
217
+ #
218
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
219
+ # requests through. Formatted like 'http://proxy.com:123'.
220
+ #
221
+ # @option options [Float] :http_open_timeout (15) The number of
222
+ # seconds to wait when opening a HTTP session before rasing a
223
+ # `Timeout::Error`.
224
+ #
225
+ # @option options [Integer] :http_read_timeout (60) The default
226
+ # number of seconds to wait for response data. This value can
227
+ # safely be set
228
+ # per-request on the session yeidled by {#session_for}.
229
+ #
230
+ # @option options [Float] :http_idle_timeout (5) The number of
231
+ # seconds a connection is allowed to sit idble before it is
232
+ # considered stale. Stale connections are closed and removed
233
+ # from the pool before making a request.
234
+ #
235
+ # @option options [Float] :http_continue_timeout (1) The number of
236
+ # seconds to wait for a 100-continue response before sending the
237
+ # request body. This option has no effect unless the request has
238
+ # "Expect" header set to "100-continue". Defaults to `nil` which
239
+ # disables this behaviour. This value can safely be set per
240
+ # request on the session yeidled by {#session_for}.
241
+ #
242
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
243
+ # HTTP debug output will be sent to the `:logger`.
244
+ #
245
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
246
+ # SSL peer certificates are verified when establishing a
247
+ # connection.
248
+ #
249
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
250
+ # certificate authority bundle file that should be used when
251
+ # verifying peer certificates. If you do not pass
252
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
253
+ # will be used if available.
254
+ #
255
+ # @option options [String] :ssl_ca_directory Full path of the
256
+ # directory that contains the unbundled SSL certificate
257
+ # authority files for verifying peer certificates. If you do
258
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
259
+ # system default will be used if available.
260
+ #
261
+ def initialize(*args)
262
+ super
263
+ end
264
+
265
+ # @!group API Operations
266
+
267
+ # Removes one or more documents from an index. The documents must have
268
+ # been added with the BatchPutDocument operation.
269
+ #
270
+ # The documents are deleted asynchronously. You can see the progress of
271
+ # the deletion by using AWS CloudWatch. Any error messages releated to
272
+ # the processing of the batch are sent to you CloudWatch log.
273
+ #
274
+ # @option params [required, String] :index_id
275
+ # The identifier of the index that contains the documents to delete.
276
+ #
277
+ # @option params [required, Array<String>] :document_id_list
278
+ # One or more identifiers for documents to delete from the index.
279
+ #
280
+ # @return [Types::BatchDeleteDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
281
+ #
282
+ # * {Types::BatchDeleteDocumentResponse#failed_documents #failed_documents} => Array&lt;Types::BatchDeleteDocumentResponseFailedDocument&gt;
283
+ #
284
+ # @example Request syntax with placeholder values
285
+ #
286
+ # resp = client.batch_delete_document({
287
+ # index_id: "IndexId", # required
288
+ # document_id_list: ["DocumentId"], # required
289
+ # })
290
+ #
291
+ # @example Response structure
292
+ #
293
+ # resp.failed_documents #=> Array
294
+ # resp.failed_documents[0].id #=> String
295
+ # resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
296
+ # resp.failed_documents[0].error_message #=> String
297
+ #
298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchDeleteDocument AWS API Documentation
299
+ #
300
+ # @overload batch_delete_document(params = {})
301
+ # @param [Hash] params ({})
302
+ def batch_delete_document(params = {}, options = {})
303
+ req = build_request(:batch_delete_document, params)
304
+ req.send_request(options)
305
+ end
306
+
307
+ # Adds one or more documents to an index.
308
+ #
309
+ # The `BatchPutDocument` operation enables you to ingest inline
310
+ # documents or a set of documents stored in an Amazon S3 bucket. Use
311
+ # this operation to ingest your text and unstructured text into an
312
+ # index, add custom attributes to the documents, and to attach an access
313
+ # control list to the documents added to the index.
314
+ #
315
+ # The documents are indexed asynchronously. You can see the progress of
316
+ # the batch using AWS CloudWatch. Any error messages related to
317
+ # processing the batch are sent to your AWS CloudWatch log.
318
+ #
319
+ # @option params [required, String] :index_id
320
+ # The identifier of the index to add the documents to. You need to
321
+ # create the index first using the CreateIndex operation.
322
+ #
323
+ # @option params [String] :role_arn
324
+ # The Amazon Resource Name (ARN) of a role that is allowed to run the
325
+ # `BatchPutDocument` operation. For more information, see [IAM Roles for
326
+ # Amazon Kendra][1].
327
+ #
328
+ #
329
+ #
330
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
331
+ #
332
+ # @option params [required, Array<Types::Document>] :documents
333
+ # One or more documents to add to the index.
334
+ #
335
+ # Each document is limited to 5 Mb, the total size of the list is
336
+ # limited to 50 Mb.
337
+ #
338
+ # @return [Types::BatchPutDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
339
+ #
340
+ # * {Types::BatchPutDocumentResponse#failed_documents #failed_documents} => Array&lt;Types::BatchPutDocumentResponseFailedDocument&gt;
341
+ #
342
+ # @example Request syntax with placeholder values
343
+ #
344
+ # resp = client.batch_put_document({
345
+ # index_id: "IndexId", # required
346
+ # role_arn: "RoleArn",
347
+ # documents: [ # required
348
+ # {
349
+ # id: "DocumentId", # required
350
+ # title: "Title",
351
+ # blob: "data",
352
+ # s3_path: {
353
+ # bucket: "S3BucketName", # required
354
+ # key: "S3ObjectKey", # required
355
+ # },
356
+ # attributes: [
357
+ # {
358
+ # key: "DocumentAttributeKey", # required
359
+ # value: { # required
360
+ # string_value: "DocumentAttributeStringValue",
361
+ # string_list_value: ["String"],
362
+ # long_value: 1,
363
+ # date_value: Time.now,
364
+ # },
365
+ # },
366
+ # ],
367
+ # access_control_list: [
368
+ # {
369
+ # name: "PrincipalName", # required
370
+ # type: "USER", # required, accepts USER, GROUP
371
+ # access: "ALLOW", # required, accepts ALLOW, DENY
372
+ # },
373
+ # ],
374
+ # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
375
+ # },
376
+ # ],
377
+ # })
378
+ #
379
+ # @example Response structure
380
+ #
381
+ # resp.failed_documents #=> Array
382
+ # resp.failed_documents[0].id #=> String
383
+ # resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
384
+ # resp.failed_documents[0].error_message #=> String
385
+ #
386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchPutDocument AWS API Documentation
387
+ #
388
+ # @overload batch_put_document(params = {})
389
+ # @param [Hash] params ({})
390
+ def batch_put_document(params = {}, options = {})
391
+ req = build_request(:batch_put_document, params)
392
+ req.send_request(options)
393
+ end
394
+
395
+ # Creates a data source that you use to with an Amazon Kendra index.
396
+ #
397
+ # You specify a name, connector type and description for your data
398
+ # source. You can choose between an S3 connector, a SharePoint Online
399
+ # connector, and a database connector.
400
+ #
401
+ # You also specify configuration information such as document metadata
402
+ # (author, source URI, and so on) and user context information.
403
+ #
404
+ # `CreateDataSource` is a synchronous operation. The operation returns
405
+ # 200 if the data source was successfully created. Otherwise, an
406
+ # exception is raised.
407
+ #
408
+ # @option params [required, String] :name
409
+ # A unique name for the data source. A data source name can't be
410
+ # changed without deleting and recreating the data source.
411
+ #
412
+ # @option params [required, String] :index_id
413
+ # The identifier of the index that should be associated with this data
414
+ # source.
415
+ #
416
+ # @option params [required, String] :type
417
+ # The type of repository that contains the data source.
418
+ #
419
+ # @option params [required, Types::DataSourceConfiguration] :configuration
420
+ # The connector configuration information that is required to access the
421
+ # repository.
422
+ #
423
+ # @option params [String] :description
424
+ # A description for the data source.
425
+ #
426
+ # @option params [String] :schedule
427
+ # Sets the frequency that Amazon Kendra will check the documents in your
428
+ # repository and update the index. If you don't set a schedule Amazon
429
+ # Kendra will not periodically update the index. You can call the
430
+ # `StartDataSourceSyncJob` operation to update the index.
431
+ #
432
+ # @option params [required, String] :role_arn
433
+ # The Amazon Resource Name (ARN) of a role with permission to access the
434
+ # data source. For more information, see [IAM Roles for Amazon
435
+ # Kendra][1].
436
+ #
437
+ #
438
+ #
439
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
440
+ #
441
+ # @return [Types::CreateDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
+ #
443
+ # * {Types::CreateDataSourceResponse#id #id} => String
444
+ #
445
+ # @example Request syntax with placeholder values
446
+ #
447
+ # resp = client.create_data_source({
448
+ # name: "DataSourceName", # required
449
+ # index_id: "IndexId", # required
450
+ # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE
451
+ # configuration: { # required
452
+ # s3_configuration: {
453
+ # bucket_name: "S3BucketName", # required
454
+ # inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
455
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
456
+ # documents_metadata_configuration: {
457
+ # s3_prefix: "S3ObjectKey",
458
+ # },
459
+ # access_control_list_configuration: {
460
+ # key_path: "S3ObjectKey",
461
+ # },
462
+ # },
463
+ # share_point_configuration: {
464
+ # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
465
+ # urls: ["Url"], # required
466
+ # secret_arn: "SecretArn", # required
467
+ # crawl_attachments: false,
468
+ # vpc_configuration: {
469
+ # subnet_ids: ["SubnetId"], # required
470
+ # security_group_ids: ["VpcSecurityGroupId"], # required
471
+ # },
472
+ # field_mappings: [
473
+ # {
474
+ # data_source_field_name: "DataSourceFieldName", # required
475
+ # date_field_format: "DataSourceDateFieldFormat",
476
+ # index_field_name: "IndexFieldName", # required
477
+ # },
478
+ # ],
479
+ # },
480
+ # database_configuration: {
481
+ # database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
482
+ # connection_configuration: { # required
483
+ # database_host: "DatabaseHost", # required
484
+ # database_port: 1, # required
485
+ # database_name: "DatabaseName", # required
486
+ # table_name: "TableName", # required
487
+ # secret_arn: "SecretArn", # required
488
+ # },
489
+ # vpc_configuration: {
490
+ # subnet_ids: ["SubnetId"], # required
491
+ # security_group_ids: ["VpcSecurityGroupId"], # required
492
+ # },
493
+ # column_configuration: { # required
494
+ # document_id_column_name: "ColumnName", # required
495
+ # document_data_column_name: "ColumnName", # required
496
+ # document_title_column_name: "ColumnName",
497
+ # field_mappings: [
498
+ # {
499
+ # data_source_field_name: "DataSourceFieldName", # required
500
+ # date_field_format: "DataSourceDateFieldFormat",
501
+ # index_field_name: "IndexFieldName", # required
502
+ # },
503
+ # ],
504
+ # change_detecting_columns: ["ColumnName"], # required
505
+ # },
506
+ # acl_configuration: {
507
+ # allowed_groups_column_name: "ColumnName", # required
508
+ # },
509
+ # },
510
+ # },
511
+ # description: "Description",
512
+ # schedule: "ScanSchedule",
513
+ # role_arn: "RoleArn", # required
514
+ # })
515
+ #
516
+ # @example Response structure
517
+ #
518
+ # resp.id #=> String
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateDataSource AWS API Documentation
521
+ #
522
+ # @overload create_data_source(params = {})
523
+ # @param [Hash] params ({})
524
+ def create_data_source(params = {}, options = {})
525
+ req = build_request(:create_data_source, params)
526
+ req.send_request(options)
527
+ end
528
+
529
+ # Creates an new set of frequently asked question (FAQ) questions and
530
+ # answers.
531
+ #
532
+ # @option params [required, String] :index_id
533
+ # The identifier of the index that contains the FAQ.
534
+ #
535
+ # @option params [required, String] :name
536
+ # The name that should be associated with the FAQ.
537
+ #
538
+ # @option params [String] :description
539
+ # A description of the FAQ.
540
+ #
541
+ # @option params [required, Types::S3Path] :s3_path
542
+ # The S3 location of the FAQ input data.
543
+ #
544
+ # @option params [required, String] :role_arn
545
+ # The Amazon Resource Name (ARN) of a role with permission to access the
546
+ # S3 bucket that contains the FAQs. For more information, see [IAM Roles
547
+ # for Amazon Kendra][1].
548
+ #
549
+ #
550
+ #
551
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
552
+ #
553
+ # @return [Types::CreateFaqResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::CreateFaqResponse#id #id} => String
556
+ #
557
+ # @example Request syntax with placeholder values
558
+ #
559
+ # resp = client.create_faq({
560
+ # index_id: "IndexId", # required
561
+ # name: "FaqName", # required
562
+ # description: "Description",
563
+ # s3_path: { # required
564
+ # bucket: "S3BucketName", # required
565
+ # key: "S3ObjectKey", # required
566
+ # },
567
+ # role_arn: "RoleArn", # required
568
+ # })
569
+ #
570
+ # @example Response structure
571
+ #
572
+ # resp.id #=> String
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateFaq AWS API Documentation
575
+ #
576
+ # @overload create_faq(params = {})
577
+ # @param [Hash] params ({})
578
+ def create_faq(params = {}, options = {})
579
+ req = build_request(:create_faq, params)
580
+ req.send_request(options)
581
+ end
582
+
583
+ # Creates a new Amazon Kendra index. Index creation is an asynchronous
584
+ # operation. To determine if index creation has completed, check the
585
+ # `Status` field returned from a call to . The `Status` field is set to
586
+ # `ACTIVE` when the index is ready to use.
587
+ #
588
+ # Once the index is active you can index your documents using the
589
+ # operation or using one of the supported data sources.
590
+ #
591
+ # @option params [required, String] :name
592
+ # The name for the new index.
593
+ #
594
+ # @option params [required, String] :role_arn
595
+ # An IAM role that gives Amazon Kendra permissions to access your Amazon
596
+ # CloudWatch logs and metrics. This is also the role used when you use
597
+ # the `BatchPutDocument` operation to index documents from an Amazon S3
598
+ # bucket.
599
+ #
600
+ # @option params [Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
601
+ # The identifier of the KMS key to use to encrypt data indexed by Amazon
602
+ # Kendra.
603
+ #
604
+ # @option params [String] :description
605
+ # A description for the index.
606
+ #
607
+ # @return [Types::CreateIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
608
+ #
609
+ # * {Types::CreateIndexResponse#id #id} => String
610
+ #
611
+ # @example Request syntax with placeholder values
612
+ #
613
+ # resp = client.create_index({
614
+ # name: "IndexName", # required
615
+ # role_arn: "RoleArn", # required
616
+ # server_side_encryption_configuration: {
617
+ # kms_key_id: "KmsKeyId",
618
+ # },
619
+ # description: "Description",
620
+ # })
621
+ #
622
+ # @example Response structure
623
+ #
624
+ # resp.id #=> String
625
+ #
626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateIndex AWS API Documentation
627
+ #
628
+ # @overload create_index(params = {})
629
+ # @param [Hash] params ({})
630
+ def create_index(params = {}, options = {})
631
+ req = build_request(:create_index, params)
632
+ req.send_request(options)
633
+ end
634
+
635
+ # Removes an FAQ from an index.
636
+ #
637
+ # @option params [required, String] :id
638
+ # The identifier of the FAQ to remove.
639
+ #
640
+ # @option params [required, String] :index_id
641
+ # The index to remove the FAQ from.
642
+ #
643
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
644
+ #
645
+ # @example Request syntax with placeholder values
646
+ #
647
+ # resp = client.delete_faq({
648
+ # id: "FaqId", # required
649
+ # index_id: "IndexId", # required
650
+ # })
651
+ #
652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteFaq AWS API Documentation
653
+ #
654
+ # @overload delete_faq(params = {})
655
+ # @param [Hash] params ({})
656
+ def delete_faq(params = {}, options = {})
657
+ req = build_request(:delete_faq, params)
658
+ req.send_request(options)
659
+ end
660
+
661
+ # Deletes an existing Amazon Kendra index. An exception is not thrown if
662
+ # the index is already being deleted. While the index is being deleted,
663
+ # the `Status` field returned by a call to the DescribeIndex operation
664
+ # is set to `DELETING`.
665
+ #
666
+ # @option params [required, String] :id
667
+ # The identifier of the index to delete.
668
+ #
669
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
670
+ #
671
+ # @example Request syntax with placeholder values
672
+ #
673
+ # resp = client.delete_index({
674
+ # id: "IndexId", # required
675
+ # })
676
+ #
677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteIndex AWS API Documentation
678
+ #
679
+ # @overload delete_index(params = {})
680
+ # @param [Hash] params ({})
681
+ def delete_index(params = {}, options = {})
682
+ req = build_request(:delete_index, params)
683
+ req.send_request(options)
684
+ end
685
+
686
+ # Gets information about a Amazon Kendra data source.
687
+ #
688
+ # @option params [required, String] :id
689
+ # The unique identifier of the data source to describe.
690
+ #
691
+ # @option params [required, String] :index_id
692
+ # The identifier of the index that contains the data source.
693
+ #
694
+ # @return [Types::DescribeDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
695
+ #
696
+ # * {Types::DescribeDataSourceResponse#id #id} => String
697
+ # * {Types::DescribeDataSourceResponse#index_id #index_id} => String
698
+ # * {Types::DescribeDataSourceResponse#name #name} => String
699
+ # * {Types::DescribeDataSourceResponse#type #type} => String
700
+ # * {Types::DescribeDataSourceResponse#configuration #configuration} => Types::DataSourceConfiguration
701
+ # * {Types::DescribeDataSourceResponse#created_at #created_at} => Time
702
+ # * {Types::DescribeDataSourceResponse#updated_at #updated_at} => Time
703
+ # * {Types::DescribeDataSourceResponse#description #description} => String
704
+ # * {Types::DescribeDataSourceResponse#status #status} => String
705
+ # * {Types::DescribeDataSourceResponse#schedule #schedule} => String
706
+ # * {Types::DescribeDataSourceResponse#role_arn #role_arn} => String
707
+ # * {Types::DescribeDataSourceResponse#error_message #error_message} => String
708
+ #
709
+ # @example Request syntax with placeholder values
710
+ #
711
+ # resp = client.describe_data_source({
712
+ # id: "DataSourceId", # required
713
+ # index_id: "IndexId", # required
714
+ # })
715
+ #
716
+ # @example Response structure
717
+ #
718
+ # resp.id #=> String
719
+ # resp.index_id #=> String
720
+ # resp.name #=> String
721
+ # resp.type #=> String, one of "S3", "SHAREPOINT", "DATABASE"
722
+ # resp.configuration.s3_configuration.bucket_name #=> String
723
+ # resp.configuration.s3_configuration.inclusion_prefixes #=> Array
724
+ # resp.configuration.s3_configuration.inclusion_prefixes[0] #=> String
725
+ # resp.configuration.s3_configuration.exclusion_patterns #=> Array
726
+ # resp.configuration.s3_configuration.exclusion_patterns[0] #=> String
727
+ # resp.configuration.s3_configuration.documents_metadata_configuration.s3_prefix #=> String
728
+ # resp.configuration.s3_configuration.access_control_list_configuration.key_path #=> String
729
+ # resp.configuration.share_point_configuration.share_point_version #=> String, one of "SHAREPOINT_ONLINE"
730
+ # resp.configuration.share_point_configuration.urls #=> Array
731
+ # resp.configuration.share_point_configuration.urls[0] #=> String
732
+ # resp.configuration.share_point_configuration.secret_arn #=> String
733
+ # resp.configuration.share_point_configuration.crawl_attachments #=> Boolean
734
+ # resp.configuration.share_point_configuration.vpc_configuration.subnet_ids #=> Array
735
+ # resp.configuration.share_point_configuration.vpc_configuration.subnet_ids[0] #=> String
736
+ # resp.configuration.share_point_configuration.vpc_configuration.security_group_ids #=> Array
737
+ # resp.configuration.share_point_configuration.vpc_configuration.security_group_ids[0] #=> String
738
+ # resp.configuration.share_point_configuration.field_mappings #=> Array
739
+ # resp.configuration.share_point_configuration.field_mappings[0].data_source_field_name #=> String
740
+ # resp.configuration.share_point_configuration.field_mappings[0].date_field_format #=> String
741
+ # resp.configuration.share_point_configuration.field_mappings[0].index_field_name #=> String
742
+ # resp.configuration.database_configuration.database_engine_type #=> String, one of "RDS_AURORA_MYSQL", "RDS_AURORA_POSTGRESQL", "RDS_MYSQL", "RDS_POSTGRESQL"
743
+ # resp.configuration.database_configuration.connection_configuration.database_host #=> String
744
+ # resp.configuration.database_configuration.connection_configuration.database_port #=> Integer
745
+ # resp.configuration.database_configuration.connection_configuration.database_name #=> String
746
+ # resp.configuration.database_configuration.connection_configuration.table_name #=> String
747
+ # resp.configuration.database_configuration.connection_configuration.secret_arn #=> String
748
+ # resp.configuration.database_configuration.vpc_configuration.subnet_ids #=> Array
749
+ # resp.configuration.database_configuration.vpc_configuration.subnet_ids[0] #=> String
750
+ # resp.configuration.database_configuration.vpc_configuration.security_group_ids #=> Array
751
+ # resp.configuration.database_configuration.vpc_configuration.security_group_ids[0] #=> String
752
+ # resp.configuration.database_configuration.column_configuration.document_id_column_name #=> String
753
+ # resp.configuration.database_configuration.column_configuration.document_data_column_name #=> String
754
+ # resp.configuration.database_configuration.column_configuration.document_title_column_name #=> String
755
+ # resp.configuration.database_configuration.column_configuration.field_mappings #=> Array
756
+ # resp.configuration.database_configuration.column_configuration.field_mappings[0].data_source_field_name #=> String
757
+ # resp.configuration.database_configuration.column_configuration.field_mappings[0].date_field_format #=> String
758
+ # resp.configuration.database_configuration.column_configuration.field_mappings[0].index_field_name #=> String
759
+ # resp.configuration.database_configuration.column_configuration.change_detecting_columns #=> Array
760
+ # resp.configuration.database_configuration.column_configuration.change_detecting_columns[0] #=> String
761
+ # resp.configuration.database_configuration.acl_configuration.allowed_groups_column_name #=> String
762
+ # resp.created_at #=> Time
763
+ # resp.updated_at #=> Time
764
+ # resp.description #=> String
765
+ # resp.status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
766
+ # resp.schedule #=> String
767
+ # resp.role_arn #=> String
768
+ # resp.error_message #=> String
769
+ #
770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeDataSource AWS API Documentation
771
+ #
772
+ # @overload describe_data_source(params = {})
773
+ # @param [Hash] params ({})
774
+ def describe_data_source(params = {}, options = {})
775
+ req = build_request(:describe_data_source, params)
776
+ req.send_request(options)
777
+ end
778
+
779
+ # Gets information about an FAQ list.
780
+ #
781
+ # @option params [required, String] :id
782
+ # The unique identifier of the FAQ.
783
+ #
784
+ # @option params [required, String] :index_id
785
+ # The identifier of the index that contains the FAQ.
786
+ #
787
+ # @return [Types::DescribeFaqResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
788
+ #
789
+ # * {Types::DescribeFaqResponse#id #id} => String
790
+ # * {Types::DescribeFaqResponse#index_id #index_id} => String
791
+ # * {Types::DescribeFaqResponse#name #name} => String
792
+ # * {Types::DescribeFaqResponse#description #description} => String
793
+ # * {Types::DescribeFaqResponse#created_at #created_at} => Time
794
+ # * {Types::DescribeFaqResponse#updated_at #updated_at} => Time
795
+ # * {Types::DescribeFaqResponse#s3_path #s3_path} => Types::S3Path
796
+ # * {Types::DescribeFaqResponse#status #status} => String
797
+ # * {Types::DescribeFaqResponse#role_arn #role_arn} => String
798
+ # * {Types::DescribeFaqResponse#error_message #error_message} => String
799
+ #
800
+ # @example Request syntax with placeholder values
801
+ #
802
+ # resp = client.describe_faq({
803
+ # id: "FaqId", # required
804
+ # index_id: "IndexId", # required
805
+ # })
806
+ #
807
+ # @example Response structure
808
+ #
809
+ # resp.id #=> String
810
+ # resp.index_id #=> String
811
+ # resp.name #=> String
812
+ # resp.description #=> String
813
+ # resp.created_at #=> Time
814
+ # resp.updated_at #=> Time
815
+ # resp.s3_path.bucket #=> String
816
+ # resp.s3_path.key #=> String
817
+ # resp.status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
818
+ # resp.role_arn #=> String
819
+ # resp.error_message #=> String
820
+ #
821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeFaq AWS API Documentation
822
+ #
823
+ # @overload describe_faq(params = {})
824
+ # @param [Hash] params ({})
825
+ def describe_faq(params = {}, options = {})
826
+ req = build_request(:describe_faq, params)
827
+ req.send_request(options)
828
+ end
829
+
830
+ # Describes an existing Amazon Kendra index
831
+ #
832
+ # @option params [required, String] :id
833
+ # The name of the index to describe.
834
+ #
835
+ # @return [Types::DescribeIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
+ #
837
+ # * {Types::DescribeIndexResponse#name #name} => String
838
+ # * {Types::DescribeIndexResponse#id #id} => String
839
+ # * {Types::DescribeIndexResponse#role_arn #role_arn} => String
840
+ # * {Types::DescribeIndexResponse#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
841
+ # * {Types::DescribeIndexResponse#status #status} => String
842
+ # * {Types::DescribeIndexResponse#description #description} => String
843
+ # * {Types::DescribeIndexResponse#created_at #created_at} => Time
844
+ # * {Types::DescribeIndexResponse#updated_at #updated_at} => Time
845
+ # * {Types::DescribeIndexResponse#document_metadata_configurations #document_metadata_configurations} => Array&lt;Types::DocumentMetadataConfiguration&gt;
846
+ # * {Types::DescribeIndexResponse#index_statistics #index_statistics} => Types::IndexStatistics
847
+ # * {Types::DescribeIndexResponse#error_message #error_message} => String
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.describe_index({
852
+ # id: "IndexId", # required
853
+ # })
854
+ #
855
+ # @example Response structure
856
+ #
857
+ # resp.name #=> String
858
+ # resp.id #=> String
859
+ # resp.role_arn #=> String
860
+ # resp.server_side_encryption_configuration.kms_key_id #=> String
861
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "SYSTEM_UPDATING"
862
+ # resp.description #=> String
863
+ # resp.created_at #=> Time
864
+ # resp.updated_at #=> Time
865
+ # resp.document_metadata_configurations #=> Array
866
+ # resp.document_metadata_configurations[0].name #=> String
867
+ # resp.document_metadata_configurations[0].type #=> String, one of "STRING_VALUE", "STRING_LIST_VALUE", "LONG_VALUE", "DATE_VALUE"
868
+ # resp.document_metadata_configurations[0].relevance.freshness #=> Boolean
869
+ # resp.document_metadata_configurations[0].relevance.importance #=> Integer
870
+ # resp.document_metadata_configurations[0].relevance.duration #=> String
871
+ # resp.document_metadata_configurations[0].relevance.rank_order #=> String, one of "ASCENDING", "DESCENDING"
872
+ # resp.document_metadata_configurations[0].relevance.value_importance_map #=> Hash
873
+ # resp.document_metadata_configurations[0].relevance.value_importance_map["ValueImportanceMapKey"] #=> Integer
874
+ # resp.document_metadata_configurations[0].search.facetable #=> Boolean
875
+ # resp.document_metadata_configurations[0].search.searchable #=> Boolean
876
+ # resp.document_metadata_configurations[0].search.displayable #=> Boolean
877
+ # resp.index_statistics.faq_statistics.indexed_question_answers_count #=> Integer
878
+ # resp.index_statistics.text_document_statistics.indexed_text_documents_count #=> Integer
879
+ # resp.error_message #=> String
880
+ #
881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeIndex AWS API Documentation
882
+ #
883
+ # @overload describe_index(params = {})
884
+ # @param [Hash] params ({})
885
+ def describe_index(params = {}, options = {})
886
+ req = build_request(:describe_index, params)
887
+ req.send_request(options)
888
+ end
889
+
890
+ # Gets statistics about synchronizing Amazon Kendra with a data source.
891
+ #
892
+ # @option params [required, String] :id
893
+ # The identifier of the data source.
894
+ #
895
+ # @option params [required, String] :index_id
896
+ # The identifier of the index that contains the data source.
897
+ #
898
+ # @option params [String] :next_token
899
+ # If the result of the previous request to `GetDataSourceSyncJobHistory`
900
+ # was truncated, include the `NextToken` to fetch the next set of jobs.
901
+ #
902
+ # @option params [Integer] :max_results
903
+ # The maximum number of synchronization jobs to return in the response.
904
+ # If there are fewer results in the list, this response contains only
905
+ # the actual results.
906
+ #
907
+ # @option params [Types::TimeRange] :start_time_filter
908
+ # When specified, the synchronization jobs returned in the list are
909
+ # limited to jobs between the specified dates.
910
+ #
911
+ # @option params [String] :status_filter
912
+ # When specified, only returns synchronization jobs with the `Status`
913
+ # field equal to the specified status.
914
+ #
915
+ # @return [Types::ListDataSourceSyncJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
916
+ #
917
+ # * {Types::ListDataSourceSyncJobsResponse#history #history} => Array&lt;Types::DataSourceSyncJob&gt;
918
+ # * {Types::ListDataSourceSyncJobsResponse#next_token #next_token} => String
919
+ #
920
+ # @example Request syntax with placeholder values
921
+ #
922
+ # resp = client.list_data_source_sync_jobs({
923
+ # id: "DataSourceId", # required
924
+ # index_id: "IndexId", # required
925
+ # next_token: "NextToken",
926
+ # max_results: 1,
927
+ # start_time_filter: {
928
+ # start_time: Time.now,
929
+ # end_time: Time.now,
930
+ # },
931
+ # status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED
932
+ # })
933
+ #
934
+ # @example Response structure
935
+ #
936
+ # resp.history #=> Array
937
+ # resp.history[0].execution_id #=> String
938
+ # resp.history[0].start_time #=> Time
939
+ # resp.history[0].end_time #=> Time
940
+ # resp.history[0].status #=> String, one of "FAILED", "SUCCEEDED", "SYNCING", "INCOMPLETE", "STOPPING", "ABORTED"
941
+ # resp.history[0].error_message #=> String
942
+ # resp.history[0].error_code #=> String, one of "InternalError", "InvalidRequest"
943
+ # resp.history[0].data_source_error_code #=> String
944
+ # resp.next_token #=> String
945
+ #
946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs AWS API Documentation
947
+ #
948
+ # @overload list_data_source_sync_jobs(params = {})
949
+ # @param [Hash] params ({})
950
+ def list_data_source_sync_jobs(params = {}, options = {})
951
+ req = build_request(:list_data_source_sync_jobs, params)
952
+ req.send_request(options)
953
+ end
954
+
955
+ # Lists the data sources that you have created.
956
+ #
957
+ # @option params [required, String] :index_id
958
+ # The identifier of the index that contains the data source.
959
+ #
960
+ # @option params [String] :next_token
961
+ # If the previous response was incomplete (because there is more data to
962
+ # retrieve), Amazon Kendra returns a pagination token in the response.
963
+ # You can use this pagination token to retrieve the next set of data
964
+ # sources (`DataSourceSummaryItems`).
965
+ #
966
+ # @option params [Integer] :max_results
967
+ # The maximum number of data sources to return.
968
+ #
969
+ # @return [Types::ListDataSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
970
+ #
971
+ # * {Types::ListDataSourcesResponse#summary_items #summary_items} => Array&lt;Types::DataSourceSummary&gt;
972
+ # * {Types::ListDataSourcesResponse#next_token #next_token} => String
973
+ #
974
+ # @example Request syntax with placeholder values
975
+ #
976
+ # resp = client.list_data_sources({
977
+ # index_id: "IndexId", # required
978
+ # next_token: "NextToken",
979
+ # max_results: 1,
980
+ # })
981
+ #
982
+ # @example Response structure
983
+ #
984
+ # resp.summary_items #=> Array
985
+ # resp.summary_items[0].name #=> String
986
+ # resp.summary_items[0].id #=> String
987
+ # resp.summary_items[0].type #=> String, one of "S3", "SHAREPOINT", "DATABASE"
988
+ # resp.summary_items[0].created_at #=> Time
989
+ # resp.summary_items[0].updated_at #=> Time
990
+ # resp.summary_items[0].status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
991
+ # resp.next_token #=> String
992
+ #
993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSources AWS API Documentation
994
+ #
995
+ # @overload list_data_sources(params = {})
996
+ # @param [Hash] params ({})
997
+ def list_data_sources(params = {}, options = {})
998
+ req = build_request(:list_data_sources, params)
999
+ req.send_request(options)
1000
+ end
1001
+
1002
+ # Gets a list of FAQ lists associated with an index.
1003
+ #
1004
+ # @option params [required, String] :index_id
1005
+ # The index that contains the FAQ lists.
1006
+ #
1007
+ # @option params [String] :next_token
1008
+ # If the result of the previous request to `ListFaqs` was truncated,
1009
+ # include the `NextToken` to fetch the next set of FAQs.
1010
+ #
1011
+ # @option params [Integer] :max_results
1012
+ # The maximum number of FAQs to return in the response. If there are
1013
+ # fewer results in the list, this response contains only the actual
1014
+ # results.
1015
+ #
1016
+ # @return [Types::ListFaqsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1017
+ #
1018
+ # * {Types::ListFaqsResponse#next_token #next_token} => String
1019
+ # * {Types::ListFaqsResponse#faq_summary_items #faq_summary_items} => Array&lt;Types::FaqSummary&gt;
1020
+ #
1021
+ # @example Request syntax with placeholder values
1022
+ #
1023
+ # resp = client.list_faqs({
1024
+ # index_id: "IndexId", # required
1025
+ # next_token: "NextToken",
1026
+ # max_results: 1,
1027
+ # })
1028
+ #
1029
+ # @example Response structure
1030
+ #
1031
+ # resp.next_token #=> String
1032
+ # resp.faq_summary_items #=> Array
1033
+ # resp.faq_summary_items[0].id #=> String
1034
+ # resp.faq_summary_items[0].name #=> String
1035
+ # resp.faq_summary_items[0].status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
1036
+ # resp.faq_summary_items[0].created_at #=> Time
1037
+ # resp.faq_summary_items[0].updated_at #=> Time
1038
+ #
1039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListFaqs AWS API Documentation
1040
+ #
1041
+ # @overload list_faqs(params = {})
1042
+ # @param [Hash] params ({})
1043
+ def list_faqs(params = {}, options = {})
1044
+ req = build_request(:list_faqs, params)
1045
+ req.send_request(options)
1046
+ end
1047
+
1048
+ # Lists the Amazon Kendra indexes that you have created.
1049
+ #
1050
+ # @option params [String] :next_token
1051
+ # If the previous response was incomplete (because there is more data to
1052
+ # retrieve), Amazon Kendra returns a pagination token in the response.
1053
+ # You can use this pagination token to retrieve the next set of indexes
1054
+ # (`DataSourceSummaryItems`).
1055
+ #
1056
+ # @option params [Integer] :max_results
1057
+ # The maximum number of data sources to return.
1058
+ #
1059
+ # @return [Types::ListIndicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1060
+ #
1061
+ # * {Types::ListIndicesResponse#index_configuration_summary_items #index_configuration_summary_items} => Array&lt;Types::IndexConfigurationSummary&gt;
1062
+ # * {Types::ListIndicesResponse#next_token #next_token} => String
1063
+ #
1064
+ # @example Request syntax with placeholder values
1065
+ #
1066
+ # resp = client.list_indices({
1067
+ # next_token: "NextToken",
1068
+ # max_results: 1,
1069
+ # })
1070
+ #
1071
+ # @example Response structure
1072
+ #
1073
+ # resp.index_configuration_summary_items #=> Array
1074
+ # resp.index_configuration_summary_items[0].name #=> String
1075
+ # resp.index_configuration_summary_items[0].id #=> String
1076
+ # resp.index_configuration_summary_items[0].created_at #=> Time
1077
+ # resp.index_configuration_summary_items[0].updated_at #=> Time
1078
+ # resp.index_configuration_summary_items[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "SYSTEM_UPDATING"
1079
+ # resp.next_token #=> String
1080
+ #
1081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListIndices AWS API Documentation
1082
+ #
1083
+ # @overload list_indices(params = {})
1084
+ # @param [Hash] params ({})
1085
+ def list_indices(params = {}, options = {})
1086
+ req = build_request(:list_indices, params)
1087
+ req.send_request(options)
1088
+ end
1089
+
1090
+ # Searches an active index. Use this API to search your documents using
1091
+ # query. The `Query` operation enables to do faceted search and to
1092
+ # filter results based on document attributes.
1093
+ #
1094
+ # It also enables you to provide user context that Amazon Kendra uses to
1095
+ # enforce document access control in the search results.
1096
+ #
1097
+ # Amazon Kendra searches your index for text content and question and
1098
+ # answer (FAQ) content. By default the response contains three types of
1099
+ # results.
1100
+ #
1101
+ # * Relevant passages
1102
+ #
1103
+ # * Matching FAQs
1104
+ #
1105
+ # * Relevant documents
1106
+ #
1107
+ # You can specify that the query return only one type of result using
1108
+ # the `QueryResultTypeConfig` parameter.
1109
+ #
1110
+ # @option params [required, String] :index_id
1111
+ # The unique identifier of the index to search. The identifier is
1112
+ # returned in the response from the operation.
1113
+ #
1114
+ # @option params [required, String] :query_text
1115
+ # The text to search for.
1116
+ #
1117
+ # @option params [Types::AttributeFilter] :attribute_filter
1118
+ # Enables filtered searches based on document attributes. You can only
1119
+ # provide one attribute filter; however, the `AndAllFilters`,
1120
+ # `NotFilter`, and `OrAllFilters` parameters contain a list of other
1121
+ # filters.
1122
+ #
1123
+ # The `AttributeFilter` parameter enables you to create a set of
1124
+ # filtering rules that a document must satisfy to be included in the
1125
+ # query results.
1126
+ #
1127
+ # @option params [Array<Types::Facet>] :facets
1128
+ # An array of documents attributes. Amazon Kendra returns a count for
1129
+ # each attribute key specified. You can use this information to help
1130
+ # narrow the search for your user.
1131
+ #
1132
+ # @option params [Array<String>] :requested_document_attributes
1133
+ # An array of document attributes to include in the response. No other
1134
+ # document attributes are included in the response. By default all
1135
+ # document attributes are included in the response.
1136
+ #
1137
+ # @option params [String] :query_result_type_filter
1138
+ # Sets the type of query. Only results for the specified query type are
1139
+ # returned.
1140
+ #
1141
+ # @option params [Integer] :page_number
1142
+ # Query results are returned in pages the size of the `PageSize`
1143
+ # parameter. By default, Amazon Kendra returns the first page of
1144
+ # results. Use this parameter to get result pages after the first one.
1145
+ #
1146
+ # @option params [Integer] :page_size
1147
+ # Sets the number of results that are returned in each page of results.
1148
+ # The default page size is 100.
1149
+ #
1150
+ # @return [Types::QueryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1151
+ #
1152
+ # * {Types::QueryResult#query_id #query_id} => String
1153
+ # * {Types::QueryResult#result_items #result_items} => Array&lt;Types::QueryResultItem&gt;
1154
+ # * {Types::QueryResult#facet_results #facet_results} => Array&lt;Types::FacetResult&gt;
1155
+ # * {Types::QueryResult#total_number_of_results #total_number_of_results} => Integer
1156
+ #
1157
+ # @example Request syntax with placeholder values
1158
+ #
1159
+ # resp = client.query({
1160
+ # index_id: "IndexId", # required
1161
+ # query_text: "QueryText", # required
1162
+ # attribute_filter: {
1163
+ # and_all_filters: [
1164
+ # {
1165
+ # # recursive AttributeFilter
1166
+ # },
1167
+ # ],
1168
+ # or_all_filters: [
1169
+ # {
1170
+ # # recursive AttributeFilter
1171
+ # },
1172
+ # ],
1173
+ # not_filter: {
1174
+ # # recursive AttributeFilter
1175
+ # },
1176
+ # equals_to: {
1177
+ # key: "DocumentAttributeKey", # required
1178
+ # value: { # required
1179
+ # string_value: "DocumentAttributeStringValue",
1180
+ # string_list_value: ["String"],
1181
+ # long_value: 1,
1182
+ # date_value: Time.now,
1183
+ # },
1184
+ # },
1185
+ # contains_all: {
1186
+ # key: "DocumentAttributeKey", # required
1187
+ # value: { # required
1188
+ # string_value: "DocumentAttributeStringValue",
1189
+ # string_list_value: ["String"],
1190
+ # long_value: 1,
1191
+ # date_value: Time.now,
1192
+ # },
1193
+ # },
1194
+ # contains_any: {
1195
+ # key: "DocumentAttributeKey", # required
1196
+ # value: { # required
1197
+ # string_value: "DocumentAttributeStringValue",
1198
+ # string_list_value: ["String"],
1199
+ # long_value: 1,
1200
+ # date_value: Time.now,
1201
+ # },
1202
+ # },
1203
+ # greater_than: {
1204
+ # key: "DocumentAttributeKey", # required
1205
+ # value: { # required
1206
+ # string_value: "DocumentAttributeStringValue",
1207
+ # string_list_value: ["String"],
1208
+ # long_value: 1,
1209
+ # date_value: Time.now,
1210
+ # },
1211
+ # },
1212
+ # greater_than_or_equals: {
1213
+ # key: "DocumentAttributeKey", # required
1214
+ # value: { # required
1215
+ # string_value: "DocumentAttributeStringValue",
1216
+ # string_list_value: ["String"],
1217
+ # long_value: 1,
1218
+ # date_value: Time.now,
1219
+ # },
1220
+ # },
1221
+ # less_than: {
1222
+ # key: "DocumentAttributeKey", # required
1223
+ # value: { # required
1224
+ # string_value: "DocumentAttributeStringValue",
1225
+ # string_list_value: ["String"],
1226
+ # long_value: 1,
1227
+ # date_value: Time.now,
1228
+ # },
1229
+ # },
1230
+ # less_than_or_equals: {
1231
+ # key: "DocumentAttributeKey", # required
1232
+ # value: { # required
1233
+ # string_value: "DocumentAttributeStringValue",
1234
+ # string_list_value: ["String"],
1235
+ # long_value: 1,
1236
+ # date_value: Time.now,
1237
+ # },
1238
+ # },
1239
+ # },
1240
+ # facets: [
1241
+ # {
1242
+ # document_attribute_key: "DocumentAttributeKey",
1243
+ # },
1244
+ # ],
1245
+ # requested_document_attributes: ["DocumentAttributeKey"],
1246
+ # query_result_type_filter: "DOCUMENT", # accepts DOCUMENT, QUESTION_ANSWER, ANSWER
1247
+ # page_number: 1,
1248
+ # page_size: 1,
1249
+ # })
1250
+ #
1251
+ # @example Response structure
1252
+ #
1253
+ # resp.query_id #=> String
1254
+ # resp.result_items #=> Array
1255
+ # resp.result_items[0].id #=> String
1256
+ # resp.result_items[0].type #=> String, one of "DOCUMENT", "QUESTION_ANSWER", "ANSWER"
1257
+ # resp.result_items[0].additional_attributes #=> Array
1258
+ # resp.result_items[0].additional_attributes[0].key #=> String
1259
+ # resp.result_items[0].additional_attributes[0].value_type #=> String, one of "TEXT_WITH_HIGHLIGHTS_VALUE"
1260
+ # resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.text #=> String
1261
+ # resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights #=> Array
1262
+ # resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].begin_offset #=> Integer
1263
+ # resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].end_offset #=> Integer
1264
+ # resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].top_answer #=> Boolean
1265
+ # resp.result_items[0].document_id #=> String
1266
+ # resp.result_items[0].document_title.text #=> String
1267
+ # resp.result_items[0].document_title.highlights #=> Array
1268
+ # resp.result_items[0].document_title.highlights[0].begin_offset #=> Integer
1269
+ # resp.result_items[0].document_title.highlights[0].end_offset #=> Integer
1270
+ # resp.result_items[0].document_title.highlights[0].top_answer #=> Boolean
1271
+ # resp.result_items[0].document_excerpt.text #=> String
1272
+ # resp.result_items[0].document_excerpt.highlights #=> Array
1273
+ # resp.result_items[0].document_excerpt.highlights[0].begin_offset #=> Integer
1274
+ # resp.result_items[0].document_excerpt.highlights[0].end_offset #=> Integer
1275
+ # resp.result_items[0].document_excerpt.highlights[0].top_answer #=> Boolean
1276
+ # resp.result_items[0].document_uri #=> String
1277
+ # resp.result_items[0].document_attributes #=> Array
1278
+ # resp.result_items[0].document_attributes[0].key #=> String
1279
+ # resp.result_items[0].document_attributes[0].value.string_value #=> String
1280
+ # resp.result_items[0].document_attributes[0].value.string_list_value #=> Array
1281
+ # resp.result_items[0].document_attributes[0].value.string_list_value[0] #=> String
1282
+ # resp.result_items[0].document_attributes[0].value.long_value #=> Integer
1283
+ # resp.result_items[0].document_attributes[0].value.date_value #=> Time
1284
+ # resp.facet_results #=> Array
1285
+ # resp.facet_results[0].document_attribute_key #=> String
1286
+ # resp.facet_results[0].document_attribute_value_count_pairs #=> Array
1287
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_value #=> String
1288
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value #=> Array
1289
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value[0] #=> String
1290
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.long_value #=> Integer
1291
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.date_value #=> Time
1292
+ # resp.facet_results[0].document_attribute_value_count_pairs[0].count #=> Integer
1293
+ # resp.total_number_of_results #=> Integer
1294
+ #
1295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Query AWS API Documentation
1296
+ #
1297
+ # @overload query(params = {})
1298
+ # @param [Hash] params ({})
1299
+ def query(params = {}, options = {})
1300
+ req = build_request(:query, params)
1301
+ req.send_request(options)
1302
+ end
1303
+
1304
+ # Starts a synchronization job for a data source. If a synchronization
1305
+ # job is already in progress, Amazon Kendra returns a
1306
+ # `ResourceInUseException` exception.
1307
+ #
1308
+ # @option params [required, String] :id
1309
+ # The identifier of the data source to synchronize.
1310
+ #
1311
+ # @option params [required, String] :index_id
1312
+ # The identifier of the index that contains the data source.
1313
+ #
1314
+ # @return [Types::StartDataSourceSyncJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1315
+ #
1316
+ # * {Types::StartDataSourceSyncJobResponse#execution_id #execution_id} => String
1317
+ #
1318
+ # @example Request syntax with placeholder values
1319
+ #
1320
+ # resp = client.start_data_source_sync_job({
1321
+ # id: "DataSourceId", # required
1322
+ # index_id: "IndexId", # required
1323
+ # })
1324
+ #
1325
+ # @example Response structure
1326
+ #
1327
+ # resp.execution_id #=> String
1328
+ #
1329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StartDataSourceSyncJob AWS API Documentation
1330
+ #
1331
+ # @overload start_data_source_sync_job(params = {})
1332
+ # @param [Hash] params ({})
1333
+ def start_data_source_sync_job(params = {}, options = {})
1334
+ req = build_request(:start_data_source_sync_job, params)
1335
+ req.send_request(options)
1336
+ end
1337
+
1338
+ # Stops a running synchronization job. You can't stop a scheduled
1339
+ # synchronization job.
1340
+ #
1341
+ # @option params [required, String] :id
1342
+ # The identifier of the data source for which to stop the
1343
+ # synchronization jobs.
1344
+ #
1345
+ # @option params [required, String] :index_id
1346
+ # The identifier of the index that contains the data source.
1347
+ #
1348
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1349
+ #
1350
+ # @example Request syntax with placeholder values
1351
+ #
1352
+ # resp = client.stop_data_source_sync_job({
1353
+ # id: "DataSourceId", # required
1354
+ # index_id: "IndexId", # required
1355
+ # })
1356
+ #
1357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StopDataSourceSyncJob AWS API Documentation
1358
+ #
1359
+ # @overload stop_data_source_sync_job(params = {})
1360
+ # @param [Hash] params ({})
1361
+ def stop_data_source_sync_job(params = {}, options = {})
1362
+ req = build_request(:stop_data_source_sync_job, params)
1363
+ req.send_request(options)
1364
+ end
1365
+
1366
+ # Enables you to provide feedback to Amazon Kendra to improve the
1367
+ # performance of the service.
1368
+ #
1369
+ # @option params [required, String] :index_id
1370
+ # The identifier of the index that was queried.
1371
+ #
1372
+ # @option params [required, String] :query_id
1373
+ # The identifier of the specific query for which you are submitting
1374
+ # feedback. The query ID is returned in the response to the operation.
1375
+ #
1376
+ # @option params [Array<Types::ClickFeedback>] :click_feedback_items
1377
+ # Tells Amazon Kendra that a particular search result link was chosen by
1378
+ # the user.
1379
+ #
1380
+ # @option params [Array<Types::RelevanceFeedback>] :relevance_feedback_items
1381
+ # Provides Amazon Kendra with relevant or not relevant feedback for
1382
+ # whether a particular item was relevant to the search.
1383
+ #
1384
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1385
+ #
1386
+ # @example Request syntax with placeholder values
1387
+ #
1388
+ # resp = client.submit_feedback({
1389
+ # index_id: "IndexId", # required
1390
+ # query_id: "QueryId", # required
1391
+ # click_feedback_items: [
1392
+ # {
1393
+ # result_id: "ResultId", # required
1394
+ # click_time: Time.now, # required
1395
+ # },
1396
+ # ],
1397
+ # relevance_feedback_items: [
1398
+ # {
1399
+ # result_id: "ResultId", # required
1400
+ # relevance_value: "RELEVANT", # required, accepts RELEVANT, NOT_RELEVANT
1401
+ # },
1402
+ # ],
1403
+ # })
1404
+ #
1405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SubmitFeedback AWS API Documentation
1406
+ #
1407
+ # @overload submit_feedback(params = {})
1408
+ # @param [Hash] params ({})
1409
+ def submit_feedback(params = {}, options = {})
1410
+ req = build_request(:submit_feedback, params)
1411
+ req.send_request(options)
1412
+ end
1413
+
1414
+ # Updates an existing Amazon Kendra data source.
1415
+ #
1416
+ # @option params [required, String] :id
1417
+ # The unique identifier of the data source to update.
1418
+ #
1419
+ # @option params [String] :name
1420
+ # The name of the data source to update. The name of the data source
1421
+ # can't be updated. To rename a data source you must delete the data
1422
+ # source and re-create it.
1423
+ #
1424
+ # @option params [required, String] :index_id
1425
+ # The identifier of the index that contains the data source to update.
1426
+ #
1427
+ # @option params [Types::DataSourceConfiguration] :configuration
1428
+ # Configuration information for a Amazon Kendra data source.
1429
+ #
1430
+ # @option params [String] :description
1431
+ # The new description for the data source.
1432
+ #
1433
+ # @option params [String] :schedule
1434
+ # The new update schedule for the data source.
1435
+ #
1436
+ # @option params [String] :role_arn
1437
+ # The Amazon Resource Name (ARN) of the new role to use when the data
1438
+ # source is accessing resources on your behalf.
1439
+ #
1440
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1441
+ #
1442
+ # @example Request syntax with placeholder values
1443
+ #
1444
+ # resp = client.update_data_source({
1445
+ # id: "DataSourceId", # required
1446
+ # name: "DataSourceName",
1447
+ # index_id: "IndexId", # required
1448
+ # configuration: {
1449
+ # s3_configuration: {
1450
+ # bucket_name: "S3BucketName", # required
1451
+ # inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
1452
+ # exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1453
+ # documents_metadata_configuration: {
1454
+ # s3_prefix: "S3ObjectKey",
1455
+ # },
1456
+ # access_control_list_configuration: {
1457
+ # key_path: "S3ObjectKey",
1458
+ # },
1459
+ # },
1460
+ # share_point_configuration: {
1461
+ # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
1462
+ # urls: ["Url"], # required
1463
+ # secret_arn: "SecretArn", # required
1464
+ # crawl_attachments: false,
1465
+ # vpc_configuration: {
1466
+ # subnet_ids: ["SubnetId"], # required
1467
+ # security_group_ids: ["VpcSecurityGroupId"], # required
1468
+ # },
1469
+ # field_mappings: [
1470
+ # {
1471
+ # data_source_field_name: "DataSourceFieldName", # required
1472
+ # date_field_format: "DataSourceDateFieldFormat",
1473
+ # index_field_name: "IndexFieldName", # required
1474
+ # },
1475
+ # ],
1476
+ # },
1477
+ # database_configuration: {
1478
+ # database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
1479
+ # connection_configuration: { # required
1480
+ # database_host: "DatabaseHost", # required
1481
+ # database_port: 1, # required
1482
+ # database_name: "DatabaseName", # required
1483
+ # table_name: "TableName", # required
1484
+ # secret_arn: "SecretArn", # required
1485
+ # },
1486
+ # vpc_configuration: {
1487
+ # subnet_ids: ["SubnetId"], # required
1488
+ # security_group_ids: ["VpcSecurityGroupId"], # required
1489
+ # },
1490
+ # column_configuration: { # required
1491
+ # document_id_column_name: "ColumnName", # required
1492
+ # document_data_column_name: "ColumnName", # required
1493
+ # document_title_column_name: "ColumnName",
1494
+ # field_mappings: [
1495
+ # {
1496
+ # data_source_field_name: "DataSourceFieldName", # required
1497
+ # date_field_format: "DataSourceDateFieldFormat",
1498
+ # index_field_name: "IndexFieldName", # required
1499
+ # },
1500
+ # ],
1501
+ # change_detecting_columns: ["ColumnName"], # required
1502
+ # },
1503
+ # acl_configuration: {
1504
+ # allowed_groups_column_name: "ColumnName", # required
1505
+ # },
1506
+ # },
1507
+ # },
1508
+ # description: "Description",
1509
+ # schedule: "ScanSchedule",
1510
+ # role_arn: "RoleArn",
1511
+ # })
1512
+ #
1513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateDataSource AWS API Documentation
1514
+ #
1515
+ # @overload update_data_source(params = {})
1516
+ # @param [Hash] params ({})
1517
+ def update_data_source(params = {}, options = {})
1518
+ req = build_request(:update_data_source, params)
1519
+ req.send_request(options)
1520
+ end
1521
+
1522
+ # Updates an existing Amazon Kendra index.
1523
+ #
1524
+ # @option params [required, String] :id
1525
+ # The identifier of the index to update.
1526
+ #
1527
+ # @option params [String] :name
1528
+ # The name of the index to update.
1529
+ #
1530
+ # @option params [String] :role_arn
1531
+ # A new IAM role that gives Amazon Kendra permission to access your
1532
+ # Amazon CloudWatch logs.
1533
+ #
1534
+ # @option params [String] :description
1535
+ # A new description for the index.
1536
+ #
1537
+ # @option params [Array<Types::DocumentMetadataConfiguration>] :document_metadata_configuration_updates
1538
+ # The document metadata to update.
1539
+ #
1540
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1541
+ #
1542
+ # @example Request syntax with placeholder values
1543
+ #
1544
+ # resp = client.update_index({
1545
+ # id: "IndexId", # required
1546
+ # name: "IndexName",
1547
+ # role_arn: "RoleArn",
1548
+ # description: "Description",
1549
+ # document_metadata_configuration_updates: [
1550
+ # {
1551
+ # name: "DocumentMetadataConfigurationName", # required
1552
+ # type: "STRING_VALUE", # required, accepts STRING_VALUE, STRING_LIST_VALUE, LONG_VALUE, DATE_VALUE
1553
+ # relevance: {
1554
+ # freshness: false,
1555
+ # importance: 1,
1556
+ # duration: "Duration",
1557
+ # rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1558
+ # value_importance_map: {
1559
+ # "ValueImportanceMapKey" => 1,
1560
+ # },
1561
+ # },
1562
+ # search: {
1563
+ # facetable: false,
1564
+ # searchable: false,
1565
+ # displayable: false,
1566
+ # },
1567
+ # },
1568
+ # ],
1569
+ # })
1570
+ #
1571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateIndex AWS API Documentation
1572
+ #
1573
+ # @overload update_index(params = {})
1574
+ # @param [Hash] params ({})
1575
+ def update_index(params = {}, options = {})
1576
+ req = build_request(:update_index, params)
1577
+ req.send_request(options)
1578
+ end
1579
+
1580
+ # @!endgroup
1581
+
1582
+ # @param params ({})
1583
+ # @api private
1584
+ def build_request(operation_name, params = {})
1585
+ handlers = @handlers.for(operation_name)
1586
+ context = Seahorse::Client::RequestContext.new(
1587
+ operation_name: operation_name,
1588
+ operation: config.api.operation(operation_name),
1589
+ client: self,
1590
+ params: params,
1591
+ config: config)
1592
+ context[:gem_name] = 'aws-sdk-kendra'
1593
+ context[:gem_version] = '1.0.0'
1594
+ Seahorse::Client::Request.new(handlers, context)
1595
+ end
1596
+
1597
+ # @api private
1598
+ # @deprecated
1599
+ def waiter_names
1600
+ []
1601
+ end
1602
+
1603
+ class << self
1604
+
1605
+ # @api private
1606
+ attr_reader :identifier
1607
+
1608
+ # @api private
1609
+ def errors_module
1610
+ Errors
1611
+ end
1612
+
1613
+ end
1614
+ end
1615
+ end