aws-sdk-qbusiness 1.0.0

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