aws-sdk-athena 1.46.0 → 1.80.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,12 +10,65 @@
10
10
  module Aws::Athena
11
11
  module Types
12
12
 
13
+ # Indicates that an Amazon S3 canned ACL should be set to control
14
+ # ownership of stored query results. When Athena stores query results in
15
+ # Amazon S3, the canned ACL is set with the `x-amz-acl` request header.
16
+ # For more information about S3 Object Ownership, see [Object Ownership
17
+ # settings][1] in the *Amazon S3 User Guide*.
18
+ #
19
+ #
20
+ #
21
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview
22
+ #
23
+ # @!attribute [rw] s3_acl_option
24
+ # The Amazon S3 canned ACL that Athena should specify when storing
25
+ # query results. Currently the only supported canned ACL is
26
+ # `BUCKET_OWNER_FULL_CONTROL`. If a query runs in a workgroup and the
27
+ # workgroup overrides client-side settings, then the Amazon S3 canned
28
+ # ACL specified in the workgroup's settings is used for all queries
29
+ # that run in the workgroup. For more information about Amazon S3
30
+ # canned ACLs, see [Canned ACL][1] in the *Amazon S3 User Guide*.
31
+ #
32
+ #
33
+ #
34
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl
35
+ # @return [String]
36
+ #
37
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/AclConfiguration AWS API Documentation
38
+ #
39
+ class AclConfiguration < Struct.new(
40
+ :s3_acl_option)
41
+ SENSITIVE = []
42
+ include Aws::Structure
43
+ end
44
+
45
+ # Contains the application runtime IDs and their supported DPU sizes.
46
+ #
47
+ # @!attribute [rw] application_runtime_id
48
+ # The name of the supported application runtime (for example, `Athena
49
+ # notebook version 1`).
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] supported_dpu_sizes
53
+ # A list of the supported DPU sizes that the application runtime
54
+ # supports.
55
+ # @return [Array<Integer>]
56
+ #
57
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ApplicationDPUSizes AWS API Documentation
58
+ #
59
+ class ApplicationDPUSizes < Struct.new(
60
+ :application_runtime_id,
61
+ :supported_dpu_sizes)
62
+ SENSITIVE = []
63
+ include Aws::Structure
64
+ end
65
+
13
66
  # Provides information about an Athena query error. The `AthenaError`
14
67
  # feature provides standardized error information to help you understand
15
68
  # failed queries and take steps after a query failure occurs.
16
69
  # `AthenaError` includes an `ErrorCategory` field that specifies whether
17
70
  # the cause of the failed query is due to system error, user error, or
18
- # unknown error.
71
+ # other error.
19
72
  #
20
73
  # @!attribute [rw] error_category
21
74
  # An integer value that specifies the category of a query failure
@@ -25,23 +78,39 @@ module Aws::Athena
25
78
  #
26
79
  # **2** - User
27
80
  #
28
- # **3** - Unknown
81
+ # **3** - Other
82
+ # @return [Integer]
83
+ #
84
+ # @!attribute [rw] error_type
85
+ # An integer value that provides specific information about an Athena
86
+ # query error. For the meaning of specific values, see the [Error Type
87
+ # Reference][1] in the *Amazon Athena User Guide*.
88
+ #
89
+ #
90
+ #
91
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/error-reference.html#error-reference-error-type-reference
29
92
  # @return [Integer]
30
93
  #
94
+ # @!attribute [rw] retryable
95
+ # True if the query might succeed if resubmitted.
96
+ # @return [Boolean]
97
+ #
98
+ # @!attribute [rw] error_message
99
+ # Contains a short description of the error that occurred.
100
+ # @return [String]
101
+ #
31
102
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/AthenaError AWS API Documentation
32
103
  #
33
104
  class AthenaError < Struct.new(
34
- :error_category)
105
+ :error_category,
106
+ :error_type,
107
+ :retryable,
108
+ :error_message)
35
109
  SENSITIVE = []
36
110
  include Aws::Structure
37
111
  end
38
112
 
39
- # @note When making an API call, you may pass BatchGetNamedQueryInput
40
- # data as a hash:
41
- #
42
- # {
43
- # named_query_ids: ["NamedQueryId"], # required
44
- # }
113
+ # Contains an array of named query IDs.
45
114
  #
46
115
  # @!attribute [rw] named_query_ids
47
116
  # An array of query IDs.
@@ -72,12 +141,42 @@ module Aws::Athena
72
141
  include Aws::Structure
73
142
  end
74
143
 
75
- # @note When making an API call, you may pass BatchGetQueryExecutionInput
76
- # data as a hash:
144
+ # @!attribute [rw] prepared_statement_names
145
+ # A list of prepared statement names to return.
146
+ # @return [Array<String>]
147
+ #
148
+ # @!attribute [rw] work_group
149
+ # The name of the workgroup to which the prepared statements belong.
150
+ # @return [String]
151
+ #
152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/BatchGetPreparedStatementInput AWS API Documentation
153
+ #
154
+ class BatchGetPreparedStatementInput < Struct.new(
155
+ :prepared_statement_names,
156
+ :work_group)
157
+ SENSITIVE = []
158
+ include Aws::Structure
159
+ end
160
+
161
+ # @!attribute [rw] prepared_statements
162
+ # The list of prepared statements returned.
163
+ # @return [Array<Types::PreparedStatement>]
164
+ #
165
+ # @!attribute [rw] unprocessed_prepared_statement_names
166
+ # A list of one or more prepared statements that were requested but
167
+ # could not be returned.
168
+ # @return [Array<Types::UnprocessedPreparedStatementName>]
77
169
  #
78
- # {
79
- # query_execution_ids: ["QueryExecutionId"], # required
80
- # }
170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/BatchGetPreparedStatementOutput AWS API Documentation
171
+ #
172
+ class BatchGetPreparedStatementOutput < Struct.new(
173
+ :prepared_statements,
174
+ :unprocessed_prepared_statement_names)
175
+ SENSITIVE = []
176
+ include Aws::Structure
177
+ end
178
+
179
+ # Contains an array of query execution IDs.
81
180
  #
82
181
  # @!attribute [rw] query_execution_ids
83
182
  # An array of query execution IDs.
@@ -108,6 +207,279 @@ module Aws::Athena
108
207
  include Aws::Structure
109
208
  end
110
209
 
210
+ # Contains configuration information for the calculation.
211
+ #
212
+ # @!attribute [rw] code_block
213
+ # A string that contains the code for the calculation.
214
+ # @return [String]
215
+ #
216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CalculationConfiguration AWS API Documentation
217
+ #
218
+ class CalculationConfiguration < Struct.new(
219
+ :code_block)
220
+ SENSITIVE = []
221
+ include Aws::Structure
222
+ end
223
+
224
+ # Contains information about an application-specific calculation result.
225
+ #
226
+ # @!attribute [rw] std_out_s3_uri
227
+ # The Amazon S3 location of the `stdout` file for the calculation.
228
+ # @return [String]
229
+ #
230
+ # @!attribute [rw] std_error_s3_uri
231
+ # The Amazon S3 location of the `stderr` error messages file for the
232
+ # calculation.
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] result_s3_uri
236
+ # The Amazon S3 location of the folder for the calculation results.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] result_type
240
+ # The data format of the calculation result.
241
+ # @return [String]
242
+ #
243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CalculationResult AWS API Documentation
244
+ #
245
+ class CalculationResult < Struct.new(
246
+ :std_out_s3_uri,
247
+ :std_error_s3_uri,
248
+ :result_s3_uri,
249
+ :result_type)
250
+ SENSITIVE = []
251
+ include Aws::Structure
252
+ end
253
+
254
+ # Contains statistics for a notebook calculation.
255
+ #
256
+ # @!attribute [rw] dpu_execution_in_millis
257
+ # The data processing unit execution time in milliseconds for the
258
+ # calculation.
259
+ # @return [Integer]
260
+ #
261
+ # @!attribute [rw] progress
262
+ # The progress of the calculation.
263
+ # @return [String]
264
+ #
265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CalculationStatistics AWS API Documentation
266
+ #
267
+ class CalculationStatistics < Struct.new(
268
+ :dpu_execution_in_millis,
269
+ :progress)
270
+ SENSITIVE = []
271
+ include Aws::Structure
272
+ end
273
+
274
+ # Contains information about the status of a notebook calculation.
275
+ #
276
+ # @!attribute [rw] submission_date_time
277
+ # The date and time the calculation was submitted for processing.
278
+ # @return [Time]
279
+ #
280
+ # @!attribute [rw] completion_date_time
281
+ # The date and time the calculation completed processing.
282
+ # @return [Time]
283
+ #
284
+ # @!attribute [rw] state
285
+ # The state of the calculation execution. A description of each state
286
+ # follows.
287
+ #
288
+ # `CREATING` - The calculation is in the process of being created.
289
+ #
290
+ # `CREATED` - The calculation has been created and is ready to run.
291
+ #
292
+ # `QUEUED` - The calculation has been queued for processing.
293
+ #
294
+ # `RUNNING` - The calculation is running.
295
+ #
296
+ # `CANCELING` - A request to cancel the calculation has been received
297
+ # and the system is working to stop it.
298
+ #
299
+ # `CANCELED` - The calculation is no longer running as the result of a
300
+ # cancel request.
301
+ #
302
+ # `COMPLETED` - The calculation has completed without error.
303
+ #
304
+ # `FAILED` - The calculation failed and is no longer running.
305
+ # @return [String]
306
+ #
307
+ # @!attribute [rw] state_change_reason
308
+ # The reason for the calculation state change (for example, the
309
+ # calculation was canceled because the session was terminated).
310
+ # @return [String]
311
+ #
312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CalculationStatus AWS API Documentation
313
+ #
314
+ class CalculationStatus < Struct.new(
315
+ :submission_date_time,
316
+ :completion_date_time,
317
+ :state,
318
+ :state_change_reason)
319
+ SENSITIVE = []
320
+ include Aws::Structure
321
+ end
322
+
323
+ # Summary information for a notebook calculation.
324
+ #
325
+ # @!attribute [rw] calculation_execution_id
326
+ # The calculation execution UUID.
327
+ # @return [String]
328
+ #
329
+ # @!attribute [rw] description
330
+ # A description of the calculation.
331
+ # @return [String]
332
+ #
333
+ # @!attribute [rw] status
334
+ # Contains information about the status of the calculation.
335
+ # @return [Types::CalculationStatus]
336
+ #
337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CalculationSummary AWS API Documentation
338
+ #
339
+ class CalculationSummary < Struct.new(
340
+ :calculation_execution_id,
341
+ :description,
342
+ :status)
343
+ SENSITIVE = []
344
+ include Aws::Structure
345
+ end
346
+
347
+ # @!attribute [rw] name
348
+ # The name of the capacity reservation to cancel.
349
+ # @return [String]
350
+ #
351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CancelCapacityReservationInput AWS API Documentation
352
+ #
353
+ class CancelCapacityReservationInput < Struct.new(
354
+ :name)
355
+ SENSITIVE = []
356
+ include Aws::Structure
357
+ end
358
+
359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CancelCapacityReservationOutput AWS API Documentation
360
+ #
361
+ class CancelCapacityReservationOutput < Aws::EmptyStructure; end
362
+
363
+ # Contains the submission time of a single allocation request for a
364
+ # capacity reservation and the most recent status of the attempted
365
+ # allocation.
366
+ #
367
+ # @!attribute [rw] status
368
+ # The status of the capacity allocation.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] status_message
372
+ # The status message of the capacity allocation.
373
+ # @return [String]
374
+ #
375
+ # @!attribute [rw] request_time
376
+ # The time when the capacity allocation was requested.
377
+ # @return [Time]
378
+ #
379
+ # @!attribute [rw] request_completion_time
380
+ # The time when the capacity allocation request was completed.
381
+ # @return [Time]
382
+ #
383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CapacityAllocation AWS API Documentation
384
+ #
385
+ class CapacityAllocation < Struct.new(
386
+ :status,
387
+ :status_message,
388
+ :request_time,
389
+ :request_completion_time)
390
+ SENSITIVE = []
391
+ include Aws::Structure
392
+ end
393
+
394
+ # A mapping between one or more workgroups and a capacity reservation.
395
+ #
396
+ # @!attribute [rw] work_group_names
397
+ # The list of workgroup names for the capacity assignment.
398
+ # @return [Array<String>]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CapacityAssignment AWS API Documentation
401
+ #
402
+ class CapacityAssignment < Struct.new(
403
+ :work_group_names)
404
+ SENSITIVE = []
405
+ include Aws::Structure
406
+ end
407
+
408
+ # Assigns Athena workgroups (and hence their queries) to capacity
409
+ # reservations. A capacity reservation can have only one capacity
410
+ # assignment configuration, but the capacity assignment configuration
411
+ # can be made up of multiple individual assignments. Each assignment
412
+ # specifies how Athena queries can consume capacity from the capacity
413
+ # reservation that their workgroup is mapped to.
414
+ #
415
+ # @!attribute [rw] capacity_reservation_name
416
+ # The name of the reservation that the capacity assignment
417
+ # configuration is for.
418
+ # @return [String]
419
+ #
420
+ # @!attribute [rw] capacity_assignments
421
+ # The list of assignments that make up the capacity assignment
422
+ # configuration.
423
+ # @return [Array<Types::CapacityAssignment>]
424
+ #
425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CapacityAssignmentConfiguration AWS API Documentation
426
+ #
427
+ class CapacityAssignmentConfiguration < Struct.new(
428
+ :capacity_reservation_name,
429
+ :capacity_assignments)
430
+ SENSITIVE = []
431
+ include Aws::Structure
432
+ end
433
+
434
+ # A reservation for a specified number of data processing units (DPUs).
435
+ # When a reservation is initially created, it has no DPUs. Athena
436
+ # allocates DPUs until the allocated amount equals the requested amount.
437
+ #
438
+ # @!attribute [rw] name
439
+ # The name of the capacity reservation.
440
+ # @return [String]
441
+ #
442
+ # @!attribute [rw] status
443
+ # The status of the capacity reservation.
444
+ # @return [String]
445
+ #
446
+ # @!attribute [rw] target_dpus
447
+ # The number of data processing units requested.
448
+ # @return [Integer]
449
+ #
450
+ # @!attribute [rw] allocated_dpus
451
+ # The number of data processing units currently allocated.
452
+ # @return [Integer]
453
+ #
454
+ # @!attribute [rw] last_allocation
455
+ # Contains the submission time of a single allocation request for a
456
+ # capacity reservation and the most recent status of the attempted
457
+ # allocation.
458
+ # @return [Types::CapacityAllocation]
459
+ #
460
+ # @!attribute [rw] last_successful_allocation_time
461
+ # The time of the most recent capacity allocation that succeeded.
462
+ # @return [Time]
463
+ #
464
+ # @!attribute [rw] creation_time
465
+ # The time in UTC epoch millis when the capacity reservation was
466
+ # created.
467
+ # @return [Time]
468
+ #
469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CapacityReservation AWS API Documentation
470
+ #
471
+ class CapacityReservation < Struct.new(
472
+ :name,
473
+ :status,
474
+ :target_dpus,
475
+ :allocated_dpus,
476
+ :last_allocation,
477
+ :last_successful_allocation_time,
478
+ :creation_time)
479
+ SENSITIVE = []
480
+ include Aws::Structure
481
+ end
482
+
111
483
  # Contains metadata for a column in a table.
112
484
  #
113
485
  # @!attribute [rw] name
@@ -169,7 +541,7 @@ module Aws::Athena
169
541
  # @return [Integer]
170
542
  #
171
543
  # @!attribute [rw] nullable
172
- # Indicates the column's nullable status.
544
+ # Unsupported constraint. This value always shows as `UNKNOWN`.
173
545
  # @return [String]
174
546
  #
175
547
  # @!attribute [rw] case_sensitive
@@ -193,24 +565,32 @@ module Aws::Athena
193
565
  include Aws::Structure
194
566
  end
195
567
 
196
- # @note When making an API call, you may pass CreateDataCatalogInput
197
- # data as a hash:
568
+ # @!attribute [rw] target_dpus
569
+ # The number of requested data processing units.
570
+ # @return [Integer]
198
571
  #
199
- # {
200
- # name: "CatalogNameString", # required
201
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
202
- # description: "DescriptionString",
203
- # parameters: {
204
- # "KeyString" => "ParametersMapValue",
205
- # },
206
- # tags: [
207
- # {
208
- # key: "TagKey",
209
- # value: "TagValue",
210
- # },
211
- # ],
212
- # }
572
+ # @!attribute [rw] name
573
+ # The name of the capacity reservation to create.
574
+ # @return [String]
575
+ #
576
+ # @!attribute [rw] tags
577
+ # The tags for the capacity reservation.
578
+ # @return [Array<Types::Tag>]
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateCapacityReservationInput AWS API Documentation
581
+ #
582
+ class CreateCapacityReservationInput < Struct.new(
583
+ :target_dpus,
584
+ :name,
585
+ :tags)
586
+ SENSITIVE = []
587
+ include Aws::Structure
588
+ end
589
+
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateCapacityReservationOutput AWS API Documentation
213
591
  #
592
+ class CreateCapacityReservationOutput < Aws::EmptyStructure; end
593
+
214
594
  # @!attribute [rw] name
215
595
  # The name of the data catalog to create. The catalog name must be
216
596
  # unique for the Amazon Web Services account and can use a maximum of
@@ -266,12 +646,7 @@ module Aws::Athena
266
646
  # `AwsDataCatalog` that already exists in your account, of which
267
647
  # you can have only one and cannot modify.
268
648
  #
269
- # * Queries that specify a Glue Data Catalog other than the default
270
- # `AwsDataCatalog` must be run on Athena engine version 2.
271
- #
272
- # * In Regions where Athena engine version 2 is not available,
273
- # creating new Glue data catalogs results in an `INVALID_INPUT`
274
- # error.
649
+ # ^
275
650
  # @return [Hash<String,String>]
276
651
  #
277
652
  # @!attribute [rw] tags
@@ -295,18 +670,6 @@ module Aws::Athena
295
670
  #
296
671
  class CreateDataCatalogOutput < Aws::EmptyStructure; end
297
672
 
298
- # @note When making an API call, you may pass CreateNamedQueryInput
299
- # data as a hash:
300
- #
301
- # {
302
- # name: "NameString", # required
303
- # description: "DescriptionString",
304
- # database: "DatabaseString", # required
305
- # query_string: "QueryString", # required
306
- # client_request_token: "IdempotencyToken",
307
- # work_group: "WorkGroupName",
308
- # }
309
- #
310
673
  # @!attribute [rw] name
311
674
  # The query name.
312
675
  # @return [String]
@@ -369,16 +732,49 @@ module Aws::Athena
369
732
  include Aws::Structure
370
733
  end
371
734
 
372
- # @note When making an API call, you may pass CreatePreparedStatementInput
373
- # data as a hash:
735
+ # @!attribute [rw] work_group
736
+ # The name of the Spark enabled workgroup in which the notebook will
737
+ # be created.
738
+ # @return [String]
739
+ #
740
+ # @!attribute [rw] name
741
+ # The name of the `ipynb` file to be created in the Spark workgroup,
742
+ # without the `.ipynb` extension.
743
+ # @return [String]
744
+ #
745
+ # @!attribute [rw] client_request_token
746
+ # A unique case-sensitive string used to ensure the request to create
747
+ # the notebook is idempotent (executes only once).
748
+ #
749
+ # This token is listed as not required because Amazon Web Services
750
+ # SDKs (for example the Amazon Web Services SDK for Java)
751
+ # auto-generate the token for you. If you are not using the Amazon Web
752
+ # Services SDK or the Amazon Web Services CLI, you must provide this
753
+ # token or the action will fail.
754
+ # @return [String]
755
+ #
756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNotebookInput AWS API Documentation
757
+ #
758
+ class CreateNotebookInput < Struct.new(
759
+ :work_group,
760
+ :name,
761
+ :client_request_token)
762
+ SENSITIVE = []
763
+ include Aws::Structure
764
+ end
765
+
766
+ # @!attribute [rw] notebook_id
767
+ # A unique identifier for the notebook.
768
+ # @return [String]
374
769
  #
375
- # {
376
- # statement_name: "StatementName", # required
377
- # work_group: "WorkGroupName", # required
378
- # query_statement: "QueryString", # required
379
- # description: "DescriptionString",
380
- # }
770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNotebookOutput AWS API Documentation
381
771
  #
772
+ class CreateNotebookOutput < Struct.new(
773
+ :notebook_id)
774
+ SENSITIVE = []
775
+ include Aws::Structure
776
+ end
777
+
382
778
  # @!attribute [rw] statement_name
383
779
  # The name of the prepared statement.
384
780
  # @return [String]
@@ -410,58 +806,64 @@ module Aws::Athena
410
806
  #
411
807
  class CreatePreparedStatementOutput < Aws::EmptyStructure; end
412
808
 
413
- # @note When making an API call, you may pass CreateWorkGroupInput
414
- # data as a hash:
415
- #
416
- # {
417
- # name: "WorkGroupName", # required
418
- # configuration: {
419
- # result_configuration: {
420
- # output_location: "String",
421
- # encryption_configuration: {
422
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
423
- # kms_key: "String",
424
- # },
425
- # },
426
- # enforce_work_group_configuration: false,
427
- # publish_cloud_watch_metrics_enabled: false,
428
- # bytes_scanned_cutoff_per_query: 1,
429
- # requester_pays_enabled: false,
430
- # engine_version: {
431
- # selected_engine_version: "NameString",
432
- # effective_engine_version: "NameString",
433
- # },
434
- # },
435
- # description: "WorkGroupDescriptionString",
436
- # tags: [
437
- # {
438
- # key: "TagKey",
439
- # value: "TagValue",
440
- # },
441
- # ],
442
- # }
443
- #
444
- # @!attribute [rw] name
445
- # The workgroup name.
809
+ # @!attribute [rw] session_id
810
+ # The session ID.
446
811
  # @return [String]
447
812
  #
448
- # @!attribute [rw] configuration
449
- # The configuration for the workgroup, which includes the location in
450
- # Amazon S3 where query results are stored, the encryption
451
- # configuration, if any, used for encrypting query results, whether
452
- # the Amazon CloudWatch Metrics are enabled for the workgroup, the
453
- # limit for the amount of bytes scanned (cutoff) per query, if it is
454
- # specified, and whether workgroup's settings (specified with
455
- # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
456
- # override client-side settings. See
457
- # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
458
- # @return [Types::WorkGroupConfiguration]
459
- #
460
- # @!attribute [rw] description
461
- # The workgroup description.
462
- # @return [String]
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePresignedNotebookUrlRequest AWS API Documentation
463
814
  #
464
- # @!attribute [rw] tags
815
+ class CreatePresignedNotebookUrlRequest < Struct.new(
816
+ :session_id)
817
+ SENSITIVE = []
818
+ include Aws::Structure
819
+ end
820
+
821
+ # @!attribute [rw] notebook_url
822
+ # The URL of the notebook. The URL includes the authentication token
823
+ # and notebook file name and points directly to the opened notebook.
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] auth_token
827
+ # The authentication token for the notebook.
828
+ # @return [String]
829
+ #
830
+ # @!attribute [rw] auth_token_expiration_time
831
+ # The UTC epoch time when the authentication token expires.
832
+ # @return [Integer]
833
+ #
834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePresignedNotebookUrlResponse AWS API Documentation
835
+ #
836
+ class CreatePresignedNotebookUrlResponse < Struct.new(
837
+ :notebook_url,
838
+ :auth_token,
839
+ :auth_token_expiration_time)
840
+ SENSITIVE = []
841
+ include Aws::Structure
842
+ end
843
+
844
+ # @!attribute [rw] name
845
+ # The workgroup name.
846
+ # @return [String]
847
+ #
848
+ # @!attribute [rw] configuration
849
+ # Contains configuration information for creating an Athena SQL
850
+ # workgroup or Spark enabled Athena workgroup. Athena SQL workgroup
851
+ # configuration includes the location in Amazon S3 where query and
852
+ # calculation results are stored, the encryption configuration, if
853
+ # any, used for encrypting query results, whether the Amazon
854
+ # CloudWatch Metrics are enabled for the workgroup, the limit for the
855
+ # amount of bytes scanned (cutoff) per query, if it is specified, and
856
+ # whether workgroup's settings (specified with
857
+ # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
858
+ # override client-side settings. See
859
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
860
+ # @return [Types::WorkGroupConfiguration]
861
+ #
862
+ # @!attribute [rw] description
863
+ # The workgroup description.
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] tags
465
867
  # A list of comma separated tags to add to the workgroup that is
466
868
  # created.
467
869
  # @return [Array<Types::Tag>]
@@ -481,9 +883,32 @@ module Aws::Athena
481
883
  #
482
884
  class CreateWorkGroupOutput < Aws::EmptyStructure; end
483
885
 
886
+ # Specifies the customer managed KMS key that is used to encrypt the
887
+ # user's data stores in Athena. When an Amazon Web Services managed key
888
+ # is used, this value is null. This setting does not apply to Athena SQL
889
+ # workgroups.
890
+ #
891
+ # @!attribute [rw] kms_key
892
+ # The customer managed KMS key that is used to encrypt the user's
893
+ # data stores in Athena.
894
+ # @return [String]
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CustomerContentEncryptionConfiguration AWS API Documentation
897
+ #
898
+ class CustomerContentEncryptionConfiguration < Struct.new(
899
+ :kms_key)
900
+ SENSITIVE = []
901
+ include Aws::Structure
902
+ end
903
+
484
904
  # Contains information about a data catalog in an Amazon Web Services
485
905
  # account.
486
906
  #
907
+ # <note markdown="1"> In the Athena console, data catalogs are listed as "data sources" on
908
+ # the **Data sources** page under the **Data source name** column.
909
+ #
910
+ # </note>
911
+ #
487
912
  # @!attribute [rw] name
488
913
  # The name of the data catalog. The catalog name must be unique for
489
914
  # the Amazon Web Services account and can use a maximum of 127
@@ -538,8 +963,7 @@ module Aws::Athena
538
963
  # `AwsDataCatalog` that already exists in your account, of which
539
964
  # you can have only one and cannot modify.
540
965
  #
541
- # * Queries that specify a Glue Data Catalog other than the default
542
- # `AwsDataCatalog` must be run on Athena engine version 2.
966
+ # ^
543
967
  # @return [Hash<String,String>]
544
968
  #
545
969
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalog AWS API Documentation
@@ -615,13 +1039,22 @@ module Aws::Athena
615
1039
  include Aws::Structure
616
1040
  end
617
1041
 
618
- # @note When making an API call, you may pass DeleteDataCatalogInput
619
- # data as a hash:
1042
+ # @!attribute [rw] name
1043
+ # The name of the capacity reservation to delete.
1044
+ # @return [String]
620
1045
  #
621
- # {
622
- # name: "CatalogNameString", # required
623
- # }
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteCapacityReservationInput AWS API Documentation
1047
+ #
1048
+ class DeleteCapacityReservationInput < Struct.new(
1049
+ :name)
1050
+ SENSITIVE = []
1051
+ include Aws::Structure
1052
+ end
1053
+
1054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteCapacityReservationOutput AWS API Documentation
624
1055
  #
1056
+ class DeleteCapacityReservationOutput < Aws::EmptyStructure; end
1057
+
625
1058
  # @!attribute [rw] name
626
1059
  # The name of the data catalog to delete.
627
1060
  # @return [String]
@@ -638,13 +1071,6 @@ module Aws::Athena
638
1071
  #
639
1072
  class DeleteDataCatalogOutput < Aws::EmptyStructure; end
640
1073
 
641
- # @note When making an API call, you may pass DeleteNamedQueryInput
642
- # data as a hash:
643
- #
644
- # {
645
- # named_query_id: "NamedQueryId", # required
646
- # }
647
- #
648
1074
  # @!attribute [rw] named_query_id
649
1075
  # The unique ID of the query to delete.
650
1076
  #
@@ -664,14 +1090,22 @@ module Aws::Athena
664
1090
  #
665
1091
  class DeleteNamedQueryOutput < Aws::EmptyStructure; end
666
1092
 
667
- # @note When making an API call, you may pass DeletePreparedStatementInput
668
- # data as a hash:
1093
+ # @!attribute [rw] notebook_id
1094
+ # The ID of the notebook to delete.
1095
+ # @return [String]
669
1096
  #
670
- # {
671
- # statement_name: "StatementName", # required
672
- # work_group: "WorkGroupName", # required
673
- # }
1097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNotebookInput AWS API Documentation
1098
+ #
1099
+ class DeleteNotebookInput < Struct.new(
1100
+ :notebook_id)
1101
+ SENSITIVE = []
1102
+ include Aws::Structure
1103
+ end
1104
+
1105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNotebookOutput AWS API Documentation
674
1106
  #
1107
+ class DeleteNotebookOutput < Aws::EmptyStructure; end
1108
+
675
1109
  # @!attribute [rw] statement_name
676
1110
  # The name of the prepared statement to delete.
677
1111
  # @return [String]
@@ -693,21 +1127,14 @@ module Aws::Athena
693
1127
  #
694
1128
  class DeletePreparedStatementOutput < Aws::EmptyStructure; end
695
1129
 
696
- # @note When making an API call, you may pass DeleteWorkGroupInput
697
- # data as a hash:
698
- #
699
- # {
700
- # work_group: "WorkGroupName", # required
701
- # recursive_delete_option: false,
702
- # }
703
- #
704
1130
  # @!attribute [rw] work_group
705
1131
  # The unique name of the workgroup to delete.
706
1132
  # @return [String]
707
1133
  #
708
1134
  # @!attribute [rw] recursive_delete_option
709
1135
  # The option to delete the workgroup and its contents even if the
710
- # workgroup contains any named queries or query executions.
1136
+ # workgroup contains any named queries, query executions, or
1137
+ # notebooks.
711
1138
  # @return [Boolean]
712
1139
  #
713
1140
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteWorkGroupInput AWS API Documentation
@@ -723,22 +1150,15 @@ module Aws::Athena
723
1150
  #
724
1151
  class DeleteWorkGroupOutput < Aws::EmptyStructure; end
725
1152
 
726
- # If query results are encrypted in Amazon S3, indicates the encryption
727
- # option used (for example, `SSE-KMS` or `CSE-KMS`) and key information.
728
- #
729
- # @note When making an API call, you may pass EncryptionConfiguration
730
- # data as a hash:
731
- #
732
- # {
733
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
734
- # kms_key: "String",
735
- # }
1153
+ # If query and calculation results are encrypted in Amazon S3, indicates
1154
+ # the encryption option used (for example, `SSE_KMS` or `CSE_KMS`) and
1155
+ # key information.
736
1156
  #
737
1157
  # @!attribute [rw] encryption_option
738
1158
  # Indicates whether Amazon S3 server-side encryption with Amazon
739
- # S3-managed keys (`SSE-S3`), server-side encryption with KMS-managed
740
- # keys (`SSE-KMS`), or client-side encryption with KMS-managed keys
741
- # (CSE-KMS) is used.
1159
+ # S3-managed keys (`SSE_S3`), server-side encryption with KMS-managed
1160
+ # keys (`SSE_KMS`), or client-side encryption with KMS-managed keys
1161
+ # (`CSE_KMS`) is used.
742
1162
  #
743
1163
  # If a query runs in a workgroup and the workgroup overrides
744
1164
  # client-side settings, then the workgroup's setting for encryption
@@ -747,7 +1167,7 @@ module Aws::Athena
747
1167
  # @return [String]
748
1168
  #
749
1169
  # @!attribute [rw] kms_key
750
- # For `SSE-KMS` and `CSE-KMS`, this is the KMS key ARN or ID.
1170
+ # For `SSE_KMS` and `CSE_KMS`, this is the KMS key ARN or ID.
751
1171
  # @return [String]
752
1172
  #
753
1173
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/EncryptionConfiguration AWS API Documentation
@@ -759,20 +1179,58 @@ module Aws::Athena
759
1179
  include Aws::Structure
760
1180
  end
761
1181
 
762
- # The Athena engine version for running queries.
1182
+ # Contains data processing unit (DPU) configuration settings and
1183
+ # parameter mappings for a notebook engine.
763
1184
  #
764
- # @note When making an API call, you may pass EngineVersion
765
- # data as a hash:
1185
+ # @!attribute [rw] coordinator_dpu_size
1186
+ # The number of DPUs to use for the coordinator. A coordinator is a
1187
+ # special executor that orchestrates processing work and manages other
1188
+ # executors in a notebook session. The default is 1.
1189
+ # @return [Integer]
1190
+ #
1191
+ # @!attribute [rw] max_concurrent_dpus
1192
+ # The maximum number of DPUs that can run concurrently.
1193
+ # @return [Integer]
1194
+ #
1195
+ # @!attribute [rw] default_executor_dpu_size
1196
+ # The default number of DPUs to use for executors. An executor is the
1197
+ # smallest unit of compute that a notebook session can request from
1198
+ # Athena. The default is 1.
1199
+ # @return [Integer]
1200
+ #
1201
+ # @!attribute [rw] additional_configs
1202
+ # Contains additional notebook engine `MAP<string, string>` parameter
1203
+ # mappings in the form of key-value pairs. To specify an Athena
1204
+ # notebook that the Jupyter server will download and serve, specify a
1205
+ # value for the StartSessionRequest$NotebookVersion field, and then
1206
+ # add a key named `NotebookId` to `AdditionalConfigs` that has the
1207
+ # value of the Athena notebook ID.
1208
+ # @return [Hash<String,String>]
1209
+ #
1210
+ # @!attribute [rw] spark_properties
1211
+ # Specifies custom jar files and Spark properties for use cases like
1212
+ # cluster encryption, table formats, and general Spark tuning.
1213
+ # @return [Hash<String,String>]
1214
+ #
1215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/EngineConfiguration AWS API Documentation
766
1216
  #
767
- # {
768
- # selected_engine_version: "NameString",
769
- # effective_engine_version: "NameString",
770
- # }
1217
+ class EngineConfiguration < Struct.new(
1218
+ :coordinator_dpu_size,
1219
+ :max_concurrent_dpus,
1220
+ :default_executor_dpu_size,
1221
+ :additional_configs,
1222
+ :spark_properties)
1223
+ SENSITIVE = []
1224
+ include Aws::Structure
1225
+ end
1226
+
1227
+ # The Athena engine version for running queries, or the PySpark engine
1228
+ # version for running sessions.
771
1229
  #
772
1230
  # @!attribute [rw] selected_engine_version
773
1231
  # The engine version requested by the user. Possible values are
774
- # determined by the output of `ListEngineVersions`, including Auto.
775
- # The default is Auto.
1232
+ # determined by the output of `ListEngineVersions`, including AUTO.
1233
+ # The default is AUTO.
776
1234
  # @return [String]
777
1235
  #
778
1236
  # @!attribute [rw] effective_engine_version
@@ -794,21 +1252,280 @@ module Aws::Athena
794
1252
  include Aws::Structure
795
1253
  end
796
1254
 
797
- # @note When making an API call, you may pass GetDataCatalogInput
798
- # data as a hash:
1255
+ # Contains summary information about an executor.
1256
+ #
1257
+ # @!attribute [rw] executor_id
1258
+ # The UUID of the executor.
1259
+ # @return [String]
1260
+ #
1261
+ # @!attribute [rw] executor_type
1262
+ # The type of executor used for the application (`COORDINATOR`,
1263
+ # `GATEWAY`, or `WORKER`).
1264
+ # @return [String]
1265
+ #
1266
+ # @!attribute [rw] start_date_time
1267
+ # The date and time that the executor started.
1268
+ # @return [Integer]
1269
+ #
1270
+ # @!attribute [rw] termination_date_time
1271
+ # The date and time that the executor was terminated.
1272
+ # @return [Integer]
1273
+ #
1274
+ # @!attribute [rw] executor_state
1275
+ # The processing state of the executor. A description of each state
1276
+ # follows.
1277
+ #
1278
+ # `CREATING` - The executor is being started, including acquiring
1279
+ # resources.
1280
+ #
1281
+ # `CREATED` - The executor has been started.
1282
+ #
1283
+ # `REGISTERED` - The executor has been registered.
1284
+ #
1285
+ # `TERMINATING` - The executor is in the process of shutting down.
1286
+ #
1287
+ # `TERMINATED` - The executor is no longer running.
1288
+ #
1289
+ # `FAILED` - Due to a failure, the executor is no longer running.
1290
+ # @return [String]
1291
+ #
1292
+ # @!attribute [rw] executor_size
1293
+ # The smallest unit of compute that a session can request from Athena.
1294
+ # Size is measured in data processing unit (DPU) values, a relative
1295
+ # measure of processing power.
1296
+ # @return [Integer]
1297
+ #
1298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExecutorsSummary AWS API Documentation
1299
+ #
1300
+ class ExecutorsSummary < Struct.new(
1301
+ :executor_id,
1302
+ :executor_type,
1303
+ :start_date_time,
1304
+ :termination_date_time,
1305
+ :executor_state,
1306
+ :executor_size)
1307
+ SENSITIVE = []
1308
+ include Aws::Structure
1309
+ end
1310
+
1311
+ # @!attribute [rw] notebook_id
1312
+ # The ID of the notebook to export.
1313
+ # @return [String]
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExportNotebookInput AWS API Documentation
1316
+ #
1317
+ class ExportNotebookInput < Struct.new(
1318
+ :notebook_id)
1319
+ SENSITIVE = []
1320
+ include Aws::Structure
1321
+ end
1322
+
1323
+ # @!attribute [rw] notebook_metadata
1324
+ # The notebook metadata, including notebook ID, notebook name, and
1325
+ # workgroup name.
1326
+ # @return [Types::NotebookMetadata]
1327
+ #
1328
+ # @!attribute [rw] payload
1329
+ # The content of the exported notebook.
1330
+ # @return [String]
1331
+ #
1332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExportNotebookOutput AWS API Documentation
1333
+ #
1334
+ class ExportNotebookOutput < Struct.new(
1335
+ :notebook_metadata,
1336
+ :payload)
1337
+ SENSITIVE = []
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # A string for searching notebook names.
1342
+ #
1343
+ # @!attribute [rw] name
1344
+ # The name of the notebook to search for.
1345
+ # @return [String]
1346
+ #
1347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/FilterDefinition AWS API Documentation
1348
+ #
1349
+ class FilterDefinition < Struct.new(
1350
+ :name)
1351
+ SENSITIVE = []
1352
+ include Aws::Structure
1353
+ end
1354
+
1355
+ # @!attribute [rw] calculation_execution_id
1356
+ # The calculation execution UUID.
1357
+ # @return [String]
1358
+ #
1359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionCodeRequest AWS API Documentation
1360
+ #
1361
+ class GetCalculationExecutionCodeRequest < Struct.new(
1362
+ :calculation_execution_id)
1363
+ SENSITIVE = []
1364
+ include Aws::Structure
1365
+ end
1366
+
1367
+ # @!attribute [rw] code_block
1368
+ # The unencrypted code that was executed for the calculation.
1369
+ # @return [String]
1370
+ #
1371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionCodeResponse AWS API Documentation
1372
+ #
1373
+ class GetCalculationExecutionCodeResponse < Struct.new(
1374
+ :code_block)
1375
+ SENSITIVE = []
1376
+ include Aws::Structure
1377
+ end
1378
+
1379
+ # @!attribute [rw] calculation_execution_id
1380
+ # The calculation execution UUID.
1381
+ # @return [String]
1382
+ #
1383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionRequest AWS API Documentation
1384
+ #
1385
+ class GetCalculationExecutionRequest < Struct.new(
1386
+ :calculation_execution_id)
1387
+ SENSITIVE = []
1388
+ include Aws::Structure
1389
+ end
1390
+
1391
+ # @!attribute [rw] calculation_execution_id
1392
+ # The calculation execution UUID.
1393
+ # @return [String]
1394
+ #
1395
+ # @!attribute [rw] session_id
1396
+ # The session ID that the calculation ran in.
1397
+ # @return [String]
1398
+ #
1399
+ # @!attribute [rw] description
1400
+ # The description of the calculation execution.
1401
+ # @return [String]
1402
+ #
1403
+ # @!attribute [rw] working_directory
1404
+ # The Amazon S3 location in which calculation results are stored.
1405
+ # @return [String]
1406
+ #
1407
+ # @!attribute [rw] status
1408
+ # Contains information about the status of the calculation.
1409
+ # @return [Types::CalculationStatus]
1410
+ #
1411
+ # @!attribute [rw] statistics
1412
+ # Contains information about the data processing unit (DPU) execution
1413
+ # time and progress. This field is populated only when statistics are
1414
+ # available.
1415
+ # @return [Types::CalculationStatistics]
1416
+ #
1417
+ # @!attribute [rw] result
1418
+ # Contains result information. This field is populated only if the
1419
+ # calculation is completed.
1420
+ # @return [Types::CalculationResult]
1421
+ #
1422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionResponse AWS API Documentation
1423
+ #
1424
+ class GetCalculationExecutionResponse < Struct.new(
1425
+ :calculation_execution_id,
1426
+ :session_id,
1427
+ :description,
1428
+ :working_directory,
1429
+ :status,
1430
+ :statistics,
1431
+ :result)
1432
+ SENSITIVE = []
1433
+ include Aws::Structure
1434
+ end
1435
+
1436
+ # @!attribute [rw] calculation_execution_id
1437
+ # The calculation execution UUID.
1438
+ # @return [String]
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionStatusRequest AWS API Documentation
1441
+ #
1442
+ class GetCalculationExecutionStatusRequest < Struct.new(
1443
+ :calculation_execution_id)
1444
+ SENSITIVE = []
1445
+ include Aws::Structure
1446
+ end
1447
+
1448
+ # @!attribute [rw] status
1449
+ # Contains information about the calculation execution status.
1450
+ # @return [Types::CalculationStatus]
1451
+ #
1452
+ # @!attribute [rw] statistics
1453
+ # Contains information about the DPU execution time and progress.
1454
+ # @return [Types::CalculationStatistics]
1455
+ #
1456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionStatusResponse AWS API Documentation
1457
+ #
1458
+ class GetCalculationExecutionStatusResponse < Struct.new(
1459
+ :status,
1460
+ :statistics)
1461
+ SENSITIVE = []
1462
+ include Aws::Structure
1463
+ end
1464
+
1465
+ # @!attribute [rw] capacity_reservation_name
1466
+ # The name of the capacity reservation to retrieve the capacity
1467
+ # assignment configuration for.
1468
+ # @return [String]
1469
+ #
1470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityAssignmentConfigurationInput AWS API Documentation
1471
+ #
1472
+ class GetCapacityAssignmentConfigurationInput < Struct.new(
1473
+ :capacity_reservation_name)
1474
+ SENSITIVE = []
1475
+ include Aws::Structure
1476
+ end
1477
+
1478
+ # @!attribute [rw] capacity_assignment_configuration
1479
+ # The requested capacity assignment configuration for the specified
1480
+ # capacity reservation.
1481
+ # @return [Types::CapacityAssignmentConfiguration]
1482
+ #
1483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityAssignmentConfigurationOutput AWS API Documentation
1484
+ #
1485
+ class GetCapacityAssignmentConfigurationOutput < Struct.new(
1486
+ :capacity_assignment_configuration)
1487
+ SENSITIVE = []
1488
+ include Aws::Structure
1489
+ end
1490
+
1491
+ # @!attribute [rw] name
1492
+ # The name of the capacity reservation.
1493
+ # @return [String]
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityReservationInput AWS API Documentation
1496
+ #
1497
+ class GetCapacityReservationInput < Struct.new(
1498
+ :name)
1499
+ SENSITIVE = []
1500
+ include Aws::Structure
1501
+ end
1502
+
1503
+ # @!attribute [rw] capacity_reservation
1504
+ # The requested capacity reservation structure.
1505
+ # @return [Types::CapacityReservation]
799
1506
  #
800
- # {
801
- # name: "CatalogNameString", # required
802
- # }
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityReservationOutput AWS API Documentation
803
1508
  #
1509
+ class GetCapacityReservationOutput < Struct.new(
1510
+ :capacity_reservation)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ end
1514
+
804
1515
  # @!attribute [rw] name
805
1516
  # The name of the data catalog to return.
806
1517
  # @return [String]
807
1518
  #
1519
+ # @!attribute [rw] work_group
1520
+ # The name of the workgroup. Required if making an IAM Identity Center
1521
+ # request.
1522
+ # @return [String]
1523
+ #
808
1524
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalogInput AWS API Documentation
809
1525
  #
810
1526
  class GetDataCatalogInput < Struct.new(
811
- :name)
1527
+ :name,
1528
+ :work_group)
812
1529
  SENSITIVE = []
813
1530
  include Aws::Structure
814
1531
  end
@@ -825,14 +1542,6 @@ module Aws::Athena
825
1542
  include Aws::Structure
826
1543
  end
827
1544
 
828
- # @note When making an API call, you may pass GetDatabaseInput
829
- # data as a hash:
830
- #
831
- # {
832
- # catalog_name: "CatalogNameString", # required
833
- # database_name: "NameString", # required
834
- # }
835
- #
836
1545
  # @!attribute [rw] catalog_name
837
1546
  # The name of the data catalog that contains the database to return.
838
1547
  # @return [String]
@@ -841,11 +1550,18 @@ module Aws::Athena
841
1550
  # The name of the database to return.
842
1551
  # @return [String]
843
1552
  #
1553
+ # @!attribute [rw] work_group
1554
+ # The name of the workgroup for which the metadata is being fetched.
1555
+ # Required if requesting an IAM Identity Center enabled Glue Data
1556
+ # Catalog.
1557
+ # @return [String]
1558
+ #
844
1559
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabaseInput AWS API Documentation
845
1560
  #
846
1561
  class GetDatabaseInput < Struct.new(
847
1562
  :catalog_name,
848
- :database_name)
1563
+ :database_name,
1564
+ :work_group)
849
1565
  SENSITIVE = []
850
1566
  include Aws::Structure
851
1567
  end
@@ -862,13 +1578,6 @@ module Aws::Athena
862
1578
  include Aws::Structure
863
1579
  end
864
1580
 
865
- # @note When making an API call, you may pass GetNamedQueryInput
866
- # data as a hash:
867
- #
868
- # {
869
- # named_query_id: "NamedQueryId", # required
870
- # }
871
- #
872
1581
  # @!attribute [rw] named_query_id
873
1582
  # The unique ID of the query. Use ListNamedQueries to get query IDs.
874
1583
  # @return [String]
@@ -893,14 +1602,30 @@ module Aws::Athena
893
1602
  include Aws::Structure
894
1603
  end
895
1604
 
896
- # @note When making an API call, you may pass GetPreparedStatementInput
897
- # data as a hash:
1605
+ # @!attribute [rw] notebook_id
1606
+ # The ID of the notebook whose metadata is to be retrieved.
1607
+ # @return [String]
1608
+ #
1609
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNotebookMetadataInput AWS API Documentation
1610
+ #
1611
+ class GetNotebookMetadataInput < Struct.new(
1612
+ :notebook_id)
1613
+ SENSITIVE = []
1614
+ include Aws::Structure
1615
+ end
1616
+
1617
+ # @!attribute [rw] notebook_metadata
1618
+ # The metadata that is returned for the specified notebook ID.
1619
+ # @return [Types::NotebookMetadata]
898
1620
  #
899
- # {
900
- # statement_name: "StatementName", # required
901
- # work_group: "WorkGroupName", # required
902
- # }
1621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNotebookMetadataOutput AWS API Documentation
903
1622
  #
1623
+ class GetNotebookMetadataOutput < Struct.new(
1624
+ :notebook_metadata)
1625
+ SENSITIVE = []
1626
+ include Aws::Structure
1627
+ end
1628
+
904
1629
  # @!attribute [rw] statement_name
905
1630
  # The name of the prepared statement to retrieve.
906
1631
  # @return [String]
@@ -930,13 +1655,6 @@ module Aws::Athena
930
1655
  include Aws::Structure
931
1656
  end
932
1657
 
933
- # @note When making an API call, you may pass GetQueryExecutionInput
934
- # data as a hash:
935
- #
936
- # {
937
- # query_execution_id: "QueryExecutionId", # required
938
- # }
939
- #
940
1658
  # @!attribute [rw] query_execution_id
941
1659
  # The unique ID of the query execution.
942
1660
  # @return [String]
@@ -961,15 +1679,6 @@ module Aws::Athena
961
1679
  include Aws::Structure
962
1680
  end
963
1681
 
964
- # @note When making an API call, you may pass GetQueryResultsInput
965
- # data as a hash:
966
- #
967
- # {
968
- # query_execution_id: "QueryExecutionId", # required
969
- # next_token: "Token",
970
- # max_results: 1,
971
- # }
972
- #
973
1682
  # @!attribute [rw] query_execution_id
974
1683
  # The unique ID of the query execution.
975
1684
  # @return [String]
@@ -1021,34 +1730,152 @@ module Aws::Athena
1021
1730
  include Aws::Structure
1022
1731
  end
1023
1732
 
1024
- # @note When making an API call, you may pass GetTableMetadataInput
1025
- # data as a hash:
1026
- #
1027
- # {
1028
- # catalog_name: "CatalogNameString", # required
1029
- # database_name: "NameString", # required
1030
- # table_name: "NameString", # required
1031
- # }
1032
- #
1033
- # @!attribute [rw] catalog_name
1034
- # The name of the data catalog that contains the database and table
1035
- # metadata to return.
1733
+ # @!attribute [rw] query_execution_id
1734
+ # The unique ID of the query execution.
1036
1735
  # @return [String]
1037
1736
  #
1038
- # @!attribute [rw] database_name
1039
- # The name of the database that contains the table metadata to return.
1040
- # @return [String]
1737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryRuntimeStatisticsInput AWS API Documentation
1041
1738
  #
1042
- # @!attribute [rw] table_name
1043
- # The name of the table for which metadata is returned.
1044
- # @return [String]
1739
+ class GetQueryRuntimeStatisticsInput < Struct.new(
1740
+ :query_execution_id)
1741
+ SENSITIVE = []
1742
+ include Aws::Structure
1743
+ end
1744
+
1745
+ # @!attribute [rw] query_runtime_statistics
1746
+ # Runtime statistics about the query execution.
1747
+ # @return [Types::QueryRuntimeStatistics]
1748
+ #
1749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryRuntimeStatisticsOutput AWS API Documentation
1750
+ #
1751
+ class GetQueryRuntimeStatisticsOutput < Struct.new(
1752
+ :query_runtime_statistics)
1753
+ SENSITIVE = []
1754
+ include Aws::Structure
1755
+ end
1756
+
1757
+ # @!attribute [rw] session_id
1758
+ # The session ID.
1759
+ # @return [String]
1760
+ #
1761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionRequest AWS API Documentation
1762
+ #
1763
+ class GetSessionRequest < Struct.new(
1764
+ :session_id)
1765
+ SENSITIVE = []
1766
+ include Aws::Structure
1767
+ end
1768
+
1769
+ # @!attribute [rw] session_id
1770
+ # The session ID.
1771
+ # @return [String]
1772
+ #
1773
+ # @!attribute [rw] description
1774
+ # The session description.
1775
+ # @return [String]
1776
+ #
1777
+ # @!attribute [rw] work_group
1778
+ # The workgroup to which the session belongs.
1779
+ # @return [String]
1780
+ #
1781
+ # @!attribute [rw] engine_version
1782
+ # The engine version used by the session (for example, `PySpark engine
1783
+ # version 3`). You can get a list of engine versions by calling
1784
+ # ListEngineVersions.
1785
+ # @return [String]
1786
+ #
1787
+ # @!attribute [rw] engine_configuration
1788
+ # Contains engine configuration information like DPU usage.
1789
+ # @return [Types::EngineConfiguration]
1790
+ #
1791
+ # @!attribute [rw] notebook_version
1792
+ # The notebook version.
1793
+ # @return [String]
1794
+ #
1795
+ # @!attribute [rw] session_configuration
1796
+ # Contains the workgroup configuration information used by the
1797
+ # session.
1798
+ # @return [Types::SessionConfiguration]
1799
+ #
1800
+ # @!attribute [rw] status
1801
+ # Contains information about the status of the session.
1802
+ # @return [Types::SessionStatus]
1803
+ #
1804
+ # @!attribute [rw] statistics
1805
+ # Contains the DPU execution time.
1806
+ # @return [Types::SessionStatistics]
1807
+ #
1808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionResponse AWS API Documentation
1809
+ #
1810
+ class GetSessionResponse < Struct.new(
1811
+ :session_id,
1812
+ :description,
1813
+ :work_group,
1814
+ :engine_version,
1815
+ :engine_configuration,
1816
+ :notebook_version,
1817
+ :session_configuration,
1818
+ :status,
1819
+ :statistics)
1820
+ SENSITIVE = []
1821
+ include Aws::Structure
1822
+ end
1823
+
1824
+ # @!attribute [rw] session_id
1825
+ # The session ID.
1826
+ # @return [String]
1827
+ #
1828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatusRequest AWS API Documentation
1829
+ #
1830
+ class GetSessionStatusRequest < Struct.new(
1831
+ :session_id)
1832
+ SENSITIVE = []
1833
+ include Aws::Structure
1834
+ end
1835
+
1836
+ # @!attribute [rw] session_id
1837
+ # The session ID.
1838
+ # @return [String]
1839
+ #
1840
+ # @!attribute [rw] status
1841
+ # Contains information about the status of the session.
1842
+ # @return [Types::SessionStatus]
1843
+ #
1844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatusResponse AWS API Documentation
1845
+ #
1846
+ class GetSessionStatusResponse < Struct.new(
1847
+ :session_id,
1848
+ :status)
1849
+ SENSITIVE = []
1850
+ include Aws::Structure
1851
+ end
1852
+
1853
+ # @!attribute [rw] catalog_name
1854
+ # The name of the data catalog that contains the database and table
1855
+ # metadata to return.
1856
+ # @return [String]
1857
+ #
1858
+ # @!attribute [rw] database_name
1859
+ # The name of the database that contains the table metadata to return.
1860
+ # @return [String]
1861
+ #
1862
+ # @!attribute [rw] table_name
1863
+ # The name of the table for which metadata is returned.
1864
+ # @return [String]
1865
+ #
1866
+ # @!attribute [rw] work_group
1867
+ # The name of the workgroup for which the metadata is being fetched.
1868
+ # Required if requesting an IAM Identity Center enabled Glue Data
1869
+ # Catalog.
1870
+ # @return [String]
1045
1871
  #
1046
1872
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadataInput AWS API Documentation
1047
1873
  #
1048
1874
  class GetTableMetadataInput < Struct.new(
1049
1875
  :catalog_name,
1050
1876
  :database_name,
1051
- :table_name)
1877
+ :table_name,
1878
+ :work_group)
1052
1879
  SENSITIVE = []
1053
1880
  include Aws::Structure
1054
1881
  end
@@ -1065,13 +1892,6 @@ module Aws::Athena
1065
1892
  include Aws::Structure
1066
1893
  end
1067
1894
 
1068
- # @note When making an API call, you may pass GetWorkGroupInput
1069
- # data as a hash:
1070
- #
1071
- # {
1072
- # work_group: "WorkGroupName", # required
1073
- # }
1074
- #
1075
1895
  # @!attribute [rw] work_group
1076
1896
  # The name of the workgroup.
1077
1897
  # @return [String]
@@ -1096,6 +1916,85 @@ module Aws::Athena
1096
1916
  include Aws::Structure
1097
1917
  end
1098
1918
 
1919
+ # Specifies whether the workgroup is IAM Identity Center supported.
1920
+ #
1921
+ # @!attribute [rw] enable_identity_center
1922
+ # Specifies whether the workgroup is IAM Identity Center supported.
1923
+ # @return [Boolean]
1924
+ #
1925
+ # @!attribute [rw] identity_center_instance_arn
1926
+ # The IAM Identity Center instance ARN that the workgroup associates
1927
+ # to.
1928
+ # @return [String]
1929
+ #
1930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/IdentityCenterConfiguration AWS API Documentation
1931
+ #
1932
+ class IdentityCenterConfiguration < Struct.new(
1933
+ :enable_identity_center,
1934
+ :identity_center_instance_arn)
1935
+ SENSITIVE = []
1936
+ include Aws::Structure
1937
+ end
1938
+
1939
+ # @!attribute [rw] work_group
1940
+ # The name of the Spark enabled workgroup to import the notebook to.
1941
+ # @return [String]
1942
+ #
1943
+ # @!attribute [rw] name
1944
+ # The name of the notebook to import.
1945
+ # @return [String]
1946
+ #
1947
+ # @!attribute [rw] payload
1948
+ # The notebook content to be imported. The payload must be in `ipynb`
1949
+ # format.
1950
+ # @return [String]
1951
+ #
1952
+ # @!attribute [rw] type
1953
+ # The notebook content type. Currently, the only valid type is
1954
+ # `IPYNB`.
1955
+ # @return [String]
1956
+ #
1957
+ # @!attribute [rw] notebook_s3_location_uri
1958
+ # A URI that specifies the Amazon S3 location of a notebook file in
1959
+ # `ipynb` format.
1960
+ # @return [String]
1961
+ #
1962
+ # @!attribute [rw] client_request_token
1963
+ # A unique case-sensitive string used to ensure the request to import
1964
+ # the notebook is idempotent (executes only once).
1965
+ #
1966
+ # This token is listed as not required because Amazon Web Services
1967
+ # SDKs (for example the Amazon Web Services SDK for Java)
1968
+ # auto-generate the token for you. If you are not using the Amazon Web
1969
+ # Services SDK or the Amazon Web Services CLI, you must provide this
1970
+ # token or the action will fail.
1971
+ # @return [String]
1972
+ #
1973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebookInput AWS API Documentation
1974
+ #
1975
+ class ImportNotebookInput < Struct.new(
1976
+ :work_group,
1977
+ :name,
1978
+ :payload,
1979
+ :type,
1980
+ :notebook_s3_location_uri,
1981
+ :client_request_token)
1982
+ SENSITIVE = []
1983
+ include Aws::Structure
1984
+ end
1985
+
1986
+ # @!attribute [rw] notebook_id
1987
+ # The ID assigned to the imported notebook.
1988
+ # @return [String]
1989
+ #
1990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebookOutput AWS API Documentation
1991
+ #
1992
+ class ImportNotebookOutput < Struct.new(
1993
+ :notebook_id)
1994
+ SENSITIVE = []
1995
+ include Aws::Structure
1996
+ end
1997
+
1099
1998
  # Indicates a platform issue, which may be due to a transient condition
1100
1999
  # or outage.
1101
2000
  #
@@ -1130,14 +2029,152 @@ module Aws::Athena
1130
2029
  include Aws::Structure
1131
2030
  end
1132
2031
 
1133
- # @note When making an API call, you may pass ListDataCatalogsInput
1134
- # data as a hash:
2032
+ # @!attribute [rw] max_results
2033
+ # Specifies the maximum number of results to return.
2034
+ # @return [Integer]
2035
+ #
2036
+ # @!attribute [rw] next_token
2037
+ # A token generated by the Athena service that specifies where to
2038
+ # continue pagination if a previous request was truncated.
2039
+ # @return [String]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizesInput AWS API Documentation
2042
+ #
2043
+ class ListApplicationDPUSizesInput < Struct.new(
2044
+ :max_results,
2045
+ :next_token)
2046
+ SENSITIVE = []
2047
+ include Aws::Structure
2048
+ end
2049
+
2050
+ # @!attribute [rw] application_dpu_sizes
2051
+ # A list of the supported DPU sizes that the application runtime
2052
+ # supports.
2053
+ # @return [Array<Types::ApplicationDPUSizes>]
2054
+ #
2055
+ # @!attribute [rw] next_token
2056
+ # A token generated by the Athena service that specifies where to
2057
+ # continue pagination if a previous request was truncated. To obtain
2058
+ # the next set of pages, pass in the `NextToken` from the response
2059
+ # object of the previous page call.
2060
+ # @return [String]
2061
+ #
2062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizesOutput AWS API Documentation
2063
+ #
2064
+ class ListApplicationDPUSizesOutput < Struct.new(
2065
+ :application_dpu_sizes,
2066
+ :next_token)
2067
+ SENSITIVE = []
2068
+ include Aws::Structure
2069
+ end
2070
+
2071
+ # @!attribute [rw] session_id
2072
+ # The session ID.
2073
+ # @return [String]
2074
+ #
2075
+ # @!attribute [rw] state_filter
2076
+ # A filter for a specific calculation execution state. A description
2077
+ # of each state follows.
2078
+ #
2079
+ # `CREATING` - The calculation is in the process of being created.
2080
+ #
2081
+ # `CREATED` - The calculation has been created and is ready to run.
2082
+ #
2083
+ # `QUEUED` - The calculation has been queued for processing.
2084
+ #
2085
+ # `RUNNING` - The calculation is running.
2086
+ #
2087
+ # `CANCELING` - A request to cancel the calculation has been received
2088
+ # and the system is working to stop it.
2089
+ #
2090
+ # `CANCELED` - The calculation is no longer running as the result of a
2091
+ # cancel request.
2092
+ #
2093
+ # `COMPLETED` - The calculation has completed without error.
2094
+ #
2095
+ # `FAILED` - The calculation failed and is no longer running.
2096
+ # @return [String]
2097
+ #
2098
+ # @!attribute [rw] max_results
2099
+ # The maximum number of calculation executions to return.
2100
+ # @return [Integer]
2101
+ #
2102
+ # @!attribute [rw] next_token
2103
+ # A token generated by the Athena service that specifies where to
2104
+ # continue pagination if a previous request was truncated. To obtain
2105
+ # the next set of pages, pass in the `NextToken` from the response
2106
+ # object of the previous page call.
2107
+ # @return [String]
2108
+ #
2109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutionsRequest AWS API Documentation
2110
+ #
2111
+ class ListCalculationExecutionsRequest < Struct.new(
2112
+ :session_id,
2113
+ :state_filter,
2114
+ :max_results,
2115
+ :next_token)
2116
+ SENSITIVE = []
2117
+ include Aws::Structure
2118
+ end
2119
+
2120
+ # @!attribute [rw] next_token
2121
+ # A token generated by the Athena service that specifies where to
2122
+ # continue pagination if a previous request was truncated. To obtain
2123
+ # the next set of pages, pass in the `NextToken` from the response
2124
+ # object of the previous page call.
2125
+ # @return [String]
2126
+ #
2127
+ # @!attribute [rw] calculations
2128
+ # A list of CalculationSummary objects.
2129
+ # @return [Array<Types::CalculationSummary>]
2130
+ #
2131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutionsResponse AWS API Documentation
2132
+ #
2133
+ class ListCalculationExecutionsResponse < Struct.new(
2134
+ :next_token,
2135
+ :calculations)
2136
+ SENSITIVE = []
2137
+ include Aws::Structure
2138
+ end
2139
+
2140
+ # @!attribute [rw] next_token
2141
+ # A token generated by the Athena service that specifies where to
2142
+ # continue pagination if a previous request was truncated.
2143
+ # @return [String]
2144
+ #
2145
+ # @!attribute [rw] max_results
2146
+ # Specifies the maximum number of results to return.
2147
+ # @return [Integer]
2148
+ #
2149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCapacityReservationsInput AWS API Documentation
2150
+ #
2151
+ class ListCapacityReservationsInput < Struct.new(
2152
+ :next_token,
2153
+ :max_results)
2154
+ SENSITIVE = []
2155
+ include Aws::Structure
2156
+ end
2157
+
2158
+ # @!attribute [rw] next_token
2159
+ # A token generated by the Athena service that specifies where to
2160
+ # continue pagination if a previous request was truncated. To obtain
2161
+ # the next set of pages, pass in the NextToken from the response
2162
+ # object of the previous page call.
2163
+ # @return [String]
2164
+ #
2165
+ # @!attribute [rw] capacity_reservations
2166
+ # The capacity reservations for the current account.
2167
+ # @return [Array<Types::CapacityReservation>]
1135
2168
  #
1136
- # {
1137
- # next_token: "Token",
1138
- # max_results: 1,
1139
- # }
2169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCapacityReservationsOutput AWS API Documentation
1140
2170
  #
2171
+ class ListCapacityReservationsOutput < Struct.new(
2172
+ :next_token,
2173
+ :capacity_reservations)
2174
+ SENSITIVE = []
2175
+ include Aws::Structure
2176
+ end
2177
+
1141
2178
  # @!attribute [rw] next_token
1142
2179
  # A token generated by the Athena service that specifies where to
1143
2180
  # continue pagination if a previous request was truncated. To obtain
@@ -1149,11 +2186,17 @@ module Aws::Athena
1149
2186
  # Specifies the maximum number of data catalogs to return.
1150
2187
  # @return [Integer]
1151
2188
  #
2189
+ # @!attribute [rw] work_group
2190
+ # The name of the workgroup. Required if making an IAM Identity Center
2191
+ # request.
2192
+ # @return [String]
2193
+ #
1152
2194
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogsInput AWS API Documentation
1153
2195
  #
1154
2196
  class ListDataCatalogsInput < Struct.new(
1155
2197
  :next_token,
1156
- :max_results)
2198
+ :max_results,
2199
+ :work_group)
1157
2200
  SENSITIVE = []
1158
2201
  include Aws::Structure
1159
2202
  end
@@ -1178,15 +2221,6 @@ module Aws::Athena
1178
2221
  include Aws::Structure
1179
2222
  end
1180
2223
 
1181
- # @note When making an API call, you may pass ListDatabasesInput
1182
- # data as a hash:
1183
- #
1184
- # {
1185
- # catalog_name: "CatalogNameString", # required
1186
- # next_token: "Token",
1187
- # max_results: 1,
1188
- # }
1189
- #
1190
2224
  # @!attribute [rw] catalog_name
1191
2225
  # The name of the data catalog that contains the databases to return.
1192
2226
  # @return [String]
@@ -1202,12 +2236,19 @@ module Aws::Athena
1202
2236
  # Specifies the maximum number of results to return.
1203
2237
  # @return [Integer]
1204
2238
  #
2239
+ # @!attribute [rw] work_group
2240
+ # The name of the workgroup for which the metadata is being fetched.
2241
+ # Required if requesting an IAM Identity Center enabled Glue Data
2242
+ # Catalog.
2243
+ # @return [String]
2244
+ #
1205
2245
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabasesInput AWS API Documentation
1206
2246
  #
1207
2247
  class ListDatabasesInput < Struct.new(
1208
2248
  :catalog_name,
1209
2249
  :next_token,
1210
- :max_results)
2250
+ :max_results,
2251
+ :work_group)
1211
2252
  SENSITIVE = []
1212
2253
  include Aws::Structure
1213
2254
  end
@@ -1232,14 +2273,6 @@ module Aws::Athena
1232
2273
  include Aws::Structure
1233
2274
  end
1234
2275
 
1235
- # @note When making an API call, you may pass ListEngineVersionsInput
1236
- # data as a hash:
1237
- #
1238
- # {
1239
- # next_token: "Token",
1240
- # max_results: 1,
1241
- # }
1242
- #
1243
2276
  # @!attribute [rw] next_token
1244
2277
  # A token generated by the Athena service that specifies where to
1245
2278
  # continue pagination if a previous request was truncated. To obtain
@@ -1280,14 +2313,31 @@ module Aws::Athena
1280
2313
  include Aws::Structure
1281
2314
  end
1282
2315
 
1283
- # @note When making an API call, you may pass ListNamedQueriesInput
1284
- # data as a hash:
2316
+ # @!attribute [rw] session_id
2317
+ # The session ID.
2318
+ # @return [String]
1285
2319
  #
1286
- # {
1287
- # next_token: "Token",
1288
- # max_results: 1,
1289
- # work_group: "WorkGroupName",
1290
- # }
2320
+ # @!attribute [rw] executor_state_filter
2321
+ # A filter for a specific executor state. A description of each state
2322
+ # follows.
2323
+ #
2324
+ # `CREATING` - The executor is being started, including acquiring
2325
+ # resources.
2326
+ #
2327
+ # `CREATED` - The executor has been started.
2328
+ #
2329
+ # `REGISTERED` - The executor has been registered.
2330
+ #
2331
+ # `TERMINATING` - The executor is in the process of shutting down.
2332
+ #
2333
+ # `TERMINATED` - The executor is no longer running.
2334
+ #
2335
+ # `FAILED` - Due to a failure, the executor is no longer running.
2336
+ # @return [String]
2337
+ #
2338
+ # @!attribute [rw] max_results
2339
+ # The maximum number of executors to return.
2340
+ # @return [Integer]
1291
2341
  #
1292
2342
  # @!attribute [rw] next_token
1293
2343
  # A token generated by the Athena service that specifies where to
@@ -1296,13 +2346,56 @@ module Aws::Athena
1296
2346
  # object of the previous page call.
1297
2347
  # @return [String]
1298
2348
  #
1299
- # @!attribute [rw] max_results
1300
- # The maximum number of queries to return in this request.
1301
- # @return [Integer]
2349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutorsRequest AWS API Documentation
1302
2350
  #
1303
- # @!attribute [rw] work_group
1304
- # The name of the workgroup from which the named queries are being
1305
- # returned. If a workgroup is not specified, the saved queries for the
2351
+ class ListExecutorsRequest < Struct.new(
2352
+ :session_id,
2353
+ :executor_state_filter,
2354
+ :max_results,
2355
+ :next_token)
2356
+ SENSITIVE = []
2357
+ include Aws::Structure
2358
+ end
2359
+
2360
+ # @!attribute [rw] session_id
2361
+ # The session ID.
2362
+ # @return [String]
2363
+ #
2364
+ # @!attribute [rw] next_token
2365
+ # A token generated by the Athena service that specifies where to
2366
+ # continue pagination if a previous request was truncated. To obtain
2367
+ # the next set of pages, pass in the `NextToken` from the response
2368
+ # object of the previous page call.
2369
+ # @return [String]
2370
+ #
2371
+ # @!attribute [rw] executors_summary
2372
+ # Contains summary information about the executor.
2373
+ # @return [Array<Types::ExecutorsSummary>]
2374
+ #
2375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutorsResponse AWS API Documentation
2376
+ #
2377
+ class ListExecutorsResponse < Struct.new(
2378
+ :session_id,
2379
+ :next_token,
2380
+ :executors_summary)
2381
+ SENSITIVE = []
2382
+ include Aws::Structure
2383
+ end
2384
+
2385
+ # @!attribute [rw] next_token
2386
+ # A token generated by the Athena service that specifies where to
2387
+ # continue pagination if a previous request was truncated. To obtain
2388
+ # the next set of pages, pass in the `NextToken` from the response
2389
+ # object of the previous page call.
2390
+ # @return [String]
2391
+ #
2392
+ # @!attribute [rw] max_results
2393
+ # The maximum number of queries to return in this request.
2394
+ # @return [Integer]
2395
+ #
2396
+ # @!attribute [rw] work_group
2397
+ # The name of the workgroup from which the named queries are being
2398
+ # returned. If a workgroup is not specified, the saved queries for the
1306
2399
  # primary workgroup are returned.
1307
2400
  # @return [String]
1308
2401
  #
@@ -1336,15 +2429,100 @@ module Aws::Athena
1336
2429
  include Aws::Structure
1337
2430
  end
1338
2431
 
1339
- # @note When making an API call, you may pass ListPreparedStatementsInput
1340
- # data as a hash:
2432
+ # @!attribute [rw] filters
2433
+ # Search filter string.
2434
+ # @return [Types::FilterDefinition]
2435
+ #
2436
+ # @!attribute [rw] next_token
2437
+ # A token generated by the Athena service that specifies where to
2438
+ # continue pagination if a previous request was truncated.
2439
+ # @return [String]
2440
+ #
2441
+ # @!attribute [rw] max_results
2442
+ # Specifies the maximum number of results to return.
2443
+ # @return [Integer]
2444
+ #
2445
+ # @!attribute [rw] work_group
2446
+ # The name of the Spark enabled workgroup to retrieve notebook
2447
+ # metadata for.
2448
+ # @return [String]
2449
+ #
2450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadataInput AWS API Documentation
2451
+ #
2452
+ class ListNotebookMetadataInput < Struct.new(
2453
+ :filters,
2454
+ :next_token,
2455
+ :max_results,
2456
+ :work_group)
2457
+ SENSITIVE = []
2458
+ include Aws::Structure
2459
+ end
2460
+
2461
+ # @!attribute [rw] next_token
2462
+ # A token generated by the Athena service that specifies where to
2463
+ # continue pagination if a previous request was truncated. To obtain
2464
+ # the next set of pages, pass in the `NextToken` from the response
2465
+ # object of the previous page call.
2466
+ # @return [String]
2467
+ #
2468
+ # @!attribute [rw] notebook_metadata_list
2469
+ # The list of notebook metadata for the specified workgroup.
2470
+ # @return [Array<Types::NotebookMetadata>]
2471
+ #
2472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadataOutput AWS API Documentation
2473
+ #
2474
+ class ListNotebookMetadataOutput < Struct.new(
2475
+ :next_token,
2476
+ :notebook_metadata_list)
2477
+ SENSITIVE = []
2478
+ include Aws::Structure
2479
+ end
2480
+
2481
+ # @!attribute [rw] notebook_id
2482
+ # The ID of the notebook to list sessions for.
2483
+ # @return [String]
2484
+ #
2485
+ # @!attribute [rw] max_results
2486
+ # The maximum number of notebook sessions to return.
2487
+ # @return [Integer]
2488
+ #
2489
+ # @!attribute [rw] next_token
2490
+ # A token generated by the Athena service that specifies where to
2491
+ # continue pagination if a previous request was truncated. To obtain
2492
+ # the next set of pages, pass in the `NextToken` from the response
2493
+ # object of the previous page call.
2494
+ # @return [String]
2495
+ #
2496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessionsRequest AWS API Documentation
2497
+ #
2498
+ class ListNotebookSessionsRequest < Struct.new(
2499
+ :notebook_id,
2500
+ :max_results,
2501
+ :next_token)
2502
+ SENSITIVE = []
2503
+ include Aws::Structure
2504
+ end
2505
+
2506
+ # @!attribute [rw] notebook_sessions_list
2507
+ # A list of the sessions belonging to the notebook.
2508
+ # @return [Array<Types::NotebookSessionSummary>]
2509
+ #
2510
+ # @!attribute [rw] next_token
2511
+ # A token generated by the Athena service that specifies where to
2512
+ # continue pagination if a previous request was truncated. To obtain
2513
+ # the next set of pages, pass in the `NextToken` from the response
2514
+ # object of the previous page call.
2515
+ # @return [String]
1341
2516
  #
1342
- # {
1343
- # work_group: "WorkGroupName", # required
1344
- # next_token: "Token",
1345
- # max_results: 1,
1346
- # }
2517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessionsResponse AWS API Documentation
1347
2518
  #
2519
+ class ListNotebookSessionsResponse < Struct.new(
2520
+ :notebook_sessions_list,
2521
+ :next_token)
2522
+ SENSITIVE = []
2523
+ include Aws::Structure
2524
+ end
2525
+
1348
2526
  # @!attribute [rw] work_group
1349
2527
  # The workgroup to list the prepared statements for.
1350
2528
  # @return [String]
@@ -1390,15 +2568,6 @@ module Aws::Athena
1390
2568
  include Aws::Structure
1391
2569
  end
1392
2570
 
1393
- # @note When making an API call, you may pass ListQueryExecutionsInput
1394
- # data as a hash:
1395
- #
1396
- # {
1397
- # next_token: "Token",
1398
- # max_results: 1,
1399
- # work_group: "WorkGroupName",
1400
- # }
1401
- #
1402
2571
  # @!attribute [rw] next_token
1403
2572
  # A token generated by the Athena service that specifies where to
1404
2573
  # continue pagination if a previous request was truncated. To obtain
@@ -1443,17 +2612,76 @@ module Aws::Athena
1443
2612
  include Aws::Structure
1444
2613
  end
1445
2614
 
1446
- # @note When making an API call, you may pass ListTableMetadataInput
1447
- # data as a hash:
2615
+ # @!attribute [rw] work_group
2616
+ # The workgroup to which the session belongs.
2617
+ # @return [String]
2618
+ #
2619
+ # @!attribute [rw] state_filter
2620
+ # A filter for a specific session state. A description of each state
2621
+ # follows.
2622
+ #
2623
+ # `CREATING` - The session is being started, including acquiring
2624
+ # resources.
2625
+ #
2626
+ # `CREATED` - The session has been started.
2627
+ #
2628
+ # `IDLE` - The session is able to accept a calculation.
2629
+ #
2630
+ # `BUSY` - The session is processing another task and is unable to
2631
+ # accept a calculation.
2632
+ #
2633
+ # `TERMINATING` - The session is in the process of shutting down.
2634
+ #
2635
+ # `TERMINATED` - The session and its resources are no longer running.
2636
+ #
2637
+ # `DEGRADED` - The session has no healthy coordinators.
2638
+ #
2639
+ # `FAILED` - Due to a failure, the session and its resources are no
2640
+ # longer running.
2641
+ # @return [String]
2642
+ #
2643
+ # @!attribute [rw] max_results
2644
+ # The maximum number of sessions to return.
2645
+ # @return [Integer]
2646
+ #
2647
+ # @!attribute [rw] next_token
2648
+ # A token generated by the Athena service that specifies where to
2649
+ # continue pagination if a previous request was truncated. To obtain
2650
+ # the next set of pages, pass in the `NextToken` from the response
2651
+ # object of the previous page call.
2652
+ # @return [String]
2653
+ #
2654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessionsRequest AWS API Documentation
2655
+ #
2656
+ class ListSessionsRequest < Struct.new(
2657
+ :work_group,
2658
+ :state_filter,
2659
+ :max_results,
2660
+ :next_token)
2661
+ SENSITIVE = []
2662
+ include Aws::Structure
2663
+ end
2664
+
2665
+ # @!attribute [rw] next_token
2666
+ # A token generated by the Athena service that specifies where to
2667
+ # continue pagination if a previous request was truncated. To obtain
2668
+ # the next set of pages, pass in the `NextToken` from the response
2669
+ # object of the previous page call.
2670
+ # @return [String]
1448
2671
  #
1449
- # {
1450
- # catalog_name: "CatalogNameString", # required
1451
- # database_name: "NameString", # required
1452
- # expression: "ExpressionString",
1453
- # next_token: "Token",
1454
- # max_results: 1,
1455
- # }
2672
+ # @!attribute [rw] sessions
2673
+ # A list of sessions.
2674
+ # @return [Array<Types::SessionSummary>]
1456
2675
  #
2676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessionsResponse AWS API Documentation
2677
+ #
2678
+ class ListSessionsResponse < Struct.new(
2679
+ :next_token,
2680
+ :sessions)
2681
+ SENSITIVE = []
2682
+ include Aws::Structure
2683
+ end
2684
+
1457
2685
  # @!attribute [rw] catalog_name
1458
2686
  # The name of the data catalog for which table metadata should be
1459
2687
  # returned.
@@ -1480,6 +2708,12 @@ module Aws::Athena
1480
2708
  # Specifies the maximum number of results to return.
1481
2709
  # @return [Integer]
1482
2710
  #
2711
+ # @!attribute [rw] work_group
2712
+ # The name of the workgroup for which the metadata is being fetched.
2713
+ # Required if requesting an IAM Identity Center enabled Glue Data
2714
+ # Catalog.
2715
+ # @return [String]
2716
+ #
1483
2717
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadataInput AWS API Documentation
1484
2718
  #
1485
2719
  class ListTableMetadataInput < Struct.new(
@@ -1487,7 +2721,8 @@ module Aws::Athena
1487
2721
  :database_name,
1488
2722
  :expression,
1489
2723
  :next_token,
1490
- :max_results)
2724
+ :max_results,
2725
+ :work_group)
1491
2726
  SENSITIVE = []
1492
2727
  include Aws::Structure
1493
2728
  end
@@ -1512,15 +2747,6 @@ module Aws::Athena
1512
2747
  include Aws::Structure
1513
2748
  end
1514
2749
 
1515
- # @note When making an API call, you may pass ListTagsForResourceInput
1516
- # data as a hash:
1517
- #
1518
- # {
1519
- # resource_arn: "AmazonResourceName", # required
1520
- # next_token: "Token",
1521
- # max_results: 1,
1522
- # }
1523
- #
1524
2750
  # @!attribute [rw] resource_arn
1525
2751
  # Lists the tags for the resource with the specified ARN.
1526
2752
  # @return [String]
@@ -1563,14 +2789,6 @@ module Aws::Athena
1563
2789
  include Aws::Structure
1564
2790
  end
1565
2791
 
1566
- # @note When making an API call, you may pass ListWorkGroupsInput
1567
- # data as a hash:
1568
- #
1569
- # {
1570
- # next_token: "Token",
1571
- # max_results: 1,
1572
- # }
1573
- #
1574
2792
  # @!attribute [rw] next_token
1575
2793
  # A token generated by the Athena service that specifies where to
1576
2794
  # continue pagination if a previous request was truncated. To obtain
@@ -1630,8 +2848,8 @@ module Aws::Athena
1630
2848
  include Aws::Structure
1631
2849
  end
1632
2850
 
1633
- # A query, where `QueryString` is the list of SQL query statements that
1634
- # comprise the query.
2851
+ # A query, where `QueryString` contains the SQL statements that make up
2852
+ # the query.
1635
2853
  #
1636
2854
  # @!attribute [rw] name
1637
2855
  # The query name.
@@ -1646,7 +2864,7 @@ module Aws::Athena
1646
2864
  # @return [String]
1647
2865
  #
1648
2866
  # @!attribute [rw] query_string
1649
- # The SQL query statements that comprise the query.
2867
+ # The SQL statements that make up the query.
1650
2868
  # @return [String]
1651
2869
  #
1652
2870
  # @!attribute [rw] named_query_id
@@ -1670,6 +2888,66 @@ module Aws::Athena
1670
2888
  include Aws::Structure
1671
2889
  end
1672
2890
 
2891
+ # Contains metadata for notebook, including the notebook name, ID,
2892
+ # workgroup, and time created.
2893
+ #
2894
+ # @!attribute [rw] notebook_id
2895
+ # The notebook ID.
2896
+ # @return [String]
2897
+ #
2898
+ # @!attribute [rw] name
2899
+ # The name of the notebook.
2900
+ # @return [String]
2901
+ #
2902
+ # @!attribute [rw] work_group
2903
+ # The name of the Spark enabled workgroup to which the notebook
2904
+ # belongs.
2905
+ # @return [String]
2906
+ #
2907
+ # @!attribute [rw] creation_time
2908
+ # The time when the notebook was created.
2909
+ # @return [Time]
2910
+ #
2911
+ # @!attribute [rw] type
2912
+ # The type of notebook. Currently, the only valid type is `IPYNB`.
2913
+ # @return [String]
2914
+ #
2915
+ # @!attribute [rw] last_modified_time
2916
+ # The time when the notebook was last modified.
2917
+ # @return [Time]
2918
+ #
2919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/NotebookMetadata AWS API Documentation
2920
+ #
2921
+ class NotebookMetadata < Struct.new(
2922
+ :notebook_id,
2923
+ :name,
2924
+ :work_group,
2925
+ :creation_time,
2926
+ :type,
2927
+ :last_modified_time)
2928
+ SENSITIVE = []
2929
+ include Aws::Structure
2930
+ end
2931
+
2932
+ # Contains the notebook session ID and notebook session creation time.
2933
+ #
2934
+ # @!attribute [rw] session_id
2935
+ # The notebook session ID.
2936
+ # @return [String]
2937
+ #
2938
+ # @!attribute [rw] creation_time
2939
+ # The time when the notebook session was created.
2940
+ # @return [Time]
2941
+ #
2942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/NotebookSessionSummary AWS API Documentation
2943
+ #
2944
+ class NotebookSessionSummary < Struct.new(
2945
+ :session_id,
2946
+ :creation_time)
2947
+ SENSITIVE = []
2948
+ include Aws::Structure
2949
+ end
2950
+
1673
2951
  # A prepared SQL statement for use with Athena.
1674
2952
  #
1675
2953
  # @!attribute [rw] statement_name
@@ -1723,6 +3001,28 @@ module Aws::Athena
1723
3001
  include Aws::Structure
1724
3002
  end
1725
3003
 
3004
+ # @!attribute [rw] capacity_reservation_name
3005
+ # The name of the capacity reservation to put a capacity assignment
3006
+ # configuration for.
3007
+ # @return [String]
3008
+ #
3009
+ # @!attribute [rw] capacity_assignments
3010
+ # The list of assignments for the capacity assignment configuration.
3011
+ # @return [Array<Types::CapacityAssignment>]
3012
+ #
3013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/PutCapacityAssignmentConfigurationInput AWS API Documentation
3014
+ #
3015
+ class PutCapacityAssignmentConfigurationInput < Struct.new(
3016
+ :capacity_reservation_name,
3017
+ :capacity_assignments)
3018
+ SENSITIVE = []
3019
+ include Aws::Structure
3020
+ end
3021
+
3022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/PutCapacityAssignmentConfigurationOutput AWS API Documentation
3023
+ #
3024
+ class PutCapacityAssignmentConfigurationOutput < Aws::EmptyStructure; end
3025
+
1726
3026
  # Information about a single instance of a query execution.
1727
3027
  #
1728
3028
  # @!attribute [rw] query_execution_id
@@ -1742,14 +3042,19 @@ module Aws::Athena
1742
3042
  # @return [String]
1743
3043
  #
1744
3044
  # @!attribute [rw] result_configuration
1745
- # The location in Amazon S3 where query results were stored and the
1746
- # encryption option, if any, used for query results. These are known
1747
- # as "client-side settings". If workgroup settings override
1748
- # client-side settings, then the query uses the location for the query
1749
- # results and the encryption configuration that are specified for the
1750
- # workgroup.
3045
+ # The location in Amazon S3 where query and calculation results are
3046
+ # stored and the encryption option, if any, used for query results.
3047
+ # These are known as "client-side settings". If workgroup settings
3048
+ # override client-side settings, then the query uses the location for
3049
+ # the query results and the encryption configuration that are
3050
+ # specified for the workgroup.
1751
3051
  # @return [Types::ResultConfiguration]
1752
3052
  #
3053
+ # @!attribute [rw] result_reuse_configuration
3054
+ # Specifies the query result reuse behavior that was used for the
3055
+ # query.
3056
+ # @return [Types::ResultReuseConfiguration]
3057
+ #
1753
3058
  # @!attribute [rw] query_execution_context
1754
3059
  # The database in which the query execution occurred.
1755
3060
  # @return [Types::QueryExecutionContext]
@@ -1773,6 +3078,22 @@ module Aws::Athena
1773
3078
  # The engine version that executed the query.
1774
3079
  # @return [Types::EngineVersion]
1775
3080
  #
3081
+ # @!attribute [rw] execution_parameters
3082
+ # A list of values for the parameters in a query. The values are
3083
+ # applied sequentially to the parameters in the query in the order in
3084
+ # which the parameters occur. The list of parameters is not returned
3085
+ # in the response.
3086
+ # @return [Array<String>]
3087
+ #
3088
+ # @!attribute [rw] substatement_type
3089
+ # The kind of query statement that was run.
3090
+ # @return [String]
3091
+ #
3092
+ # @!attribute [rw] query_results_s3_access_grants_configuration
3093
+ # Specifies whether Amazon S3 access grants are enabled for query
3094
+ # results.
3095
+ # @return [Types::QueryResultsS3AccessGrantsConfiguration]
3096
+ #
1776
3097
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecution AWS API Documentation
1777
3098
  #
1778
3099
  class QueryExecution < Struct.new(
@@ -1780,11 +3101,15 @@ module Aws::Athena
1780
3101
  :query,
1781
3102
  :statement_type,
1782
3103
  :result_configuration,
3104
+ :result_reuse_configuration,
1783
3105
  :query_execution_context,
1784
3106
  :status,
1785
3107
  :statistics,
1786
3108
  :work_group,
1787
- :engine_version)
3109
+ :engine_version,
3110
+ :execution_parameters,
3111
+ :substatement_type,
3112
+ :query_results_s3_access_grants_configuration)
1788
3113
  SENSITIVE = []
1789
3114
  include Aws::Structure
1790
3115
  end
@@ -1792,14 +3117,6 @@ module Aws::Athena
1792
3117
  # The database and data catalog context in which the query execution
1793
3118
  # occurs.
1794
3119
  #
1795
- # @note When making an API call, you may pass QueryExecutionContext
1796
- # data as a hash:
1797
- #
1798
- # {
1799
- # database: "DatabaseString",
1800
- # catalog: "CatalogNameString",
1801
- # }
1802
- #
1803
3120
  # @!attribute [rw] database
1804
3121
  # The name of the database used in the query execution. The database
1805
3122
  # must exist in the catalog.
@@ -1855,6 +3172,11 @@ module Aws::Athena
1855
3172
  # might automatically add the query back to the queue.
1856
3173
  # @return [Integer]
1857
3174
  #
3175
+ # @!attribute [rw] service_pre_processing_time_in_millis
3176
+ # The number of milliseconds that Athena took to preprocess the query
3177
+ # before submitting the query to the query engine.
3178
+ # @return [Integer]
3179
+ #
1858
3180
  # @!attribute [rw] query_planning_time_in_millis
1859
3181
  # The number of milliseconds that Athena took to plan the query
1860
3182
  # processing flow. This includes the time spent retrieving table
@@ -1868,6 +3190,11 @@ module Aws::Athena
1868
3190
  # the query results after the query engine finished running the query.
1869
3191
  # @return [Integer]
1870
3192
  #
3193
+ # @!attribute [rw] result_reuse_information
3194
+ # Contains information about whether previous query results were
3195
+ # reused for the query.
3196
+ # @return [Types::ResultReuseInformation]
3197
+ #
1871
3198
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecutionStatistics AWS API Documentation
1872
3199
  #
1873
3200
  class QueryExecutionStatistics < Struct.new(
@@ -1876,8 +3203,10 @@ module Aws::Athena
1876
3203
  :data_manifest_location,
1877
3204
  :total_execution_time_in_millis,
1878
3205
  :query_queue_time_in_millis,
3206
+ :service_pre_processing_time_in_millis,
1879
3207
  :query_planning_time_in_millis,
1880
- :service_processing_time_in_millis)
3208
+ :service_processing_time_in_millis,
3209
+ :result_reuse_information)
1881
3210
  SENSITIVE = []
1882
3211
  include Aws::Structure
1883
3212
  end
@@ -1929,103 +3258,351 @@ module Aws::Athena
1929
3258
  include Aws::Structure
1930
3259
  end
1931
3260
 
1932
- # A resource, such as a workgroup, was not found.
3261
+ # Specifies whether Amazon S3 access grants are enabled for query
3262
+ # results.
1933
3263
  #
1934
- # @!attribute [rw] message
1935
- # @return [String]
3264
+ # @!attribute [rw] enable_s3_access_grants
3265
+ # Specifies whether Amazon S3 access grants are enabled for query
3266
+ # results.
3267
+ # @return [Boolean]
1936
3268
  #
1937
- # @!attribute [rw] resource_name
3269
+ # @!attribute [rw] create_user_level_prefix
3270
+ # When enabled, appends the user ID as an Amazon S3 path prefix to the
3271
+ # query result output location.
3272
+ # @return [Boolean]
3273
+ #
3274
+ # @!attribute [rw] authentication_type
3275
+ # The authentication type used for Amazon S3 access grants. Currently,
3276
+ # only `DIRECTORY_IDENTITY` is supported.
1938
3277
  # @return [String]
1939
3278
  #
1940
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResourceNotFoundException AWS API Documentation
3279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryResultsS3AccessGrantsConfiguration AWS API Documentation
1941
3280
  #
1942
- class ResourceNotFoundException < Struct.new(
1943
- :message,
1944
- :resource_name)
3281
+ class QueryResultsS3AccessGrantsConfiguration < Struct.new(
3282
+ :enable_s3_access_grants,
3283
+ :create_user_level_prefix,
3284
+ :authentication_type)
1945
3285
  SENSITIVE = []
1946
3286
  include Aws::Structure
1947
3287
  end
1948
3288
 
1949
- # The location in Amazon S3 where query results are stored and the
1950
- # encryption option, if any, used for query results. These are known as
1951
- # "client-side settings". If workgroup settings override client-side
1952
- # settings, then the query uses the workgroup settings.
1953
- #
1954
- # @note When making an API call, you may pass ResultConfiguration
1955
- # data as a hash:
3289
+ # The query execution timeline, statistics on input and output rows and
3290
+ # bytes, and the different query stages that form the query execution
3291
+ # plan.
1956
3292
  #
1957
- # {
1958
- # output_location: "String",
1959
- # encryption_configuration: {
1960
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
1961
- # kms_key: "String",
1962
- # },
1963
- # }
3293
+ # @!attribute [rw] timeline
3294
+ # Timeline statistics such as query queue time, planning time,
3295
+ # execution time, service processing time, and total execution time.
3296
+ # @return [Types::QueryRuntimeStatisticsTimeline]
1964
3297
  #
1965
- # @!attribute [rw] output_location
1966
- # The location in Amazon S3 where your query results are stored, such
1967
- # as `s3://path/to/query/bucket/`. To run the query, you must specify
1968
- # the query results location using one of the ways: either for
1969
- # individual queries using either this setting (client-side), or in
1970
- # the workgroup, using WorkGroupConfiguration. If none of them is set,
1971
- # Athena issues an error that no output location is provided. For more
1972
- # information, see [Query Results][1]. If workgroup settings override
1973
- # client-side settings, then the query uses the settings specified for
1974
- # the workgroup. See
1975
- # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
3298
+ # @!attribute [rw] rows
3299
+ # Statistics such as input rows and bytes read by the query, rows and
3300
+ # bytes output by the query, and the number of rows written by the
3301
+ # query.
3302
+ # @return [Types::QueryRuntimeStatisticsRows]
1976
3303
  #
3304
+ # @!attribute [rw] output_stage
3305
+ # Stage statistics such as input and output rows and bytes, execution
3306
+ # time, and stage state. This information also includes substages and
3307
+ # the query stage plan.
3308
+ # @return [Types::QueryStage]
1977
3309
  #
3310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryRuntimeStatistics AWS API Documentation
1978
3311
  #
1979
- # [1]: https://docs.aws.amazon.com/athena/latest/ug/querying.html
1980
- # @return [String]
3312
+ class QueryRuntimeStatistics < Struct.new(
3313
+ :timeline,
3314
+ :rows,
3315
+ :output_stage)
3316
+ SENSITIVE = []
3317
+ include Aws::Structure
3318
+ end
3319
+
3320
+ # Statistics such as input rows and bytes read by the query, rows and
3321
+ # bytes output by the query, and the number of rows written by the
3322
+ # query.
1981
3323
  #
1982
- # @!attribute [rw] encryption_configuration
1983
- # If query results are encrypted in Amazon S3, indicates the
1984
- # encryption option used (for example, `SSE-KMS` or `CSE-KMS`) and key
1985
- # information. This is a client-side setting. If workgroup settings
1986
- # override client-side settings, then the query uses the encryption
1987
- # configuration that is specified for the workgroup, and also uses the
1988
- # location for storing query results specified in the workgroup. See
1989
- # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup
1990
- # Settings Override Client-Side Settings][1].
3324
+ # @!attribute [rw] input_rows
3325
+ # The number of rows read to execute the query.
3326
+ # @return [Integer]
1991
3327
  #
3328
+ # @!attribute [rw] input_bytes
3329
+ # The number of bytes read to execute the query.
3330
+ # @return [Integer]
1992
3331
  #
3332
+ # @!attribute [rw] output_bytes
3333
+ # The number of bytes returned by the query.
3334
+ # @return [Integer]
1993
3335
  #
1994
- # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
1995
- # @return [Types::EncryptionConfiguration]
3336
+ # @!attribute [rw] output_rows
3337
+ # The number of rows returned by the query.
3338
+ # @return [Integer]
1996
3339
  #
1997
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfiguration AWS API Documentation
3340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryRuntimeStatisticsRows AWS API Documentation
1998
3341
  #
1999
- class ResultConfiguration < Struct.new(
2000
- :output_location,
2001
- :encryption_configuration)
3342
+ class QueryRuntimeStatisticsRows < Struct.new(
3343
+ :input_rows,
3344
+ :input_bytes,
3345
+ :output_bytes,
3346
+ :output_rows)
2002
3347
  SENSITIVE = []
2003
3348
  include Aws::Structure
2004
3349
  end
2005
3350
 
2006
- # The information about the updates in the query results, such as output
2007
- # location and encryption configuration for the query results.
3351
+ # Timeline statistics such as query queue time, planning time, execution
3352
+ # time, service processing time, and total execution time.
3353
+ #
3354
+ # @!attribute [rw] query_queue_time_in_millis
3355
+ # The number of milliseconds that the query was in your query queue
3356
+ # waiting for resources. Note that if transient errors occur, Athena
3357
+ # might automatically add the query back to the queue.
3358
+ # @return [Integer]
3359
+ #
3360
+ # @!attribute [rw] service_pre_processing_time_in_millis
3361
+ # The number of milliseconds that Athena spends on preprocessing
3362
+ # before it submits the query to the engine.
3363
+ # @return [Integer]
3364
+ #
3365
+ # @!attribute [rw] query_planning_time_in_millis
3366
+ # The number of milliseconds that Athena took to plan the query
3367
+ # processing flow. This includes the time spent retrieving table
3368
+ # partitions from the data source. Note that because the query engine
3369
+ # performs the query planning, query planning time is a subset of
3370
+ # engine processing time.
3371
+ # @return [Integer]
3372
+ #
3373
+ # @!attribute [rw] engine_execution_time_in_millis
3374
+ # The number of milliseconds that the query took to execute.
3375
+ # @return [Integer]
3376
+ #
3377
+ # @!attribute [rw] service_processing_time_in_millis
3378
+ # The number of milliseconds that Athena took to finalize and publish
3379
+ # the query results after the query engine finished running the query.
3380
+ # @return [Integer]
3381
+ #
3382
+ # @!attribute [rw] total_execution_time_in_millis
3383
+ # The number of milliseconds that Athena took to run the query.
3384
+ # @return [Integer]
3385
+ #
3386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryRuntimeStatisticsTimeline AWS API Documentation
3387
+ #
3388
+ class QueryRuntimeStatisticsTimeline < Struct.new(
3389
+ :query_queue_time_in_millis,
3390
+ :service_pre_processing_time_in_millis,
3391
+ :query_planning_time_in_millis,
3392
+ :engine_execution_time_in_millis,
3393
+ :service_processing_time_in_millis,
3394
+ :total_execution_time_in_millis)
3395
+ SENSITIVE = []
3396
+ include Aws::Structure
3397
+ end
3398
+
3399
+ # Stage statistics such as input and output rows and bytes, execution
3400
+ # time and stage state. This information also includes substages and the
3401
+ # query stage plan.
3402
+ #
3403
+ # @!attribute [rw] stage_id
3404
+ # The identifier for a stage.
3405
+ # @return [Integer]
3406
+ #
3407
+ # @!attribute [rw] state
3408
+ # State of the stage after query execution.
3409
+ # @return [String]
3410
+ #
3411
+ # @!attribute [rw] output_bytes
3412
+ # The number of bytes output from the stage after execution.
3413
+ # @return [Integer]
3414
+ #
3415
+ # @!attribute [rw] output_rows
3416
+ # The number of rows output from the stage after execution.
3417
+ # @return [Integer]
2008
3418
  #
2009
- # @note When making an API call, you may pass ResultConfigurationUpdates
2010
- # data as a hash:
3419
+ # @!attribute [rw] input_bytes
3420
+ # The number of bytes input into the stage for execution.
3421
+ # @return [Integer]
3422
+ #
3423
+ # @!attribute [rw] input_rows
3424
+ # The number of rows input into the stage for execution.
3425
+ # @return [Integer]
3426
+ #
3427
+ # @!attribute [rw] execution_time
3428
+ # Time taken to execute this stage.
3429
+ # @return [Integer]
2011
3430
  #
2012
- # {
2013
- # output_location: "String",
2014
- # remove_output_location: false,
2015
- # encryption_configuration: {
2016
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
2017
- # kms_key: "String",
2018
- # },
2019
- # remove_encryption_configuration: false,
2020
- # }
3431
+ # @!attribute [rw] query_stage_plan
3432
+ # Stage plan information such as name, identifier, sub plans, and
3433
+ # source stages.
3434
+ # @return [Types::QueryStagePlanNode]
3435
+ #
3436
+ # @!attribute [rw] sub_stages
3437
+ # List of sub query stages that form this stage execution plan.
3438
+ # @return [Array<Types::QueryStage>]
3439
+ #
3440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryStage AWS API Documentation
3441
+ #
3442
+ class QueryStage < Struct.new(
3443
+ :stage_id,
3444
+ :state,
3445
+ :output_bytes,
3446
+ :output_rows,
3447
+ :input_bytes,
3448
+ :input_rows,
3449
+ :execution_time,
3450
+ :query_stage_plan,
3451
+ :sub_stages)
3452
+ SENSITIVE = []
3453
+ include Aws::Structure
3454
+ end
3455
+
3456
+ # Stage plan information such as name, identifier, sub plans, and remote
3457
+ # sources.
3458
+ #
3459
+ # @!attribute [rw] name
3460
+ # Name of the query stage plan that describes the operation this stage
3461
+ # is performing as part of query execution.
3462
+ # @return [String]
3463
+ #
3464
+ # @!attribute [rw] identifier
3465
+ # Information about the operation this query stage plan node is
3466
+ # performing.
3467
+ # @return [String]
3468
+ #
3469
+ # @!attribute [rw] children
3470
+ # Stage plan information such as name, identifier, sub plans, and
3471
+ # remote sources of child plan nodes/
3472
+ # @return [Array<Types::QueryStagePlanNode>]
3473
+ #
3474
+ # @!attribute [rw] remote_sources
3475
+ # Source plan node IDs.
3476
+ # @return [Array<String>]
3477
+ #
3478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryStagePlanNode AWS API Documentation
3479
+ #
3480
+ class QueryStagePlanNode < Struct.new(
3481
+ :name,
3482
+ :identifier,
3483
+ :children,
3484
+ :remote_sources)
3485
+ SENSITIVE = []
3486
+ include Aws::Structure
3487
+ end
3488
+
3489
+ # A resource, such as a workgroup, was not found.
3490
+ #
3491
+ # @!attribute [rw] message
3492
+ # @return [String]
3493
+ #
3494
+ # @!attribute [rw] resource_name
3495
+ # The name of the Amazon resource.
3496
+ # @return [String]
3497
+ #
3498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResourceNotFoundException AWS API Documentation
3499
+ #
3500
+ class ResourceNotFoundException < Struct.new(
3501
+ :message,
3502
+ :resource_name)
3503
+ SENSITIVE = []
3504
+ include Aws::Structure
3505
+ end
3506
+
3507
+ # The location in Amazon S3 where query and calculation results are
3508
+ # stored and the encryption option, if any, used for query and
3509
+ # calculation results. These are known as "client-side settings". If
3510
+ # workgroup settings override client-side settings, then the query uses
3511
+ # the workgroup settings.
2021
3512
  #
2022
3513
  # @!attribute [rw] output_location
2023
- # The location in Amazon S3 where your query results are stored, such
2024
- # as `s3://path/to/query/bucket/`. For more information, see [Query
2025
- # Results][1] If workgroup settings override client-side settings,
2026
- # then the query uses the location for the query results and the
2027
- # encryption configuration that are specified for the workgroup. The
2028
- # "workgroup settings override" is specified in
3514
+ # The location in Amazon S3 where your query and calculation results
3515
+ # are stored, such as `s3://path/to/query/bucket/`. To run the query,
3516
+ # you must specify the query results location using one of the ways:
3517
+ # either for individual queries using either this setting
3518
+ # (client-side), or in the workgroup, using WorkGroupConfiguration. If
3519
+ # none of them is set, Athena issues an error that no output location
3520
+ # is provided. For more information, see [Working with query results,
3521
+ # recent queries, and output files][1]. If workgroup settings override
3522
+ # client-side settings, then the query uses the settings specified for
3523
+ # the workgroup. See
3524
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
3525
+ #
3526
+ #
3527
+ #
3528
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/querying.html
3529
+ # @return [String]
3530
+ #
3531
+ # @!attribute [rw] encryption_configuration
3532
+ # If query and calculation results are encrypted in Amazon S3,
3533
+ # indicates the encryption option used (for example, `SSE_KMS` or
3534
+ # `CSE_KMS`) and key information. This is a client-side setting. If
3535
+ # workgroup settings override client-side settings, then the query
3536
+ # uses the encryption configuration that is specified for the
3537
+ # workgroup, and also uses the location for storing query results
3538
+ # specified in the workgroup. See
3539
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup
3540
+ # Settings Override Client-Side Settings][1].
3541
+ #
3542
+ #
3543
+ #
3544
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3545
+ # @return [Types::EncryptionConfiguration]
3546
+ #
3547
+ # @!attribute [rw] expected_bucket_owner
3548
+ # The Amazon Web Services account ID that you expect to be the owner
3549
+ # of the Amazon S3 bucket specified by
3550
+ # ResultConfiguration$OutputLocation. If set, Athena uses the value
3551
+ # for `ExpectedBucketOwner` when it makes Amazon S3 calls to your
3552
+ # specified output location. If the `ExpectedBucketOwner` Amazon Web
3553
+ # Services account ID does not match the actual owner of the Amazon S3
3554
+ # bucket, the call fails with a permissions error.
3555
+ #
3556
+ # This is a client-side setting. If workgroup settings override
3557
+ # client-side settings, then the query uses the `ExpectedBucketOwner`
3558
+ # setting that is specified for the workgroup, and also uses the
3559
+ # location for storing query results specified in the workgroup. See
3560
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup
3561
+ # Settings Override Client-Side Settings][1].
3562
+ #
3563
+ #
3564
+ #
3565
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3566
+ # @return [String]
3567
+ #
3568
+ # @!attribute [rw] acl_configuration
3569
+ # Indicates that an Amazon S3 canned ACL should be set to control
3570
+ # ownership of stored query results. Currently the only supported
3571
+ # canned ACL is `BUCKET_OWNER_FULL_CONTROL`. This is a client-side
3572
+ # setting. If workgroup settings override client-side settings, then
3573
+ # the query uses the ACL configuration that is specified for the
3574
+ # workgroup, and also uses the location for storing query results
3575
+ # specified in the workgroup. For more information, see
3576
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup
3577
+ # Settings Override Client-Side Settings][1].
3578
+ #
3579
+ #
3580
+ #
3581
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3582
+ # @return [Types::AclConfiguration]
3583
+ #
3584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfiguration AWS API Documentation
3585
+ #
3586
+ class ResultConfiguration < Struct.new(
3587
+ :output_location,
3588
+ :encryption_configuration,
3589
+ :expected_bucket_owner,
3590
+ :acl_configuration)
3591
+ SENSITIVE = []
3592
+ include Aws::Structure
3593
+ end
3594
+
3595
+ # The information about the updates in the query results, such as output
3596
+ # location and encryption configuration for the query results.
3597
+ #
3598
+ # @!attribute [rw] output_location
3599
+ # The location in Amazon S3 where your query and calculation results
3600
+ # are stored, such as `s3://path/to/query/bucket/`. For more
3601
+ # information, see [Working with query results, recent queries, and
3602
+ # output files][1]. If workgroup settings override client-side
3603
+ # settings, then the query uses the location for the query results and
3604
+ # the encryption configuration that are specified for the workgroup.
3605
+ # The "workgroup settings override" is specified in
2029
3606
  # `EnforceWorkGroupConfiguration` (true/false) in the
2030
3607
  # `WorkGroupConfiguration`. See
2031
3608
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
@@ -2051,7 +3628,7 @@ module Aws::Athena
2051
3628
  # @return [Boolean]
2052
3629
  #
2053
3630
  # @!attribute [rw] encryption_configuration
2054
- # The encryption configuration for the query results.
3631
+ # The encryption configuration for query and calculation results.
2055
3632
  # @return [Types::EncryptionConfiguration]
2056
3633
  #
2057
3634
  # @!attribute [rw] remove_encryption_configuration
@@ -2070,18 +3647,129 @@ module Aws::Athena
2070
3647
  # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
2071
3648
  # @return [Boolean]
2072
3649
  #
3650
+ # @!attribute [rw] expected_bucket_owner
3651
+ # The Amazon Web Services account ID that you expect to be the owner
3652
+ # of the Amazon S3 bucket specified by
3653
+ # ResultConfiguration$OutputLocation. If set, Athena uses the value
3654
+ # for `ExpectedBucketOwner` when it makes Amazon S3 calls to your
3655
+ # specified output location. If the `ExpectedBucketOwner` Amazon Web
3656
+ # Services account ID does not match the actual owner of the Amazon S3
3657
+ # bucket, the call fails with a permissions error.
3658
+ #
3659
+ # If workgroup settings override client-side settings, then the query
3660
+ # uses the `ExpectedBucketOwner` setting that is specified for the
3661
+ # workgroup, and also uses the location for storing query results
3662
+ # specified in the workgroup. See
3663
+ # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup
3664
+ # Settings Override Client-Side Settings][1].
3665
+ #
3666
+ #
3667
+ #
3668
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3669
+ # @return [String]
3670
+ #
3671
+ # @!attribute [rw] remove_expected_bucket_owner
3672
+ # If set to "true", removes the Amazon Web Services account ID
3673
+ # previously specified for ResultConfiguration$ExpectedBucketOwner. If
3674
+ # set to "false" or not set, and a value is present in the
3675
+ # `ExpectedBucketOwner` in `ResultConfigurationUpdates` (the
3676
+ # client-side setting), the `ExpectedBucketOwner` in the workgroup's
3677
+ # `ResultConfiguration` is updated with the new value. For more
3678
+ # information, see [Workgroup Settings Override Client-Side
3679
+ # Settings][1].
3680
+ #
3681
+ #
3682
+ #
3683
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3684
+ # @return [Boolean]
3685
+ #
3686
+ # @!attribute [rw] acl_configuration
3687
+ # The ACL configuration for the query results.
3688
+ # @return [Types::AclConfiguration]
3689
+ #
3690
+ # @!attribute [rw] remove_acl_configuration
3691
+ # If set to `true`, indicates that the previously-specified ACL
3692
+ # configuration for queries in this workgroup should be ignored and
3693
+ # set to null. If set to `false` or not set, and a value is present in
3694
+ # the `AclConfiguration` of `ResultConfigurationUpdates`, the
3695
+ # `AclConfiguration` in the workgroup's `ResultConfiguration` is
3696
+ # updated with the new value. For more information, see [Workgroup
3697
+ # Settings Override Client-Side Settings][1].
3698
+ #
3699
+ #
3700
+ #
3701
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html
3702
+ # @return [Boolean]
3703
+ #
2073
3704
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfigurationUpdates AWS API Documentation
2074
3705
  #
2075
3706
  class ResultConfigurationUpdates < Struct.new(
2076
3707
  :output_location,
2077
3708
  :remove_output_location,
2078
3709
  :encryption_configuration,
2079
- :remove_encryption_configuration)
3710
+ :remove_encryption_configuration,
3711
+ :expected_bucket_owner,
3712
+ :remove_expected_bucket_owner,
3713
+ :acl_configuration,
3714
+ :remove_acl_configuration)
3715
+ SENSITIVE = []
3716
+ include Aws::Structure
3717
+ end
3718
+
3719
+ # Specifies whether previous query results are reused, and if so, their
3720
+ # maximum age.
3721
+ #
3722
+ # @!attribute [rw] enabled
3723
+ # True if previous query results can be reused when the query is run;
3724
+ # otherwise, false. The default is false.
3725
+ # @return [Boolean]
3726
+ #
3727
+ # @!attribute [rw] max_age_in_minutes
3728
+ # Specifies, in minutes, the maximum age of a previous query result
3729
+ # that Athena should consider for reuse. The default is 60.
3730
+ # @return [Integer]
3731
+ #
3732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultReuseByAgeConfiguration AWS API Documentation
3733
+ #
3734
+ class ResultReuseByAgeConfiguration < Struct.new(
3735
+ :enabled,
3736
+ :max_age_in_minutes)
2080
3737
  SENSITIVE = []
2081
3738
  include Aws::Structure
2082
3739
  end
2083
3740
 
2084
- # The metadata and rows that comprise a query result set. The metadata
3741
+ # Specifies the query result reuse behavior for the query.
3742
+ #
3743
+ # @!attribute [rw] result_reuse_by_age_configuration
3744
+ # Specifies whether previous query results are reused, and if so,
3745
+ # their maximum age.
3746
+ # @return [Types::ResultReuseByAgeConfiguration]
3747
+ #
3748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultReuseConfiguration AWS API Documentation
3749
+ #
3750
+ class ResultReuseConfiguration < Struct.new(
3751
+ :result_reuse_by_age_configuration)
3752
+ SENSITIVE = []
3753
+ include Aws::Structure
3754
+ end
3755
+
3756
+ # Contains information about whether the result of a previous query was
3757
+ # reused.
3758
+ #
3759
+ # @!attribute [rw] reused_previous_result
3760
+ # True if a previous query result was reused; false if the result was
3761
+ # generated from a new run of the query.
3762
+ # @return [Boolean]
3763
+ #
3764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultReuseInformation AWS API Documentation
3765
+ #
3766
+ class ResultReuseInformation < Struct.new(
3767
+ :reused_previous_result)
3768
+ SENSITIVE = []
3769
+ include Aws::Structure
3770
+ end
3771
+
3772
+ # The metadata and rows that make up a query result set. The metadata
2085
3773
  # describes the column structure and data types. To return a `ResultSet`
2086
3774
  # object, use GetQueryResults.
2087
3775
  #
@@ -2111,48 +3799,262 @@ module Aws::Athena
2111
3799
  # Information about the columns returned in a query result metadata.
2112
3800
  # @return [Array<Types::ColumnInfo>]
2113
3801
  #
2114
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultSetMetadata AWS API Documentation
3802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultSetMetadata AWS API Documentation
3803
+ #
3804
+ class ResultSetMetadata < Struct.new(
3805
+ :column_info)
3806
+ SENSITIVE = []
3807
+ include Aws::Structure
3808
+ end
3809
+
3810
+ # The rows that make up a query result table.
3811
+ #
3812
+ # @!attribute [rw] data
3813
+ # The data that populates a row in a query result table.
3814
+ # @return [Array<Types::Datum>]
3815
+ #
3816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Row AWS API Documentation
3817
+ #
3818
+ class Row < Struct.new(
3819
+ :data)
3820
+ SENSITIVE = []
3821
+ include Aws::Structure
3822
+ end
3823
+
3824
+ # The specified session already exists.
3825
+ #
3826
+ # @!attribute [rw] message
3827
+ # @return [String]
3828
+ #
3829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/SessionAlreadyExistsException AWS API Documentation
3830
+ #
3831
+ class SessionAlreadyExistsException < Struct.new(
3832
+ :message)
3833
+ SENSITIVE = []
3834
+ include Aws::Structure
3835
+ end
3836
+
3837
+ # Contains session configuration information.
3838
+ #
3839
+ # @!attribute [rw] execution_role
3840
+ # The ARN of the execution role used to access user resources for
3841
+ # Spark sessions and Identity Center enabled workgroups. This property
3842
+ # applies only to Spark enabled workgroups and Identity Center enabled
3843
+ # workgroups.
3844
+ # @return [String]
3845
+ #
3846
+ # @!attribute [rw] working_directory
3847
+ # The Amazon S3 location that stores information for the notebook.
3848
+ # @return [String]
3849
+ #
3850
+ # @!attribute [rw] idle_timeout_seconds
3851
+ # The idle timeout in seconds for the session.
3852
+ # @return [Integer]
3853
+ #
3854
+ # @!attribute [rw] encryption_configuration
3855
+ # If query and calculation results are encrypted in Amazon S3,
3856
+ # indicates the encryption option used (for example, `SSE_KMS` or
3857
+ # `CSE_KMS`) and key information.
3858
+ # @return [Types::EncryptionConfiguration]
3859
+ #
3860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/SessionConfiguration AWS API Documentation
3861
+ #
3862
+ class SessionConfiguration < Struct.new(
3863
+ :execution_role,
3864
+ :working_directory,
3865
+ :idle_timeout_seconds,
3866
+ :encryption_configuration)
3867
+ SENSITIVE = []
3868
+ include Aws::Structure
3869
+ end
3870
+
3871
+ # Contains statistics for a session.
3872
+ #
3873
+ # @!attribute [rw] dpu_execution_in_millis
3874
+ # The data processing unit execution time for a session in
3875
+ # milliseconds.
3876
+ # @return [Integer]
3877
+ #
3878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/SessionStatistics AWS API Documentation
3879
+ #
3880
+ class SessionStatistics < Struct.new(
3881
+ :dpu_execution_in_millis)
3882
+ SENSITIVE = []
3883
+ include Aws::Structure
3884
+ end
3885
+
3886
+ # Contains information about the status of a session.
3887
+ #
3888
+ # @!attribute [rw] start_date_time
3889
+ # The date and time that the session started.
3890
+ # @return [Time]
3891
+ #
3892
+ # @!attribute [rw] last_modified_date_time
3893
+ # The most recent date and time that the session was modified.
3894
+ # @return [Time]
3895
+ #
3896
+ # @!attribute [rw] end_date_time
3897
+ # The date and time that the session ended.
3898
+ # @return [Time]
3899
+ #
3900
+ # @!attribute [rw] idle_since_date_time
3901
+ # The date and time starting at which the session became idle. Can be
3902
+ # empty if the session is not currently idle.
3903
+ # @return [Time]
3904
+ #
3905
+ # @!attribute [rw] state
3906
+ # The state of the session. A description of each state follows.
3907
+ #
3908
+ # `CREATING` - The session is being started, including acquiring
3909
+ # resources.
3910
+ #
3911
+ # `CREATED` - The session has been started.
3912
+ #
3913
+ # `IDLE` - The session is able to accept a calculation.
3914
+ #
3915
+ # `BUSY` - The session is processing another task and is unable to
3916
+ # accept a calculation.
3917
+ #
3918
+ # `TERMINATING` - The session is in the process of shutting down.
3919
+ #
3920
+ # `TERMINATED` - The session and its resources are no longer running.
3921
+ #
3922
+ # `DEGRADED` - The session has no healthy coordinators.
3923
+ #
3924
+ # `FAILED` - Due to a failure, the session and its resources are no
3925
+ # longer running.
3926
+ # @return [String]
3927
+ #
3928
+ # @!attribute [rw] state_change_reason
3929
+ # The reason for the session state change (for example, canceled
3930
+ # because the session was terminated).
3931
+ # @return [String]
3932
+ #
3933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/SessionStatus AWS API Documentation
3934
+ #
3935
+ class SessionStatus < Struct.new(
3936
+ :start_date_time,
3937
+ :last_modified_date_time,
3938
+ :end_date_time,
3939
+ :idle_since_date_time,
3940
+ :state,
3941
+ :state_change_reason)
3942
+ SENSITIVE = []
3943
+ include Aws::Structure
3944
+ end
3945
+
3946
+ # Contains summary information about a session.
3947
+ #
3948
+ # @!attribute [rw] session_id
3949
+ # The session ID.
3950
+ # @return [String]
3951
+ #
3952
+ # @!attribute [rw] description
3953
+ # The session description.
3954
+ # @return [String]
3955
+ #
3956
+ # @!attribute [rw] engine_version
3957
+ # The engine version used by the session (for example, `PySpark engine
3958
+ # version 3`).
3959
+ # @return [Types::EngineVersion]
3960
+ #
3961
+ # @!attribute [rw] notebook_version
3962
+ # The notebook version.
3963
+ # @return [String]
3964
+ #
3965
+ # @!attribute [rw] status
3966
+ # Contains information about the session status.
3967
+ # @return [Types::SessionStatus]
3968
+ #
3969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/SessionSummary AWS API Documentation
3970
+ #
3971
+ class SessionSummary < Struct.new(
3972
+ :session_id,
3973
+ :description,
3974
+ :engine_version,
3975
+ :notebook_version,
3976
+ :status)
3977
+ SENSITIVE = []
3978
+ include Aws::Structure
3979
+ end
3980
+
3981
+ # @!attribute [rw] session_id
3982
+ # The session ID.
3983
+ # @return [String]
3984
+ #
3985
+ # @!attribute [rw] description
3986
+ # A description of the calculation.
3987
+ # @return [String]
3988
+ #
3989
+ # @!attribute [rw] calculation_configuration
3990
+ # Contains configuration information for the calculation.
3991
+ # @return [Types::CalculationConfiguration]
3992
+ #
3993
+ # @!attribute [rw] code_block
3994
+ # A string that contains the code of the calculation. Use this
3995
+ # parameter instead of CalculationConfiguration$CodeBlock, which is
3996
+ # deprecated.
3997
+ # @return [String]
3998
+ #
3999
+ # @!attribute [rw] client_request_token
4000
+ # A unique case-sensitive string used to ensure the request to create
4001
+ # the calculation is idempotent (executes only once). If another
4002
+ # `StartCalculationExecutionRequest` is received, the same response is
4003
+ # returned and another calculation is not created. If a parameter has
4004
+ # changed, an error is returned.
4005
+ #
4006
+ # This token is listed as not required because Amazon Web Services
4007
+ # SDKs (for example the Amazon Web Services SDK for Java)
4008
+ # auto-generate the token for users. If you are not using the Amazon
4009
+ # Web Services SDK or the Amazon Web Services CLI, you must provide
4010
+ # this token or the action will fail.
4011
+ # @return [String]
4012
+ #
4013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecutionRequest AWS API Documentation
2115
4014
  #
2116
- class ResultSetMetadata < Struct.new(
2117
- :column_info)
4015
+ class StartCalculationExecutionRequest < Struct.new(
4016
+ :session_id,
4017
+ :description,
4018
+ :calculation_configuration,
4019
+ :code_block,
4020
+ :client_request_token)
2118
4021
  SENSITIVE = []
2119
4022
  include Aws::Structure
2120
4023
  end
2121
4024
 
2122
- # The rows that comprise a query result table.
4025
+ # @!attribute [rw] calculation_execution_id
4026
+ # The calculation execution UUID.
4027
+ # @return [String]
2123
4028
  #
2124
- # @!attribute [rw] data
2125
- # The data that populates a row in a query result table.
2126
- # @return [Array<Types::Datum>]
4029
+ # @!attribute [rw] state
4030
+ # `CREATING` - The calculation is in the process of being created.
2127
4031
  #
2128
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Row AWS API Documentation
4032
+ # `CREATED` - The calculation has been created and is ready to run.
2129
4033
  #
2130
- class Row < Struct.new(
2131
- :data)
4034
+ # `QUEUED` - The calculation has been queued for processing.
4035
+ #
4036
+ # `RUNNING` - The calculation is running.
4037
+ #
4038
+ # `CANCELING` - A request to cancel the calculation has been received
4039
+ # and the system is working to stop it.
4040
+ #
4041
+ # `CANCELED` - The calculation is no longer running as the result of a
4042
+ # cancel request.
4043
+ #
4044
+ # `COMPLETED` - The calculation has completed without error.
4045
+ #
4046
+ # `FAILED` - The calculation failed and is no longer running.
4047
+ # @return [String]
4048
+ #
4049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecutionResponse AWS API Documentation
4050
+ #
4051
+ class StartCalculationExecutionResponse < Struct.new(
4052
+ :calculation_execution_id,
4053
+ :state)
2132
4054
  SENSITIVE = []
2133
4055
  include Aws::Structure
2134
4056
  end
2135
4057
 
2136
- # @note When making an API call, you may pass StartQueryExecutionInput
2137
- # data as a hash:
2138
- #
2139
- # {
2140
- # query_string: "QueryString", # required
2141
- # client_request_token: "IdempotencyToken",
2142
- # query_execution_context: {
2143
- # database: "DatabaseString",
2144
- # catalog: "CatalogNameString",
2145
- # },
2146
- # result_configuration: {
2147
- # output_location: "String",
2148
- # encryption_configuration: {
2149
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
2150
- # kms_key: "String",
2151
- # },
2152
- # },
2153
- # work_group: "WorkGroupName",
2154
- # }
2155
- #
2156
4058
  # @!attribute [rw] query_string
2157
4059
  # The SQL query statements to be executed.
2158
4060
  # @return [String]
@@ -2161,8 +4063,11 @@ module Aws::Athena
2161
4063
  # A unique case-sensitive string used to ensure the request to create
2162
4064
  # the query is idempotent (executes only once). If another
2163
4065
  # `StartQueryExecution` request is received, the same response is
2164
- # returned and another query is not created. If a parameter has
2165
- # changed, for example, the `QueryString`, an error is returned.
4066
+ # returned and another query is not created. An error is returned if a
4067
+ # parameter, such as `QueryString`, has changed. A call to
4068
+ # `StartQueryExecution` that uses a previous client request token
4069
+ # returns the same `QueryExecutionId` even if the requester doesn't
4070
+ # have permission on the tables specified in `QueryString`.
2166
4071
  #
2167
4072
  # This token is listed as not required because Amazon Web Services
2168
4073
  # SDKs (for example the Amazon Web Services SDK for Java)
@@ -2192,6 +4097,16 @@ module Aws::Athena
2192
4097
  # The name of the workgroup in which the query is being started.
2193
4098
  # @return [String]
2194
4099
  #
4100
+ # @!attribute [rw] execution_parameters
4101
+ # A list of values for the parameters in a query. The values are
4102
+ # applied sequentially to the parameters in the query in the order in
4103
+ # which the parameters occur.
4104
+ # @return [Array<String>]
4105
+ #
4106
+ # @!attribute [rw] result_reuse_configuration
4107
+ # Specifies the query result reuse behavior for the query.
4108
+ # @return [Types::ResultReuseConfiguration]
4109
+ #
2195
4110
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartQueryExecutionInput AWS API Documentation
2196
4111
  #
2197
4112
  class StartQueryExecutionInput < Struct.new(
@@ -2199,7 +4114,9 @@ module Aws::Athena
2199
4114
  :client_request_token,
2200
4115
  :query_execution_context,
2201
4116
  :result_configuration,
2202
- :work_group)
4117
+ :work_group,
4118
+ :execution_parameters,
4119
+ :result_reuse_configuration)
2203
4120
  SENSITIVE = []
2204
4121
  include Aws::Structure
2205
4122
  end
@@ -2216,13 +4133,135 @@ module Aws::Athena
2216
4133
  include Aws::Structure
2217
4134
  end
2218
4135
 
2219
- # @note When making an API call, you may pass StopQueryExecutionInput
2220
- # data as a hash:
4136
+ # @!attribute [rw] description
4137
+ # The session description.
4138
+ # @return [String]
4139
+ #
4140
+ # @!attribute [rw] work_group
4141
+ # The workgroup to which the session belongs.
4142
+ # @return [String]
4143
+ #
4144
+ # @!attribute [rw] engine_configuration
4145
+ # Contains engine data processing unit (DPU) configuration settings
4146
+ # and parameter mappings.
4147
+ # @return [Types::EngineConfiguration]
4148
+ #
4149
+ # @!attribute [rw] notebook_version
4150
+ # The notebook version. This value is supplied automatically for
4151
+ # notebook sessions in the Athena console and is not required for
4152
+ # programmatic session access. The only valid notebook version is
4153
+ # `Athena notebook version 1`. If you specify a value for
4154
+ # `NotebookVersion`, you must also specify a value for `NotebookId`.
4155
+ # See EngineConfiguration$AdditionalConfigs.
4156
+ # @return [String]
4157
+ #
4158
+ # @!attribute [rw] session_idle_timeout_in_minutes
4159
+ # The idle timeout in minutes for the session.
4160
+ # @return [Integer]
4161
+ #
4162
+ # @!attribute [rw] client_request_token
4163
+ # A unique case-sensitive string used to ensure the request to create
4164
+ # the session is idempotent (executes only once). If another
4165
+ # `StartSessionRequest` is received, the same response is returned and
4166
+ # another session is not created. If a parameter has changed, an error
4167
+ # is returned.
4168
+ #
4169
+ # This token is listed as not required because Amazon Web Services
4170
+ # SDKs (for example the Amazon Web Services SDK for Java)
4171
+ # auto-generate the token for users. If you are not using the Amazon
4172
+ # Web Services SDK or the Amazon Web Services CLI, you must provide
4173
+ # this token or the action will fail.
4174
+ # @return [String]
4175
+ #
4176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSessionRequest AWS API Documentation
4177
+ #
4178
+ class StartSessionRequest < Struct.new(
4179
+ :description,
4180
+ :work_group,
4181
+ :engine_configuration,
4182
+ :notebook_version,
4183
+ :session_idle_timeout_in_minutes,
4184
+ :client_request_token)
4185
+ SENSITIVE = []
4186
+ include Aws::Structure
4187
+ end
4188
+
4189
+ # @!attribute [rw] session_id
4190
+ # The session ID.
4191
+ # @return [String]
4192
+ #
4193
+ # @!attribute [rw] state
4194
+ # The state of the session. A description of each state follows.
4195
+ #
4196
+ # `CREATING` - The session is being started, including acquiring
4197
+ # resources.
4198
+ #
4199
+ # `CREATED` - The session has been started.
4200
+ #
4201
+ # `IDLE` - The session is able to accept a calculation.
4202
+ #
4203
+ # `BUSY` - The session is processing another task and is unable to
4204
+ # accept a calculation.
4205
+ #
4206
+ # `TERMINATING` - The session is in the process of shutting down.
4207
+ #
4208
+ # `TERMINATED` - The session and its resources are no longer running.
4209
+ #
4210
+ # `DEGRADED` - The session has no healthy coordinators.
4211
+ #
4212
+ # `FAILED` - Due to a failure, the session and its resources are no
4213
+ # longer running.
4214
+ # @return [String]
4215
+ #
4216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSessionResponse AWS API Documentation
4217
+ #
4218
+ class StartSessionResponse < Struct.new(
4219
+ :session_id,
4220
+ :state)
4221
+ SENSITIVE = []
4222
+ include Aws::Structure
4223
+ end
4224
+
4225
+ # @!attribute [rw] calculation_execution_id
4226
+ # The calculation execution UUID.
4227
+ # @return [String]
4228
+ #
4229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecutionRequest AWS API Documentation
4230
+ #
4231
+ class StopCalculationExecutionRequest < Struct.new(
4232
+ :calculation_execution_id)
4233
+ SENSITIVE = []
4234
+ include Aws::Structure
4235
+ end
4236
+
4237
+ # @!attribute [rw] state
4238
+ # `CREATING` - The calculation is in the process of being created.
4239
+ #
4240
+ # `CREATED` - The calculation has been created and is ready to run.
4241
+ #
4242
+ # `QUEUED` - The calculation has been queued for processing.
4243
+ #
4244
+ # `RUNNING` - The calculation is running.
2221
4245
  #
2222
- # {
2223
- # query_execution_id: "QueryExecutionId", # required
2224
- # }
4246
+ # `CANCELING` - A request to cancel the calculation has been received
4247
+ # and the system is working to stop it.
2225
4248
  #
4249
+ # `CANCELED` - The calculation is no longer running as the result of a
4250
+ # cancel request.
4251
+ #
4252
+ # `COMPLETED` - The calculation has completed without error.
4253
+ #
4254
+ # `FAILED` - The calculation failed and is no longer running.
4255
+ # @return [String]
4256
+ #
4257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecutionResponse AWS API Documentation
4258
+ #
4259
+ class StopCalculationExecutionResponse < Struct.new(
4260
+ :state)
4261
+ SENSITIVE = []
4262
+ include Aws::Structure
4263
+ end
4264
+
2226
4265
  # @!attribute [rw] query_execution_id
2227
4266
  # The unique ID of the query execution to stop.
2228
4267
  #
@@ -2286,14 +4325,14 @@ module Aws::Athena
2286
4325
  include Aws::Structure
2287
4326
  end
2288
4327
 
2289
- # A label that you assign to a resource. In Athena, a resource can be a
2290
- # workgroup or data catalog. Each tag consists of a key and an optional
2291
- # value, both of which you define. For example, you can use tags to
2292
- # categorize Athena workgroups or data catalogs by purpose, owner, or
2293
- # environment. Use a consistent set of tag keys to make it easier to
2294
- # search and filter workgroups or data catalogs in your account. For
2295
- # best practices, see [Tagging Best Practices][1]. Tag keys can be from
2296
- # 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256
4328
+ # A label that you assign to a resource. Athena resources include
4329
+ # workgroups, data catalogs, and capacity reservations. Each tag
4330
+ # consists of a key and an optional value, both of which you define. For
4331
+ # example, you can use tags to categorize Athena resources by purpose,
4332
+ # owner, or environment. Use a consistent set of tag keys to make it
4333
+ # easier to search and filter the resources in your account. For best
4334
+ # practices, see [Tagging Best Practices][1]. Tag keys can be from 1 to
4335
+ # 128 UTF-8 Unicode characters, and tag values can be from 0 to 256
2297
4336
  # UTF-8 Unicode characters. Tags can use letters and numbers
2298
4337
  # representable in UTF-8, and the following characters: + - = . \_ : /
2299
4338
  # @. Tag keys and values are case-sensitive. Tag keys must be unique per
@@ -2301,15 +4340,7 @@ module Aws::Athena
2301
4340
  #
2302
4341
  #
2303
4342
  #
2304
- # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
2305
- #
2306
- # @note When making an API call, you may pass Tag
2307
- # data as a hash:
2308
- #
2309
- # {
2310
- # key: "TagKey",
2311
- # value: "TagValue",
2312
- # }
4343
+ # [1]: https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html
2313
4344
  #
2314
4345
  # @!attribute [rw] key
2315
4346
  # A tag key. The tag key length is from 1 to 128 Unicode characters in
@@ -2334,27 +4365,14 @@ module Aws::Athena
2334
4365
  include Aws::Structure
2335
4366
  end
2336
4367
 
2337
- # @note When making an API call, you may pass TagResourceInput
2338
- # data as a hash:
2339
- #
2340
- # {
2341
- # resource_arn: "AmazonResourceName", # required
2342
- # tags: [ # required
2343
- # {
2344
- # key: "TagKey",
2345
- # value: "TagValue",
2346
- # },
2347
- # ],
2348
- # }
2349
- #
2350
4368
  # @!attribute [rw] resource_arn
2351
- # Specifies the ARN of the Athena resource (workgroup or data catalog)
2352
- # to which tags are to be added.
4369
+ # Specifies the ARN of the Athena resource to which tags are to be
4370
+ # added.
2353
4371
  # @return [String]
2354
4372
  #
2355
4373
  # @!attribute [rw] tags
2356
4374
  # A collection of one or more tags, separated by commas, to be added
2357
- # to an Athena workgroup or data catalog resource.
4375
+ # to an Athena resource.
2358
4376
  # @return [Array<Types::Tag>]
2359
4377
  #
2360
4378
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TagResourceInput AWS API Documentation
@@ -2370,6 +4388,49 @@ module Aws::Athena
2370
4388
  #
2371
4389
  class TagResourceOutput < Aws::EmptyStructure; end
2372
4390
 
4391
+ # @!attribute [rw] session_id
4392
+ # The session ID.
4393
+ # @return [String]
4394
+ #
4395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSessionRequest AWS API Documentation
4396
+ #
4397
+ class TerminateSessionRequest < Struct.new(
4398
+ :session_id)
4399
+ SENSITIVE = []
4400
+ include Aws::Structure
4401
+ end
4402
+
4403
+ # @!attribute [rw] state
4404
+ # The state of the session. A description of each state follows.
4405
+ #
4406
+ # `CREATING` - The session is being started, including acquiring
4407
+ # resources.
4408
+ #
4409
+ # `CREATED` - The session has been started.
4410
+ #
4411
+ # `IDLE` - The session is able to accept a calculation.
4412
+ #
4413
+ # `BUSY` - The session is processing another task and is unable to
4414
+ # accept a calculation.
4415
+ #
4416
+ # `TERMINATING` - The session is in the process of shutting down.
4417
+ #
4418
+ # `TERMINATED` - The session and its resources are no longer running.
4419
+ #
4420
+ # `DEGRADED` - The session has no healthy coordinators.
4421
+ #
4422
+ # `FAILED` - Due to a failure, the session and its resources are no
4423
+ # longer running.
4424
+ # @return [String]
4425
+ #
4426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSessionResponse AWS API Documentation
4427
+ #
4428
+ class TerminateSessionResponse < Struct.new(
4429
+ :state)
4430
+ SENSITIVE = []
4431
+ include Aws::Structure
4432
+ end
4433
+
2373
4434
  # Indicates that the request was throttled.
2374
4435
  #
2375
4436
  # @!attribute [rw] message
@@ -2415,6 +4476,42 @@ module Aws::Athena
2415
4476
  include Aws::Structure
2416
4477
  end
2417
4478
 
4479
+ # The name of a prepared statement that could not be returned.
4480
+ #
4481
+ # @!attribute [rw] statement_name
4482
+ # The name of a prepared statement that could not be returned due to
4483
+ # an error.
4484
+ # @return [String]
4485
+ #
4486
+ # @!attribute [rw] error_code
4487
+ # The error code returned when the request for the prepared statement
4488
+ # failed.
4489
+ # @return [String]
4490
+ #
4491
+ # @!attribute [rw] error_message
4492
+ # The error message containing the reason why the prepared statement
4493
+ # could not be returned. The following error messages are possible:
4494
+ #
4495
+ # * `INVALID_INPUT` - The name of the prepared statement that was
4496
+ # provided is not valid (for example, the name is too long).
4497
+ #
4498
+ # * `STATEMENT_NOT_FOUND` - A prepared statement with the name
4499
+ # provided could not be found.
4500
+ #
4501
+ # * `UNAUTHORIZED` - The requester does not have permission to access
4502
+ # the workgroup that contains the prepared statement.
4503
+ # @return [String]
4504
+ #
4505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UnprocessedPreparedStatementName AWS API Documentation
4506
+ #
4507
+ class UnprocessedPreparedStatementName < Struct.new(
4508
+ :statement_name,
4509
+ :error_code,
4510
+ :error_message)
4511
+ SENSITIVE = []
4512
+ include Aws::Structure
4513
+ end
4514
+
2418
4515
  # Describes a query execution that failed to process.
2419
4516
  #
2420
4517
  # @!attribute [rw] query_execution_id
@@ -2441,14 +4538,6 @@ module Aws::Athena
2441
4538
  include Aws::Structure
2442
4539
  end
2443
4540
 
2444
- # @note When making an API call, you may pass UntagResourceInput
2445
- # data as a hash:
2446
- #
2447
- # {
2448
- # resource_arn: "AmazonResourceName", # required
2449
- # tag_keys: ["TagKey"], # required
2450
- # }
2451
- #
2452
4541
  # @!attribute [rw] resource_arn
2453
4542
  # Specifies the ARN of the resource from which tags are to be removed.
2454
4543
  # @return [String]
@@ -2471,18 +4560,27 @@ module Aws::Athena
2471
4560
  #
2472
4561
  class UntagResourceOutput < Aws::EmptyStructure; end
2473
4562
 
2474
- # @note When making an API call, you may pass UpdateDataCatalogInput
2475
- # data as a hash:
4563
+ # @!attribute [rw] target_dpus
4564
+ # The new number of requested data processing units.
4565
+ # @return [Integer]
4566
+ #
4567
+ # @!attribute [rw] name
4568
+ # The name of the capacity reservation.
4569
+ # @return [String]
4570
+ #
4571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateCapacityReservationInput AWS API Documentation
2476
4572
  #
2477
- # {
2478
- # name: "CatalogNameString", # required
2479
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
2480
- # description: "DescriptionString",
2481
- # parameters: {
2482
- # "KeyString" => "ParametersMapValue",
2483
- # },
2484
- # }
4573
+ class UpdateCapacityReservationInput < Struct.new(
4574
+ :target_dpus,
4575
+ :name)
4576
+ SENSITIVE = []
4577
+ include Aws::Structure
4578
+ end
4579
+
4580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateCapacityReservationOutput AWS API Documentation
2485
4581
  #
4582
+ class UpdateCapacityReservationOutput < Aws::EmptyStructure; end
4583
+
2486
4584
  # @!attribute [rw] name
2487
4585
  # The name of the data catalog to update. The catalog name must be
2488
4586
  # unique for the Amazon Web Services account and can use a maximum of
@@ -2544,16 +4642,115 @@ module Aws::Athena
2544
4642
  #
2545
4643
  class UpdateDataCatalogOutput < Aws::EmptyStructure; end
2546
4644
 
2547
- # @note When making an API call, you may pass UpdatePreparedStatementInput
2548
- # data as a hash:
4645
+ # @!attribute [rw] named_query_id
4646
+ # The unique identifier (UUID) of the query.
4647
+ # @return [String]
4648
+ #
4649
+ # @!attribute [rw] name
4650
+ # The name of the query.
4651
+ # @return [String]
4652
+ #
4653
+ # @!attribute [rw] description
4654
+ # The query description.
4655
+ # @return [String]
4656
+ #
4657
+ # @!attribute [rw] query_string
4658
+ # The contents of the query with all query statements.
4659
+ # @return [String]
4660
+ #
4661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNamedQueryInput AWS API Documentation
4662
+ #
4663
+ class UpdateNamedQueryInput < Struct.new(
4664
+ :named_query_id,
4665
+ :name,
4666
+ :description,
4667
+ :query_string)
4668
+ SENSITIVE = []
4669
+ include Aws::Structure
4670
+ end
4671
+
4672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNamedQueryOutput AWS API Documentation
4673
+ #
4674
+ class UpdateNamedQueryOutput < Aws::EmptyStructure; end
4675
+
4676
+ # @!attribute [rw] notebook_id
4677
+ # The ID of the notebook to update.
4678
+ # @return [String]
4679
+ #
4680
+ # @!attribute [rw] payload
4681
+ # The updated content for the notebook.
4682
+ # @return [String]
4683
+ #
4684
+ # @!attribute [rw] type
4685
+ # The notebook content type. Currently, the only valid type is
4686
+ # `IPYNB`.
4687
+ # @return [String]
4688
+ #
4689
+ # @!attribute [rw] session_id
4690
+ # The active notebook session ID. Required if the notebook has an
4691
+ # active session.
4692
+ # @return [String]
4693
+ #
4694
+ # @!attribute [rw] client_request_token
4695
+ # A unique case-sensitive string used to ensure the request to create
4696
+ # the notebook is idempotent (executes only once).
4697
+ #
4698
+ # This token is listed as not required because Amazon Web Services
4699
+ # SDKs (for example the Amazon Web Services SDK for Java)
4700
+ # auto-generate the token for you. If you are not using the Amazon Web
4701
+ # Services SDK or the Amazon Web Services CLI, you must provide this
4702
+ # token or the action will fail.
4703
+ # @return [String]
4704
+ #
4705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookInput AWS API Documentation
4706
+ #
4707
+ class UpdateNotebookInput < Struct.new(
4708
+ :notebook_id,
4709
+ :payload,
4710
+ :type,
4711
+ :session_id,
4712
+ :client_request_token)
4713
+ SENSITIVE = []
4714
+ include Aws::Structure
4715
+ end
4716
+
4717
+ # @!attribute [rw] notebook_id
4718
+ # The ID of the notebook to update the metadata for.
4719
+ # @return [String]
4720
+ #
4721
+ # @!attribute [rw] client_request_token
4722
+ # A unique case-sensitive string used to ensure the request to create
4723
+ # the notebook is idempotent (executes only once).
4724
+ #
4725
+ # This token is listed as not required because Amazon Web Services
4726
+ # SDKs (for example the Amazon Web Services SDK for Java)
4727
+ # auto-generate the token for you. If you are not using the Amazon Web
4728
+ # Services SDK or the Amazon Web Services CLI, you must provide this
4729
+ # token or the action will fail.
4730
+ # @return [String]
4731
+ #
4732
+ # @!attribute [rw] name
4733
+ # The name to update the notebook to.
4734
+ # @return [String]
4735
+ #
4736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadataInput AWS API Documentation
4737
+ #
4738
+ class UpdateNotebookMetadataInput < Struct.new(
4739
+ :notebook_id,
4740
+ :client_request_token,
4741
+ :name)
4742
+ SENSITIVE = []
4743
+ include Aws::Structure
4744
+ end
4745
+
4746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadataOutput AWS API Documentation
2549
4747
  #
2550
- # {
2551
- # statement_name: "StatementName", # required
2552
- # work_group: "WorkGroupName", # required
2553
- # query_statement: "QueryString", # required
2554
- # description: "DescriptionString",
2555
- # }
4748
+ class UpdateNotebookMetadataOutput < Aws::EmptyStructure; end
4749
+
4750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookOutput AWS API Documentation
2556
4751
  #
4752
+ class UpdateNotebookOutput < Aws::EmptyStructure; end
4753
+
2557
4754
  # @!attribute [rw] statement_name
2558
4755
  # The name of the prepared statement.
2559
4756
  # @return [String]
@@ -2585,35 +4782,6 @@ module Aws::Athena
2585
4782
  #
2586
4783
  class UpdatePreparedStatementOutput < Aws::EmptyStructure; end
2587
4784
 
2588
- # @note When making an API call, you may pass UpdateWorkGroupInput
2589
- # data as a hash:
2590
- #
2591
- # {
2592
- # work_group: "WorkGroupName", # required
2593
- # description: "WorkGroupDescriptionString",
2594
- # configuration_updates: {
2595
- # enforce_work_group_configuration: false,
2596
- # result_configuration_updates: {
2597
- # output_location: "String",
2598
- # remove_output_location: false,
2599
- # encryption_configuration: {
2600
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
2601
- # kms_key: "String",
2602
- # },
2603
- # remove_encryption_configuration: false,
2604
- # },
2605
- # publish_cloud_watch_metrics_enabled: false,
2606
- # bytes_scanned_cutoff_per_query: 1,
2607
- # remove_bytes_scanned_cutoff_per_query: false,
2608
- # requester_pays_enabled: false,
2609
- # engine_version: {
2610
- # selected_engine_version: "NameString",
2611
- # effective_engine_version: "NameString",
2612
- # },
2613
- # },
2614
- # state: "ENABLED", # accepts ENABLED, DISABLED
2615
- # }
2616
- #
2617
4785
  # @!attribute [rw] work_group
2618
4786
  # The specified workgroup that will be updated.
2619
4787
  # @return [String]
@@ -2623,8 +4791,7 @@ module Aws::Athena
2623
4791
  # @return [String]
2624
4792
  #
2625
4793
  # @!attribute [rw] configuration_updates
2626
- # The workgroup configuration that will be updated for the given
2627
- # workgroup.
4794
+ # Contains configuration updates for an Athena SQL workgroup.
2628
4795
  # @return [Types::WorkGroupConfigurationUpdates]
2629
4796
  #
2630
4797
  # @!attribute [rw] state
@@ -2668,12 +4835,12 @@ module Aws::Athena
2668
4835
  #
2669
4836
  # @!attribute [rw] configuration
2670
4837
  # The configuration of the workgroup, which includes the location in
2671
- # Amazon S3 where query results are stored, the encryption
2672
- # configuration, if any, used for query results; whether the Amazon
2673
- # CloudWatch Metrics are enabled for the workgroup; whether workgroup
2674
- # settings override client-side settings; and the data usage limits
2675
- # for the amount of data scanned per query or per workgroup. The
2676
- # workgroup settings override is specified in
4838
+ # Amazon S3 where query and calculation results are stored, the
4839
+ # encryption configuration, if any, used for query and calculation
4840
+ # results; whether the Amazon CloudWatch Metrics are enabled for the
4841
+ # workgroup; whether workgroup settings override client-side settings;
4842
+ # and the data usage limits for the amount of data scanned per query
4843
+ # or per workgroup. The workgroup settings override is specified in
2677
4844
  # `EnforceWorkGroupConfiguration` (true/false) in the
2678
4845
  # `WorkGroupConfiguration`. See
2679
4846
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
@@ -2687,6 +4854,11 @@ module Aws::Athena
2687
4854
  # The date and time the workgroup was created.
2688
4855
  # @return [Time]
2689
4856
  #
4857
+ # @!attribute [rw] identity_center_application_arn
4858
+ # The ARN of the IAM Identity Center enabled application associated
4859
+ # with the workgroup.
4860
+ # @return [String]
4861
+ #
2690
4862
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroup AWS API Documentation
2691
4863
  #
2692
4864
  class WorkGroup < Struct.new(
@@ -2694,51 +4866,34 @@ module Aws::Athena
2694
4866
  :state,
2695
4867
  :configuration,
2696
4868
  :description,
2697
- :creation_time)
4869
+ :creation_time,
4870
+ :identity_center_application_arn)
2698
4871
  SENSITIVE = []
2699
4872
  include Aws::Structure
2700
4873
  end
2701
4874
 
2702
4875
  # The configuration of the workgroup, which includes the location in
2703
- # Amazon S3 where query results are stored, the encryption option, if
2704
- # any, used for query results, whether the Amazon CloudWatch Metrics are
2705
- # enabled for the workgroup and whether workgroup settings override
2706
- # query settings, and the data usage limits for the amount of data
2707
- # scanned per query or per workgroup. The workgroup settings override is
2708
- # specified in `EnforceWorkGroupConfiguration` (true/false) in the
4876
+ # Amazon S3 where query and calculation results are stored, the
4877
+ # encryption option, if any, used for query and calculation results,
4878
+ # whether the Amazon CloudWatch Metrics are enabled for the workgroup
4879
+ # and whether workgroup settings override query settings, and the data
4880
+ # usage limits for the amount of data scanned per query or per
4881
+ # workgroup. The workgroup settings override is specified in
4882
+ # `EnforceWorkGroupConfiguration` (true/false) in the
2709
4883
  # `WorkGroupConfiguration`. See
2710
4884
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
2711
4885
  #
2712
- # @note When making an API call, you may pass WorkGroupConfiguration
2713
- # data as a hash:
2714
- #
2715
- # {
2716
- # result_configuration: {
2717
- # output_location: "String",
2718
- # encryption_configuration: {
2719
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
2720
- # kms_key: "String",
2721
- # },
2722
- # },
2723
- # enforce_work_group_configuration: false,
2724
- # publish_cloud_watch_metrics_enabled: false,
2725
- # bytes_scanned_cutoff_per_query: 1,
2726
- # requester_pays_enabled: false,
2727
- # engine_version: {
2728
- # selected_engine_version: "NameString",
2729
- # effective_engine_version: "NameString",
2730
- # },
2731
- # }
2732
- #
2733
4886
  # @!attribute [rw] result_configuration
2734
4887
  # The configuration for the workgroup, which includes the location in
2735
- # Amazon S3 where query results are stored and the encryption option,
2736
- # if any, used for query results. To run the query, you must specify
2737
- # the query results location using one of the ways: either in the
2738
- # workgroup using this setting, or for individual queries
2739
- # (client-side), using ResultConfiguration$OutputLocation. If none of
2740
- # them is set, Athena issues an error that no output location is
2741
- # provided. For more information, see [Query Results][1].
4888
+ # Amazon S3 where query and calculation results are stored and the
4889
+ # encryption option, if any, used for query and calculation results.
4890
+ # To run the query, you must specify the query results location using
4891
+ # one of the ways: either in the workgroup using this setting, or for
4892
+ # individual queries (client-side), using
4893
+ # ResultConfiguration$OutputLocation. If none of them is set, Athena
4894
+ # issues an error that no output location is provided. For more
4895
+ # information, see [Working with query results, recent queries, and
4896
+ # output files][1].
2742
4897
  #
2743
4898
  #
2744
4899
  #
@@ -2786,6 +4941,47 @@ module Aws::Athena
2786
4941
  # the preview engine regardless of this setting.
2787
4942
  # @return [Types::EngineVersion]
2788
4943
  #
4944
+ # @!attribute [rw] additional_configuration
4945
+ # Specifies a user defined JSON string that is passed to the notebook
4946
+ # engine.
4947
+ # @return [String]
4948
+ #
4949
+ # @!attribute [rw] execution_role
4950
+ # The ARN of the execution role used to access user resources for
4951
+ # Spark sessions and IAM Identity Center enabled workgroups. This
4952
+ # property applies only to Spark enabled workgroups and IAM Identity
4953
+ # Center enabled workgroups. The property is required for IAM Identity
4954
+ # Center enabled workgroups.
4955
+ # @return [String]
4956
+ #
4957
+ # @!attribute [rw] customer_content_encryption_configuration
4958
+ # Specifies the KMS key that is used to encrypt the user's data
4959
+ # stores in Athena. This setting does not apply to Athena SQL
4960
+ # workgroups.
4961
+ # @return [Types::CustomerContentEncryptionConfiguration]
4962
+ #
4963
+ # @!attribute [rw] enable_minimum_encryption_configuration
4964
+ # Enforces a minimal level of encryption for the workgroup for query
4965
+ # and calculation results that are written to Amazon S3. When enabled,
4966
+ # workgroup users can set encryption only to the minimum level set by
4967
+ # the administrator or higher when they submit queries.
4968
+ #
4969
+ # The `EnforceWorkGroupConfiguration` setting takes precedence over
4970
+ # the `EnableMinimumEncryptionConfiguration` flag. This means that if
4971
+ # `EnforceWorkGroupConfiguration` is true, the
4972
+ # `EnableMinimumEncryptionConfiguration` flag is ignored, and the
4973
+ # workgroup configuration for encryption is used.
4974
+ # @return [Boolean]
4975
+ #
4976
+ # @!attribute [rw] identity_center_configuration
4977
+ # Specifies whether the workgroup is IAM Identity Center supported.
4978
+ # @return [Types::IdentityCenterConfiguration]
4979
+ #
4980
+ # @!attribute [rw] query_results_s3_access_grants_configuration
4981
+ # Specifies whether Amazon S3 access grants are enabled for query
4982
+ # results.
4983
+ # @return [Types::QueryResultsS3AccessGrantsConfiguration]
4984
+ #
2789
4985
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupConfiguration AWS API Documentation
2790
4986
  #
2791
4987
  class WorkGroupConfiguration < Struct.new(
@@ -2794,42 +4990,24 @@ module Aws::Athena
2794
4990
  :publish_cloud_watch_metrics_enabled,
2795
4991
  :bytes_scanned_cutoff_per_query,
2796
4992
  :requester_pays_enabled,
2797
- :engine_version)
4993
+ :engine_version,
4994
+ :additional_configuration,
4995
+ :execution_role,
4996
+ :customer_content_encryption_configuration,
4997
+ :enable_minimum_encryption_configuration,
4998
+ :identity_center_configuration,
4999
+ :query_results_s3_access_grants_configuration)
2798
5000
  SENSITIVE = []
2799
5001
  include Aws::Structure
2800
5002
  end
2801
5003
 
2802
5004
  # The configuration information that will be updated for this workgroup,
2803
- # which includes the location in Amazon S3 where query results are
2804
- # stored, the encryption option, if any, used for query results, whether
2805
- # the Amazon CloudWatch Metrics are enabled for the workgroup, whether
2806
- # the workgroup settings override the client-side settings, and the data
2807
- # usage limit for the amount of bytes scanned per query, if it is
2808
- # specified.
2809
- #
2810
- # @note When making an API call, you may pass WorkGroupConfigurationUpdates
2811
- # data as a hash:
2812
- #
2813
- # {
2814
- # enforce_work_group_configuration: false,
2815
- # result_configuration_updates: {
2816
- # output_location: "String",
2817
- # remove_output_location: false,
2818
- # encryption_configuration: {
2819
- # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
2820
- # kms_key: "String",
2821
- # },
2822
- # remove_encryption_configuration: false,
2823
- # },
2824
- # publish_cloud_watch_metrics_enabled: false,
2825
- # bytes_scanned_cutoff_per_query: 1,
2826
- # remove_bytes_scanned_cutoff_per_query: false,
2827
- # requester_pays_enabled: false,
2828
- # engine_version: {
2829
- # selected_engine_version: "NameString",
2830
- # effective_engine_version: "NameString",
2831
- # },
2832
- # }
5005
+ # which includes the location in Amazon S3 where query and calculation
5006
+ # results are stored, the encryption option, if any, used for query
5007
+ # results, whether the Amazon CloudWatch Metrics are enabled for the
5008
+ # workgroup, whether the workgroup settings override the client-side
5009
+ # settings, and the data usage limit for the amount of bytes scanned per
5010
+ # query, if it is specified.
2833
5011
  #
2834
5012
  # @!attribute [rw] enforce_work_group_configuration
2835
5013
  # If set to "true", the settings for the workgroup override
@@ -2885,6 +5063,49 @@ module Aws::Athena
2885
5063
  # the preview engine regardless of this setting.
2886
5064
  # @return [Types::EngineVersion]
2887
5065
  #
5066
+ # @!attribute [rw] remove_customer_content_encryption_configuration
5067
+ # Removes content encryption configuration from an Apache
5068
+ # Spark-enabled Athena workgroup.
5069
+ # @return [Boolean]
5070
+ #
5071
+ # @!attribute [rw] additional_configuration
5072
+ # Contains a user defined string in JSON format for a Spark-enabled
5073
+ # workgroup.
5074
+ # @return [String]
5075
+ #
5076
+ # @!attribute [rw] execution_role
5077
+ # The ARN of the execution role used to access user resources for
5078
+ # Spark sessions and Identity Center enabled workgroups. This property
5079
+ # applies only to Spark enabled workgroups and Identity Center enabled
5080
+ # workgroups.
5081
+ # @return [String]
5082
+ #
5083
+ # @!attribute [rw] customer_content_encryption_configuration
5084
+ # Specifies the customer managed KMS key that is used to encrypt the
5085
+ # user's data stores in Athena. When an Amazon Web Services managed
5086
+ # key is used, this value is null. This setting does not apply to
5087
+ # Athena SQL workgroups.
5088
+ # @return [Types::CustomerContentEncryptionConfiguration]
5089
+ #
5090
+ # @!attribute [rw] enable_minimum_encryption_configuration
5091
+ # Enforces a minimal level of encryption for the workgroup for query
5092
+ # and calculation results that are written to Amazon S3. When enabled,
5093
+ # workgroup users can set encryption only to the minimum level set by
5094
+ # the administrator or higher when they submit queries. This setting
5095
+ # does not apply to Spark-enabled workgroups.
5096
+ #
5097
+ # The `EnforceWorkGroupConfiguration` setting takes precedence over
5098
+ # the `EnableMinimumEncryptionConfiguration` flag. This means that if
5099
+ # `EnforceWorkGroupConfiguration` is true, the
5100
+ # `EnableMinimumEncryptionConfiguration` flag is ignored, and the
5101
+ # workgroup configuration for encryption is used.
5102
+ # @return [Boolean]
5103
+ #
5104
+ # @!attribute [rw] query_results_s3_access_grants_configuration
5105
+ # Specifies whether Amazon S3 access grants are enabled for query
5106
+ # results.
5107
+ # @return [Types::QueryResultsS3AccessGrantsConfiguration]
5108
+ #
2888
5109
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupConfigurationUpdates AWS API Documentation
2889
5110
  #
2890
5111
  class WorkGroupConfigurationUpdates < Struct.new(
@@ -2894,7 +5115,13 @@ module Aws::Athena
2894
5115
  :bytes_scanned_cutoff_per_query,
2895
5116
  :remove_bytes_scanned_cutoff_per_query,
2896
5117
  :requester_pays_enabled,
2897
- :engine_version)
5118
+ :engine_version,
5119
+ :remove_customer_content_encryption_configuration,
5120
+ :additional_configuration,
5121
+ :execution_role,
5122
+ :customer_content_encryption_configuration,
5123
+ :enable_minimum_encryption_configuration,
5124
+ :query_results_s3_access_grants_configuration)
2898
5125
  SENSITIVE = []
2899
5126
  include Aws::Structure
2900
5127
  end
@@ -2924,6 +5151,11 @@ module Aws::Athena
2924
5151
  # preview engine regardless of this setting.
2925
5152
  # @return [Types::EngineVersion]
2926
5153
  #
5154
+ # @!attribute [rw] identity_center_application_arn
5155
+ # The ARN of the IAM Identity Center enabled application associated
5156
+ # with the workgroup.
5157
+ # @return [String]
5158
+ #
2927
5159
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupSummary AWS API Documentation
2928
5160
  #
2929
5161
  class WorkGroupSummary < Struct.new(
@@ -2931,7 +5163,8 @@ module Aws::Athena
2931
5163
  :state,
2932
5164
  :description,
2933
5165
  :creation_time,
2934
- :engine_version)
5166
+ :engine_version,
5167
+ :identity_center_application_arn)
2935
5168
  SENSITIVE = []
2936
5169
  include Aws::Structure
2937
5170
  end