aws-sdk-kendra 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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