aws-sdk-qbusiness 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3758 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:qbusiness)
38
+
39
+ module Aws::QBusiness
40
+ # An API client for QBusiness. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::QBusiness::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :qbusiness
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::QBusiness::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::QBusiness::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::QBusiness::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Asynchronously deletes one or more documents added using the
392
+ # `BatchPutDocument` API from an Amazon Q index.
393
+ #
394
+ # You can see the progress of the deletion, and any error messages
395
+ # related to the process, by using CloudWatch.
396
+ #
397
+ # @option params [required, String] :application_id
398
+ # The identifier of the Amazon Q application.
399
+ #
400
+ # @option params [String] :data_source_sync_id
401
+ # The identifier of the data source sync during which the documents were
402
+ # deleted.
403
+ #
404
+ # @option params [required, Array<Types::DeleteDocument>] :documents
405
+ # Documents deleted from the Amazon Q index.
406
+ #
407
+ # @option params [required, String] :index_id
408
+ # The identifier of the Amazon Q index that contains the documents to
409
+ # delete.
410
+ #
411
+ # @return [Types::BatchDeleteDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
412
+ #
413
+ # * {Types::BatchDeleteDocumentResponse#failed_documents #failed_documents} => Array&lt;Types::FailedDocument&gt;
414
+ #
415
+ # @example Request syntax with placeholder values
416
+ #
417
+ # resp = client.batch_delete_document({
418
+ # application_id: "ApplicationId", # required
419
+ # data_source_sync_id: "ExecutionId",
420
+ # documents: [ # required
421
+ # {
422
+ # document_id: "DocumentId", # required
423
+ # },
424
+ # ],
425
+ # index_id: "IndexId", # required
426
+ # })
427
+ #
428
+ # @example Response structure
429
+ #
430
+ # resp.failed_documents #=> Array
431
+ # resp.failed_documents[0].data_source_id #=> String
432
+ # resp.failed_documents[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
433
+ # resp.failed_documents[0].error.error_message #=> String
434
+ # resp.failed_documents[0].id #=> String
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/BatchDeleteDocument AWS API Documentation
437
+ #
438
+ # @overload batch_delete_document(params = {})
439
+ # @param [Hash] params ({})
440
+ def batch_delete_document(params = {}, options = {})
441
+ req = build_request(:batch_delete_document, params)
442
+ req.send_request(options)
443
+ end
444
+
445
+ # Adds one or more documents to an Amazon Q index.
446
+ #
447
+ # You use this API to:
448
+ #
449
+ # * ingest your structured and unstructured documents and documents
450
+ # stored in an Amazon S3 bucket into an Amazon Q index.
451
+ #
452
+ # * add custom attributes to documents in an Amazon Q index.
453
+ #
454
+ # * attach an access control list to the documents added to an Amazon Q
455
+ # index.
456
+ #
457
+ # You can see the progress of the deletion, and any error messages
458
+ # related to the process, by using CloudWatch.
459
+ #
460
+ # @option params [required, String] :application_id
461
+ # The identifier of the Amazon Q application.
462
+ #
463
+ # @option params [String] :data_source_sync_id
464
+ # The identifier of the data source sync during which the documents were
465
+ # added.
466
+ #
467
+ # @option params [required, Array<Types::Document>] :documents
468
+ # One or more documents to add to the index.
469
+ #
470
+ # @option params [required, String] :index_id
471
+ # The identifier of the Amazon Q index to add the documents to.
472
+ #
473
+ # @option params [String] :role_arn
474
+ # The Amazon Resource Name (ARN) of an IAM role with permission to
475
+ # access your S3 bucket.
476
+ #
477
+ # @return [Types::BatchPutDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
478
+ #
479
+ # * {Types::BatchPutDocumentResponse#failed_documents #failed_documents} => Array&lt;Types::FailedDocument&gt;
480
+ #
481
+ # @example Request syntax with placeholder values
482
+ #
483
+ # resp = client.batch_put_document({
484
+ # application_id: "ApplicationId", # required
485
+ # data_source_sync_id: "ExecutionId",
486
+ # documents: [ # required
487
+ # {
488
+ # access_configuration: {
489
+ # access_controls: [ # required
490
+ # {
491
+ # member_relation: "AND", # accepts AND, OR
492
+ # principals: [ # required
493
+ # {
494
+ # group: {
495
+ # access: "ALLOW", # required, accepts ALLOW, DENY
496
+ # membership_type: "INDEX", # accepts INDEX, DATASOURCE
497
+ # name: "GroupName",
498
+ # },
499
+ # user: {
500
+ # access: "ALLOW", # required, accepts ALLOW, DENY
501
+ # id: "UserId",
502
+ # membership_type: "INDEX", # accepts INDEX, DATASOURCE
503
+ # },
504
+ # },
505
+ # ],
506
+ # },
507
+ # ],
508
+ # member_relation: "AND", # accepts AND, OR
509
+ # },
510
+ # attributes: [
511
+ # {
512
+ # name: "DocumentAttributeKey", # required
513
+ # value: { # required
514
+ # date_value: Time.now,
515
+ # long_value: 1,
516
+ # string_list_value: ["String"],
517
+ # string_value: "DocumentAttributeValueStringValueString",
518
+ # },
519
+ # },
520
+ # ],
521
+ # content: {
522
+ # blob: "data",
523
+ # s3: {
524
+ # bucket: "S3BucketName", # required
525
+ # key: "S3ObjectKey", # required
526
+ # },
527
+ # },
528
+ # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT, RTF, XML, XSLT, MS_EXCEL, CSV, JSON, MD
529
+ # document_enrichment_configuration: {
530
+ # inline_configurations: [
531
+ # {
532
+ # condition: {
533
+ # key: "DocumentAttributeKey", # required
534
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
535
+ # value: {
536
+ # date_value: Time.now,
537
+ # long_value: 1,
538
+ # string_list_value: ["String"],
539
+ # string_value: "DocumentAttributeValueStringValueString",
540
+ # },
541
+ # },
542
+ # document_content_operator: "DELETE", # accepts DELETE
543
+ # target: {
544
+ # attribute_value_operator: "DELETE", # accepts DELETE
545
+ # key: "DocumentAttributeKey", # required
546
+ # value: {
547
+ # date_value: Time.now,
548
+ # long_value: 1,
549
+ # string_list_value: ["String"],
550
+ # string_value: "DocumentAttributeValueStringValueString",
551
+ # },
552
+ # },
553
+ # },
554
+ # ],
555
+ # post_extraction_hook_configuration: {
556
+ # invocation_condition: {
557
+ # key: "DocumentAttributeKey", # required
558
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
559
+ # value: {
560
+ # date_value: Time.now,
561
+ # long_value: 1,
562
+ # string_list_value: ["String"],
563
+ # string_value: "DocumentAttributeValueStringValueString",
564
+ # },
565
+ # },
566
+ # lambda_arn: "LambdaArn",
567
+ # role_arn: "RoleArn",
568
+ # s3_bucket_name: "S3BucketName",
569
+ # },
570
+ # pre_extraction_hook_configuration: {
571
+ # invocation_condition: {
572
+ # key: "DocumentAttributeKey", # required
573
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
574
+ # value: {
575
+ # date_value: Time.now,
576
+ # long_value: 1,
577
+ # string_list_value: ["String"],
578
+ # string_value: "DocumentAttributeValueStringValueString",
579
+ # },
580
+ # },
581
+ # lambda_arn: "LambdaArn",
582
+ # role_arn: "RoleArn",
583
+ # s3_bucket_name: "S3BucketName",
584
+ # },
585
+ # },
586
+ # id: "DocumentId", # required
587
+ # title: "Title",
588
+ # },
589
+ # ],
590
+ # index_id: "IndexId", # required
591
+ # role_arn: "RoleArn",
592
+ # })
593
+ #
594
+ # @example Response structure
595
+ #
596
+ # resp.failed_documents #=> Array
597
+ # resp.failed_documents[0].data_source_id #=> String
598
+ # resp.failed_documents[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
599
+ # resp.failed_documents[0].error.error_message #=> String
600
+ # resp.failed_documents[0].id #=> String
601
+ #
602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/BatchPutDocument AWS API Documentation
603
+ #
604
+ # @overload batch_put_document(params = {})
605
+ # @param [Hash] params ({})
606
+ def batch_put_document(params = {}, options = {})
607
+ req = build_request(:batch_put_document, params)
608
+ req.send_request(options)
609
+ end
610
+
611
+ # Starts or continues a non-streaming Amazon Q conversation.
612
+ #
613
+ # @option params [Types::ActionExecution] :action_execution
614
+ # A request from an end user to perform an Amazon Q plugin action.
615
+ #
616
+ # @option params [required, String] :application_id
617
+ # The identifier of the Amazon Q application linked to the Amazon Q
618
+ # conversation.
619
+ #
620
+ # @option params [Array<Types::AttachmentInput>] :attachments
621
+ # A list of files uploaded directly during chat. You can upload a
622
+ # maximum of 5 files of upto 10 MB each.
623
+ #
624
+ # @option params [Types::AttributeFilter] :attribute_filter
625
+ # Enables filtering of Amazon Q web experience responses based on
626
+ # document attributes or metadata fields.
627
+ #
628
+ # @option params [String] :client_token
629
+ # A token that you provide to identify a chat request.
630
+ #
631
+ # **A suitable default value is auto-generated.** You should normally
632
+ # not need to pass this option.**
633
+ #
634
+ # @option params [String] :conversation_id
635
+ # The identifier of the Amazon Q conversation.
636
+ #
637
+ # @option params [String] :parent_message_id
638
+ # The identifier of the previous end user text input message in a
639
+ # conversation.
640
+ #
641
+ # @option params [Array<String>] :user_groups
642
+ # The groups that a user associated with the chat input belongs to.
643
+ #
644
+ # @option params [required, String] :user_id
645
+ # The identifier of the user attached to the chat input.
646
+ #
647
+ # @option params [String] :user_message
648
+ # A end user message in a conversation.
649
+ #
650
+ # @return [Types::ChatSyncOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
651
+ #
652
+ # * {Types::ChatSyncOutput#action_review #action_review} => Types::ActionReview
653
+ # * {Types::ChatSyncOutput#conversation_id #conversation_id} => String
654
+ # * {Types::ChatSyncOutput#failed_attachments #failed_attachments} => Array&lt;Types::AttachmentOutput&gt;
655
+ # * {Types::ChatSyncOutput#source_attributions #source_attributions} => Array&lt;Types::SourceAttribution&gt;
656
+ # * {Types::ChatSyncOutput#system_message #system_message} => String
657
+ # * {Types::ChatSyncOutput#system_message_id #system_message_id} => String
658
+ # * {Types::ChatSyncOutput#user_message_id #user_message_id} => String
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.chat_sync({
663
+ # action_execution: {
664
+ # payload: { # required
665
+ # "ActionPayloadFieldKey" => {
666
+ # value: { # required
667
+ # },
668
+ # },
669
+ # },
670
+ # payload_field_name_separator: "ActionPayloadFieldNameSeparator", # required
671
+ # plugin_id: "PluginId", # required
672
+ # },
673
+ # application_id: "ApplicationId", # required
674
+ # attachments: [
675
+ # {
676
+ # data: "data", # required
677
+ # name: "AttachmentName", # required
678
+ # },
679
+ # ],
680
+ # attribute_filter: {
681
+ # and_all_filters: [
682
+ # {
683
+ # # recursive AttributeFilter
684
+ # },
685
+ # ],
686
+ # contains_all: {
687
+ # name: "DocumentAttributeKey", # required
688
+ # value: { # required
689
+ # date_value: Time.now,
690
+ # long_value: 1,
691
+ # string_list_value: ["String"],
692
+ # string_value: "DocumentAttributeValueStringValueString",
693
+ # },
694
+ # },
695
+ # contains_any: {
696
+ # name: "DocumentAttributeKey", # required
697
+ # value: { # required
698
+ # date_value: Time.now,
699
+ # long_value: 1,
700
+ # string_list_value: ["String"],
701
+ # string_value: "DocumentAttributeValueStringValueString",
702
+ # },
703
+ # },
704
+ # equals_to: {
705
+ # name: "DocumentAttributeKey", # required
706
+ # value: { # required
707
+ # date_value: Time.now,
708
+ # long_value: 1,
709
+ # string_list_value: ["String"],
710
+ # string_value: "DocumentAttributeValueStringValueString",
711
+ # },
712
+ # },
713
+ # greater_than: {
714
+ # name: "DocumentAttributeKey", # required
715
+ # value: { # required
716
+ # date_value: Time.now,
717
+ # long_value: 1,
718
+ # string_list_value: ["String"],
719
+ # string_value: "DocumentAttributeValueStringValueString",
720
+ # },
721
+ # },
722
+ # greater_than_or_equals: {
723
+ # name: "DocumentAttributeKey", # required
724
+ # value: { # required
725
+ # date_value: Time.now,
726
+ # long_value: 1,
727
+ # string_list_value: ["String"],
728
+ # string_value: "DocumentAttributeValueStringValueString",
729
+ # },
730
+ # },
731
+ # less_than: {
732
+ # name: "DocumentAttributeKey", # required
733
+ # value: { # required
734
+ # date_value: Time.now,
735
+ # long_value: 1,
736
+ # string_list_value: ["String"],
737
+ # string_value: "DocumentAttributeValueStringValueString",
738
+ # },
739
+ # },
740
+ # less_than_or_equals: {
741
+ # name: "DocumentAttributeKey", # required
742
+ # value: { # required
743
+ # date_value: Time.now,
744
+ # long_value: 1,
745
+ # string_list_value: ["String"],
746
+ # string_value: "DocumentAttributeValueStringValueString",
747
+ # },
748
+ # },
749
+ # not_filter: {
750
+ # # recursive AttributeFilter
751
+ # },
752
+ # or_all_filters: [
753
+ # {
754
+ # # recursive AttributeFilter
755
+ # },
756
+ # ],
757
+ # },
758
+ # client_token: "ClientToken",
759
+ # conversation_id: "ConversationId",
760
+ # parent_message_id: "MessageId",
761
+ # user_groups: ["String"],
762
+ # user_id: "UserId", # required
763
+ # user_message: "UserMessage",
764
+ # })
765
+ #
766
+ # @example Response structure
767
+ #
768
+ # resp.action_review.payload #=> Hash
769
+ # resp.action_review.payload["ActionPayloadFieldKey"].allowed_values #=> Array
770
+ # resp.action_review.payload["ActionPayloadFieldKey"].display_name #=> String
771
+ # resp.action_review.payload["ActionPayloadFieldKey"].display_order #=> Integer
772
+ # resp.action_review.payload["ActionPayloadFieldKey"].required #=> Boolean
773
+ # resp.action_review.payload["ActionPayloadFieldKey"].type #=> String, one of "STRING", "NUMBER", "ARRAY", "BOOLEAN"
774
+ # resp.action_review.payload_field_name_separator #=> String
775
+ # resp.action_review.plugin_id #=> String
776
+ # resp.action_review.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK"
777
+ # resp.conversation_id #=> String
778
+ # resp.failed_attachments #=> Array
779
+ # resp.failed_attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
780
+ # resp.failed_attachments[0].error.error_message #=> String
781
+ # resp.failed_attachments[0].name #=> String
782
+ # resp.failed_attachments[0].status #=> String, one of "FAILED", "SUCCEEDED"
783
+ # resp.source_attributions #=> Array
784
+ # resp.source_attributions[0].citation_number #=> Integer
785
+ # resp.source_attributions[0].snippet #=> String
786
+ # resp.source_attributions[0].text_message_segments #=> Array
787
+ # resp.source_attributions[0].text_message_segments[0].begin_offset #=> Integer
788
+ # resp.source_attributions[0].text_message_segments[0].end_offset #=> Integer
789
+ # resp.source_attributions[0].title #=> String
790
+ # resp.source_attributions[0].updated_at #=> Time
791
+ # resp.source_attributions[0].url #=> String
792
+ # resp.system_message #=> String
793
+ # resp.system_message_id #=> String
794
+ # resp.user_message_id #=> String
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ChatSync AWS API Documentation
797
+ #
798
+ # @overload chat_sync(params = {})
799
+ # @param [Hash] params ({})
800
+ def chat_sync(params = {}, options = {})
801
+ req = build_request(:chat_sync, params)
802
+ req.send_request(options)
803
+ end
804
+
805
+ # Creates an Amazon Q application.
806
+ #
807
+ # @option params [Types::AttachmentsConfiguration] :attachments_configuration
808
+ # An option to allow end users to upload files directly during chat.
809
+ #
810
+ # @option params [String] :client_token
811
+ # A token that you provide to identify the request to create your Amazon
812
+ # Q application.
813
+ #
814
+ # **A suitable default value is auto-generated.** You should normally
815
+ # not need to pass this option.**
816
+ #
817
+ # @option params [String] :description
818
+ # A description for the Amazon Q application.
819
+ #
820
+ # @option params [required, String] :display_name
821
+ # A name for the Amazon Q application.
822
+ #
823
+ # @option params [Types::EncryptionConfiguration] :encryption_configuration
824
+ # The identifier of the KMS key that is used to encrypt your data.
825
+ # Amazon Q doesn't support asymmetric keys.
826
+ #
827
+ # @option params [required, String] :role_arn
828
+ # The Amazon Resource Name (ARN) of an IAM role with permissions to
829
+ # access your Amazon CloudWatch logs and metrics.
830
+ #
831
+ # @option params [Array<Types::Tag>] :tags
832
+ # A list of key-value pairs that identify or categorize your Amazon Q
833
+ # application. You can also use tags to help control access to the
834
+ # application. Tag keys and values can consist of Unicode letters,
835
+ # digits, white space, and any of the following symbols: \_ . : / = + -
836
+ # @.
837
+ #
838
+ # @return [Types::CreateApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
839
+ #
840
+ # * {Types::CreateApplicationResponse#application_arn #application_arn} => String
841
+ # * {Types::CreateApplicationResponse#application_id #application_id} => String
842
+ #
843
+ # @example Request syntax with placeholder values
844
+ #
845
+ # resp = client.create_application({
846
+ # attachments_configuration: {
847
+ # attachments_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
848
+ # },
849
+ # client_token: "ClientToken",
850
+ # description: "Description",
851
+ # display_name: "ApplicationName", # required
852
+ # encryption_configuration: {
853
+ # kms_key_id: "KmsKeyId",
854
+ # },
855
+ # role_arn: "RoleArn", # required
856
+ # tags: [
857
+ # {
858
+ # key: "TagKey", # required
859
+ # value: "TagValue", # required
860
+ # },
861
+ # ],
862
+ # })
863
+ #
864
+ # @example Response structure
865
+ #
866
+ # resp.application_arn #=> String
867
+ # resp.application_id #=> String
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateApplication AWS API Documentation
870
+ #
871
+ # @overload create_application(params = {})
872
+ # @param [Hash] params ({})
873
+ def create_application(params = {}, options = {})
874
+ req = build_request(:create_application, params)
875
+ req.send_request(options)
876
+ end
877
+
878
+ # Creates a data source connector for an Amazon Q application.
879
+ #
880
+ # `CreateDataSource` is a synchronous operation. The operation returns
881
+ # 200 if the data source was successfully created. Otherwise, an
882
+ # exception is raised.
883
+ #
884
+ # @option params [required, String] :application_id
885
+ # The identifier of the Amazon Q application the data source will be
886
+ # attached to.
887
+ #
888
+ # @option params [String] :client_token
889
+ # A token you provide to identify a request to create a data source
890
+ # connector. Multiple calls to the `CreateDataSource` API with the same
891
+ # client token will create only one data source connector.
892
+ #
893
+ # **A suitable default value is auto-generated.** You should normally
894
+ # not need to pass this option.**
895
+ #
896
+ # @option params [required, Hash,Array,String,Numeric,Boolean] :configuration
897
+ # Configuration information to connect to your data source repository.
898
+ # For configuration templates for your specific data source, see
899
+ # [Supported connectors][1].
900
+ #
901
+ # Document type used to carry open content
902
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
903
+ # serialized using the same format as its surroundings and requires no
904
+ # additional encoding or escaping.
905
+ #
906
+ #
907
+ #
908
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html.html
909
+ #
910
+ # @option params [String] :description
911
+ # A description for the data source connector.
912
+ #
913
+ # @option params [required, String] :display_name
914
+ # A name for the data source connector.
915
+ #
916
+ # @option params [Types::DocumentEnrichmentConfiguration] :document_enrichment_configuration
917
+ # Provides the configuration information for altering document metadata
918
+ # and content during the document ingestion process.
919
+ #
920
+ # For more information, see [Custom document enrichment][1].
921
+ #
922
+ #
923
+ #
924
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html
925
+ #
926
+ # @option params [required, String] :index_id
927
+ # The identifier of the index that you want to use with the data source
928
+ # connector.
929
+ #
930
+ # @option params [String] :role_arn
931
+ # The Amazon Resource Name (ARN) of an IAM role with permission to
932
+ # access the data source and required resources.
933
+ #
934
+ # @option params [String] :sync_schedule
935
+ # Sets the frequency for Amazon Q to check the documents in your data
936
+ # source repository and update your index. If you don't set a schedule,
937
+ # Amazon Q won't periodically update the index.
938
+ #
939
+ # Specify a `cron-` format schedule string or an empty string to
940
+ # indicate that the index is updated on demand. You can't specify the
941
+ # `Schedule` parameter when the `Type` parameter is set to `CUSTOM`. If
942
+ # you do, you receive a `ValidationException` exception.
943
+ #
944
+ # @option params [Array<Types::Tag>] :tags
945
+ # A list of key-value pairs that identify or categorize the data source
946
+ # connector. You can also use tags to help control access to the data
947
+ # source connector. Tag keys and values can consist of Unicode letters,
948
+ # digits, white space, and any of the following symbols: \_ . : / = + -
949
+ # @.
950
+ #
951
+ # @option params [Types::DataSourceVpcConfiguration] :vpc_configuration
952
+ # Configuration information for an Amazon VPC (Virtual Private Cloud) to
953
+ # connect to your data source. For more information, see [Using Amazon
954
+ # VPC with Amazon Q connectors][1].
955
+ #
956
+ #
957
+ #
958
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connector-vpc.html
959
+ #
960
+ # @return [Types::CreateDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
961
+ #
962
+ # * {Types::CreateDataSourceResponse#data_source_arn #data_source_arn} => String
963
+ # * {Types::CreateDataSourceResponse#data_source_id #data_source_id} => String
964
+ #
965
+ # @example Request syntax with placeholder values
966
+ #
967
+ # resp = client.create_data_source({
968
+ # application_id: "ApplicationId", # required
969
+ # client_token: "ClientToken",
970
+ # configuration: { # required
971
+ # },
972
+ # description: "Description",
973
+ # display_name: "DataSourceName", # required
974
+ # document_enrichment_configuration: {
975
+ # inline_configurations: [
976
+ # {
977
+ # condition: {
978
+ # key: "DocumentAttributeKey", # required
979
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
980
+ # value: {
981
+ # date_value: Time.now,
982
+ # long_value: 1,
983
+ # string_list_value: ["String"],
984
+ # string_value: "DocumentAttributeValueStringValueString",
985
+ # },
986
+ # },
987
+ # document_content_operator: "DELETE", # accepts DELETE
988
+ # target: {
989
+ # attribute_value_operator: "DELETE", # accepts DELETE
990
+ # key: "DocumentAttributeKey", # required
991
+ # value: {
992
+ # date_value: Time.now,
993
+ # long_value: 1,
994
+ # string_list_value: ["String"],
995
+ # string_value: "DocumentAttributeValueStringValueString",
996
+ # },
997
+ # },
998
+ # },
999
+ # ],
1000
+ # post_extraction_hook_configuration: {
1001
+ # invocation_condition: {
1002
+ # key: "DocumentAttributeKey", # required
1003
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
1004
+ # value: {
1005
+ # date_value: Time.now,
1006
+ # long_value: 1,
1007
+ # string_list_value: ["String"],
1008
+ # string_value: "DocumentAttributeValueStringValueString",
1009
+ # },
1010
+ # },
1011
+ # lambda_arn: "LambdaArn",
1012
+ # role_arn: "RoleArn",
1013
+ # s3_bucket_name: "S3BucketName",
1014
+ # },
1015
+ # pre_extraction_hook_configuration: {
1016
+ # invocation_condition: {
1017
+ # key: "DocumentAttributeKey", # required
1018
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
1019
+ # value: {
1020
+ # date_value: Time.now,
1021
+ # long_value: 1,
1022
+ # string_list_value: ["String"],
1023
+ # string_value: "DocumentAttributeValueStringValueString",
1024
+ # },
1025
+ # },
1026
+ # lambda_arn: "LambdaArn",
1027
+ # role_arn: "RoleArn",
1028
+ # s3_bucket_name: "S3BucketName",
1029
+ # },
1030
+ # },
1031
+ # index_id: "IndexId", # required
1032
+ # role_arn: "RoleArn",
1033
+ # sync_schedule: "SyncSchedule",
1034
+ # tags: [
1035
+ # {
1036
+ # key: "TagKey", # required
1037
+ # value: "TagValue", # required
1038
+ # },
1039
+ # ],
1040
+ # vpc_configuration: {
1041
+ # security_group_ids: ["SecurityGroupId"], # required
1042
+ # subnet_ids: ["SubnetId"], # required
1043
+ # },
1044
+ # })
1045
+ #
1046
+ # @example Response structure
1047
+ #
1048
+ # resp.data_source_arn #=> String
1049
+ # resp.data_source_id #=> String
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateDataSource AWS API Documentation
1052
+ #
1053
+ # @overload create_data_source(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def create_data_source(params = {}, options = {})
1056
+ req = build_request(:create_data_source, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # Creates an Amazon Q index.
1061
+ #
1062
+ # To determine if index creation has completed, check the `Status` field
1063
+ # returned from a call to `DescribeIndex`. The `Status` field is set to
1064
+ # `ACTIVE` when the index is ready to use.
1065
+ #
1066
+ # Once the index is active, you can index your documents using the [
1067
+ # `BatchPutDocument` ][1] API or the [ `CreateDataSource` ][2] API.
1068
+ #
1069
+ #
1070
+ #
1071
+ # [1]: https://docs.aws.amazon.com/enterpriseq/latest/APIReference/API_BatchPutDocument.html
1072
+ # [2]: https://docs.aws.amazon.com/enterpriseq/latest/APIReference/API_CreateDataSource.html
1073
+ #
1074
+ # @option params [required, String] :application_id
1075
+ # The identifier of the Amazon Q application using the index.
1076
+ #
1077
+ # @option params [Types::IndexCapacityConfiguration] :capacity_configuration
1078
+ # The capacity units you want to provision for your index. You can add
1079
+ # and remove capacity to fit your usage needs.
1080
+ #
1081
+ # @option params [String] :client_token
1082
+ # A token that you provide to identify the request to create an index.
1083
+ # Multiple calls to the `CreateIndex` API with the same client token
1084
+ # will create only one index.
1085
+ #
1086
+ # **A suitable default value is auto-generated.** You should normally
1087
+ # not need to pass this option.**
1088
+ #
1089
+ # @option params [String] :description
1090
+ # A description for the Amazon Q index.
1091
+ #
1092
+ # @option params [required, String] :display_name
1093
+ # A name for the Amazon Q index.
1094
+ #
1095
+ # @option params [Array<Types::Tag>] :tags
1096
+ # A list of key-value pairs that identify or categorize the index. You
1097
+ # can also use tags to help control access to the index. Tag keys and
1098
+ # values can consist of Unicode letters, digits, white space, and any of
1099
+ # the following symbols: \_ . : / = + - @.
1100
+ #
1101
+ # @return [Types::CreateIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1102
+ #
1103
+ # * {Types::CreateIndexResponse#index_arn #index_arn} => String
1104
+ # * {Types::CreateIndexResponse#index_id #index_id} => String
1105
+ #
1106
+ # @example Request syntax with placeholder values
1107
+ #
1108
+ # resp = client.create_index({
1109
+ # application_id: "ApplicationId", # required
1110
+ # capacity_configuration: {
1111
+ # units: 1,
1112
+ # },
1113
+ # client_token: "ClientToken",
1114
+ # description: "Description",
1115
+ # display_name: "IndexName", # required
1116
+ # tags: [
1117
+ # {
1118
+ # key: "TagKey", # required
1119
+ # value: "TagValue", # required
1120
+ # },
1121
+ # ],
1122
+ # })
1123
+ #
1124
+ # @example Response structure
1125
+ #
1126
+ # resp.index_arn #=> String
1127
+ # resp.index_id #=> String
1128
+ #
1129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateIndex AWS API Documentation
1130
+ #
1131
+ # @overload create_index(params = {})
1132
+ # @param [Hash] params ({})
1133
+ def create_index(params = {}, options = {})
1134
+ req = build_request(:create_index, params)
1135
+ req.send_request(options)
1136
+ end
1137
+
1138
+ # Creates an Amazon Q plugin.
1139
+ #
1140
+ # @option params [required, String] :application_id
1141
+ # The identifier of the application that will contain the plugin.
1142
+ #
1143
+ # @option params [required, Types::PluginAuthConfiguration] :auth_configuration
1144
+ # Authentication configuration information for an Amazon Q plugin.
1145
+ #
1146
+ # @option params [String] :client_token
1147
+ # A token that you provide to identify the request to create your Amazon
1148
+ # Q plugin.
1149
+ #
1150
+ # **A suitable default value is auto-generated.** You should normally
1151
+ # not need to pass this option.**
1152
+ #
1153
+ # @option params [required, String] :display_name
1154
+ # A the name for your plugin.
1155
+ #
1156
+ # @option params [required, String] :server_url
1157
+ # The source URL used for plugin configuration.
1158
+ #
1159
+ # @option params [Array<Types::Tag>] :tags
1160
+ # A list of key-value pairs that identify or categorize the data source
1161
+ # connector. You can also use tags to help control access to the data
1162
+ # source connector. Tag keys and values can consist of Unicode letters,
1163
+ # digits, white space, and any of the following symbols: \_ . : / = + -
1164
+ # @.
1165
+ #
1166
+ # @option params [required, String] :type
1167
+ # The type of plugin you want to create.
1168
+ #
1169
+ # @return [Types::CreatePluginResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
+ #
1171
+ # * {Types::CreatePluginResponse#plugin_arn #plugin_arn} => String
1172
+ # * {Types::CreatePluginResponse#plugin_id #plugin_id} => String
1173
+ #
1174
+ # @example Request syntax with placeholder values
1175
+ #
1176
+ # resp = client.create_plugin({
1177
+ # application_id: "ApplicationId", # required
1178
+ # auth_configuration: { # required
1179
+ # basic_auth_configuration: {
1180
+ # role_arn: "RoleArn", # required
1181
+ # secret_arn: "SecretArn", # required
1182
+ # },
1183
+ # o_auth_2_client_credential_configuration: {
1184
+ # role_arn: "RoleArn", # required
1185
+ # secret_arn: "SecretArn", # required
1186
+ # },
1187
+ # },
1188
+ # client_token: "ClientToken",
1189
+ # display_name: "PluginName", # required
1190
+ # server_url: "Url", # required
1191
+ # tags: [
1192
+ # {
1193
+ # key: "TagKey", # required
1194
+ # value: "TagValue", # required
1195
+ # },
1196
+ # ],
1197
+ # type: "SERVICE_NOW", # required, accepts SERVICE_NOW, SALESFORCE, JIRA, ZENDESK
1198
+ # })
1199
+ #
1200
+ # @example Response structure
1201
+ #
1202
+ # resp.plugin_arn #=> String
1203
+ # resp.plugin_id #=> String
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreatePlugin AWS API Documentation
1206
+ #
1207
+ # @overload create_plugin(params = {})
1208
+ # @param [Hash] params ({})
1209
+ def create_plugin(params = {}, options = {})
1210
+ req = build_request(:create_plugin, params)
1211
+ req.send_request(options)
1212
+ end
1213
+
1214
+ # Adds a retriever to your Amazon Q application.
1215
+ #
1216
+ # @option params [required, String] :application_id
1217
+ # The identifier of your Amazon Q application.
1218
+ #
1219
+ # @option params [String] :client_token
1220
+ # A token that you provide to identify the request to create your Amazon
1221
+ # Q application retriever.
1222
+ #
1223
+ # **A suitable default value is auto-generated.** You should normally
1224
+ # not need to pass this option.**
1225
+ #
1226
+ # @option params [required, Types::RetrieverConfiguration] :configuration
1227
+ # Provides information on how the retriever used for your Amazon Q
1228
+ # application is configured.
1229
+ #
1230
+ # @option params [required, String] :display_name
1231
+ # The name of your retriever.
1232
+ #
1233
+ # @option params [String] :role_arn
1234
+ # The ARN of an IAM role used by Amazon Q to access the basic
1235
+ # authentication credentials stored in a Secrets Manager secret.
1236
+ #
1237
+ # @option params [Array<Types::Tag>] :tags
1238
+ # A list of key-value pairs that identify or categorize the retriever.
1239
+ # You can also use tags to help control access to the retriever. Tag
1240
+ # keys and values can consist of Unicode letters, digits, white space,
1241
+ # and any of the following symbols: \_ . : / = + - @.
1242
+ #
1243
+ # @option params [required, String] :type
1244
+ # The type of retriever you are using.
1245
+ #
1246
+ # @return [Types::CreateRetrieverResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1247
+ #
1248
+ # * {Types::CreateRetrieverResponse#retriever_arn #retriever_arn} => String
1249
+ # * {Types::CreateRetrieverResponse#retriever_id #retriever_id} => String
1250
+ #
1251
+ # @example Request syntax with placeholder values
1252
+ #
1253
+ # resp = client.create_retriever({
1254
+ # application_id: "ApplicationId", # required
1255
+ # client_token: "ClientToken",
1256
+ # configuration: { # required
1257
+ # kendra_index_configuration: {
1258
+ # index_id: "KendraIndexId", # required
1259
+ # },
1260
+ # native_index_configuration: {
1261
+ # index_id: "IndexId", # required
1262
+ # },
1263
+ # },
1264
+ # display_name: "RetrieverName", # required
1265
+ # role_arn: "RoleArn",
1266
+ # tags: [
1267
+ # {
1268
+ # key: "TagKey", # required
1269
+ # value: "TagValue", # required
1270
+ # },
1271
+ # ],
1272
+ # type: "NATIVE_INDEX", # required, accepts NATIVE_INDEX, KENDRA_INDEX
1273
+ # })
1274
+ #
1275
+ # @example Response structure
1276
+ #
1277
+ # resp.retriever_arn #=> String
1278
+ # resp.retriever_id #=> String
1279
+ #
1280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateRetriever AWS API Documentation
1281
+ #
1282
+ # @overload create_retriever(params = {})
1283
+ # @param [Hash] params ({})
1284
+ def create_retriever(params = {}, options = {})
1285
+ req = build_request(:create_retriever, params)
1286
+ req.send_request(options)
1287
+ end
1288
+
1289
+ # Creates a universally unique identifier (UUID) mapped to a list of
1290
+ # local user ids within an application.
1291
+ #
1292
+ # @option params [required, String] :application_id
1293
+ # The identifier of the application for which the user mapping will be
1294
+ # created.
1295
+ #
1296
+ # @option params [String] :client_token
1297
+ # A token that you provide to identify the request to create your Amazon
1298
+ # Q user mapping.
1299
+ #
1300
+ # **A suitable default value is auto-generated.** You should normally
1301
+ # not need to pass this option.**
1302
+ #
1303
+ # @option params [Array<Types::UserAlias>] :user_aliases
1304
+ # The list of user aliases in the mapping.
1305
+ #
1306
+ # @option params [required, String] :user_id
1307
+ # The user emails attached to a user mapping.
1308
+ #
1309
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1310
+ #
1311
+ # @example Request syntax with placeholder values
1312
+ #
1313
+ # resp = client.create_user({
1314
+ # application_id: "ApplicationId", # required
1315
+ # client_token: "ClientToken",
1316
+ # user_aliases: [
1317
+ # {
1318
+ # data_source_id: "DataSourceId",
1319
+ # index_id: "IndexId",
1320
+ # user_id: "String", # required
1321
+ # },
1322
+ # ],
1323
+ # user_id: "String", # required
1324
+ # })
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateUser AWS API Documentation
1327
+ #
1328
+ # @overload create_user(params = {})
1329
+ # @param [Hash] params ({})
1330
+ def create_user(params = {}, options = {})
1331
+ req = build_request(:create_user, params)
1332
+ req.send_request(options)
1333
+ end
1334
+
1335
+ # Creates an Amazon Q web experience.
1336
+ #
1337
+ # @option params [required, String] :application_id
1338
+ # The identifier of the Amazon Q web experience.
1339
+ #
1340
+ # @option params [String] :client_token
1341
+ # A token you provide to identify a request to create an Amazon Q web
1342
+ # experience.
1343
+ #
1344
+ # **A suitable default value is auto-generated.** You should normally
1345
+ # not need to pass this option.**
1346
+ #
1347
+ # @option params [String] :sample_prompts_control_mode
1348
+ # Determines whether sample prompts are enabled in the web experience
1349
+ # for an end user.
1350
+ #
1351
+ # @option params [String] :subtitle
1352
+ # A subtitle to personalize your Amazon Q web experience.
1353
+ #
1354
+ # @option params [Array<Types::Tag>] :tags
1355
+ # A list of key-value pairs that identify or categorize your Amazon Q
1356
+ # web experience. You can also use tags to help control access to the
1357
+ # web experience. Tag keys and values can consist of Unicode letters,
1358
+ # digits, white space, and any of the following symbols: \_ . : / = + -
1359
+ # @.
1360
+ #
1361
+ # @option params [String] :title
1362
+ # The title for your Amazon Q web experience.
1363
+ #
1364
+ # @option params [String] :welcome_message
1365
+ # The customized welcome message for end users of an Amazon Q web
1366
+ # experience.
1367
+ #
1368
+ # @return [Types::CreateWebExperienceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1369
+ #
1370
+ # * {Types::CreateWebExperienceResponse#web_experience_arn #web_experience_arn} => String
1371
+ # * {Types::CreateWebExperienceResponse#web_experience_id #web_experience_id} => String
1372
+ #
1373
+ # @example Request syntax with placeholder values
1374
+ #
1375
+ # resp = client.create_web_experience({
1376
+ # application_id: "ApplicationId", # required
1377
+ # client_token: "ClientToken",
1378
+ # sample_prompts_control_mode: "ENABLED", # accepts ENABLED, DISABLED
1379
+ # subtitle: "WebExperienceSubtitle",
1380
+ # tags: [
1381
+ # {
1382
+ # key: "TagKey", # required
1383
+ # value: "TagValue", # required
1384
+ # },
1385
+ # ],
1386
+ # title: "WebExperienceTitle",
1387
+ # welcome_message: "WebExperienceWelcomeMessage",
1388
+ # })
1389
+ #
1390
+ # @example Response structure
1391
+ #
1392
+ # resp.web_experience_arn #=> String
1393
+ # resp.web_experience_id #=> String
1394
+ #
1395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CreateWebExperience AWS API Documentation
1396
+ #
1397
+ # @overload create_web_experience(params = {})
1398
+ # @param [Hash] params ({})
1399
+ def create_web_experience(params = {}, options = {})
1400
+ req = build_request(:create_web_experience, params)
1401
+ req.send_request(options)
1402
+ end
1403
+
1404
+ # Deletes an Amazon Q application.
1405
+ #
1406
+ # @option params [required, String] :application_id
1407
+ # The identifier of the Amazon Q application.
1408
+ #
1409
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1410
+ #
1411
+ # @example Request syntax with placeholder values
1412
+ #
1413
+ # resp = client.delete_application({
1414
+ # application_id: "ApplicationId", # required
1415
+ # })
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteApplication AWS API Documentation
1418
+ #
1419
+ # @overload delete_application(params = {})
1420
+ # @param [Hash] params ({})
1421
+ def delete_application(params = {}, options = {})
1422
+ req = build_request(:delete_application, params)
1423
+ req.send_request(options)
1424
+ end
1425
+
1426
+ # Deletes chat controls configured for an existing Amazon Q application.
1427
+ #
1428
+ # @option params [required, String] :application_id
1429
+ # The identifier of the application the chat controls have been
1430
+ # configured for.
1431
+ #
1432
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1433
+ #
1434
+ # @example Request syntax with placeholder values
1435
+ #
1436
+ # resp = client.delete_chat_controls_configuration({
1437
+ # application_id: "ApplicationId", # required
1438
+ # })
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteChatControlsConfiguration AWS API Documentation
1441
+ #
1442
+ # @overload delete_chat_controls_configuration(params = {})
1443
+ # @param [Hash] params ({})
1444
+ def delete_chat_controls_configuration(params = {}, options = {})
1445
+ req = build_request(:delete_chat_controls_configuration, params)
1446
+ req.send_request(options)
1447
+ end
1448
+
1449
+ # Deletes an Amazon Q web experience conversation.
1450
+ #
1451
+ # @option params [required, String] :application_id
1452
+ # The identifier of the Amazon Q application associated with the
1453
+ # conversation.
1454
+ #
1455
+ # @option params [required, String] :conversation_id
1456
+ # The identifier of the Amazon Q web experience conversation being
1457
+ # deleted.
1458
+ #
1459
+ # @option params [required, String] :user_id
1460
+ # The identifier of the user who is deleting the conversation.
1461
+ #
1462
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1463
+ #
1464
+ # @example Request syntax with placeholder values
1465
+ #
1466
+ # resp = client.delete_conversation({
1467
+ # application_id: "ApplicationId", # required
1468
+ # conversation_id: "ConversationId", # required
1469
+ # user_id: "UserId", # required
1470
+ # })
1471
+ #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteConversation AWS API Documentation
1473
+ #
1474
+ # @overload delete_conversation(params = {})
1475
+ # @param [Hash] params ({})
1476
+ def delete_conversation(params = {}, options = {})
1477
+ req = build_request(:delete_conversation, params)
1478
+ req.send_request(options)
1479
+ end
1480
+
1481
+ # Deletes an Amazon Q data source connector. While the data source is
1482
+ # being deleted, the `Status` field returned by a call to the
1483
+ # `DescribeDataSource` API is set to `DELETING`.
1484
+ #
1485
+ # @option params [required, String] :application_id
1486
+ # The identifier of the Amazon Q application used with the data source
1487
+ # connector.
1488
+ #
1489
+ # @option params [required, String] :data_source_id
1490
+ # The identifier of the data source connector that you want to delete.
1491
+ #
1492
+ # @option params [required, String] :index_id
1493
+ # The identifier of the index used with the data source connector.
1494
+ #
1495
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1496
+ #
1497
+ # @example Request syntax with placeholder values
1498
+ #
1499
+ # resp = client.delete_data_source({
1500
+ # application_id: "ApplicationId", # required
1501
+ # data_source_id: "DataSourceId", # required
1502
+ # index_id: "IndexId", # required
1503
+ # })
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteDataSource AWS API Documentation
1506
+ #
1507
+ # @overload delete_data_source(params = {})
1508
+ # @param [Hash] params ({})
1509
+ def delete_data_source(params = {}, options = {})
1510
+ req = build_request(:delete_data_source, params)
1511
+ req.send_request(options)
1512
+ end
1513
+
1514
+ # Deletes a group so that all users and sub groups that belong to the
1515
+ # group can no longer access documents only available to that group. For
1516
+ # example, after deleting the group "Summer Interns", all interns who
1517
+ # belonged to that group no longer see intern-only documents in their
1518
+ # chat results.
1519
+ #
1520
+ # If you want to delete, update, or replace users or sub groups of a
1521
+ # group, you need to use the `PutGroup` operation. For example, if a
1522
+ # user in the group "Engineering" leaves the engineering team and
1523
+ # another user takes their place, you provide an updated list of users
1524
+ # or sub groups that belong to the "Engineering" group when calling
1525
+ # `PutGroup`.
1526
+ #
1527
+ # @option params [required, String] :application_id
1528
+ # The identifier of the application in which the group mapping belongs.
1529
+ #
1530
+ # @option params [String] :data_source_id
1531
+ # The identifier of the data source linked to the group
1532
+ #
1533
+ # A group can be tied to multiple data sources. You can delete a group
1534
+ # from accessing documents in a certain data source. For example, the
1535
+ # groups "Research", "Engineering", and "Sales and Marketing" are
1536
+ # all tied to the company's documents stored in the data sources
1537
+ # Confluence and Salesforce. You want to delete "Research" and
1538
+ # "Engineering" groups from Salesforce, so that these groups cannot
1539
+ # access customer-related documents stored in Salesforce. Only "Sales
1540
+ # and Marketing" should access documents in the Salesforce data source.
1541
+ #
1542
+ # @option params [required, String] :group_name
1543
+ # The name of the group you want to delete.
1544
+ #
1545
+ # @option params [required, String] :index_id
1546
+ # The identifier of the index you want to delete the group from.
1547
+ #
1548
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1549
+ #
1550
+ # @example Request syntax with placeholder values
1551
+ #
1552
+ # resp = client.delete_group({
1553
+ # application_id: "ApplicationId", # required
1554
+ # data_source_id: "DataSourceId",
1555
+ # group_name: "GroupName", # required
1556
+ # index_id: "IndexId", # required
1557
+ # })
1558
+ #
1559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteGroup AWS API Documentation
1560
+ #
1561
+ # @overload delete_group(params = {})
1562
+ # @param [Hash] params ({})
1563
+ def delete_group(params = {}, options = {})
1564
+ req = build_request(:delete_group, params)
1565
+ req.send_request(options)
1566
+ end
1567
+
1568
+ # Deletes an Amazon Q index.
1569
+ #
1570
+ # @option params [required, String] :application_id
1571
+ # The identifier of the Amazon Q application the Amazon Q index is
1572
+ # linked to.
1573
+ #
1574
+ # @option params [required, String] :index_id
1575
+ # The identifier of the Amazon Q index.
1576
+ #
1577
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1578
+ #
1579
+ # @example Request syntax with placeholder values
1580
+ #
1581
+ # resp = client.delete_index({
1582
+ # application_id: "ApplicationId", # required
1583
+ # index_id: "IndexId", # required
1584
+ # })
1585
+ #
1586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteIndex AWS API Documentation
1587
+ #
1588
+ # @overload delete_index(params = {})
1589
+ # @param [Hash] params ({})
1590
+ def delete_index(params = {}, options = {})
1591
+ req = build_request(:delete_index, params)
1592
+ req.send_request(options)
1593
+ end
1594
+
1595
+ # Deletes an Amazon Q plugin.
1596
+ #
1597
+ # @option params [required, String] :application_id
1598
+ # The identifier the application attached to the Amazon Q plugin.
1599
+ #
1600
+ # @option params [required, String] :plugin_id
1601
+ # The identifier of the plugin being deleted.
1602
+ #
1603
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1604
+ #
1605
+ # @example Request syntax with placeholder values
1606
+ #
1607
+ # resp = client.delete_plugin({
1608
+ # application_id: "ApplicationId", # required
1609
+ # plugin_id: "PluginId", # required
1610
+ # })
1611
+ #
1612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeletePlugin AWS API Documentation
1613
+ #
1614
+ # @overload delete_plugin(params = {})
1615
+ # @param [Hash] params ({})
1616
+ def delete_plugin(params = {}, options = {})
1617
+ req = build_request(:delete_plugin, params)
1618
+ req.send_request(options)
1619
+ end
1620
+
1621
+ # Deletes the retriever used by an Amazon Q application.
1622
+ #
1623
+ # @option params [required, String] :application_id
1624
+ # The identifier of the Amazon Q application using the retriever.
1625
+ #
1626
+ # @option params [required, String] :retriever_id
1627
+ # The identifier of the retriever being deleted.
1628
+ #
1629
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1630
+ #
1631
+ # @example Request syntax with placeholder values
1632
+ #
1633
+ # resp = client.delete_retriever({
1634
+ # application_id: "ApplicationId", # required
1635
+ # retriever_id: "RetrieverId", # required
1636
+ # })
1637
+ #
1638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteRetriever AWS API Documentation
1639
+ #
1640
+ # @overload delete_retriever(params = {})
1641
+ # @param [Hash] params ({})
1642
+ def delete_retriever(params = {}, options = {})
1643
+ req = build_request(:delete_retriever, params)
1644
+ req.send_request(options)
1645
+ end
1646
+
1647
+ # Deletes a user by email id.
1648
+ #
1649
+ # @option params [required, String] :application_id
1650
+ # The identifier of the application from which the user is being
1651
+ # deleted.
1652
+ #
1653
+ # @option params [required, String] :user_id
1654
+ # The user email being deleted.
1655
+ #
1656
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1657
+ #
1658
+ # @example Request syntax with placeholder values
1659
+ #
1660
+ # resp = client.delete_user({
1661
+ # application_id: "ApplicationId", # required
1662
+ # user_id: "String", # required
1663
+ # })
1664
+ #
1665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteUser AWS API Documentation
1666
+ #
1667
+ # @overload delete_user(params = {})
1668
+ # @param [Hash] params ({})
1669
+ def delete_user(params = {}, options = {})
1670
+ req = build_request(:delete_user, params)
1671
+ req.send_request(options)
1672
+ end
1673
+
1674
+ # Deletes an Amazon Q web experience.
1675
+ #
1676
+ # @option params [required, String] :application_id
1677
+ # The identifier of the Amazon Q application linked to the Amazon Q web
1678
+ # experience.
1679
+ #
1680
+ # @option params [required, String] :web_experience_id
1681
+ # The identifier of the Amazon Q web experience being deleted.
1682
+ #
1683
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1684
+ #
1685
+ # @example Request syntax with placeholder values
1686
+ #
1687
+ # resp = client.delete_web_experience({
1688
+ # application_id: "ApplicationId", # required
1689
+ # web_experience_id: "WebExperienceId", # required
1690
+ # })
1691
+ #
1692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DeleteWebExperience AWS API Documentation
1693
+ #
1694
+ # @overload delete_web_experience(params = {})
1695
+ # @param [Hash] params ({})
1696
+ def delete_web_experience(params = {}, options = {})
1697
+ req = build_request(:delete_web_experience, params)
1698
+ req.send_request(options)
1699
+ end
1700
+
1701
+ # Gets information about an existing Amazon Q application.
1702
+ #
1703
+ # @option params [required, String] :application_id
1704
+ # The identifier of the Amazon Q application.
1705
+ #
1706
+ # @return [Types::GetApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1707
+ #
1708
+ # * {Types::GetApplicationResponse#application_arn #application_arn} => String
1709
+ # * {Types::GetApplicationResponse#application_id #application_id} => String
1710
+ # * {Types::GetApplicationResponse#attachments_configuration #attachments_configuration} => Types::AppliedAttachmentsConfiguration
1711
+ # * {Types::GetApplicationResponse#created_at #created_at} => Time
1712
+ # * {Types::GetApplicationResponse#description #description} => String
1713
+ # * {Types::GetApplicationResponse#display_name #display_name} => String
1714
+ # * {Types::GetApplicationResponse#encryption_configuration #encryption_configuration} => Types::EncryptionConfiguration
1715
+ # * {Types::GetApplicationResponse#error #error} => Types::ErrorDetail
1716
+ # * {Types::GetApplicationResponse#role_arn #role_arn} => String
1717
+ # * {Types::GetApplicationResponse#status #status} => String
1718
+ # * {Types::GetApplicationResponse#updated_at #updated_at} => Time
1719
+ #
1720
+ # @example Request syntax with placeholder values
1721
+ #
1722
+ # resp = client.get_application({
1723
+ # application_id: "ApplicationId", # required
1724
+ # })
1725
+ #
1726
+ # @example Response structure
1727
+ #
1728
+ # resp.application_arn #=> String
1729
+ # resp.application_id #=> String
1730
+ # resp.attachments_configuration.attachments_control_mode #=> String, one of "ENABLED", "DISABLED"
1731
+ # resp.created_at #=> Time
1732
+ # resp.description #=> String
1733
+ # resp.display_name #=> String
1734
+ # resp.encryption_configuration.kms_key_id #=> String
1735
+ # resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
1736
+ # resp.error.error_message #=> String
1737
+ # resp.role_arn #=> String
1738
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
1739
+ # resp.updated_at #=> Time
1740
+ #
1741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetApplication AWS API Documentation
1742
+ #
1743
+ # @overload get_application(params = {})
1744
+ # @param [Hash] params ({})
1745
+ def get_application(params = {}, options = {})
1746
+ req = build_request(:get_application, params)
1747
+ req.send_request(options)
1748
+ end
1749
+
1750
+ # Gets information about an chat controls configured for an existing
1751
+ # Amazon Q application.
1752
+ #
1753
+ # @option params [required, String] :application_id
1754
+ # The identifier of the application for which the chat controls are
1755
+ # configured.
1756
+ #
1757
+ # @option params [Integer] :max_results
1758
+ # The maximum number of configured chat controls to return.
1759
+ #
1760
+ # @option params [String] :next_token
1761
+ # If the `maxResults` response was incomplete because there is more data
1762
+ # to retrieve, Amazon Q returns a pagination token in the response. You
1763
+ # can use this pagination token to retrieve the next set of Amazon Q
1764
+ # chat controls configured.
1765
+ #
1766
+ # @return [Types::GetChatControlsConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1767
+ #
1768
+ # * {Types::GetChatControlsConfigurationResponse#blocked_phrases #blocked_phrases} => Types::BlockedPhrasesConfiguration
1769
+ # * {Types::GetChatControlsConfigurationResponse#next_token #next_token} => String
1770
+ # * {Types::GetChatControlsConfigurationResponse#response_scope #response_scope} => String
1771
+ # * {Types::GetChatControlsConfigurationResponse#topic_configurations #topic_configurations} => Array&lt;Types::TopicConfiguration&gt;
1772
+ #
1773
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1774
+ #
1775
+ # @example Request syntax with placeholder values
1776
+ #
1777
+ # resp = client.get_chat_controls_configuration({
1778
+ # application_id: "ApplicationId", # required
1779
+ # max_results: 1,
1780
+ # next_token: "NextToken",
1781
+ # })
1782
+ #
1783
+ # @example Response structure
1784
+ #
1785
+ # resp.blocked_phrases.blocked_phrases #=> Array
1786
+ # resp.blocked_phrases.blocked_phrases[0] #=> String
1787
+ # resp.blocked_phrases.system_message_override #=> String
1788
+ # resp.next_token #=> String
1789
+ # resp.response_scope #=> String, one of "ENTERPRISE_CONTENT_ONLY", "EXTENDED_KNOWLEDGE_ENABLED"
1790
+ # resp.topic_configurations #=> Array
1791
+ # resp.topic_configurations[0].description #=> String
1792
+ # resp.topic_configurations[0].example_chat_messages #=> Array
1793
+ # resp.topic_configurations[0].example_chat_messages[0] #=> String
1794
+ # resp.topic_configurations[0].name #=> String
1795
+ # resp.topic_configurations[0].rules #=> Array
1796
+ # resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_groups #=> Array
1797
+ # resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_groups[0] #=> String
1798
+ # resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_ids #=> Array
1799
+ # resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_ids[0] #=> String
1800
+ # resp.topic_configurations[0].rules[0].included_users_and_groups.user_groups #=> Array
1801
+ # resp.topic_configurations[0].rules[0].included_users_and_groups.user_groups[0] #=> String
1802
+ # resp.topic_configurations[0].rules[0].included_users_and_groups.user_ids #=> Array
1803
+ # resp.topic_configurations[0].rules[0].included_users_and_groups.user_ids[0] #=> String
1804
+ # resp.topic_configurations[0].rules[0].rule_configuration.content_blocker_rule.system_message_override #=> String
1805
+ # resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources #=> Array
1806
+ # resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources[0].data_source_id #=> String
1807
+ # resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources[0].index_id #=> String
1808
+ # resp.topic_configurations[0].rules[0].rule_type #=> String, one of "CONTENT_BLOCKER_RULE", "CONTENT_RETRIEVAL_RULE"
1809
+ #
1810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetChatControlsConfiguration AWS API Documentation
1811
+ #
1812
+ # @overload get_chat_controls_configuration(params = {})
1813
+ # @param [Hash] params ({})
1814
+ def get_chat_controls_configuration(params = {}, options = {})
1815
+ req = build_request(:get_chat_controls_configuration, params)
1816
+ req.send_request(options)
1817
+ end
1818
+
1819
+ # Gets information about an existing Amazon Q data source connector.
1820
+ #
1821
+ # @option params [required, String] :application_id
1822
+ # The identifier of the Amazon Q application.
1823
+ #
1824
+ # @option params [required, String] :data_source_id
1825
+ # The identifier of the data source connector.
1826
+ #
1827
+ # @option params [required, String] :index_id
1828
+ # The identfier of the index used with the data source connector.
1829
+ #
1830
+ # @return [Types::GetDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1831
+ #
1832
+ # * {Types::GetDataSourceResponse#application_id #application_id} => String
1833
+ # * {Types::GetDataSourceResponse#configuration #configuration} => Hash,Array,String,Numeric,Boolean
1834
+ # * {Types::GetDataSourceResponse#created_at #created_at} => Time
1835
+ # * {Types::GetDataSourceResponse#data_source_arn #data_source_arn} => String
1836
+ # * {Types::GetDataSourceResponse#data_source_id #data_source_id} => String
1837
+ # * {Types::GetDataSourceResponse#description #description} => String
1838
+ # * {Types::GetDataSourceResponse#display_name #display_name} => String
1839
+ # * {Types::GetDataSourceResponse#document_enrichment_configuration #document_enrichment_configuration} => Types::DocumentEnrichmentConfiguration
1840
+ # * {Types::GetDataSourceResponse#error #error} => Types::ErrorDetail
1841
+ # * {Types::GetDataSourceResponse#index_id #index_id} => String
1842
+ # * {Types::GetDataSourceResponse#role_arn #role_arn} => String
1843
+ # * {Types::GetDataSourceResponse#status #status} => String
1844
+ # * {Types::GetDataSourceResponse#sync_schedule #sync_schedule} => String
1845
+ # * {Types::GetDataSourceResponse#type #type} => String
1846
+ # * {Types::GetDataSourceResponse#updated_at #updated_at} => Time
1847
+ # * {Types::GetDataSourceResponse#vpc_configuration #vpc_configuration} => Types::DataSourceVpcConfiguration
1848
+ #
1849
+ # @example Request syntax with placeholder values
1850
+ #
1851
+ # resp = client.get_data_source({
1852
+ # application_id: "ApplicationId", # required
1853
+ # data_source_id: "DataSourceId", # required
1854
+ # index_id: "IndexId", # required
1855
+ # })
1856
+ #
1857
+ # @example Response structure
1858
+ #
1859
+ # resp.application_id #=> String
1860
+ # resp.created_at #=> Time
1861
+ # resp.data_source_arn #=> String
1862
+ # resp.data_source_id #=> String
1863
+ # resp.description #=> String
1864
+ # resp.display_name #=> String
1865
+ # resp.document_enrichment_configuration.inline_configurations #=> Array
1866
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.key #=> String
1867
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
1868
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.value.date_value #=> Time
1869
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.value.long_value #=> Integer
1870
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_list_value #=> Array
1871
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_list_value[0] #=> String
1872
+ # resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_value #=> String
1873
+ # resp.document_enrichment_configuration.inline_configurations[0].document_content_operator #=> String, one of "DELETE"
1874
+ # resp.document_enrichment_configuration.inline_configurations[0].target.attribute_value_operator #=> String, one of "DELETE"
1875
+ # resp.document_enrichment_configuration.inline_configurations[0].target.key #=> String
1876
+ # resp.document_enrichment_configuration.inline_configurations[0].target.value.date_value #=> Time
1877
+ # resp.document_enrichment_configuration.inline_configurations[0].target.value.long_value #=> Integer
1878
+ # resp.document_enrichment_configuration.inline_configurations[0].target.value.string_list_value #=> Array
1879
+ # resp.document_enrichment_configuration.inline_configurations[0].target.value.string_list_value[0] #=> String
1880
+ # resp.document_enrichment_configuration.inline_configurations[0].target.value.string_value #=> String
1881
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.key #=> String
1882
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
1883
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.date_value #=> Time
1884
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.long_value #=> Integer
1885
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_list_value #=> Array
1886
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_list_value[0] #=> String
1887
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_value #=> String
1888
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.lambda_arn #=> String
1889
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.role_arn #=> String
1890
+ # resp.document_enrichment_configuration.post_extraction_hook_configuration.s3_bucket_name #=> String
1891
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.key #=> String
1892
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
1893
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.date_value #=> Time
1894
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.long_value #=> Integer
1895
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_list_value #=> Array
1896
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_list_value[0] #=> String
1897
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_value #=> String
1898
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.lambda_arn #=> String
1899
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.role_arn #=> String
1900
+ # resp.document_enrichment_configuration.pre_extraction_hook_configuration.s3_bucket_name #=> String
1901
+ # resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
1902
+ # resp.error.error_message #=> String
1903
+ # resp.index_id #=> String
1904
+ # resp.role_arn #=> String
1905
+ # resp.status #=> String, one of "PENDING_CREATION", "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
1906
+ # resp.sync_schedule #=> String
1907
+ # resp.type #=> String
1908
+ # resp.updated_at #=> Time
1909
+ # resp.vpc_configuration.security_group_ids #=> Array
1910
+ # resp.vpc_configuration.security_group_ids[0] #=> String
1911
+ # resp.vpc_configuration.subnet_ids #=> Array
1912
+ # resp.vpc_configuration.subnet_ids[0] #=> String
1913
+ #
1914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetDataSource AWS API Documentation
1915
+ #
1916
+ # @overload get_data_source(params = {})
1917
+ # @param [Hash] params ({})
1918
+ def get_data_source(params = {}, options = {})
1919
+ req = build_request(:get_data_source, params)
1920
+ req.send_request(options)
1921
+ end
1922
+
1923
+ # Describes a group by group name.
1924
+ #
1925
+ # @option params [required, String] :application_id
1926
+ # The identifier of the application id the group is attached to.
1927
+ #
1928
+ # @option params [String] :data_source_id
1929
+ # The identifier of the data source the group is attached to.
1930
+ #
1931
+ # @option params [required, String] :group_name
1932
+ # The name of the group.
1933
+ #
1934
+ # @option params [required, String] :index_id
1935
+ # The identifier of the index the group is attached to.
1936
+ #
1937
+ # @return [Types::GetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1938
+ #
1939
+ # * {Types::GetGroupResponse#status #status} => Types::GroupStatusDetail
1940
+ # * {Types::GetGroupResponse#status_history #status_history} => Array&lt;Types::GroupStatusDetail&gt;
1941
+ #
1942
+ # @example Request syntax with placeholder values
1943
+ #
1944
+ # resp = client.get_group({
1945
+ # application_id: "ApplicationId", # required
1946
+ # data_source_id: "DataSourceId",
1947
+ # group_name: "GroupName", # required
1948
+ # index_id: "IndexId", # required
1949
+ # })
1950
+ #
1951
+ # @example Response structure
1952
+ #
1953
+ # resp.status.error_detail.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
1954
+ # resp.status.error_detail.error_message #=> String
1955
+ # resp.status.last_updated_at #=> Time
1956
+ # resp.status.status #=> String, one of "FAILED", "SUCCEEDED", "PROCESSING", "DELETING", "DELETED"
1957
+ # resp.status_history #=> Array
1958
+ # resp.status_history[0].error_detail.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
1959
+ # resp.status_history[0].error_detail.error_message #=> String
1960
+ # resp.status_history[0].last_updated_at #=> Time
1961
+ # resp.status_history[0].status #=> String, one of "FAILED", "SUCCEEDED", "PROCESSING", "DELETING", "DELETED"
1962
+ #
1963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetGroup AWS API Documentation
1964
+ #
1965
+ # @overload get_group(params = {})
1966
+ # @param [Hash] params ({})
1967
+ def get_group(params = {}, options = {})
1968
+ req = build_request(:get_group, params)
1969
+ req.send_request(options)
1970
+ end
1971
+
1972
+ # Gets information about an existing Amazon Q index.
1973
+ #
1974
+ # @option params [required, String] :application_id
1975
+ # The identifier of the Amazon Q application connected to the index.
1976
+ #
1977
+ # @option params [required, String] :index_id
1978
+ # The identifier of the Amazon Q index you want information on.
1979
+ #
1980
+ # @return [Types::GetIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1981
+ #
1982
+ # * {Types::GetIndexResponse#application_id #application_id} => String
1983
+ # * {Types::GetIndexResponse#capacity_configuration #capacity_configuration} => Types::IndexCapacityConfiguration
1984
+ # * {Types::GetIndexResponse#created_at #created_at} => Time
1985
+ # * {Types::GetIndexResponse#description #description} => String
1986
+ # * {Types::GetIndexResponse#display_name #display_name} => String
1987
+ # * {Types::GetIndexResponse#document_attribute_configurations #document_attribute_configurations} => Array&lt;Types::DocumentAttributeConfiguration&gt;
1988
+ # * {Types::GetIndexResponse#error #error} => Types::ErrorDetail
1989
+ # * {Types::GetIndexResponse#index_arn #index_arn} => String
1990
+ # * {Types::GetIndexResponse#index_id #index_id} => String
1991
+ # * {Types::GetIndexResponse#index_statistics #index_statistics} => Types::IndexStatistics
1992
+ # * {Types::GetIndexResponse#status #status} => String
1993
+ # * {Types::GetIndexResponse#updated_at #updated_at} => Time
1994
+ #
1995
+ # @example Request syntax with placeholder values
1996
+ #
1997
+ # resp = client.get_index({
1998
+ # application_id: "ApplicationId", # required
1999
+ # index_id: "IndexId", # required
2000
+ # })
2001
+ #
2002
+ # @example Response structure
2003
+ #
2004
+ # resp.application_id #=> String
2005
+ # resp.capacity_configuration.units #=> Integer
2006
+ # resp.created_at #=> Time
2007
+ # resp.description #=> String
2008
+ # resp.display_name #=> String
2009
+ # resp.document_attribute_configurations #=> Array
2010
+ # resp.document_attribute_configurations[0].name #=> String
2011
+ # resp.document_attribute_configurations[0].search #=> String, one of "ENABLED", "DISABLED"
2012
+ # resp.document_attribute_configurations[0].type #=> String, one of "STRING", "STRING_LIST", "NUMBER", "DATE"
2013
+ # resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
2014
+ # resp.error.error_message #=> String
2015
+ # resp.index_arn #=> String
2016
+ # resp.index_id #=> String
2017
+ # resp.index_statistics.text_document_statistics.indexed_text_bytes #=> Integer
2018
+ # resp.index_statistics.text_document_statistics.indexed_text_document_count #=> Integer
2019
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
2020
+ # resp.updated_at #=> Time
2021
+ #
2022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetIndex AWS API Documentation
2023
+ #
2024
+ # @overload get_index(params = {})
2025
+ # @param [Hash] params ({})
2026
+ def get_index(params = {}, options = {})
2027
+ req = build_request(:get_index, params)
2028
+ req.send_request(options)
2029
+ end
2030
+
2031
+ # Gets information about an existing Amazon Q plugin.
2032
+ #
2033
+ # @option params [required, String] :application_id
2034
+ # The identifier of the application which contains the plugin.
2035
+ #
2036
+ # @option params [required, String] :plugin_id
2037
+ # The identifier of the plugin.
2038
+ #
2039
+ # @return [Types::GetPluginResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2040
+ #
2041
+ # * {Types::GetPluginResponse#application_id #application_id} => String
2042
+ # * {Types::GetPluginResponse#auth_configuration #auth_configuration} => Types::PluginAuthConfiguration
2043
+ # * {Types::GetPluginResponse#created_at #created_at} => Time
2044
+ # * {Types::GetPluginResponse#display_name #display_name} => String
2045
+ # * {Types::GetPluginResponse#plugin_arn #plugin_arn} => String
2046
+ # * {Types::GetPluginResponse#plugin_id #plugin_id} => String
2047
+ # * {Types::GetPluginResponse#server_url #server_url} => String
2048
+ # * {Types::GetPluginResponse#state #state} => String
2049
+ # * {Types::GetPluginResponse#type #type} => String
2050
+ # * {Types::GetPluginResponse#updated_at #updated_at} => Time
2051
+ #
2052
+ # @example Request syntax with placeholder values
2053
+ #
2054
+ # resp = client.get_plugin({
2055
+ # application_id: "ApplicationId", # required
2056
+ # plugin_id: "PluginId", # required
2057
+ # })
2058
+ #
2059
+ # @example Response structure
2060
+ #
2061
+ # resp.application_id #=> String
2062
+ # resp.auth_configuration.basic_auth_configuration.role_arn #=> String
2063
+ # resp.auth_configuration.basic_auth_configuration.secret_arn #=> String
2064
+ # resp.auth_configuration.o_auth_2_client_credential_configuration.role_arn #=> String
2065
+ # resp.auth_configuration.o_auth_2_client_credential_configuration.secret_arn #=> String
2066
+ # resp.created_at #=> Time
2067
+ # resp.display_name #=> String
2068
+ # resp.plugin_arn #=> String
2069
+ # resp.plugin_id #=> String
2070
+ # resp.server_url #=> String
2071
+ # resp.state #=> String, one of "ENABLED", "DISABLED"
2072
+ # resp.type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK"
2073
+ # resp.updated_at #=> Time
2074
+ #
2075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetPlugin AWS API Documentation
2076
+ #
2077
+ # @overload get_plugin(params = {})
2078
+ # @param [Hash] params ({})
2079
+ def get_plugin(params = {}, options = {})
2080
+ req = build_request(:get_plugin, params)
2081
+ req.send_request(options)
2082
+ end
2083
+
2084
+ # Gets information about an existing retriever used by an Amazon Q
2085
+ # application.
2086
+ #
2087
+ # @option params [required, String] :application_id
2088
+ # The identifier of the Amazon Q application using the retriever.
2089
+ #
2090
+ # @option params [required, String] :retriever_id
2091
+ # The identifier of the retriever.
2092
+ #
2093
+ # @return [Types::GetRetrieverResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2094
+ #
2095
+ # * {Types::GetRetrieverResponse#application_id #application_id} => String
2096
+ # * {Types::GetRetrieverResponse#configuration #configuration} => Types::RetrieverConfiguration
2097
+ # * {Types::GetRetrieverResponse#created_at #created_at} => Time
2098
+ # * {Types::GetRetrieverResponse#display_name #display_name} => String
2099
+ # * {Types::GetRetrieverResponse#retriever_arn #retriever_arn} => String
2100
+ # * {Types::GetRetrieverResponse#retriever_id #retriever_id} => String
2101
+ # * {Types::GetRetrieverResponse#role_arn #role_arn} => String
2102
+ # * {Types::GetRetrieverResponse#status #status} => String
2103
+ # * {Types::GetRetrieverResponse#type #type} => String
2104
+ # * {Types::GetRetrieverResponse#updated_at #updated_at} => Time
2105
+ #
2106
+ # @example Request syntax with placeholder values
2107
+ #
2108
+ # resp = client.get_retriever({
2109
+ # application_id: "ApplicationId", # required
2110
+ # retriever_id: "RetrieverId", # required
2111
+ # })
2112
+ #
2113
+ # @example Response structure
2114
+ #
2115
+ # resp.application_id #=> String
2116
+ # resp.configuration.kendra_index_configuration.index_id #=> String
2117
+ # resp.configuration.native_index_configuration.index_id #=> String
2118
+ # resp.created_at #=> Time
2119
+ # resp.display_name #=> String
2120
+ # resp.retriever_arn #=> String
2121
+ # resp.retriever_id #=> String
2122
+ # resp.role_arn #=> String
2123
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "FAILED"
2124
+ # resp.type #=> String, one of "NATIVE_INDEX", "KENDRA_INDEX"
2125
+ # resp.updated_at #=> Time
2126
+ #
2127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetRetriever AWS API Documentation
2128
+ #
2129
+ # @overload get_retriever(params = {})
2130
+ # @param [Hash] params ({})
2131
+ def get_retriever(params = {}, options = {})
2132
+ req = build_request(:get_retriever, params)
2133
+ req.send_request(options)
2134
+ end
2135
+
2136
+ # Describes the universally unique identifier (UUID) associated with a
2137
+ # local user in a data source.
2138
+ #
2139
+ # @option params [required, String] :application_id
2140
+ # The identifier of the application connected to the user.
2141
+ #
2142
+ # @option params [required, String] :user_id
2143
+ # The user email address attached to the user.
2144
+ #
2145
+ # @return [Types::GetUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2146
+ #
2147
+ # * {Types::GetUserResponse#user_aliases #user_aliases} => Array&lt;Types::UserAlias&gt;
2148
+ #
2149
+ # @example Request syntax with placeholder values
2150
+ #
2151
+ # resp = client.get_user({
2152
+ # application_id: "ApplicationId", # required
2153
+ # user_id: "String", # required
2154
+ # })
2155
+ #
2156
+ # @example Response structure
2157
+ #
2158
+ # resp.user_aliases #=> Array
2159
+ # resp.user_aliases[0].data_source_id #=> String
2160
+ # resp.user_aliases[0].index_id #=> String
2161
+ # resp.user_aliases[0].user_id #=> String
2162
+ #
2163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetUser AWS API Documentation
2164
+ #
2165
+ # @overload get_user(params = {})
2166
+ # @param [Hash] params ({})
2167
+ def get_user(params = {}, options = {})
2168
+ req = build_request(:get_user, params)
2169
+ req.send_request(options)
2170
+ end
2171
+
2172
+ # Gets information about an existing Amazon Q web experience.
2173
+ #
2174
+ # @option params [required, String] :application_id
2175
+ # The identifier of the Amazon Q application linked to the web
2176
+ # experience.
2177
+ #
2178
+ # @option params [required, String] :web_experience_id
2179
+ # The identifier of the Amazon Q web experience.
2180
+ #
2181
+ # @return [Types::GetWebExperienceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2182
+ #
2183
+ # * {Types::GetWebExperienceResponse#application_id #application_id} => String
2184
+ # * {Types::GetWebExperienceResponse#authentication_configuration #authentication_configuration} => Types::WebExperienceAuthConfiguration
2185
+ # * {Types::GetWebExperienceResponse#created_at #created_at} => Time
2186
+ # * {Types::GetWebExperienceResponse#default_endpoint #default_endpoint} => String
2187
+ # * {Types::GetWebExperienceResponse#error #error} => Types::ErrorDetail
2188
+ # * {Types::GetWebExperienceResponse#sample_prompts_control_mode #sample_prompts_control_mode} => String
2189
+ # * {Types::GetWebExperienceResponse#status #status} => String
2190
+ # * {Types::GetWebExperienceResponse#subtitle #subtitle} => String
2191
+ # * {Types::GetWebExperienceResponse#title #title} => String
2192
+ # * {Types::GetWebExperienceResponse#updated_at #updated_at} => Time
2193
+ # * {Types::GetWebExperienceResponse#web_experience_arn #web_experience_arn} => String
2194
+ # * {Types::GetWebExperienceResponse#web_experience_id #web_experience_id} => String
2195
+ # * {Types::GetWebExperienceResponse#welcome_message #welcome_message} => String
2196
+ #
2197
+ # @example Request syntax with placeholder values
2198
+ #
2199
+ # resp = client.get_web_experience({
2200
+ # application_id: "ApplicationId", # required
2201
+ # web_experience_id: "WebExperienceId", # required
2202
+ # })
2203
+ #
2204
+ # @example Response structure
2205
+ #
2206
+ # resp.application_id #=> String
2207
+ # resp.authentication_configuration.saml_configuration.metadata_xml #=> String
2208
+ # resp.authentication_configuration.saml_configuration.role_arn #=> String
2209
+ # resp.authentication_configuration.saml_configuration.user_group_attribute #=> String
2210
+ # resp.authentication_configuration.saml_configuration.user_id_attribute #=> String
2211
+ # resp.created_at #=> Time
2212
+ # resp.default_endpoint #=> String
2213
+ # resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
2214
+ # resp.error.error_message #=> String
2215
+ # resp.sample_prompts_control_mode #=> String, one of "ENABLED", "DISABLED"
2216
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "PENDING_AUTH_CONFIG"
2217
+ # resp.subtitle #=> String
2218
+ # resp.title #=> String
2219
+ # resp.updated_at #=> Time
2220
+ # resp.web_experience_arn #=> String
2221
+ # resp.web_experience_id #=> String
2222
+ # resp.welcome_message #=> String
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetWebExperience AWS API Documentation
2225
+ #
2226
+ # @overload get_web_experience(params = {})
2227
+ # @param [Hash] params ({})
2228
+ def get_web_experience(params = {}, options = {})
2229
+ req = build_request(:get_web_experience, params)
2230
+ req.send_request(options)
2231
+ end
2232
+
2233
+ # Lists Amazon Q applications.
2234
+ #
2235
+ # @option params [Integer] :max_results
2236
+ # The maximum number of Amazon Q applications to return.
2237
+ #
2238
+ # @option params [String] :next_token
2239
+ # If the `maxResults` response was incomplete because there is more data
2240
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2241
+ # can use this pagination token to retrieve the next set of Amazon Q
2242
+ # applications.
2243
+ #
2244
+ # @return [Types::ListApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2245
+ #
2246
+ # * {Types::ListApplicationsResponse#applications #applications} => Array&lt;Types::Application&gt;
2247
+ # * {Types::ListApplicationsResponse#next_token #next_token} => String
2248
+ #
2249
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2250
+ #
2251
+ # @example Request syntax with placeholder values
2252
+ #
2253
+ # resp = client.list_applications({
2254
+ # max_results: 1,
2255
+ # next_token: "NextToken",
2256
+ # })
2257
+ #
2258
+ # @example Response structure
2259
+ #
2260
+ # resp.applications #=> Array
2261
+ # resp.applications[0].application_id #=> String
2262
+ # resp.applications[0].created_at #=> Time
2263
+ # resp.applications[0].display_name #=> String
2264
+ # resp.applications[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
2265
+ # resp.applications[0].updated_at #=> Time
2266
+ # resp.next_token #=> String
2267
+ #
2268
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListApplications AWS API Documentation
2269
+ #
2270
+ # @overload list_applications(params = {})
2271
+ # @param [Hash] params ({})
2272
+ def list_applications(params = {}, options = {})
2273
+ req = build_request(:list_applications, params)
2274
+ req.send_request(options)
2275
+ end
2276
+
2277
+ # Lists one or more Amazon Q conversations.
2278
+ #
2279
+ # @option params [required, String] :application_id
2280
+ # The identifier of the Amazon Q application.
2281
+ #
2282
+ # @option params [Integer] :max_results
2283
+ # The maximum number of Amazon Q conversations to return.
2284
+ #
2285
+ # @option params [String] :next_token
2286
+ # If the `maxResults` response was incomplete because there is more data
2287
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2288
+ # can use this pagination token to retrieve the next set of Amazon Q
2289
+ # conversations.
2290
+ #
2291
+ # @option params [required, String] :user_id
2292
+ # The identifier of the user involved in the Amazon Q web experience
2293
+ # conversation.
2294
+ #
2295
+ # @return [Types::ListConversationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2296
+ #
2297
+ # * {Types::ListConversationsResponse#conversations #conversations} => Array&lt;Types::Conversation&gt;
2298
+ # * {Types::ListConversationsResponse#next_token #next_token} => String
2299
+ #
2300
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2301
+ #
2302
+ # @example Request syntax with placeholder values
2303
+ #
2304
+ # resp = client.list_conversations({
2305
+ # application_id: "ApplicationId", # required
2306
+ # max_results: 1,
2307
+ # next_token: "NextToken",
2308
+ # user_id: "UserId", # required
2309
+ # })
2310
+ #
2311
+ # @example Response structure
2312
+ #
2313
+ # resp.conversations #=> Array
2314
+ # resp.conversations[0].conversation_id #=> String
2315
+ # resp.conversations[0].start_time #=> Time
2316
+ # resp.conversations[0].title #=> String
2317
+ # resp.next_token #=> String
2318
+ #
2319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListConversations AWS API Documentation
2320
+ #
2321
+ # @overload list_conversations(params = {})
2322
+ # @param [Hash] params ({})
2323
+ def list_conversations(params = {}, options = {})
2324
+ req = build_request(:list_conversations, params)
2325
+ req.send_request(options)
2326
+ end
2327
+
2328
+ # Get information about an Amazon Q data source connector
2329
+ # synchronization.
2330
+ #
2331
+ # @option params [required, String] :application_id
2332
+ # The identifier of the Amazon Q application connected to the data
2333
+ # source.
2334
+ #
2335
+ # @option params [required, String] :data_source_id
2336
+ # The identifier of the data source connector.
2337
+ #
2338
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
2339
+ # The end time of the data source connector sync.
2340
+ #
2341
+ # @option params [required, String] :index_id
2342
+ # The identifier of the index used with the Amazon Q data source
2343
+ # connector.
2344
+ #
2345
+ # @option params [Integer] :max_results
2346
+ # The maximum number of synchronization jobs to return in the response.
2347
+ #
2348
+ # @option params [String] :next_token
2349
+ # If the `maxResults` response was incpmplete because there is more data
2350
+ # to retriever, Amazon Q returns a pagination token in the response. You
2351
+ # can use this pagination token to retrieve the next set of responses.
2352
+ #
2353
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
2354
+ # The start time of the data source connector sync.
2355
+ #
2356
+ # @option params [String] :status_filter
2357
+ # Only returns synchronization jobs with the `Status` field equal to the
2358
+ # specified status.
2359
+ #
2360
+ # @return [Types::ListDataSourceSyncJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2361
+ #
2362
+ # * {Types::ListDataSourceSyncJobsResponse#history #history} => Array&lt;Types::DataSourceSyncJob&gt;
2363
+ # * {Types::ListDataSourceSyncJobsResponse#next_token #next_token} => String
2364
+ #
2365
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2366
+ #
2367
+ # @example Request syntax with placeholder values
2368
+ #
2369
+ # resp = client.list_data_source_sync_jobs({
2370
+ # application_id: "ApplicationId", # required
2371
+ # data_source_id: "DataSourceId", # required
2372
+ # end_time: Time.now,
2373
+ # index_id: "IndexId", # required
2374
+ # max_results: 1,
2375
+ # next_token: "NextToken",
2376
+ # start_time: Time.now,
2377
+ # status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED, SYNCING_INDEXING
2378
+ # })
2379
+ #
2380
+ # @example Response structure
2381
+ #
2382
+ # resp.history #=> Array
2383
+ # resp.history[0].data_source_error_code #=> String
2384
+ # resp.history[0].end_time #=> Time
2385
+ # resp.history[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
2386
+ # resp.history[0].error.error_message #=> String
2387
+ # resp.history[0].execution_id #=> String
2388
+ # resp.history[0].metrics.documents_added #=> String
2389
+ # resp.history[0].metrics.documents_deleted #=> String
2390
+ # resp.history[0].metrics.documents_failed #=> String
2391
+ # resp.history[0].metrics.documents_modified #=> String
2392
+ # resp.history[0].metrics.documents_scanned #=> String
2393
+ # resp.history[0].start_time #=> Time
2394
+ # resp.history[0].status #=> String, one of "FAILED", "SUCCEEDED", "SYNCING", "INCOMPLETE", "STOPPING", "ABORTED", "SYNCING_INDEXING"
2395
+ # resp.next_token #=> String
2396
+ #
2397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListDataSourceSyncJobs AWS API Documentation
2398
+ #
2399
+ # @overload list_data_source_sync_jobs(params = {})
2400
+ # @param [Hash] params ({})
2401
+ def list_data_source_sync_jobs(params = {}, options = {})
2402
+ req = build_request(:list_data_source_sync_jobs, params)
2403
+ req.send_request(options)
2404
+ end
2405
+
2406
+ # Lists the Amazon Q data source connectors that you have created.
2407
+ #
2408
+ # @option params [required, String] :application_id
2409
+ # The identifier of the Amazon Q application linked to the data source
2410
+ # connectors.
2411
+ #
2412
+ # @option params [required, String] :index_id
2413
+ # The identifier of the index used with one or more data source
2414
+ # connectors.
2415
+ #
2416
+ # @option params [Integer] :max_results
2417
+ # The maximum number of data source connectors to return.
2418
+ #
2419
+ # @option params [String] :next_token
2420
+ # If the `maxResults` response was incomplete because there is more data
2421
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2422
+ # can use this pagination token to retrieve the next set of Amazon Q
2423
+ # data source connectors.
2424
+ #
2425
+ # @return [Types::ListDataSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2426
+ #
2427
+ # * {Types::ListDataSourcesResponse#data_sources #data_sources} => Array&lt;Types::DataSource&gt;
2428
+ # * {Types::ListDataSourcesResponse#next_token #next_token} => String
2429
+ #
2430
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2431
+ #
2432
+ # @example Request syntax with placeholder values
2433
+ #
2434
+ # resp = client.list_data_sources({
2435
+ # application_id: "ApplicationId", # required
2436
+ # index_id: "IndexId", # required
2437
+ # max_results: 1,
2438
+ # next_token: "NextToken",
2439
+ # })
2440
+ #
2441
+ # @example Response structure
2442
+ #
2443
+ # resp.data_sources #=> Array
2444
+ # resp.data_sources[0].created_at #=> Time
2445
+ # resp.data_sources[0].data_source_id #=> String
2446
+ # resp.data_sources[0].display_name #=> String
2447
+ # resp.data_sources[0].status #=> String, one of "PENDING_CREATION", "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
2448
+ # resp.data_sources[0].type #=> String
2449
+ # resp.data_sources[0].updated_at #=> Time
2450
+ # resp.next_token #=> String
2451
+ #
2452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListDataSources AWS API Documentation
2453
+ #
2454
+ # @overload list_data_sources(params = {})
2455
+ # @param [Hash] params ({})
2456
+ def list_data_sources(params = {}, options = {})
2457
+ req = build_request(:list_data_sources, params)
2458
+ req.send_request(options)
2459
+ end
2460
+
2461
+ # A list of documents attached to an index.
2462
+ #
2463
+ # @option params [required, String] :application_id
2464
+ # The identifier of the application id the documents are attached to.
2465
+ #
2466
+ # @option params [Array<String>] :data_source_ids
2467
+ # The identifier of the data sources the documents are attached to.
2468
+ #
2469
+ # @option params [required, String] :index_id
2470
+ # The identifier of the index the documents are attached to.
2471
+ #
2472
+ # @option params [Integer] :max_results
2473
+ # The maximum number of documents to return.
2474
+ #
2475
+ # @option params [String] :next_token
2476
+ # If the `maxResults` response was incomplete because there is more data
2477
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2478
+ # can use this pagination token to retrieve the next set of documents.
2479
+ #
2480
+ # @return [Types::ListDocumentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2481
+ #
2482
+ # * {Types::ListDocumentsResponse#document_detail_list #document_detail_list} => Array&lt;Types::DocumentDetails&gt;
2483
+ # * {Types::ListDocumentsResponse#next_token #next_token} => String
2484
+ #
2485
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2486
+ #
2487
+ # @example Request syntax with placeholder values
2488
+ #
2489
+ # resp = client.list_documents({
2490
+ # application_id: "ApplicationId", # required
2491
+ # data_source_ids: ["DataSourceId"],
2492
+ # index_id: "IndexId", # required
2493
+ # max_results: 1,
2494
+ # next_token: "NextToken",
2495
+ # })
2496
+ #
2497
+ # @example Response structure
2498
+ #
2499
+ # resp.document_detail_list #=> Array
2500
+ # resp.document_detail_list[0].created_at #=> Time
2501
+ # resp.document_detail_list[0].document_id #=> String
2502
+ # resp.document_detail_list[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
2503
+ # resp.document_detail_list[0].error.error_message #=> String
2504
+ # resp.document_detail_list[0].status #=> String, one of "RECEIVED", "PROCESSING", "INDEXED", "UPDATED", "FAILED", "DELETING", "DELETED", "DOCUMENT_FAILED_TO_INDEX"
2505
+ # resp.document_detail_list[0].updated_at #=> Time
2506
+ # resp.next_token #=> String
2507
+ #
2508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListDocuments AWS API Documentation
2509
+ #
2510
+ # @overload list_documents(params = {})
2511
+ # @param [Hash] params ({})
2512
+ def list_documents(params = {}, options = {})
2513
+ req = build_request(:list_documents, params)
2514
+ req.send_request(options)
2515
+ end
2516
+
2517
+ # Provides a list of groups that are mapped to users.
2518
+ #
2519
+ # @option params [required, String] :application_id
2520
+ # The identifier of the application for getting a list of groups mapped
2521
+ # to users.
2522
+ #
2523
+ # @option params [String] :data_source_id
2524
+ # The identifier of the data source for getting a list of groups mapped
2525
+ # to users.
2526
+ #
2527
+ # @option params [required, String] :index_id
2528
+ # The identifier of the index for getting a list of groups mapped to
2529
+ # users.
2530
+ #
2531
+ # @option params [Integer] :max_results
2532
+ # The maximum number of returned groups that are mapped to users.
2533
+ #
2534
+ # @option params [String] :next_token
2535
+ # If the previous response was incomplete (because there is more data to
2536
+ # retrieve), Amazon Q returns a pagination token in the response. You
2537
+ # can use this pagination token to retrieve the next set of groups that
2538
+ # are mapped to users.
2539
+ #
2540
+ # @option params [required, Time,DateTime,Date,Integer,String] :updated_earlier_than
2541
+ # The timestamp identifier used for the latest `PUT` or `DELETE` action
2542
+ # for mapping users to their groups.
2543
+ #
2544
+ # @return [Types::ListGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2545
+ #
2546
+ # * {Types::ListGroupsResponse#items #items} => Array&lt;Types::GroupSummary&gt;
2547
+ # * {Types::ListGroupsResponse#next_token #next_token} => String
2548
+ #
2549
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2550
+ #
2551
+ # @example Request syntax with placeholder values
2552
+ #
2553
+ # resp = client.list_groups({
2554
+ # application_id: "ApplicationId", # required
2555
+ # data_source_id: "DataSourceId",
2556
+ # index_id: "IndexId", # required
2557
+ # max_results: 1,
2558
+ # next_token: "NextToken",
2559
+ # updated_earlier_than: Time.now, # required
2560
+ # })
2561
+ #
2562
+ # @example Response structure
2563
+ #
2564
+ # resp.items #=> Array
2565
+ # resp.items[0].group_name #=> String
2566
+ # resp.next_token #=> String
2567
+ #
2568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListGroups AWS API Documentation
2569
+ #
2570
+ # @overload list_groups(params = {})
2571
+ # @param [Hash] params ({})
2572
+ def list_groups(params = {}, options = {})
2573
+ req = build_request(:list_groups, params)
2574
+ req.send_request(options)
2575
+ end
2576
+
2577
+ # Lists the Amazon Q indices you have created.
2578
+ #
2579
+ # @option params [required, String] :application_id
2580
+ # The identifier of the Amazon Q application connected to the index.
2581
+ #
2582
+ # @option params [Integer] :max_results
2583
+ # The maximum number of indices to return.
2584
+ #
2585
+ # @option params [String] :next_token
2586
+ # If the maxResults response was incomplete because there is more data
2587
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2588
+ # can use this pagination token to retrieve the next set of Amazon Q
2589
+ # indices.
2590
+ #
2591
+ # @return [Types::ListIndicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2592
+ #
2593
+ # * {Types::ListIndicesResponse#indices #indices} => Array&lt;Types::Index&gt;
2594
+ # * {Types::ListIndicesResponse#next_token #next_token} => String
2595
+ #
2596
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2597
+ #
2598
+ # @example Request syntax with placeholder values
2599
+ #
2600
+ # resp = client.list_indices({
2601
+ # application_id: "ApplicationId", # required
2602
+ # max_results: 1,
2603
+ # next_token: "NextToken",
2604
+ # })
2605
+ #
2606
+ # @example Response structure
2607
+ #
2608
+ # resp.indices #=> Array
2609
+ # resp.indices[0].created_at #=> Time
2610
+ # resp.indices[0].display_name #=> String
2611
+ # resp.indices[0].index_id #=> String
2612
+ # resp.indices[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
2613
+ # resp.indices[0].updated_at #=> Time
2614
+ # resp.next_token #=> String
2615
+ #
2616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListIndices AWS API Documentation
2617
+ #
2618
+ # @overload list_indices(params = {})
2619
+ # @param [Hash] params ({})
2620
+ def list_indices(params = {}, options = {})
2621
+ req = build_request(:list_indices, params)
2622
+ req.send_request(options)
2623
+ end
2624
+
2625
+ # Gets a list of messages associated with an Amazon Q web experience.
2626
+ #
2627
+ # @option params [required, String] :application_id
2628
+ # The identifier for the Amazon Q application.
2629
+ #
2630
+ # @option params [required, String] :conversation_id
2631
+ # The identifier of the Amazon Q web experience conversation.
2632
+ #
2633
+ # @option params [Integer] :max_results
2634
+ # The maximum number of messages to return.
2635
+ #
2636
+ # @option params [String] :next_token
2637
+ # If the number of retrievers returned exceeds `maxResults`, Amazon Q
2638
+ # returns a next token as a pagination token to retrieve the next set of
2639
+ # messages.
2640
+ #
2641
+ # @option params [required, String] :user_id
2642
+ # The identifier of the user involved in the Amazon Q web experience
2643
+ # conversation.
2644
+ #
2645
+ # @return [Types::ListMessagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2646
+ #
2647
+ # * {Types::ListMessagesResponse#messages #messages} => Array&lt;Types::Message&gt;
2648
+ # * {Types::ListMessagesResponse#next_token #next_token} => String
2649
+ #
2650
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2651
+ #
2652
+ # @example Request syntax with placeholder values
2653
+ #
2654
+ # resp = client.list_messages({
2655
+ # application_id: "ApplicationId", # required
2656
+ # conversation_id: "ConversationId", # required
2657
+ # max_results: 1,
2658
+ # next_token: "NextToken",
2659
+ # user_id: "UserId", # required
2660
+ # })
2661
+ #
2662
+ # @example Response structure
2663
+ #
2664
+ # resp.messages #=> Array
2665
+ # resp.messages[0].action_execution.payload #=> Hash
2666
+ # resp.messages[0].action_execution.payload_field_name_separator #=> String
2667
+ # resp.messages[0].action_execution.plugin_id #=> String
2668
+ # resp.messages[0].action_review.payload #=> Hash
2669
+ # resp.messages[0].action_review.payload["ActionPayloadFieldKey"].allowed_values #=> Array
2670
+ # resp.messages[0].action_review.payload["ActionPayloadFieldKey"].display_name #=> String
2671
+ # resp.messages[0].action_review.payload["ActionPayloadFieldKey"].display_order #=> Integer
2672
+ # resp.messages[0].action_review.payload["ActionPayloadFieldKey"].required #=> Boolean
2673
+ # resp.messages[0].action_review.payload["ActionPayloadFieldKey"].type #=> String, one of "STRING", "NUMBER", "ARRAY", "BOOLEAN"
2674
+ # resp.messages[0].action_review.payload_field_name_separator #=> String
2675
+ # resp.messages[0].action_review.plugin_id #=> String
2676
+ # resp.messages[0].action_review.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK"
2677
+ # resp.messages[0].attachments #=> Array
2678
+ # resp.messages[0].attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
2679
+ # resp.messages[0].attachments[0].error.error_message #=> String
2680
+ # resp.messages[0].attachments[0].name #=> String
2681
+ # resp.messages[0].attachments[0].status #=> String, one of "FAILED", "SUCCEEDED"
2682
+ # resp.messages[0].body #=> String
2683
+ # resp.messages[0].message_id #=> String
2684
+ # resp.messages[0].source_attribution #=> Array
2685
+ # resp.messages[0].source_attribution[0].citation_number #=> Integer
2686
+ # resp.messages[0].source_attribution[0].snippet #=> String
2687
+ # resp.messages[0].source_attribution[0].text_message_segments #=> Array
2688
+ # resp.messages[0].source_attribution[0].text_message_segments[0].begin_offset #=> Integer
2689
+ # resp.messages[0].source_attribution[0].text_message_segments[0].end_offset #=> Integer
2690
+ # resp.messages[0].source_attribution[0].title #=> String
2691
+ # resp.messages[0].source_attribution[0].updated_at #=> Time
2692
+ # resp.messages[0].source_attribution[0].url #=> String
2693
+ # resp.messages[0].time #=> Time
2694
+ # resp.messages[0].type #=> String, one of "USER", "SYSTEM"
2695
+ # resp.next_token #=> String
2696
+ #
2697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListMessages AWS API Documentation
2698
+ #
2699
+ # @overload list_messages(params = {})
2700
+ # @param [Hash] params ({})
2701
+ def list_messages(params = {}, options = {})
2702
+ req = build_request(:list_messages, params)
2703
+ req.send_request(options)
2704
+ end
2705
+
2706
+ # Lists configured Amazon Q plugins.
2707
+ #
2708
+ # @option params [required, String] :application_id
2709
+ # The identifier of the application the plugin is attached to.
2710
+ #
2711
+ # @option params [Integer] :max_results
2712
+ # The maximum number of documents to return.
2713
+ #
2714
+ # @option params [String] :next_token
2715
+ # If the `maxResults` response was incomplete because there is more data
2716
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2717
+ # can use this pagination token to retrieve the next set of plugins.
2718
+ #
2719
+ # @return [Types::ListPluginsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2720
+ #
2721
+ # * {Types::ListPluginsResponse#next_token #next_token} => String
2722
+ # * {Types::ListPluginsResponse#plugins #plugins} => Array&lt;Types::Plugin&gt;
2723
+ #
2724
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2725
+ #
2726
+ # @example Request syntax with placeholder values
2727
+ #
2728
+ # resp = client.list_plugins({
2729
+ # application_id: "ApplicationId", # required
2730
+ # max_results: 1,
2731
+ # next_token: "NextToken",
2732
+ # })
2733
+ #
2734
+ # @example Response structure
2735
+ #
2736
+ # resp.next_token #=> String
2737
+ # resp.plugins #=> Array
2738
+ # resp.plugins[0].created_at #=> Time
2739
+ # resp.plugins[0].display_name #=> String
2740
+ # resp.plugins[0].plugin_id #=> String
2741
+ # resp.plugins[0].server_url #=> String
2742
+ # resp.plugins[0].state #=> String, one of "ENABLED", "DISABLED"
2743
+ # resp.plugins[0].type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK"
2744
+ # resp.plugins[0].updated_at #=> Time
2745
+ #
2746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListPlugins AWS API Documentation
2747
+ #
2748
+ # @overload list_plugins(params = {})
2749
+ # @param [Hash] params ({})
2750
+ def list_plugins(params = {}, options = {})
2751
+ req = build_request(:list_plugins, params)
2752
+ req.send_request(options)
2753
+ end
2754
+
2755
+ # Lists the retriever used by an Amazon Q application.
2756
+ #
2757
+ # @option params [required, String] :application_id
2758
+ # The identifier of the Amazon Q application using the retriever.
2759
+ #
2760
+ # @option params [Integer] :max_results
2761
+ # The maximum number of retrievers returned.
2762
+ #
2763
+ # @option params [String] :next_token
2764
+ # If the number of retrievers returned exceeds `maxResults`, Amazon Q
2765
+ # returns a next token as a pagination token to retrieve the next set of
2766
+ # retrievers.
2767
+ #
2768
+ # @return [Types::ListRetrieversResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2769
+ #
2770
+ # * {Types::ListRetrieversResponse#next_token #next_token} => String
2771
+ # * {Types::ListRetrieversResponse#retrievers #retrievers} => Array&lt;Types::Retriever&gt;
2772
+ #
2773
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2774
+ #
2775
+ # @example Request syntax with placeholder values
2776
+ #
2777
+ # resp = client.list_retrievers({
2778
+ # application_id: "ApplicationId", # required
2779
+ # max_results: 1,
2780
+ # next_token: "NextToken",
2781
+ # })
2782
+ #
2783
+ # @example Response structure
2784
+ #
2785
+ # resp.next_token #=> String
2786
+ # resp.retrievers #=> Array
2787
+ # resp.retrievers[0].application_id #=> String
2788
+ # resp.retrievers[0].display_name #=> String
2789
+ # resp.retrievers[0].retriever_id #=> String
2790
+ # resp.retrievers[0].status #=> String, one of "CREATING", "ACTIVE", "FAILED"
2791
+ # resp.retrievers[0].type #=> String, one of "NATIVE_INDEX", "KENDRA_INDEX"
2792
+ #
2793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListRetrievers AWS API Documentation
2794
+ #
2795
+ # @overload list_retrievers(params = {})
2796
+ # @param [Hash] params ({})
2797
+ def list_retrievers(params = {}, options = {})
2798
+ req = build_request(:list_retrievers, params)
2799
+ req.send_request(options)
2800
+ end
2801
+
2802
+ # Gets a list of tags associated with a specified resource. Amazon Q
2803
+ # applications and data sources can have tags associated with them.
2804
+ #
2805
+ # @option params [required, String] :resource_arn
2806
+ # The Amazon Resource Name (ARN) of the Amazon Q application or data
2807
+ # source to get a list of tags for.
2808
+ #
2809
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2810
+ #
2811
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2812
+ #
2813
+ # @example Request syntax with placeholder values
2814
+ #
2815
+ # resp = client.list_tags_for_resource({
2816
+ # resource_arn: "AmazonResourceName", # required
2817
+ # })
2818
+ #
2819
+ # @example Response structure
2820
+ #
2821
+ # resp.tags #=> Array
2822
+ # resp.tags[0].key #=> String
2823
+ # resp.tags[0].value #=> String
2824
+ #
2825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListTagsForResource AWS API Documentation
2826
+ #
2827
+ # @overload list_tags_for_resource(params = {})
2828
+ # @param [Hash] params ({})
2829
+ def list_tags_for_resource(params = {}, options = {})
2830
+ req = build_request(:list_tags_for_resource, params)
2831
+ req.send_request(options)
2832
+ end
2833
+
2834
+ # Lists one or more Amazon Q Web Experiences.
2835
+ #
2836
+ # @option params [required, String] :application_id
2837
+ # The identifier of the Amazon Q application linked to the listed web
2838
+ # experiences.
2839
+ #
2840
+ # @option params [Integer] :max_results
2841
+ # The maximum number of Amazon Q Web Experiences to return.
2842
+ #
2843
+ # @option params [String] :next_token
2844
+ # If the `maxResults` response was incomplete because there is more data
2845
+ # to retrieve, Amazon Q returns a pagination token in the response. You
2846
+ # can use this pagination token to retrieve the next set of Amazon Q
2847
+ # conversations.
2848
+ #
2849
+ # @return [Types::ListWebExperiencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2850
+ #
2851
+ # * {Types::ListWebExperiencesResponse#next_token #next_token} => String
2852
+ # * {Types::ListWebExperiencesResponse#web_experiences #web_experiences} => Array&lt;Types::WebExperience&gt;
2853
+ #
2854
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2855
+ #
2856
+ # @example Request syntax with placeholder values
2857
+ #
2858
+ # resp = client.list_web_experiences({
2859
+ # application_id: "ApplicationId", # required
2860
+ # max_results: 1,
2861
+ # next_token: "NextToken",
2862
+ # })
2863
+ #
2864
+ # @example Response structure
2865
+ #
2866
+ # resp.next_token #=> String
2867
+ # resp.web_experiences #=> Array
2868
+ # resp.web_experiences[0].created_at #=> Time
2869
+ # resp.web_experiences[0].default_endpoint #=> String
2870
+ # resp.web_experiences[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "PENDING_AUTH_CONFIG"
2871
+ # resp.web_experiences[0].updated_at #=> Time
2872
+ # resp.web_experiences[0].web_experience_id #=> String
2873
+ #
2874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/ListWebExperiences AWS API Documentation
2875
+ #
2876
+ # @overload list_web_experiences(params = {})
2877
+ # @param [Hash] params ({})
2878
+ def list_web_experiences(params = {}, options = {})
2879
+ req = build_request(:list_web_experiences, params)
2880
+ req.send_request(options)
2881
+ end
2882
+
2883
+ # Enables your end user to to provide feedback on their Amazon Q
2884
+ # generated chat responses.
2885
+ #
2886
+ # @option params [required, String] :application_id
2887
+ # The identifier of the application associated with the feedback.
2888
+ #
2889
+ # @option params [required, String] :conversation_id
2890
+ # The identifier of the conversation the feedback is attached to.
2891
+ #
2892
+ # @option params [Time,DateTime,Date,Integer,String] :message_copied_at
2893
+ # The timestamp for when the feedback was recorded.
2894
+ #
2895
+ # @option params [required, String] :message_id
2896
+ # The identifier of the chat message that the feedback was given for.
2897
+ #
2898
+ # @option params [Types::MessageUsefulnessFeedback] :message_usefulness
2899
+ # The feedback usefulness value given by the user to the chat message.
2900
+ #
2901
+ # @option params [required, String] :user_id
2902
+ # The identifier of the user giving the feedback.
2903
+ #
2904
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2905
+ #
2906
+ # @example Request syntax with placeholder values
2907
+ #
2908
+ # resp = client.put_feedback({
2909
+ # application_id: "ApplicationId", # required
2910
+ # conversation_id: "ConversationId", # required
2911
+ # message_copied_at: Time.now,
2912
+ # message_id: "SystemMessageId", # required
2913
+ # message_usefulness: {
2914
+ # comment: "MessageUsefulnessComment",
2915
+ # reason: "NOT_FACTUALLY_CORRECT", # accepts NOT_FACTUALLY_CORRECT, HARMFUL_OR_UNSAFE, INCORRECT_OR_MISSING_SOURCES, NOT_HELPFUL, FACTUALLY_CORRECT, COMPLETE, RELEVANT_SOURCES, HELPFUL
2916
+ # submitted_at: Time.now, # required
2917
+ # usefulness: "USEFUL", # required, accepts USEFUL, NOT_USEFUL
2918
+ # },
2919
+ # user_id: "UserId", # required
2920
+ # })
2921
+ #
2922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/PutFeedback AWS API Documentation
2923
+ #
2924
+ # @overload put_feedback(params = {})
2925
+ # @param [Hash] params ({})
2926
+ def put_feedback(params = {}, options = {})
2927
+ req = build_request(:put_feedback, params)
2928
+ req.send_request(options)
2929
+ end
2930
+
2931
+ # Create, or updates, a mapping of users—who have access to a
2932
+ # document—to groups.
2933
+ #
2934
+ # You can also map sub groups to groups. For example, the group
2935
+ # "Company Intellectual Property Teams" includes sub groups
2936
+ # "Research" and "Engineering". These sub groups include their own
2937
+ # list of users or people who work in these teams. Only users who work
2938
+ # in research and engineering, and therefore belong in the intellectual
2939
+ # property group, can see top-secret company documents in their Amazon Q
2940
+ # chat results.
2941
+ #
2942
+ # @option params [required, String] :application_id
2943
+ # The identifier of the application in which the user and group mapping
2944
+ # belongs.
2945
+ #
2946
+ # @option params [String] :data_source_id
2947
+ # The identifier of the data source for which you want to map users to
2948
+ # their groups. This is useful if a group is tied to multiple data
2949
+ # sources, but you only want the group to access documents of a certain
2950
+ # data source. For example, the groups "Research", "Engineering",
2951
+ # and "Sales and Marketing" are all tied to the company's documents
2952
+ # stored in the data sources Confluence and Salesforce. However, "Sales
2953
+ # and Marketing" team only needs access to customer-related documents
2954
+ # stored in Salesforce.
2955
+ #
2956
+ # @option params [required, Types::GroupMembers] :group_members
2957
+ # A list of users or sub groups that belong to a group. This is for
2958
+ # generating Amazon Q chat results only from document a user has access
2959
+ # to.
2960
+ #
2961
+ # @option params [required, String] :group_name
2962
+ # The list that contains your users or sub groups that belong the same
2963
+ # group. For example, the group "Company" includes the user "CEO"
2964
+ # and the sub groups "Research", "Engineering", and "Sales and
2965
+ # Marketing".
2966
+ #
2967
+ # If you have more than 1000 users and/or sub groups for a single group,
2968
+ # you need to provide the path to the S3 file that lists your users and
2969
+ # sub groups for a group. Your sub groups can contain more than 1000
2970
+ # users, but the list of sub groups that belong to a group (and/or
2971
+ # users) must be no more than 1000.
2972
+ #
2973
+ # @option params [required, String] :index_id
2974
+ # The identifier of the index in which you want to map users to their
2975
+ # groups.
2976
+ #
2977
+ # @option params [required, String] :type
2978
+ # The type of the group.
2979
+ #
2980
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2981
+ #
2982
+ # @example Request syntax with placeholder values
2983
+ #
2984
+ # resp = client.put_group({
2985
+ # application_id: "ApplicationId", # required
2986
+ # data_source_id: "DataSourceId",
2987
+ # group_members: { # required
2988
+ # member_groups: [
2989
+ # {
2990
+ # group_name: "GroupName", # required
2991
+ # type: "INDEX", # accepts INDEX, DATASOURCE
2992
+ # },
2993
+ # ],
2994
+ # member_users: [
2995
+ # {
2996
+ # type: "INDEX", # accepts INDEX, DATASOURCE
2997
+ # user_id: "DataSourceUserId", # required
2998
+ # },
2999
+ # ],
3000
+ # },
3001
+ # group_name: "GroupName", # required
3002
+ # index_id: "IndexId", # required
3003
+ # type: "INDEX", # required, accepts INDEX, DATASOURCE
3004
+ # })
3005
+ #
3006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/PutGroup AWS API Documentation
3007
+ #
3008
+ # @overload put_group(params = {})
3009
+ # @param [Hash] params ({})
3010
+ def put_group(params = {}, options = {})
3011
+ req = build_request(:put_group, params)
3012
+ req.send_request(options)
3013
+ end
3014
+
3015
+ # Starts a data source connector synchronization job. If a
3016
+ # synchronization job is already in progress, Amazon Q returns a
3017
+ # `ConflictException`.
3018
+ #
3019
+ # @option params [required, String] :application_id
3020
+ # The identifier of Amazon Q application the data source is connected
3021
+ # to.
3022
+ #
3023
+ # @option params [required, String] :data_source_id
3024
+ # The identifier of the data source connector.
3025
+ #
3026
+ # @option params [required, String] :index_id
3027
+ # The identifier of the index used with the data source connector.
3028
+ #
3029
+ # @return [Types::StartDataSourceSyncJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3030
+ #
3031
+ # * {Types::StartDataSourceSyncJobResponse#execution_id #execution_id} => String
3032
+ #
3033
+ # @example Request syntax with placeholder values
3034
+ #
3035
+ # resp = client.start_data_source_sync_job({
3036
+ # application_id: "ApplicationId", # required
3037
+ # data_source_id: "DataSourceId", # required
3038
+ # index_id: "IndexId", # required
3039
+ # })
3040
+ #
3041
+ # @example Response structure
3042
+ #
3043
+ # resp.execution_id #=> String
3044
+ #
3045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/StartDataSourceSyncJob AWS API Documentation
3046
+ #
3047
+ # @overload start_data_source_sync_job(params = {})
3048
+ # @param [Hash] params ({})
3049
+ def start_data_source_sync_job(params = {}, options = {})
3050
+ req = build_request(:start_data_source_sync_job, params)
3051
+ req.send_request(options)
3052
+ end
3053
+
3054
+ # Stops an Amazon Q data source connector synchronization job already in
3055
+ # progress.
3056
+ #
3057
+ # @option params [required, String] :application_id
3058
+ # The identifier of the Amazon Q application that the data source is
3059
+ # connected to.
3060
+ #
3061
+ # @option params [required, String] :data_source_id
3062
+ # The identifier of the data source connector.
3063
+ #
3064
+ # @option params [required, String] :index_id
3065
+ # The identifier of the index used with the Amazon Q data source
3066
+ # connector.
3067
+ #
3068
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3069
+ #
3070
+ # @example Request syntax with placeholder values
3071
+ #
3072
+ # resp = client.stop_data_source_sync_job({
3073
+ # application_id: "ApplicationId", # required
3074
+ # data_source_id: "DataSourceId", # required
3075
+ # index_id: "IndexId", # required
3076
+ # })
3077
+ #
3078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/StopDataSourceSyncJob AWS API Documentation
3079
+ #
3080
+ # @overload stop_data_source_sync_job(params = {})
3081
+ # @param [Hash] params ({})
3082
+ def stop_data_source_sync_job(params = {}, options = {})
3083
+ req = build_request(:stop_data_source_sync_job, params)
3084
+ req.send_request(options)
3085
+ end
3086
+
3087
+ # Adds the specified tag to the specified Amazon Q application or data
3088
+ # source resource. If the tag already exists, the existing value is
3089
+ # replaced with the new value.
3090
+ #
3091
+ # @option params [required, String] :resource_arn
3092
+ # The Amazon Resource Name (ARN) of the Amazon Q application or data
3093
+ # source to tag.
3094
+ #
3095
+ # @option params [required, Array<Types::Tag>] :tags
3096
+ # A list of tag keys to add to the Amazon Q application or data source.
3097
+ # If a tag already exists, the existing value is replaced with the new
3098
+ # value.
3099
+ #
3100
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3101
+ #
3102
+ # @example Request syntax with placeholder values
3103
+ #
3104
+ # resp = client.tag_resource({
3105
+ # resource_arn: "AmazonResourceName", # required
3106
+ # tags: [ # required
3107
+ # {
3108
+ # key: "TagKey", # required
3109
+ # value: "TagValue", # required
3110
+ # },
3111
+ # ],
3112
+ # })
3113
+ #
3114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/TagResource AWS API Documentation
3115
+ #
3116
+ # @overload tag_resource(params = {})
3117
+ # @param [Hash] params ({})
3118
+ def tag_resource(params = {}, options = {})
3119
+ req = build_request(:tag_resource, params)
3120
+ req.send_request(options)
3121
+ end
3122
+
3123
+ # Removes a tag from an Amazon Q application or a data source.
3124
+ #
3125
+ # @option params [required, String] :resource_arn
3126
+ # The Amazon Resource Name (ARN) of the Amazon Q application, or data
3127
+ # source to remove the tag from.
3128
+ #
3129
+ # @option params [required, Array<String>] :tag_keys
3130
+ # A list of tag keys to remove from the Amazon Q application or data
3131
+ # source. If a tag key does not exist on the resource, it is ignored.
3132
+ #
3133
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3134
+ #
3135
+ # @example Request syntax with placeholder values
3136
+ #
3137
+ # resp = client.untag_resource({
3138
+ # resource_arn: "AmazonResourceName", # required
3139
+ # tag_keys: ["TagKey"], # required
3140
+ # })
3141
+ #
3142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UntagResource AWS API Documentation
3143
+ #
3144
+ # @overload untag_resource(params = {})
3145
+ # @param [Hash] params ({})
3146
+ def untag_resource(params = {}, options = {})
3147
+ req = build_request(:untag_resource, params)
3148
+ req.send_request(options)
3149
+ end
3150
+
3151
+ # Updates an existing Amazon Q application.
3152
+ #
3153
+ # @option params [required, String] :application_id
3154
+ # The identifier of the Amazon Q application.
3155
+ #
3156
+ # @option params [Types::AttachmentsConfiguration] :attachments_configuration
3157
+ # An option to allow end users to upload files directly during chat.
3158
+ #
3159
+ # @option params [String] :description
3160
+ # A description for the Amazon Q application.
3161
+ #
3162
+ # @option params [String] :display_name
3163
+ # A name for the Amazon Q application.
3164
+ #
3165
+ # @option params [String] :role_arn
3166
+ # An Amazon Web Services Identity and Access Management (IAM) role that
3167
+ # gives Amazon Q permission to access Amazon CloudWatch logs and
3168
+ # metrics.
3169
+ #
3170
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3171
+ #
3172
+ # @example Request syntax with placeholder values
3173
+ #
3174
+ # resp = client.update_application({
3175
+ # application_id: "ApplicationId", # required
3176
+ # attachments_configuration: {
3177
+ # attachments_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
3178
+ # },
3179
+ # description: "Description",
3180
+ # display_name: "ApplicationName",
3181
+ # role_arn: "RoleArn",
3182
+ # })
3183
+ #
3184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateApplication AWS API Documentation
3185
+ #
3186
+ # @overload update_application(params = {})
3187
+ # @param [Hash] params ({})
3188
+ def update_application(params = {}, options = {})
3189
+ req = build_request(:update_application, params)
3190
+ req.send_request(options)
3191
+ end
3192
+
3193
+ # Updates an set of chat controls configured for an existing Amazon Q
3194
+ # application.
3195
+ #
3196
+ # @option params [required, String] :application_id
3197
+ # The identifier of the application for which the chat controls are
3198
+ # configured.
3199
+ #
3200
+ # @option params [Types::BlockedPhrasesConfigurationUpdate] :blocked_phrases_configuration_update
3201
+ # The phrases blocked from chat by your chat control configuration.
3202
+ #
3203
+ # @option params [String] :client_token
3204
+ # A token that you provide to identify the request to update a Amazon Q
3205
+ # application chat configuration.
3206
+ #
3207
+ # **A suitable default value is auto-generated.** You should normally
3208
+ # not need to pass this option.**
3209
+ #
3210
+ # @option params [String] :response_scope
3211
+ # The response scope configured for your application. This determines
3212
+ # whether your application uses its retrieval augmented generation (RAG)
3213
+ # system to generate answers only from your enterprise data, or also
3214
+ # uses the large language models (LLM) knowledge to respons to end user
3215
+ # questions in chat.
3216
+ #
3217
+ # @option params [Array<Types::TopicConfiguration>] :topic_configurations_to_create_or_update
3218
+ # The configured topic specific chat controls you want to update.
3219
+ #
3220
+ # @option params [Array<Types::TopicConfiguration>] :topic_configurations_to_delete
3221
+ # The configured topic specific chat controls you want to delete.
3222
+ #
3223
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3224
+ #
3225
+ # @example Request syntax with placeholder values
3226
+ #
3227
+ # resp = client.update_chat_controls_configuration({
3228
+ # application_id: "ApplicationId", # required
3229
+ # blocked_phrases_configuration_update: {
3230
+ # blocked_phrases_to_create_or_update: ["BlockedPhrase"],
3231
+ # blocked_phrases_to_delete: ["BlockedPhrase"],
3232
+ # system_message_override: "SystemMessageOverride",
3233
+ # },
3234
+ # client_token: "ClientToken",
3235
+ # response_scope: "ENTERPRISE_CONTENT_ONLY", # accepts ENTERPRISE_CONTENT_ONLY, EXTENDED_KNOWLEDGE_ENABLED
3236
+ # topic_configurations_to_create_or_update: [
3237
+ # {
3238
+ # description: "TopicDescription",
3239
+ # example_chat_messages: ["ExampleChatMessage"],
3240
+ # name: "TopicConfigurationName", # required
3241
+ # rules: [ # required
3242
+ # {
3243
+ # excluded_users_and_groups: {
3244
+ # user_groups: ["String"],
3245
+ # user_ids: ["String"],
3246
+ # },
3247
+ # included_users_and_groups: {
3248
+ # user_groups: ["String"],
3249
+ # user_ids: ["String"],
3250
+ # },
3251
+ # rule_configuration: {
3252
+ # content_blocker_rule: {
3253
+ # system_message_override: "SystemMessageOverride",
3254
+ # },
3255
+ # content_retrieval_rule: {
3256
+ # eligible_data_sources: [
3257
+ # {
3258
+ # data_source_id: "DataSourceId",
3259
+ # index_id: "IndexId",
3260
+ # },
3261
+ # ],
3262
+ # },
3263
+ # },
3264
+ # rule_type: "CONTENT_BLOCKER_RULE", # required, accepts CONTENT_BLOCKER_RULE, CONTENT_RETRIEVAL_RULE
3265
+ # },
3266
+ # ],
3267
+ # },
3268
+ # ],
3269
+ # topic_configurations_to_delete: [
3270
+ # {
3271
+ # description: "TopicDescription",
3272
+ # example_chat_messages: ["ExampleChatMessage"],
3273
+ # name: "TopicConfigurationName", # required
3274
+ # rules: [ # required
3275
+ # {
3276
+ # excluded_users_and_groups: {
3277
+ # user_groups: ["String"],
3278
+ # user_ids: ["String"],
3279
+ # },
3280
+ # included_users_and_groups: {
3281
+ # user_groups: ["String"],
3282
+ # user_ids: ["String"],
3283
+ # },
3284
+ # rule_configuration: {
3285
+ # content_blocker_rule: {
3286
+ # system_message_override: "SystemMessageOverride",
3287
+ # },
3288
+ # content_retrieval_rule: {
3289
+ # eligible_data_sources: [
3290
+ # {
3291
+ # data_source_id: "DataSourceId",
3292
+ # index_id: "IndexId",
3293
+ # },
3294
+ # ],
3295
+ # },
3296
+ # },
3297
+ # rule_type: "CONTENT_BLOCKER_RULE", # required, accepts CONTENT_BLOCKER_RULE, CONTENT_RETRIEVAL_RULE
3298
+ # },
3299
+ # ],
3300
+ # },
3301
+ # ],
3302
+ # })
3303
+ #
3304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateChatControlsConfiguration AWS API Documentation
3305
+ #
3306
+ # @overload update_chat_controls_configuration(params = {})
3307
+ # @param [Hash] params ({})
3308
+ def update_chat_controls_configuration(params = {}, options = {})
3309
+ req = build_request(:update_chat_controls_configuration, params)
3310
+ req.send_request(options)
3311
+ end
3312
+
3313
+ # Updates an existing Amazon Q data source connector.
3314
+ #
3315
+ # @option params [required, String] :application_id
3316
+ # The identifier of the Amazon Q application the data source is attached
3317
+ # to.
3318
+ #
3319
+ # @option params [Hash,Array,String,Numeric,Boolean] :configuration
3320
+ # Provides the configuration information for an Amazon Q data source.
3321
+ #
3322
+ # Document type used to carry open content
3323
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
3324
+ # serialized using the same format as its surroundings and requires no
3325
+ # additional encoding or escaping.
3326
+ #
3327
+ # @option params [required, String] :data_source_id
3328
+ # The identifier of the data source connector.
3329
+ #
3330
+ # @option params [String] :description
3331
+ # The description of the data source connector.
3332
+ #
3333
+ # @option params [String] :display_name
3334
+ # A name of the data source connector.
3335
+ #
3336
+ # @option params [Types::DocumentEnrichmentConfiguration] :document_enrichment_configuration
3337
+ # Provides the configuration information for altering document metadata
3338
+ # and content during the document ingestion process.
3339
+ #
3340
+ # For more information, see [Custom document enrichment][1].
3341
+ #
3342
+ #
3343
+ #
3344
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html
3345
+ #
3346
+ # @option params [required, String] :index_id
3347
+ # The identifier of the index attached to the data source connector.
3348
+ #
3349
+ # @option params [String] :role_arn
3350
+ # The Amazon Resource Name (ARN) of an IAM role with permission to
3351
+ # access the data source and required resources.
3352
+ #
3353
+ # @option params [String] :sync_schedule
3354
+ # The chosen update frequency for your data source.
3355
+ #
3356
+ # @option params [Types::DataSourceVpcConfiguration] :vpc_configuration
3357
+ # Provides configuration information needed to connect to an Amazon VPC
3358
+ # (Virtual Private Cloud).
3359
+ #
3360
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3361
+ #
3362
+ # @example Request syntax with placeholder values
3363
+ #
3364
+ # resp = client.update_data_source({
3365
+ # application_id: "ApplicationId", # required
3366
+ # configuration: {
3367
+ # },
3368
+ # data_source_id: "DataSourceId", # required
3369
+ # description: "Description",
3370
+ # display_name: "DataSourceName",
3371
+ # document_enrichment_configuration: {
3372
+ # inline_configurations: [
3373
+ # {
3374
+ # condition: {
3375
+ # key: "DocumentAttributeKey", # required
3376
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
3377
+ # value: {
3378
+ # date_value: Time.now,
3379
+ # long_value: 1,
3380
+ # string_list_value: ["String"],
3381
+ # string_value: "DocumentAttributeValueStringValueString",
3382
+ # },
3383
+ # },
3384
+ # document_content_operator: "DELETE", # accepts DELETE
3385
+ # target: {
3386
+ # attribute_value_operator: "DELETE", # accepts DELETE
3387
+ # key: "DocumentAttributeKey", # required
3388
+ # value: {
3389
+ # date_value: Time.now,
3390
+ # long_value: 1,
3391
+ # string_list_value: ["String"],
3392
+ # string_value: "DocumentAttributeValueStringValueString",
3393
+ # },
3394
+ # },
3395
+ # },
3396
+ # ],
3397
+ # post_extraction_hook_configuration: {
3398
+ # invocation_condition: {
3399
+ # key: "DocumentAttributeKey", # required
3400
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
3401
+ # value: {
3402
+ # date_value: Time.now,
3403
+ # long_value: 1,
3404
+ # string_list_value: ["String"],
3405
+ # string_value: "DocumentAttributeValueStringValueString",
3406
+ # },
3407
+ # },
3408
+ # lambda_arn: "LambdaArn",
3409
+ # role_arn: "RoleArn",
3410
+ # s3_bucket_name: "S3BucketName",
3411
+ # },
3412
+ # pre_extraction_hook_configuration: {
3413
+ # invocation_condition: {
3414
+ # key: "DocumentAttributeKey", # required
3415
+ # operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
3416
+ # value: {
3417
+ # date_value: Time.now,
3418
+ # long_value: 1,
3419
+ # string_list_value: ["String"],
3420
+ # string_value: "DocumentAttributeValueStringValueString",
3421
+ # },
3422
+ # },
3423
+ # lambda_arn: "LambdaArn",
3424
+ # role_arn: "RoleArn",
3425
+ # s3_bucket_name: "S3BucketName",
3426
+ # },
3427
+ # },
3428
+ # index_id: "IndexId", # required
3429
+ # role_arn: "RoleArn",
3430
+ # sync_schedule: "SyncSchedule",
3431
+ # vpc_configuration: {
3432
+ # security_group_ids: ["SecurityGroupId"], # required
3433
+ # subnet_ids: ["SubnetId"], # required
3434
+ # },
3435
+ # })
3436
+ #
3437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateDataSource AWS API Documentation
3438
+ #
3439
+ # @overload update_data_source(params = {})
3440
+ # @param [Hash] params ({})
3441
+ def update_data_source(params = {}, options = {})
3442
+ req = build_request(:update_data_source, params)
3443
+ req.send_request(options)
3444
+ end
3445
+
3446
+ # Updates an Amazon Q index.
3447
+ #
3448
+ # @option params [required, String] :application_id
3449
+ # The identifier of the Amazon Q application connected to the index.
3450
+ #
3451
+ # @option params [Types::IndexCapacityConfiguration] :capacity_configuration
3452
+ # The storage capacity units you want to provision for your Amazon Q
3453
+ # index. You can add and remove capacity to fit your usage needs.
3454
+ #
3455
+ # @option params [String] :description
3456
+ # The description of the Amazon Q index.
3457
+ #
3458
+ # @option params [String] :display_name
3459
+ # The name of the Amazon Q index.
3460
+ #
3461
+ # @option params [Array<Types::DocumentAttributeConfiguration>] :document_attribute_configurations
3462
+ # Configuration information for document metadata or fields. Document
3463
+ # metadata are fields or attributes associated with your documents. For
3464
+ # example, the company department name associated with each document.
3465
+ # For more information, see [Understanding document attributes][1].
3466
+ #
3467
+ #
3468
+ #
3469
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/doc-attributes-types.html#doc-attributes
3470
+ #
3471
+ # @option params [required, String] :index_id
3472
+ # The identifier of the Amazon Q index.
3473
+ #
3474
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3475
+ #
3476
+ # @example Request syntax with placeholder values
3477
+ #
3478
+ # resp = client.update_index({
3479
+ # application_id: "ApplicationId", # required
3480
+ # capacity_configuration: {
3481
+ # units: 1,
3482
+ # },
3483
+ # description: "Description",
3484
+ # display_name: "ApplicationName",
3485
+ # document_attribute_configurations: [
3486
+ # {
3487
+ # name: "String",
3488
+ # search: "ENABLED", # accepts ENABLED, DISABLED
3489
+ # type: "STRING", # accepts STRING, STRING_LIST, NUMBER, DATE
3490
+ # },
3491
+ # ],
3492
+ # index_id: "IndexId", # required
3493
+ # })
3494
+ #
3495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateIndex AWS API Documentation
3496
+ #
3497
+ # @overload update_index(params = {})
3498
+ # @param [Hash] params ({})
3499
+ def update_index(params = {}, options = {})
3500
+ req = build_request(:update_index, params)
3501
+ req.send_request(options)
3502
+ end
3503
+
3504
+ # Updates an Amazon Q plugin.
3505
+ #
3506
+ # @option params [required, String] :application_id
3507
+ # The identifier of the application the plugin is attached to.
3508
+ #
3509
+ # @option params [Types::PluginAuthConfiguration] :auth_configuration
3510
+ # The authentication configuration the plugin is using.
3511
+ #
3512
+ # @option params [String] :display_name
3513
+ # The name of the plugin.
3514
+ #
3515
+ # @option params [required, String] :plugin_id
3516
+ # The identifier of the plugin.
3517
+ #
3518
+ # @option params [String] :server_url
3519
+ # The source URL used for plugin configuration.
3520
+ #
3521
+ # @option params [String] :state
3522
+ # The status of the plugin.
3523
+ #
3524
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3525
+ #
3526
+ # @example Request syntax with placeholder values
3527
+ #
3528
+ # resp = client.update_plugin({
3529
+ # application_id: "ApplicationId", # required
3530
+ # auth_configuration: {
3531
+ # basic_auth_configuration: {
3532
+ # role_arn: "RoleArn", # required
3533
+ # secret_arn: "SecretArn", # required
3534
+ # },
3535
+ # o_auth_2_client_credential_configuration: {
3536
+ # role_arn: "RoleArn", # required
3537
+ # secret_arn: "SecretArn", # required
3538
+ # },
3539
+ # },
3540
+ # display_name: "PluginName",
3541
+ # plugin_id: "PluginId", # required
3542
+ # server_url: "Url",
3543
+ # state: "ENABLED", # accepts ENABLED, DISABLED
3544
+ # })
3545
+ #
3546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdatePlugin AWS API Documentation
3547
+ #
3548
+ # @overload update_plugin(params = {})
3549
+ # @param [Hash] params ({})
3550
+ def update_plugin(params = {}, options = {})
3551
+ req = build_request(:update_plugin, params)
3552
+ req.send_request(options)
3553
+ end
3554
+
3555
+ # Updates the retriever used for your Amazon Q application.
3556
+ #
3557
+ # @option params [required, String] :application_id
3558
+ # The identifier of your Amazon Q application.
3559
+ #
3560
+ # @option params [Types::RetrieverConfiguration] :configuration
3561
+ # Provides information on how the retriever used for your Amazon Q
3562
+ # application is configured.
3563
+ #
3564
+ # @option params [String] :display_name
3565
+ # The name of your retriever.
3566
+ #
3567
+ # @option params [required, String] :retriever_id
3568
+ # The identifier of your retriever.
3569
+ #
3570
+ # @option params [String] :role_arn
3571
+ # The Amazon Resource Name (ARN) of an IAM role with permission to
3572
+ # access the retriever and required resources.
3573
+ #
3574
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3575
+ #
3576
+ # @example Request syntax with placeholder values
3577
+ #
3578
+ # resp = client.update_retriever({
3579
+ # application_id: "ApplicationId", # required
3580
+ # configuration: {
3581
+ # kendra_index_configuration: {
3582
+ # index_id: "KendraIndexId", # required
3583
+ # },
3584
+ # native_index_configuration: {
3585
+ # index_id: "IndexId", # required
3586
+ # },
3587
+ # },
3588
+ # display_name: "RetrieverName",
3589
+ # retriever_id: "RetrieverId", # required
3590
+ # role_arn: "RoleArn",
3591
+ # })
3592
+ #
3593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateRetriever AWS API Documentation
3594
+ #
3595
+ # @overload update_retriever(params = {})
3596
+ # @param [Hash] params ({})
3597
+ def update_retriever(params = {}, options = {})
3598
+ req = build_request(:update_retriever, params)
3599
+ req.send_request(options)
3600
+ end
3601
+
3602
+ # Updates a information associated with a user id.
3603
+ #
3604
+ # @option params [required, String] :application_id
3605
+ # The identifier of the application the user is attached to.
3606
+ #
3607
+ # @option params [Array<Types::UserAlias>] :user_aliases_to_delete
3608
+ # The user aliases attached to the user id that are to be deleted.
3609
+ #
3610
+ # @option params [Array<Types::UserAlias>] :user_aliases_to_update
3611
+ # The user aliases attached to the user id that are to be updated.
3612
+ #
3613
+ # @option params [required, String] :user_id
3614
+ # The email id attached to the user.
3615
+ #
3616
+ # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3617
+ #
3618
+ # * {Types::UpdateUserResponse#user_aliases_added #user_aliases_added} => Array&lt;Types::UserAlias&gt;
3619
+ # * {Types::UpdateUserResponse#user_aliases_deleted #user_aliases_deleted} => Array&lt;Types::UserAlias&gt;
3620
+ # * {Types::UpdateUserResponse#user_aliases_updated #user_aliases_updated} => Array&lt;Types::UserAlias&gt;
3621
+ #
3622
+ # @example Request syntax with placeholder values
3623
+ #
3624
+ # resp = client.update_user({
3625
+ # application_id: "ApplicationId", # required
3626
+ # user_aliases_to_delete: [
3627
+ # {
3628
+ # data_source_id: "DataSourceId",
3629
+ # index_id: "IndexId",
3630
+ # user_id: "String", # required
3631
+ # },
3632
+ # ],
3633
+ # user_aliases_to_update: [
3634
+ # {
3635
+ # data_source_id: "DataSourceId",
3636
+ # index_id: "IndexId",
3637
+ # user_id: "String", # required
3638
+ # },
3639
+ # ],
3640
+ # user_id: "String", # required
3641
+ # })
3642
+ #
3643
+ # @example Response structure
3644
+ #
3645
+ # resp.user_aliases_added #=> Array
3646
+ # resp.user_aliases_added[0].data_source_id #=> String
3647
+ # resp.user_aliases_added[0].index_id #=> String
3648
+ # resp.user_aliases_added[0].user_id #=> String
3649
+ # resp.user_aliases_deleted #=> Array
3650
+ # resp.user_aliases_deleted[0].data_source_id #=> String
3651
+ # resp.user_aliases_deleted[0].index_id #=> String
3652
+ # resp.user_aliases_deleted[0].user_id #=> String
3653
+ # resp.user_aliases_updated #=> Array
3654
+ # resp.user_aliases_updated[0].data_source_id #=> String
3655
+ # resp.user_aliases_updated[0].index_id #=> String
3656
+ # resp.user_aliases_updated[0].user_id #=> String
3657
+ #
3658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateUser AWS API Documentation
3659
+ #
3660
+ # @overload update_user(params = {})
3661
+ # @param [Hash] params ({})
3662
+ def update_user(params = {}, options = {})
3663
+ req = build_request(:update_user, params)
3664
+ req.send_request(options)
3665
+ end
3666
+
3667
+ # Updates an Amazon Q web experience.
3668
+ #
3669
+ # @option params [required, String] :application_id
3670
+ # The identifier of the Amazon Q application attached to the web
3671
+ # experience.
3672
+ #
3673
+ # @option params [Types::WebExperienceAuthConfiguration] :authentication_configuration
3674
+ # The authentication configuration of the Amazon Q web experience.
3675
+ #
3676
+ # @option params [String] :sample_prompts_control_mode
3677
+ # Determines whether sample prompts are enabled in the web experience
3678
+ # for an end user.
3679
+ #
3680
+ # @option params [String] :subtitle
3681
+ # The subtitle of the Amazon Q web experience.
3682
+ #
3683
+ # @option params [String] :title
3684
+ # The title of the Amazon Q web experience.
3685
+ #
3686
+ # @option params [required, String] :web_experience_id
3687
+ # The identifier of the Amazon Q web experience.
3688
+ #
3689
+ # @option params [String] :welcome_message
3690
+ # A customized welcome message for an end user in an Amazon Q web
3691
+ # experience.
3692
+ #
3693
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3694
+ #
3695
+ # @example Request syntax with placeholder values
3696
+ #
3697
+ # resp = client.update_web_experience({
3698
+ # application_id: "ApplicationId", # required
3699
+ # authentication_configuration: {
3700
+ # saml_configuration: {
3701
+ # metadata_xml: "SamlMetadataXML", # required
3702
+ # role_arn: "RoleArn", # required
3703
+ # user_group_attribute: "SamlAttribute",
3704
+ # user_id_attribute: "SamlAttribute", # required
3705
+ # },
3706
+ # },
3707
+ # sample_prompts_control_mode: "ENABLED", # accepts ENABLED, DISABLED
3708
+ # subtitle: "WebExperienceSubtitle",
3709
+ # title: "WebExperienceTitle",
3710
+ # web_experience_id: "WebExperienceId", # required
3711
+ # welcome_message: "WebExperienceWelcomeMessage",
3712
+ # })
3713
+ #
3714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateWebExperience AWS API Documentation
3715
+ #
3716
+ # @overload update_web_experience(params = {})
3717
+ # @param [Hash] params ({})
3718
+ def update_web_experience(params = {}, options = {})
3719
+ req = build_request(:update_web_experience, params)
3720
+ req.send_request(options)
3721
+ end
3722
+
3723
+ # @!endgroup
3724
+
3725
+ # @param params ({})
3726
+ # @api private
3727
+ def build_request(operation_name, params = {})
3728
+ handlers = @handlers.for(operation_name)
3729
+ context = Seahorse::Client::RequestContext.new(
3730
+ operation_name: operation_name,
3731
+ operation: config.api.operation(operation_name),
3732
+ client: self,
3733
+ params: params,
3734
+ config: config)
3735
+ context[:gem_name] = 'aws-sdk-qbusiness'
3736
+ context[:gem_version] = '1.0.0'
3737
+ Seahorse::Client::Request.new(handlers, context)
3738
+ end
3739
+
3740
+ # @api private
3741
+ # @deprecated
3742
+ def waiter_names
3743
+ []
3744
+ end
3745
+
3746
+ class << self
3747
+
3748
+ # @api private
3749
+ attr_reader :identifier
3750
+
3751
+ # @api private
3752
+ def errors_module
3753
+ Errors
3754
+ end
3755
+
3756
+ end
3757
+ end
3758
+ end