aws-sdk-athena 1.46.0 → 1.80.0

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