aws-sdk-athena 1.44.0 → 1.75.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.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:athena)
@@ -73,8 +77,13 @@ module Aws::Athena
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
+ add_plugin(Aws::Athena::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::Athena
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::Athena
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::Athena
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::Athena
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -287,6 +318,19 @@ module Aws::Athena
287
318
  # ** Please note ** When response stubbing is enabled, no HTTP
288
319
  # requests are made, and retries are disabled.
289
320
  #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
290
334
  # @option options [Boolean] :use_dualstack_endpoint
291
335
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
336
  # will be used if available.
@@ -300,6 +344,9 @@ module Aws::Athena
300
344
  # When `true`, request parameters are validated before
301
345
  # sending the request.
302
346
  #
347
+ # @option options [Aws::Athena::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Athena::EndpointParameters`
349
+ #
303
350
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
351
  # requests through. Formatted like 'http://proxy.com:123'.
305
352
  #
@@ -307,7 +354,7 @@ module Aws::Athena
307
354
  # seconds to wait when opening a HTTP session before raising a
308
355
  # `Timeout::Error`.
309
356
  #
310
- # @option options [Integer] :http_read_timeout (60) The default
357
+ # @option options [Float] :http_read_timeout (60) The default
311
358
  # number of seconds to wait for response data. This value can
312
359
  # safely be set per-request on the session.
313
360
  #
@@ -323,6 +370,9 @@ module Aws::Athena
323
370
  # disables this behaviour. This value can safely be set per
324
371
  # request on the session.
325
372
  #
373
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
+ # in seconds.
375
+ #
326
376
  # @option options [Boolean] :http_wire_trace (false) When `true`,
327
377
  # HTTP debug output will be sent to the `:logger`.
328
378
  #
@@ -396,6 +446,53 @@ module Aws::Athena
396
446
  req.send_request(options)
397
447
  end
398
448
 
449
+ # Returns the details of a single prepared statement or a list of up to
450
+ # 256 prepared statements for the array of prepared statement names that
451
+ # you provide. Requires you to have access to the workgroup to which the
452
+ # prepared statements belong. If a prepared statement cannot be
453
+ # retrieved for the name specified, the statement is listed in
454
+ # `UnprocessedPreparedStatementNames`.
455
+ #
456
+ # @option params [required, Array<String>] :prepared_statement_names
457
+ # A list of prepared statement names to return.
458
+ #
459
+ # @option params [required, String] :work_group
460
+ # The name of the workgroup to which the prepared statements belong.
461
+ #
462
+ # @return [Types::BatchGetPreparedStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
463
+ #
464
+ # * {Types::BatchGetPreparedStatementOutput#prepared_statements #prepared_statements} => Array&lt;Types::PreparedStatement&gt;
465
+ # * {Types::BatchGetPreparedStatementOutput#unprocessed_prepared_statement_names #unprocessed_prepared_statement_names} => Array&lt;Types::UnprocessedPreparedStatementName&gt;
466
+ #
467
+ # @example Request syntax with placeholder values
468
+ #
469
+ # resp = client.batch_get_prepared_statement({
470
+ # prepared_statement_names: ["StatementName"], # required
471
+ # work_group: "WorkGroupName", # required
472
+ # })
473
+ #
474
+ # @example Response structure
475
+ #
476
+ # resp.prepared_statements #=> Array
477
+ # resp.prepared_statements[0].statement_name #=> String
478
+ # resp.prepared_statements[0].query_statement #=> String
479
+ # resp.prepared_statements[0].work_group_name #=> String
480
+ # resp.prepared_statements[0].description #=> String
481
+ # resp.prepared_statements[0].last_modified_time #=> Time
482
+ # resp.unprocessed_prepared_statement_names #=> Array
483
+ # resp.unprocessed_prepared_statement_names[0].statement_name #=> String
484
+ # resp.unprocessed_prepared_statement_names[0].error_code #=> String
485
+ # resp.unprocessed_prepared_statement_names[0].error_message #=> String
486
+ #
487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/BatchGetPreparedStatement AWS API Documentation
488
+ #
489
+ # @overload batch_get_prepared_statement(params = {})
490
+ # @param [Hash] params ({})
491
+ def batch_get_prepared_statement(params = {}, options = {})
492
+ req = build_request(:batch_get_prepared_statement, params)
493
+ req.send_request(options)
494
+ end
495
+
399
496
  # Returns the details of a single query execution or a list of up to 50
400
497
  # query executions, which you provide as an array of query execution ID
401
498
  # strings. Requires you to have access to the workgroup in which the
@@ -427,12 +524,20 @@ module Aws::Athena
427
524
  # resp.query_executions[0].result_configuration.output_location #=> String
428
525
  # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
429
526
  # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String
527
+ # resp.query_executions[0].result_configuration.expected_bucket_owner #=> String
528
+ # resp.query_executions[0].result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
529
+ # resp.query_executions[0].result_reuse_configuration.result_reuse_by_age_configuration.enabled #=> Boolean
530
+ # resp.query_executions[0].result_reuse_configuration.result_reuse_by_age_configuration.max_age_in_minutes #=> Integer
430
531
  # resp.query_executions[0].query_execution_context.database #=> String
431
532
  # resp.query_executions[0].query_execution_context.catalog #=> String
432
533
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
433
534
  # resp.query_executions[0].status.state_change_reason #=> String
434
535
  # resp.query_executions[0].status.submission_date_time #=> Time
435
536
  # resp.query_executions[0].status.completion_date_time #=> Time
537
+ # resp.query_executions[0].status.athena_error.error_category #=> Integer
538
+ # resp.query_executions[0].status.athena_error.error_type #=> Integer
539
+ # resp.query_executions[0].status.athena_error.retryable #=> Boolean
540
+ # resp.query_executions[0].status.athena_error.error_message #=> String
436
541
  # resp.query_executions[0].statistics.engine_execution_time_in_millis #=> Integer
437
542
  # resp.query_executions[0].statistics.data_scanned_in_bytes #=> Integer
438
543
  # resp.query_executions[0].statistics.data_manifest_location #=> String
@@ -440,9 +545,13 @@ module Aws::Athena
440
545
  # resp.query_executions[0].statistics.query_queue_time_in_millis #=> Integer
441
546
  # resp.query_executions[0].statistics.query_planning_time_in_millis #=> Integer
442
547
  # resp.query_executions[0].statistics.service_processing_time_in_millis #=> Integer
548
+ # resp.query_executions[0].statistics.result_reuse_information.reused_previous_result #=> Boolean
443
549
  # resp.query_executions[0].work_group #=> String
444
550
  # resp.query_executions[0].engine_version.selected_engine_version #=> String
445
551
  # resp.query_executions[0].engine_version.effective_engine_version #=> String
552
+ # resp.query_executions[0].execution_parameters #=> Array
553
+ # resp.query_executions[0].execution_parameters[0] #=> String
554
+ # resp.query_executions[0].substatement_type #=> String
446
555
  # resp.unprocessed_query_execution_ids #=> Array
447
556
  # resp.unprocessed_query_execution_ids[0].query_execution_id #=> String
448
557
  # resp.unprocessed_query_execution_ids[0].error_code #=> String
@@ -457,6 +566,68 @@ module Aws::Athena
457
566
  req.send_request(options)
458
567
  end
459
568
 
569
+ # Cancels the capacity reservation with the specified name. Cancelled
570
+ # reservations remain in your account and will be deleted 45 days after
571
+ # cancellation. During the 45 days, you cannot re-purpose or reuse a
572
+ # reservation that has been cancelled, but you can refer to its tags and
573
+ # view it for historical reference.
574
+ #
575
+ # @option params [required, String] :name
576
+ # The name of the capacity reservation to cancel.
577
+ #
578
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
579
+ #
580
+ # @example Request syntax with placeholder values
581
+ #
582
+ # resp = client.cancel_capacity_reservation({
583
+ # name: "CapacityReservationName", # required
584
+ # })
585
+ #
586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CancelCapacityReservation AWS API Documentation
587
+ #
588
+ # @overload cancel_capacity_reservation(params = {})
589
+ # @param [Hash] params ({})
590
+ def cancel_capacity_reservation(params = {}, options = {})
591
+ req = build_request(:cancel_capacity_reservation, params)
592
+ req.send_request(options)
593
+ end
594
+
595
+ # Creates a capacity reservation with the specified name and number of
596
+ # requested data processing units.
597
+ #
598
+ # @option params [required, Integer] :target_dpus
599
+ # The number of requested data processing units.
600
+ #
601
+ # @option params [required, String] :name
602
+ # The name of the capacity reservation to create.
603
+ #
604
+ # @option params [Array<Types::Tag>] :tags
605
+ # The tags for the capacity reservation.
606
+ #
607
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
608
+ #
609
+ # @example Request syntax with placeholder values
610
+ #
611
+ # resp = client.create_capacity_reservation({
612
+ # target_dpus: 1, # required
613
+ # name: "CapacityReservationName", # required
614
+ # tags: [
615
+ # {
616
+ # key: "TagKey",
617
+ # value: "TagValue",
618
+ # },
619
+ # ],
620
+ # })
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateCapacityReservation AWS API Documentation
623
+ #
624
+ # @overload create_capacity_reservation(params = {})
625
+ # @param [Hash] params ({})
626
+ def create_capacity_reservation(params = {}, options = {})
627
+ req = build_request(:create_capacity_reservation, params)
628
+ req.send_request(options)
629
+ end
630
+
460
631
  # Creates (registers) a data catalog with the specified name and
461
632
  # properties. Catalogs created are visible to all users of the same
462
633
  # Amazon Web Services account.
@@ -464,7 +635,9 @@ module Aws::Athena
464
635
  # @option params [required, String] :name
465
636
  # The name of the data catalog to create. The catalog name must be
466
637
  # unique for the Amazon Web Services account and can use a maximum of
467
- # 128 alphanumeric, underscore, at sign, or hyphen characters.
638
+ # 127 alphanumeric, underscore, at sign, or hyphen characters. The
639
+ # remainder of the length constraint of 256 is reserved for use by
640
+ # Athena.
468
641
  #
469
642
  # @option params [required, String] :type
470
643
  # The type of data catalog to create: `LAMBDA` for a federated catalog,
@@ -619,6 +792,53 @@ module Aws::Athena
619
792
  req.send_request(options)
620
793
  end
621
794
 
795
+ # Creates an empty `ipynb` file in the specified Apache Spark enabled
796
+ # workgroup. Throws an error if a file in the workgroup with the same
797
+ # name already exists.
798
+ #
799
+ # @option params [required, String] :work_group
800
+ # The name of the Spark enabled workgroup in which the notebook will be
801
+ # created.
802
+ #
803
+ # @option params [required, String] :name
804
+ # The name of the `ipynb` file to be created in the Spark workgroup,
805
+ # without the `.ipynb` extension.
806
+ #
807
+ # @option params [String] :client_request_token
808
+ # A unique case-sensitive string used to ensure the request to create
809
+ # the notebook is idempotent (executes only once).
810
+ #
811
+ # This token is listed as not required because Amazon Web Services SDKs
812
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
813
+ # token for you. If you are not using the Amazon Web Services SDK or the
814
+ # Amazon Web Services CLI, you must provide this token or the action
815
+ # will fail.
816
+ #
817
+ # @return [Types::CreateNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
818
+ #
819
+ # * {Types::CreateNotebookOutput#notebook_id #notebook_id} => String
820
+ #
821
+ # @example Request syntax with placeholder values
822
+ #
823
+ # resp = client.create_notebook({
824
+ # work_group: "WorkGroupName", # required
825
+ # name: "NotebookName", # required
826
+ # client_request_token: "ClientRequestToken",
827
+ # })
828
+ #
829
+ # @example Response structure
830
+ #
831
+ # resp.notebook_id #=> String
832
+ #
833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNotebook AWS API Documentation
834
+ #
835
+ # @overload create_notebook(params = {})
836
+ # @param [Hash] params ({})
837
+ def create_notebook(params = {}, options = {})
838
+ req = build_request(:create_notebook, params)
839
+ req.send_request(options)
840
+ end
841
+
622
842
  # Creates a prepared statement for use with SQL queries in Athena.
623
843
  #
624
844
  # @option params [required, String] :statement_name
@@ -653,20 +873,62 @@ module Aws::Athena
653
873
  req.send_request(options)
654
874
  end
655
875
 
656
- # Creates a workgroup with the specified name.
876
+ # Gets an authentication token and the URL at which the notebook can be
877
+ # accessed. During programmatic access, `CreatePresignedNotebookUrl`
878
+ # must be called every 10 minutes to refresh the authentication token.
879
+ # For information about granting programmatic access, see [Grant
880
+ # programmatic access][1].
881
+ #
882
+ #
883
+ #
884
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/setting-up.html#setting-up-grant-programmatic-access
885
+ #
886
+ # @option params [required, String] :session_id
887
+ # The session ID.
888
+ #
889
+ # @return [Types::CreatePresignedNotebookUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
890
+ #
891
+ # * {Types::CreatePresignedNotebookUrlResponse#notebook_url #notebook_url} => String
892
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token #auth_token} => String
893
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token_expiration_time #auth_token_expiration_time} => Integer
894
+ #
895
+ # @example Request syntax with placeholder values
896
+ #
897
+ # resp = client.create_presigned_notebook_url({
898
+ # session_id: "SessionId", # required
899
+ # })
900
+ #
901
+ # @example Response structure
902
+ #
903
+ # resp.notebook_url #=> String
904
+ # resp.auth_token #=> String
905
+ # resp.auth_token_expiration_time #=> Integer
906
+ #
907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePresignedNotebookUrl AWS API Documentation
908
+ #
909
+ # @overload create_presigned_notebook_url(params = {})
910
+ # @param [Hash] params ({})
911
+ def create_presigned_notebook_url(params = {}, options = {})
912
+ req = build_request(:create_presigned_notebook_url, params)
913
+ req.send_request(options)
914
+ end
915
+
916
+ # Creates a workgroup with the specified name. A workgroup can be an
917
+ # Apache Spark enabled workgroup or an Athena SQL workgroup.
657
918
  #
658
919
  # @option params [required, String] :name
659
920
  # The workgroup name.
660
921
  #
661
922
  # @option params [Types::WorkGroupConfiguration] :configuration
662
- # The configuration for the workgroup, which includes the location in
663
- # Amazon S3 where query results are stored, the encryption
664
- # configuration, if any, used for encrypting query results, whether the
665
- # Amazon CloudWatch Metrics are enabled for the workgroup, the limit for
666
- # the amount of bytes scanned (cutoff) per query, if it is specified,
667
- # and whether workgroup's settings (specified with
668
- # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
669
- # override client-side settings. See
923
+ # Contains configuration information for creating an Athena SQL
924
+ # workgroup or Spark enabled Athena workgroup. Athena SQL workgroup
925
+ # configuration includes the location in Amazon S3 where query and
926
+ # calculation results are stored, the encryption configuration, if any,
927
+ # used for encrypting query results, whether the Amazon CloudWatch
928
+ # Metrics are enabled for the workgroup, the limit for the amount of
929
+ # bytes scanned (cutoff) per query, if it is specified, and whether
930
+ # workgroup's settings (specified with `EnforceWorkGroupConfiguration`)
931
+ # in the `WorkGroupConfiguration` override client-side settings. See
670
932
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
671
933
  #
672
934
  # @option params [String] :description
@@ -684,11 +946,15 @@ module Aws::Athena
684
946
  # name: "WorkGroupName", # required
685
947
  # configuration: {
686
948
  # result_configuration: {
687
- # output_location: "String",
949
+ # output_location: "ResultOutputLocation",
688
950
  # encryption_configuration: {
689
951
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
690
952
  # kms_key: "String",
691
953
  # },
954
+ # expected_bucket_owner: "AwsAccountId",
955
+ # acl_configuration: {
956
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
957
+ # },
692
958
  # },
693
959
  # enforce_work_group_configuration: false,
694
960
  # publish_cloud_watch_metrics_enabled: false,
@@ -698,6 +964,12 @@ module Aws::Athena
698
964
  # selected_engine_version: "NameString",
699
965
  # effective_engine_version: "NameString",
700
966
  # },
967
+ # additional_configuration: "NameString",
968
+ # execution_role: "RoleArn",
969
+ # customer_content_encryption_configuration: {
970
+ # kms_key: "KmsKey", # required
971
+ # },
972
+ # enable_minimum_encryption_configuration: false,
701
973
  # },
702
974
  # description: "WorkGroupDescriptionString",
703
975
  # tags: [
@@ -717,6 +989,33 @@ module Aws::Athena
717
989
  req.send_request(options)
718
990
  end
719
991
 
992
+ # Deletes a cancelled capacity reservation. A reservation must be
993
+ # cancelled before it can be deleted. A deleted reservation is
994
+ # immediately removed from your account and can no longer be referenced,
995
+ # including by its ARN. A deleted reservation cannot be called by
996
+ # `GetCapacityReservation`, and deleted reservations do not appear in
997
+ # the output of `ListCapacityReservations`.
998
+ #
999
+ # @option params [required, String] :name
1000
+ # The name of the capacity reservation to delete.
1001
+ #
1002
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1003
+ #
1004
+ # @example Request syntax with placeholder values
1005
+ #
1006
+ # resp = client.delete_capacity_reservation({
1007
+ # name: "CapacityReservationName", # required
1008
+ # })
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteCapacityReservation AWS API Documentation
1011
+ #
1012
+ # @overload delete_capacity_reservation(params = {})
1013
+ # @param [Hash] params ({})
1014
+ def delete_capacity_reservation(params = {}, options = {})
1015
+ req = build_request(:delete_capacity_reservation, params)
1016
+ req.send_request(options)
1017
+ end
1018
+
720
1019
  # Deletes a data catalog.
721
1020
  #
722
1021
  # @option params [required, String] :name
@@ -772,6 +1071,28 @@ module Aws::Athena
772
1071
  req.send_request(options)
773
1072
  end
774
1073
 
1074
+ # Deletes the specified notebook.
1075
+ #
1076
+ # @option params [required, String] :notebook_id
1077
+ # The ID of the notebook to delete.
1078
+ #
1079
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1080
+ #
1081
+ # @example Request syntax with placeholder values
1082
+ #
1083
+ # resp = client.delete_notebook({
1084
+ # notebook_id: "NotebookId", # required
1085
+ # })
1086
+ #
1087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNotebook AWS API Documentation
1088
+ #
1089
+ # @overload delete_notebook(params = {})
1090
+ # @param [Hash] params ({})
1091
+ def delete_notebook(params = {}, options = {})
1092
+ req = build_request(:delete_notebook, params)
1093
+ req.send_request(options)
1094
+ end
1095
+
775
1096
  # Deletes the prepared statement with the specified name from the
776
1097
  # specified workgroup.
777
1098
  #
@@ -807,7 +1128,7 @@ module Aws::Athena
807
1128
  #
808
1129
  # @option params [Boolean] :recursive_delete_option
809
1130
  # The option to delete the workgroup and its contents even if the
810
- # workgroup contains any named queries or query executions.
1131
+ # workgroup contains any named queries, query executions, or notebooks.
811
1132
  #
812
1133
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
813
1134
  #
@@ -827,6 +1148,221 @@ module Aws::Athena
827
1148
  req.send_request(options)
828
1149
  end
829
1150
 
1151
+ # Exports the specified notebook and its metadata.
1152
+ #
1153
+ # @option params [required, String] :notebook_id
1154
+ # The ID of the notebook to export.
1155
+ #
1156
+ # @return [Types::ExportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1157
+ #
1158
+ # * {Types::ExportNotebookOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
1159
+ # * {Types::ExportNotebookOutput#payload #payload} => String
1160
+ #
1161
+ # @example Request syntax with placeholder values
1162
+ #
1163
+ # resp = client.export_notebook({
1164
+ # notebook_id: "NotebookId", # required
1165
+ # })
1166
+ #
1167
+ # @example Response structure
1168
+ #
1169
+ # resp.notebook_metadata.notebook_id #=> String
1170
+ # resp.notebook_metadata.name #=> String
1171
+ # resp.notebook_metadata.work_group #=> String
1172
+ # resp.notebook_metadata.creation_time #=> Time
1173
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1174
+ # resp.notebook_metadata.last_modified_time #=> Time
1175
+ # resp.payload #=> String
1176
+ #
1177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExportNotebook AWS API Documentation
1178
+ #
1179
+ # @overload export_notebook(params = {})
1180
+ # @param [Hash] params ({})
1181
+ def export_notebook(params = {}, options = {})
1182
+ req = build_request(:export_notebook, params)
1183
+ req.send_request(options)
1184
+ end
1185
+
1186
+ # Describes a previously submitted calculation execution.
1187
+ #
1188
+ # @option params [required, String] :calculation_execution_id
1189
+ # The calculation execution UUID.
1190
+ #
1191
+ # @return [Types::GetCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1192
+ #
1193
+ # * {Types::GetCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
1194
+ # * {Types::GetCalculationExecutionResponse#session_id #session_id} => String
1195
+ # * {Types::GetCalculationExecutionResponse#description #description} => String
1196
+ # * {Types::GetCalculationExecutionResponse#working_directory #working_directory} => String
1197
+ # * {Types::GetCalculationExecutionResponse#status #status} => Types::CalculationStatus
1198
+ # * {Types::GetCalculationExecutionResponse#statistics #statistics} => Types::CalculationStatistics
1199
+ # * {Types::GetCalculationExecutionResponse#result #result} => Types::CalculationResult
1200
+ #
1201
+ # @example Request syntax with placeholder values
1202
+ #
1203
+ # resp = client.get_calculation_execution({
1204
+ # calculation_execution_id: "CalculationExecutionId", # required
1205
+ # })
1206
+ #
1207
+ # @example Response structure
1208
+ #
1209
+ # resp.calculation_execution_id #=> String
1210
+ # resp.session_id #=> String
1211
+ # resp.description #=> String
1212
+ # resp.working_directory #=> String
1213
+ # resp.status.submission_date_time #=> Time
1214
+ # resp.status.completion_date_time #=> Time
1215
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1216
+ # resp.status.state_change_reason #=> String
1217
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1218
+ # resp.statistics.progress #=> String
1219
+ # resp.result.std_out_s3_uri #=> String
1220
+ # resp.result.std_error_s3_uri #=> String
1221
+ # resp.result.result_s3_uri #=> String
1222
+ # resp.result.result_type #=> String
1223
+ #
1224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecution AWS API Documentation
1225
+ #
1226
+ # @overload get_calculation_execution(params = {})
1227
+ # @param [Hash] params ({})
1228
+ def get_calculation_execution(params = {}, options = {})
1229
+ req = build_request(:get_calculation_execution, params)
1230
+ req.send_request(options)
1231
+ end
1232
+
1233
+ # Retrieves the unencrypted code that was executed for the calculation.
1234
+ #
1235
+ # @option params [required, String] :calculation_execution_id
1236
+ # The calculation execution UUID.
1237
+ #
1238
+ # @return [Types::GetCalculationExecutionCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1239
+ #
1240
+ # * {Types::GetCalculationExecutionCodeResponse#code_block #code_block} => String
1241
+ #
1242
+ # @example Request syntax with placeholder values
1243
+ #
1244
+ # resp = client.get_calculation_execution_code({
1245
+ # calculation_execution_id: "CalculationExecutionId", # required
1246
+ # })
1247
+ #
1248
+ # @example Response structure
1249
+ #
1250
+ # resp.code_block #=> String
1251
+ #
1252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionCode AWS API Documentation
1253
+ #
1254
+ # @overload get_calculation_execution_code(params = {})
1255
+ # @param [Hash] params ({})
1256
+ def get_calculation_execution_code(params = {}, options = {})
1257
+ req = build_request(:get_calculation_execution_code, params)
1258
+ req.send_request(options)
1259
+ end
1260
+
1261
+ # Gets the status of a current calculation.
1262
+ #
1263
+ # @option params [required, String] :calculation_execution_id
1264
+ # The calculation execution UUID.
1265
+ #
1266
+ # @return [Types::GetCalculationExecutionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
+ #
1268
+ # * {Types::GetCalculationExecutionStatusResponse#status #status} => Types::CalculationStatus
1269
+ # * {Types::GetCalculationExecutionStatusResponse#statistics #statistics} => Types::CalculationStatistics
1270
+ #
1271
+ # @example Request syntax with placeholder values
1272
+ #
1273
+ # resp = client.get_calculation_execution_status({
1274
+ # calculation_execution_id: "CalculationExecutionId", # required
1275
+ # })
1276
+ #
1277
+ # @example Response structure
1278
+ #
1279
+ # resp.status.submission_date_time #=> Time
1280
+ # resp.status.completion_date_time #=> Time
1281
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1282
+ # resp.status.state_change_reason #=> String
1283
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1284
+ # resp.statistics.progress #=> String
1285
+ #
1286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionStatus AWS API Documentation
1287
+ #
1288
+ # @overload get_calculation_execution_status(params = {})
1289
+ # @param [Hash] params ({})
1290
+ def get_calculation_execution_status(params = {}, options = {})
1291
+ req = build_request(:get_calculation_execution_status, params)
1292
+ req.send_request(options)
1293
+ end
1294
+
1295
+ # Gets the capacity assignment configuration for a capacity reservation,
1296
+ # if one exists.
1297
+ #
1298
+ # @option params [required, String] :capacity_reservation_name
1299
+ # The name of the capacity reservation to retrieve the capacity
1300
+ # assignment configuration for.
1301
+ #
1302
+ # @return [Types::GetCapacityAssignmentConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1303
+ #
1304
+ # * {Types::GetCapacityAssignmentConfigurationOutput#capacity_assignment_configuration #capacity_assignment_configuration} => Types::CapacityAssignmentConfiguration
1305
+ #
1306
+ # @example Request syntax with placeholder values
1307
+ #
1308
+ # resp = client.get_capacity_assignment_configuration({
1309
+ # capacity_reservation_name: "CapacityReservationName", # required
1310
+ # })
1311
+ #
1312
+ # @example Response structure
1313
+ #
1314
+ # resp.capacity_assignment_configuration.capacity_reservation_name #=> String
1315
+ # resp.capacity_assignment_configuration.capacity_assignments #=> Array
1316
+ # resp.capacity_assignment_configuration.capacity_assignments[0].work_group_names #=> Array
1317
+ # resp.capacity_assignment_configuration.capacity_assignments[0].work_group_names[0] #=> String
1318
+ #
1319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityAssignmentConfiguration AWS API Documentation
1320
+ #
1321
+ # @overload get_capacity_assignment_configuration(params = {})
1322
+ # @param [Hash] params ({})
1323
+ def get_capacity_assignment_configuration(params = {}, options = {})
1324
+ req = build_request(:get_capacity_assignment_configuration, params)
1325
+ req.send_request(options)
1326
+ end
1327
+
1328
+ # Returns information about the capacity reservation with the specified
1329
+ # name.
1330
+ #
1331
+ # @option params [required, String] :name
1332
+ # The name of the capacity reservation.
1333
+ #
1334
+ # @return [Types::GetCapacityReservationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1335
+ #
1336
+ # * {Types::GetCapacityReservationOutput#capacity_reservation #capacity_reservation} => Types::CapacityReservation
1337
+ #
1338
+ # @example Request syntax with placeholder values
1339
+ #
1340
+ # resp = client.get_capacity_reservation({
1341
+ # name: "CapacityReservationName", # required
1342
+ # })
1343
+ #
1344
+ # @example Response structure
1345
+ #
1346
+ # resp.capacity_reservation.name #=> String
1347
+ # resp.capacity_reservation.status #=> String, one of "PENDING", "ACTIVE", "CANCELLING", "CANCELLED", "FAILED", "UPDATE_PENDING"
1348
+ # resp.capacity_reservation.target_dpus #=> Integer
1349
+ # resp.capacity_reservation.allocated_dpus #=> Integer
1350
+ # resp.capacity_reservation.last_allocation.status #=> String, one of "PENDING", "SUCCEEDED", "FAILED"
1351
+ # resp.capacity_reservation.last_allocation.status_message #=> String
1352
+ # resp.capacity_reservation.last_allocation.request_time #=> Time
1353
+ # resp.capacity_reservation.last_allocation.request_completion_time #=> Time
1354
+ # resp.capacity_reservation.last_successful_allocation_time #=> Time
1355
+ # resp.capacity_reservation.creation_time #=> Time
1356
+ #
1357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityReservation AWS API Documentation
1358
+ #
1359
+ # @overload get_capacity_reservation(params = {})
1360
+ # @param [Hash] params ({})
1361
+ def get_capacity_reservation(params = {}, options = {})
1362
+ req = build_request(:get_capacity_reservation, params)
1363
+ req.send_request(options)
1364
+ end
1365
+
830
1366
  # Returns the specified data catalog.
831
1367
  #
832
1368
  # @option params [required, String] :name
@@ -928,29 +1464,62 @@ module Aws::Athena
928
1464
  req.send_request(options)
929
1465
  end
930
1466
 
931
- # Retrieves the prepared statement with the specified name from the
932
- # specified workgroup.
933
- #
934
- # @option params [required, String] :statement_name
935
- # The name of the prepared statement to retrieve.
1467
+ # Retrieves notebook metadata for the specified notebook ID.
936
1468
  #
937
- # @option params [required, String] :work_group
938
- # The workgroup to which the statement to be retrieved belongs.
1469
+ # @option params [required, String] :notebook_id
1470
+ # The ID of the notebook whose metadata is to be retrieved.
939
1471
  #
940
- # @return [Types::GetPreparedStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1472
+ # @return [Types::GetNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
941
1473
  #
942
- # * {Types::GetPreparedStatementOutput#prepared_statement #prepared_statement} => Types::PreparedStatement
1474
+ # * {Types::GetNotebookMetadataOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
943
1475
  #
944
1476
  # @example Request syntax with placeholder values
945
1477
  #
946
- # resp = client.get_prepared_statement({
947
- # statement_name: "StatementName", # required
948
- # work_group: "WorkGroupName", # required
1478
+ # resp = client.get_notebook_metadata({
1479
+ # notebook_id: "NotebookId", # required
949
1480
  # })
950
1481
  #
951
1482
  # @example Response structure
952
1483
  #
953
- # resp.prepared_statement.statement_name #=> String
1484
+ # resp.notebook_metadata.notebook_id #=> String
1485
+ # resp.notebook_metadata.name #=> String
1486
+ # resp.notebook_metadata.work_group #=> String
1487
+ # resp.notebook_metadata.creation_time #=> Time
1488
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1489
+ # resp.notebook_metadata.last_modified_time #=> Time
1490
+ #
1491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNotebookMetadata AWS API Documentation
1492
+ #
1493
+ # @overload get_notebook_metadata(params = {})
1494
+ # @param [Hash] params ({})
1495
+ def get_notebook_metadata(params = {}, options = {})
1496
+ req = build_request(:get_notebook_metadata, params)
1497
+ req.send_request(options)
1498
+ end
1499
+
1500
+ # Retrieves the prepared statement with the specified name from the
1501
+ # specified workgroup.
1502
+ #
1503
+ # @option params [required, String] :statement_name
1504
+ # The name of the prepared statement to retrieve.
1505
+ #
1506
+ # @option params [required, String] :work_group
1507
+ # The workgroup to which the statement to be retrieved belongs.
1508
+ #
1509
+ # @return [Types::GetPreparedStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1510
+ #
1511
+ # * {Types::GetPreparedStatementOutput#prepared_statement #prepared_statement} => Types::PreparedStatement
1512
+ #
1513
+ # @example Request syntax with placeholder values
1514
+ #
1515
+ # resp = client.get_prepared_statement({
1516
+ # statement_name: "StatementName", # required
1517
+ # work_group: "WorkGroupName", # required
1518
+ # })
1519
+ #
1520
+ # @example Response structure
1521
+ #
1522
+ # resp.prepared_statement.statement_name #=> String
954
1523
  # resp.prepared_statement.query_statement #=> String
955
1524
  # resp.prepared_statement.work_group_name #=> String
956
1525
  # resp.prepared_statement.description #=> String
@@ -991,12 +1560,20 @@ module Aws::Athena
991
1560
  # resp.query_execution.result_configuration.output_location #=> String
992
1561
  # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
993
1562
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
1563
+ # resp.query_execution.result_configuration.expected_bucket_owner #=> String
1564
+ # resp.query_execution.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
1565
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.enabled #=> Boolean
1566
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.max_age_in_minutes #=> Integer
994
1567
  # resp.query_execution.query_execution_context.database #=> String
995
1568
  # resp.query_execution.query_execution_context.catalog #=> String
996
1569
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
997
1570
  # resp.query_execution.status.state_change_reason #=> String
998
1571
  # resp.query_execution.status.submission_date_time #=> Time
999
1572
  # resp.query_execution.status.completion_date_time #=> Time
1573
+ # resp.query_execution.status.athena_error.error_category #=> Integer
1574
+ # resp.query_execution.status.athena_error.error_type #=> Integer
1575
+ # resp.query_execution.status.athena_error.retryable #=> Boolean
1576
+ # resp.query_execution.status.athena_error.error_message #=> String
1000
1577
  # resp.query_execution.statistics.engine_execution_time_in_millis #=> Integer
1001
1578
  # resp.query_execution.statistics.data_scanned_in_bytes #=> Integer
1002
1579
  # resp.query_execution.statistics.data_manifest_location #=> String
@@ -1004,9 +1581,13 @@ module Aws::Athena
1004
1581
  # resp.query_execution.statistics.query_queue_time_in_millis #=> Integer
1005
1582
  # resp.query_execution.statistics.query_planning_time_in_millis #=> Integer
1006
1583
  # resp.query_execution.statistics.service_processing_time_in_millis #=> Integer
1584
+ # resp.query_execution.statistics.result_reuse_information.reused_previous_result #=> Boolean
1007
1585
  # resp.query_execution.work_group #=> String
1008
1586
  # resp.query_execution.engine_version.selected_engine_version #=> String
1009
1587
  # resp.query_execution.engine_version.effective_engine_version #=> String
1588
+ # resp.query_execution.execution_parameters #=> Array
1589
+ # resp.query_execution.execution_parameters[0] #=> String
1590
+ # resp.query_execution.substatement_type #=> String
1010
1591
  #
1011
1592
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryExecution AWS API Documentation
1012
1593
  #
@@ -1019,9 +1600,10 @@ module Aws::Athena
1019
1600
 
1020
1601
  # Streams the results of a single query execution specified by
1021
1602
  # `QueryExecutionId` from the Athena query results location in Amazon
1022
- # S3. For more information, see [Query Results][1] in the *Amazon Athena
1023
- # User Guide*. This request does not execute the query but returns
1024
- # results. Use StartQueryExecution to run a query.
1603
+ # S3. For more information, see [Working with query results, recent
1604
+ # queries, and output files][1] in the *Amazon Athena User Guide*. This
1605
+ # request does not execute the query but returns results. Use
1606
+ # StartQueryExecution to run a query.
1025
1607
  #
1026
1608
  # To stream query results successfully, the IAM principal with
1027
1609
  # permission to call `GetQueryResults` also must have permissions to the
@@ -1093,6 +1675,158 @@ module Aws::Athena
1093
1675
  req.send_request(options)
1094
1676
  end
1095
1677
 
1678
+ # Returns query execution runtime statistics related to a single
1679
+ # execution of a query if you have access to the workgroup in which the
1680
+ # query ran. Query execution runtime statistics are returned only when
1681
+ # QueryExecutionStatus$State is in a SUCCEEDED or FAILED state.
1682
+ # Stage-level input and output row count and data size statistics are
1683
+ # not shown when a query has row-level filters defined in Lake
1684
+ # Formation.
1685
+ #
1686
+ # @option params [required, String] :query_execution_id
1687
+ # The unique ID of the query execution.
1688
+ #
1689
+ # @return [Types::GetQueryRuntimeStatisticsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1690
+ #
1691
+ # * {Types::GetQueryRuntimeStatisticsOutput#query_runtime_statistics #query_runtime_statistics} => Types::QueryRuntimeStatistics
1692
+ #
1693
+ # @example Request syntax with placeholder values
1694
+ #
1695
+ # resp = client.get_query_runtime_statistics({
1696
+ # query_execution_id: "QueryExecutionId", # required
1697
+ # })
1698
+ #
1699
+ # @example Response structure
1700
+ #
1701
+ # resp.query_runtime_statistics.timeline.query_queue_time_in_millis #=> Integer
1702
+ # resp.query_runtime_statistics.timeline.query_planning_time_in_millis #=> Integer
1703
+ # resp.query_runtime_statistics.timeline.engine_execution_time_in_millis #=> Integer
1704
+ # resp.query_runtime_statistics.timeline.service_processing_time_in_millis #=> Integer
1705
+ # resp.query_runtime_statistics.timeline.total_execution_time_in_millis #=> Integer
1706
+ # resp.query_runtime_statistics.rows.input_rows #=> Integer
1707
+ # resp.query_runtime_statistics.rows.input_bytes #=> Integer
1708
+ # resp.query_runtime_statistics.rows.output_bytes #=> Integer
1709
+ # resp.query_runtime_statistics.rows.output_rows #=> Integer
1710
+ # resp.query_runtime_statistics.output_stage.stage_id #=> Integer
1711
+ # resp.query_runtime_statistics.output_stage.state #=> String
1712
+ # resp.query_runtime_statistics.output_stage.output_bytes #=> Integer
1713
+ # resp.query_runtime_statistics.output_stage.output_rows #=> Integer
1714
+ # resp.query_runtime_statistics.output_stage.input_bytes #=> Integer
1715
+ # resp.query_runtime_statistics.output_stage.input_rows #=> Integer
1716
+ # resp.query_runtime_statistics.output_stage.execution_time #=> Integer
1717
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.name #=> String
1718
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.identifier #=> String
1719
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children #=> Array
1720
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children[0] #=> Types::QueryStagePlanNode
1721
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources #=> Array
1722
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources[0] #=> String
1723
+ # resp.query_runtime_statistics.output_stage.sub_stages #=> Array
1724
+ # resp.query_runtime_statistics.output_stage.sub_stages[0] #=> Types::QueryStage
1725
+ #
1726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryRuntimeStatistics AWS API Documentation
1727
+ #
1728
+ # @overload get_query_runtime_statistics(params = {})
1729
+ # @param [Hash] params ({})
1730
+ def get_query_runtime_statistics(params = {}, options = {})
1731
+ req = build_request(:get_query_runtime_statistics, params)
1732
+ req.send_request(options)
1733
+ end
1734
+
1735
+ # Gets the full details of a previously created session, including the
1736
+ # session status and configuration.
1737
+ #
1738
+ # @option params [required, String] :session_id
1739
+ # The session ID.
1740
+ #
1741
+ # @return [Types::GetSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1742
+ #
1743
+ # * {Types::GetSessionResponse#session_id #session_id} => String
1744
+ # * {Types::GetSessionResponse#description #description} => String
1745
+ # * {Types::GetSessionResponse#work_group #work_group} => String
1746
+ # * {Types::GetSessionResponse#engine_version #engine_version} => String
1747
+ # * {Types::GetSessionResponse#engine_configuration #engine_configuration} => Types::EngineConfiguration
1748
+ # * {Types::GetSessionResponse#notebook_version #notebook_version} => String
1749
+ # * {Types::GetSessionResponse#session_configuration #session_configuration} => Types::SessionConfiguration
1750
+ # * {Types::GetSessionResponse#status #status} => Types::SessionStatus
1751
+ # * {Types::GetSessionResponse#statistics #statistics} => Types::SessionStatistics
1752
+ #
1753
+ # @example Request syntax with placeholder values
1754
+ #
1755
+ # resp = client.get_session({
1756
+ # session_id: "SessionId", # required
1757
+ # })
1758
+ #
1759
+ # @example Response structure
1760
+ #
1761
+ # resp.session_id #=> String
1762
+ # resp.description #=> String
1763
+ # resp.work_group #=> String
1764
+ # resp.engine_version #=> String
1765
+ # resp.engine_configuration.coordinator_dpu_size #=> Integer
1766
+ # resp.engine_configuration.max_concurrent_dpus #=> Integer
1767
+ # resp.engine_configuration.default_executor_dpu_size #=> Integer
1768
+ # resp.engine_configuration.additional_configs #=> Hash
1769
+ # resp.engine_configuration.additional_configs["KeyString"] #=> String
1770
+ # resp.engine_configuration.spark_properties #=> Hash
1771
+ # resp.engine_configuration.spark_properties["KeyString"] #=> String
1772
+ # resp.notebook_version #=> String
1773
+ # resp.session_configuration.execution_role #=> String
1774
+ # resp.session_configuration.working_directory #=> String
1775
+ # resp.session_configuration.idle_timeout_seconds #=> Integer
1776
+ # resp.session_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1777
+ # resp.session_configuration.encryption_configuration.kms_key #=> String
1778
+ # resp.status.start_date_time #=> Time
1779
+ # resp.status.last_modified_date_time #=> Time
1780
+ # resp.status.end_date_time #=> Time
1781
+ # resp.status.idle_since_date_time #=> Time
1782
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1783
+ # resp.status.state_change_reason #=> String
1784
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1785
+ #
1786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSession AWS API Documentation
1787
+ #
1788
+ # @overload get_session(params = {})
1789
+ # @param [Hash] params ({})
1790
+ def get_session(params = {}, options = {})
1791
+ req = build_request(:get_session, params)
1792
+ req.send_request(options)
1793
+ end
1794
+
1795
+ # Gets the current status of a session.
1796
+ #
1797
+ # @option params [required, String] :session_id
1798
+ # The session ID.
1799
+ #
1800
+ # @return [Types::GetSessionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1801
+ #
1802
+ # * {Types::GetSessionStatusResponse#session_id #session_id} => String
1803
+ # * {Types::GetSessionStatusResponse#status #status} => Types::SessionStatus
1804
+ #
1805
+ # @example Request syntax with placeholder values
1806
+ #
1807
+ # resp = client.get_session_status({
1808
+ # session_id: "SessionId", # required
1809
+ # })
1810
+ #
1811
+ # @example Response structure
1812
+ #
1813
+ # resp.session_id #=> String
1814
+ # resp.status.start_date_time #=> Time
1815
+ # resp.status.last_modified_date_time #=> Time
1816
+ # resp.status.end_date_time #=> Time
1817
+ # resp.status.idle_since_date_time #=> Time
1818
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1819
+ # resp.status.state_change_reason #=> String
1820
+ #
1821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatus AWS API Documentation
1822
+ #
1823
+ # @overload get_session_status(params = {})
1824
+ # @param [Hash] params ({})
1825
+ def get_session_status(params = {}, options = {})
1826
+ req = build_request(:get_session_status, params)
1827
+ req.send_request(options)
1828
+ end
1829
+
1096
1830
  # Returns table metadata for the specified catalog, database, and table.
1097
1831
  #
1098
1832
  # @option params [required, String] :catalog_name
@@ -1165,12 +1899,18 @@ module Aws::Athena
1165
1899
  # resp.work_group.configuration.result_configuration.output_location #=> String
1166
1900
  # resp.work_group.configuration.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1167
1901
  # resp.work_group.configuration.result_configuration.encryption_configuration.kms_key #=> String
1902
+ # resp.work_group.configuration.result_configuration.expected_bucket_owner #=> String
1903
+ # resp.work_group.configuration.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
1168
1904
  # resp.work_group.configuration.enforce_work_group_configuration #=> Boolean
1169
1905
  # resp.work_group.configuration.publish_cloud_watch_metrics_enabled #=> Boolean
1170
1906
  # resp.work_group.configuration.bytes_scanned_cutoff_per_query #=> Integer
1171
1907
  # resp.work_group.configuration.requester_pays_enabled #=> Boolean
1172
1908
  # resp.work_group.configuration.engine_version.selected_engine_version #=> String
1173
1909
  # resp.work_group.configuration.engine_version.effective_engine_version #=> String
1910
+ # resp.work_group.configuration.additional_configuration #=> String
1911
+ # resp.work_group.configuration.execution_role #=> String
1912
+ # resp.work_group.configuration.customer_content_encryption_configuration.kms_key #=> String
1913
+ # resp.work_group.configuration.enable_minimum_encryption_configuration #=> Boolean
1174
1914
  # resp.work_group.description #=> String
1175
1915
  # resp.work_group.creation_time #=> Time
1176
1916
  #
@@ -1183,8 +1923,229 @@ module Aws::Athena
1183
1923
  req.send_request(options)
1184
1924
  end
1185
1925
 
1926
+ # Imports a single `ipynb` file to a Spark enabled workgroup. The
1927
+ # maximum file size that can be imported is 10 megabytes. If an `ipynb`
1928
+ # file with the same name already exists in the workgroup, throws an
1929
+ # error.
1930
+ #
1931
+ # @option params [required, String] :work_group
1932
+ # The name of the Spark enabled workgroup to import the notebook to.
1933
+ #
1934
+ # @option params [required, String] :name
1935
+ # The name of the notebook to import.
1936
+ #
1937
+ # @option params [required, String] :payload
1938
+ # The notebook content to be imported.
1939
+ #
1940
+ # @option params [required, String] :type
1941
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
1942
+ #
1943
+ # @option params [String] :client_request_token
1944
+ # A unique case-sensitive string used to ensure the request to import
1945
+ # the notebook is idempotent (executes only once).
1946
+ #
1947
+ # This token is listed as not required because Amazon Web Services SDKs
1948
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
1949
+ # token for you. If you are not using the Amazon Web Services SDK or the
1950
+ # Amazon Web Services CLI, you must provide this token or the action
1951
+ # will fail.
1952
+ #
1953
+ # @return [Types::ImportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1954
+ #
1955
+ # * {Types::ImportNotebookOutput#notebook_id #notebook_id} => String
1956
+ #
1957
+ # @example Request syntax with placeholder values
1958
+ #
1959
+ # resp = client.import_notebook({
1960
+ # work_group: "WorkGroupName", # required
1961
+ # name: "NotebookName", # required
1962
+ # payload: "Payload", # required
1963
+ # type: "IPYNB", # required, accepts IPYNB
1964
+ # client_request_token: "ClientRequestToken",
1965
+ # })
1966
+ #
1967
+ # @example Response structure
1968
+ #
1969
+ # resp.notebook_id #=> String
1970
+ #
1971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebook AWS API Documentation
1972
+ #
1973
+ # @overload import_notebook(params = {})
1974
+ # @param [Hash] params ({})
1975
+ def import_notebook(params = {}, options = {})
1976
+ req = build_request(:import_notebook, params)
1977
+ req.send_request(options)
1978
+ end
1979
+
1980
+ # Returns the supported DPU sizes for the supported application runtimes
1981
+ # (for example, `Athena notebook version 1`).
1982
+ #
1983
+ # @option params [Integer] :max_results
1984
+ # Specifies the maximum number of results to return.
1985
+ #
1986
+ # @option params [String] :next_token
1987
+ # A token generated by the Athena service that specifies where to
1988
+ # continue pagination if a previous request was truncated.
1989
+ #
1990
+ # @return [Types::ListApplicationDPUSizesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1991
+ #
1992
+ # * {Types::ListApplicationDPUSizesOutput#application_dpu_sizes #application_dpu_sizes} => Array&lt;Types::ApplicationDPUSizes&gt;
1993
+ # * {Types::ListApplicationDPUSizesOutput#next_token #next_token} => String
1994
+ #
1995
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1996
+ #
1997
+ # @example Request syntax with placeholder values
1998
+ #
1999
+ # resp = client.list_application_dpu_sizes({
2000
+ # max_results: 1,
2001
+ # next_token: "Token",
2002
+ # })
2003
+ #
2004
+ # @example Response structure
2005
+ #
2006
+ # resp.application_dpu_sizes #=> Array
2007
+ # resp.application_dpu_sizes[0].application_runtime_id #=> String
2008
+ # resp.application_dpu_sizes[0].supported_dpu_sizes #=> Array
2009
+ # resp.application_dpu_sizes[0].supported_dpu_sizes[0] #=> Integer
2010
+ # resp.next_token #=> String
2011
+ #
2012
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizes AWS API Documentation
2013
+ #
2014
+ # @overload list_application_dpu_sizes(params = {})
2015
+ # @param [Hash] params ({})
2016
+ def list_application_dpu_sizes(params = {}, options = {})
2017
+ req = build_request(:list_application_dpu_sizes, params)
2018
+ req.send_request(options)
2019
+ end
2020
+
2021
+ # Lists the calculations that have been submitted to a session in
2022
+ # descending order. Newer calculations are listed first; older
2023
+ # calculations are listed later.
2024
+ #
2025
+ # @option params [required, String] :session_id
2026
+ # The session ID.
2027
+ #
2028
+ # @option params [String] :state_filter
2029
+ # A filter for a specific calculation execution state. A description of
2030
+ # each state follows.
2031
+ #
2032
+ # `CREATING` - The calculation is in the process of being created.
2033
+ #
2034
+ # `CREATED` - The calculation has been created and is ready to run.
2035
+ #
2036
+ # `QUEUED` - The calculation has been queued for processing.
2037
+ #
2038
+ # `RUNNING` - The calculation is running.
2039
+ #
2040
+ # `CANCELING` - A request to cancel the calculation has been received
2041
+ # and the system is working to stop it.
2042
+ #
2043
+ # `CANCELED` - The calculation is no longer running as the result of a
2044
+ # cancel request.
2045
+ #
2046
+ # `COMPLETED` - The calculation has completed without error.
2047
+ #
2048
+ # `FAILED` - The calculation failed and is no longer running.
2049
+ #
2050
+ # @option params [Integer] :max_results
2051
+ # The maximum number of calculation executions to return.
2052
+ #
2053
+ # @option params [String] :next_token
2054
+ # A token generated by the Athena service that specifies where to
2055
+ # continue pagination if a previous request was truncated. To obtain the
2056
+ # next set of pages, pass in the `NextToken` from the response object of
2057
+ # the previous page call.
2058
+ #
2059
+ # @return [Types::ListCalculationExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2060
+ #
2061
+ # * {Types::ListCalculationExecutionsResponse#next_token #next_token} => String
2062
+ # * {Types::ListCalculationExecutionsResponse#calculations #calculations} => Array&lt;Types::CalculationSummary&gt;
2063
+ #
2064
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2065
+ #
2066
+ # @example Request syntax with placeholder values
2067
+ #
2068
+ # resp = client.list_calculation_executions({
2069
+ # session_id: "SessionId", # required
2070
+ # state_filter: "CREATING", # accepts CREATING, CREATED, QUEUED, RUNNING, CANCELING, CANCELED, COMPLETED, FAILED
2071
+ # max_results: 1,
2072
+ # next_token: "SessionManagerToken",
2073
+ # })
2074
+ #
2075
+ # @example Response structure
2076
+ #
2077
+ # resp.next_token #=> String
2078
+ # resp.calculations #=> Array
2079
+ # resp.calculations[0].calculation_execution_id #=> String
2080
+ # resp.calculations[0].description #=> String
2081
+ # resp.calculations[0].status.submission_date_time #=> Time
2082
+ # resp.calculations[0].status.completion_date_time #=> Time
2083
+ # resp.calculations[0].status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2084
+ # resp.calculations[0].status.state_change_reason #=> String
2085
+ #
2086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutions AWS API Documentation
2087
+ #
2088
+ # @overload list_calculation_executions(params = {})
2089
+ # @param [Hash] params ({})
2090
+ def list_calculation_executions(params = {}, options = {})
2091
+ req = build_request(:list_calculation_executions, params)
2092
+ req.send_request(options)
2093
+ end
2094
+
2095
+ # Lists the capacity reservations for the current account.
2096
+ #
2097
+ # @option params [String] :next_token
2098
+ # A token generated by the Athena service that specifies where to
2099
+ # continue pagination if a previous request was truncated.
2100
+ #
2101
+ # @option params [Integer] :max_results
2102
+ # Specifies the maximum number of results to return.
2103
+ #
2104
+ # @return [Types::ListCapacityReservationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2105
+ #
2106
+ # * {Types::ListCapacityReservationsOutput#next_token #next_token} => String
2107
+ # * {Types::ListCapacityReservationsOutput#capacity_reservations #capacity_reservations} => Array&lt;Types::CapacityReservation&gt;
2108
+ #
2109
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2110
+ #
2111
+ # @example Request syntax with placeholder values
2112
+ #
2113
+ # resp = client.list_capacity_reservations({
2114
+ # next_token: "Token",
2115
+ # max_results: 1,
2116
+ # })
2117
+ #
2118
+ # @example Response structure
2119
+ #
2120
+ # resp.next_token #=> String
2121
+ # resp.capacity_reservations #=> Array
2122
+ # resp.capacity_reservations[0].name #=> String
2123
+ # resp.capacity_reservations[0].status #=> String, one of "PENDING", "ACTIVE", "CANCELLING", "CANCELLED", "FAILED", "UPDATE_PENDING"
2124
+ # resp.capacity_reservations[0].target_dpus #=> Integer
2125
+ # resp.capacity_reservations[0].allocated_dpus #=> Integer
2126
+ # resp.capacity_reservations[0].last_allocation.status #=> String, one of "PENDING", "SUCCEEDED", "FAILED"
2127
+ # resp.capacity_reservations[0].last_allocation.status_message #=> String
2128
+ # resp.capacity_reservations[0].last_allocation.request_time #=> Time
2129
+ # resp.capacity_reservations[0].last_allocation.request_completion_time #=> Time
2130
+ # resp.capacity_reservations[0].last_successful_allocation_time #=> Time
2131
+ # resp.capacity_reservations[0].creation_time #=> Time
2132
+ #
2133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCapacityReservations AWS API Documentation
2134
+ #
2135
+ # @overload list_capacity_reservations(params = {})
2136
+ # @param [Hash] params ({})
2137
+ def list_capacity_reservations(params = {}, options = {})
2138
+ req = build_request(:list_capacity_reservations, params)
2139
+ req.send_request(options)
2140
+ end
2141
+
1186
2142
  # Lists the data catalogs in the current Amazon Web Services account.
1187
2143
  #
2144
+ # <note markdown="1"> In the Athena console, data catalogs are listed as "data sources" on
2145
+ # the **Data sources** page under the **Data source name** column.
2146
+ #
2147
+ # </note>
2148
+ #
1188
2149
  # @option params [String] :next_token
1189
2150
  # A token generated by the Athena service that specifies where to
1190
2151
  # continue pagination if a previous request was truncated. To obtain the
@@ -1288,6 +2249,8 @@ module Aws::Athena
1288
2249
  # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array&lt;Types::EngineVersion&gt;
1289
2250
  # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
1290
2251
  #
2252
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2253
+ #
1291
2254
  # @example Request syntax with placeholder values
1292
2255
  #
1293
2256
  # resp = client.list_engine_versions({
@@ -1311,6 +2274,77 @@ module Aws::Athena
1311
2274
  req.send_request(options)
1312
2275
  end
1313
2276
 
2277
+ # Lists, in descending order, the executors that joined a session. Newer
2278
+ # executors are listed first; older executors are listed later. The
2279
+ # result can be optionally filtered by state.
2280
+ #
2281
+ # @option params [required, String] :session_id
2282
+ # The session ID.
2283
+ #
2284
+ # @option params [String] :executor_state_filter
2285
+ # A filter for a specific executor state. A description of each state
2286
+ # follows.
2287
+ #
2288
+ # `CREATING` - The executor is being started, including acquiring
2289
+ # resources.
2290
+ #
2291
+ # `CREATED` - The executor has been started.
2292
+ #
2293
+ # `REGISTERED` - The executor has been registered.
2294
+ #
2295
+ # `TERMINATING` - The executor is in the process of shutting down.
2296
+ #
2297
+ # `TERMINATED` - The executor is no longer running.
2298
+ #
2299
+ # `FAILED` - Due to a failure, the executor is no longer running.
2300
+ #
2301
+ # @option params [Integer] :max_results
2302
+ # The maximum number of executors to return.
2303
+ #
2304
+ # @option params [String] :next_token
2305
+ # A token generated by the Athena service that specifies where to
2306
+ # continue pagination if a previous request was truncated. To obtain the
2307
+ # next set of pages, pass in the `NextToken` from the response object of
2308
+ # the previous page call.
2309
+ #
2310
+ # @return [Types::ListExecutorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2311
+ #
2312
+ # * {Types::ListExecutorsResponse#session_id #session_id} => String
2313
+ # * {Types::ListExecutorsResponse#next_token #next_token} => String
2314
+ # * {Types::ListExecutorsResponse#executors_summary #executors_summary} => Array&lt;Types::ExecutorsSummary&gt;
2315
+ #
2316
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2317
+ #
2318
+ # @example Request syntax with placeholder values
2319
+ #
2320
+ # resp = client.list_executors({
2321
+ # session_id: "SessionId", # required
2322
+ # executor_state_filter: "CREATING", # accepts CREATING, CREATED, REGISTERED, TERMINATING, TERMINATED, FAILED
2323
+ # max_results: 1,
2324
+ # next_token: "SessionManagerToken",
2325
+ # })
2326
+ #
2327
+ # @example Response structure
2328
+ #
2329
+ # resp.session_id #=> String
2330
+ # resp.next_token #=> String
2331
+ # resp.executors_summary #=> Array
2332
+ # resp.executors_summary[0].executor_id #=> String
2333
+ # resp.executors_summary[0].executor_type #=> String, one of "COORDINATOR", "GATEWAY", "WORKER"
2334
+ # resp.executors_summary[0].start_date_time #=> Integer
2335
+ # resp.executors_summary[0].termination_date_time #=> Integer
2336
+ # resp.executors_summary[0].executor_state #=> String, one of "CREATING", "CREATED", "REGISTERED", "TERMINATING", "TERMINATED", "FAILED"
2337
+ # resp.executors_summary[0].executor_size #=> Integer
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutors AWS API Documentation
2340
+ #
2341
+ # @overload list_executors(params = {})
2342
+ # @param [Hash] params ({})
2343
+ def list_executors(params = {}, options = {})
2344
+ req = build_request(:list_executors, params)
2345
+ req.send_request(options)
2346
+ end
2347
+
1314
2348
  # Provides a list of available query IDs only for queries saved in the
1315
2349
  # specified workgroup. Requires that you have access to the specified
1316
2350
  # workgroup. If a workgroup is not specified, lists the saved queries
@@ -1354,20 +2388,119 @@ module Aws::Athena
1354
2388
  #
1355
2389
  # @example Response structure
1356
2390
  #
1357
- # resp.named_query_ids #=> Array
1358
- # resp.named_query_ids[0] #=> String
2391
+ # resp.named_query_ids #=> Array
2392
+ # resp.named_query_ids[0] #=> String
2393
+ # resp.next_token #=> String
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries AWS API Documentation
2396
+ #
2397
+ # @overload list_named_queries(params = {})
2398
+ # @param [Hash] params ({})
2399
+ def list_named_queries(params = {}, options = {})
2400
+ req = build_request(:list_named_queries, params)
2401
+ req.send_request(options)
2402
+ end
2403
+
2404
+ # Displays the notebook files for the specified workgroup in paginated
2405
+ # format.
2406
+ #
2407
+ # @option params [Types::FilterDefinition] :filters
2408
+ # Search filter string.
2409
+ #
2410
+ # @option params [String] :next_token
2411
+ # A token generated by the Athena service that specifies where to
2412
+ # continue pagination if a previous request was truncated.
2413
+ #
2414
+ # @option params [Integer] :max_results
2415
+ # Specifies the maximum number of results to return.
2416
+ #
2417
+ # @option params [required, String] :work_group
2418
+ # The name of the Spark enabled workgroup to retrieve notebook metadata
2419
+ # for.
2420
+ #
2421
+ # @return [Types::ListNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2422
+ #
2423
+ # * {Types::ListNotebookMetadataOutput#next_token #next_token} => String
2424
+ # * {Types::ListNotebookMetadataOutput#notebook_metadata_list #notebook_metadata_list} => Array&lt;Types::NotebookMetadata&gt;
2425
+ #
2426
+ # @example Request syntax with placeholder values
2427
+ #
2428
+ # resp = client.list_notebook_metadata({
2429
+ # filters: {
2430
+ # name: "NotebookName",
2431
+ # },
2432
+ # next_token: "Token",
2433
+ # max_results: 1,
2434
+ # work_group: "WorkGroupName", # required
2435
+ # })
2436
+ #
2437
+ # @example Response structure
2438
+ #
2439
+ # resp.next_token #=> String
2440
+ # resp.notebook_metadata_list #=> Array
2441
+ # resp.notebook_metadata_list[0].notebook_id #=> String
2442
+ # resp.notebook_metadata_list[0].name #=> String
2443
+ # resp.notebook_metadata_list[0].work_group #=> String
2444
+ # resp.notebook_metadata_list[0].creation_time #=> Time
2445
+ # resp.notebook_metadata_list[0].type #=> String, one of "IPYNB"
2446
+ # resp.notebook_metadata_list[0].last_modified_time #=> Time
2447
+ #
2448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadata AWS API Documentation
2449
+ #
2450
+ # @overload list_notebook_metadata(params = {})
2451
+ # @param [Hash] params ({})
2452
+ def list_notebook_metadata(params = {}, options = {})
2453
+ req = build_request(:list_notebook_metadata, params)
2454
+ req.send_request(options)
2455
+ end
2456
+
2457
+ # Lists, in descending order, the sessions that have been created in a
2458
+ # notebook that are in an active state like `CREATING`, `CREATED`,
2459
+ # `IDLE` or `BUSY`. Newer sessions are listed first; older sessions are
2460
+ # listed later.
2461
+ #
2462
+ # @option params [required, String] :notebook_id
2463
+ # The ID of the notebook to list sessions for.
2464
+ #
2465
+ # @option params [Integer] :max_results
2466
+ # The maximum number of notebook sessions to return.
2467
+ #
2468
+ # @option params [String] :next_token
2469
+ # A token generated by the Athena service that specifies where to
2470
+ # continue pagination if a previous request was truncated. To obtain the
2471
+ # next set of pages, pass in the `NextToken` from the response object of
2472
+ # the previous page call.
2473
+ #
2474
+ # @return [Types::ListNotebookSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2475
+ #
2476
+ # * {Types::ListNotebookSessionsResponse#notebook_sessions_list #notebook_sessions_list} => Array&lt;Types::NotebookSessionSummary&gt;
2477
+ # * {Types::ListNotebookSessionsResponse#next_token #next_token} => String
2478
+ #
2479
+ # @example Request syntax with placeholder values
2480
+ #
2481
+ # resp = client.list_notebook_sessions({
2482
+ # notebook_id: "NotebookId", # required
2483
+ # max_results: 1,
2484
+ # next_token: "Token",
2485
+ # })
2486
+ #
2487
+ # @example Response structure
2488
+ #
2489
+ # resp.notebook_sessions_list #=> Array
2490
+ # resp.notebook_sessions_list[0].session_id #=> String
2491
+ # resp.notebook_sessions_list[0].creation_time #=> Time
1359
2492
  # resp.next_token #=> String
1360
2493
  #
1361
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries AWS API Documentation
2494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessions AWS API Documentation
1362
2495
  #
1363
- # @overload list_named_queries(params = {})
2496
+ # @overload list_notebook_sessions(params = {})
1364
2497
  # @param [Hash] params ({})
1365
- def list_named_queries(params = {}, options = {})
1366
- req = build_request(:list_named_queries, params)
2498
+ def list_notebook_sessions(params = {}, options = {})
2499
+ req = build_request(:list_notebook_sessions, params)
1367
2500
  req.send_request(options)
1368
2501
  end
1369
2502
 
1370
- # Lists the prepared statements in the specfied workgroup.
2503
+ # Lists the prepared statements in the specified workgroup.
1371
2504
  #
1372
2505
  # @option params [required, String] :work_group
1373
2506
  # The workgroup to list the prepared statements for.
@@ -1468,6 +2601,86 @@ module Aws::Athena
1468
2601
  req.send_request(options)
1469
2602
  end
1470
2603
 
2604
+ # Lists the sessions in a workgroup that are in an active state like
2605
+ # `CREATING`, `CREATED`, `IDLE`, or `BUSY`. Newer sessions are listed
2606
+ # first; older sessions are listed later.
2607
+ #
2608
+ # @option params [required, String] :work_group
2609
+ # The workgroup to which the session belongs.
2610
+ #
2611
+ # @option params [String] :state_filter
2612
+ # A filter for a specific session state. A description of each state
2613
+ # follows.
2614
+ #
2615
+ # `CREATING` - The session is being started, including acquiring
2616
+ # resources.
2617
+ #
2618
+ # `CREATED` - The session has been started.
2619
+ #
2620
+ # `IDLE` - The session is able to accept a calculation.
2621
+ #
2622
+ # `BUSY` - The session is processing another task and is unable to
2623
+ # accept a calculation.
2624
+ #
2625
+ # `TERMINATING` - The session is in the process of shutting down.
2626
+ #
2627
+ # `TERMINATED` - The session and its resources are no longer running.
2628
+ #
2629
+ # `DEGRADED` - The session has no healthy coordinators.
2630
+ #
2631
+ # `FAILED` - Due to a failure, the session and its resources are no
2632
+ # longer running.
2633
+ #
2634
+ # @option params [Integer] :max_results
2635
+ # The maximum number of sessions to return.
2636
+ #
2637
+ # @option params [String] :next_token
2638
+ # A token generated by the Athena service that specifies where to
2639
+ # continue pagination if a previous request was truncated. To obtain the
2640
+ # next set of pages, pass in the `NextToken` from the response object of
2641
+ # the previous page call.
2642
+ #
2643
+ # @return [Types::ListSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2644
+ #
2645
+ # * {Types::ListSessionsResponse#next_token #next_token} => String
2646
+ # * {Types::ListSessionsResponse#sessions #sessions} => Array&lt;Types::SessionSummary&gt;
2647
+ #
2648
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2649
+ #
2650
+ # @example Request syntax with placeholder values
2651
+ #
2652
+ # resp = client.list_sessions({
2653
+ # work_group: "WorkGroupName", # required
2654
+ # state_filter: "CREATING", # accepts CREATING, CREATED, IDLE, BUSY, TERMINATING, TERMINATED, DEGRADED, FAILED
2655
+ # max_results: 1,
2656
+ # next_token: "SessionManagerToken",
2657
+ # })
2658
+ #
2659
+ # @example Response structure
2660
+ #
2661
+ # resp.next_token #=> String
2662
+ # resp.sessions #=> Array
2663
+ # resp.sessions[0].session_id #=> String
2664
+ # resp.sessions[0].description #=> String
2665
+ # resp.sessions[0].engine_version.selected_engine_version #=> String
2666
+ # resp.sessions[0].engine_version.effective_engine_version #=> String
2667
+ # resp.sessions[0].notebook_version #=> String
2668
+ # resp.sessions[0].status.start_date_time #=> Time
2669
+ # resp.sessions[0].status.last_modified_date_time #=> Time
2670
+ # resp.sessions[0].status.end_date_time #=> Time
2671
+ # resp.sessions[0].status.idle_since_date_time #=> Time
2672
+ # resp.sessions[0].status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2673
+ # resp.sessions[0].status.state_change_reason #=> String
2674
+ #
2675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessions AWS API Documentation
2676
+ #
2677
+ # @overload list_sessions(params = {})
2678
+ # @param [Hash] params ({})
2679
+ def list_sessions(params = {}, options = {})
2680
+ req = build_request(:list_sessions, params)
2681
+ req.send_request(options)
2682
+ end
2683
+
1471
2684
  # Lists the metadata for the tables in the specified data catalog
1472
2685
  # database.
1473
2686
  #
@@ -1536,8 +2749,7 @@ module Aws::Athena
1536
2749
  req.send_request(options)
1537
2750
  end
1538
2751
 
1539
- # Lists the tags associated with an Athena workgroup or data catalog
1540
- # resource.
2752
+ # Lists the tags associated with an Athena resource.
1541
2753
  #
1542
2754
  # @option params [required, String] :resource_arn
1543
2755
  # Lists the tags for the resource with the specified ARN.
@@ -1627,6 +2839,99 @@ module Aws::Athena
1627
2839
  req.send_request(options)
1628
2840
  end
1629
2841
 
2842
+ # Puts a new capacity assignment configuration for a specified capacity
2843
+ # reservation. If a capacity assignment configuration already exists for
2844
+ # the capacity reservation, replaces the existing capacity assignment
2845
+ # configuration.
2846
+ #
2847
+ # @option params [required, String] :capacity_reservation_name
2848
+ # The name of the capacity reservation to put a capacity assignment
2849
+ # configuration for.
2850
+ #
2851
+ # @option params [required, Array<Types::CapacityAssignment>] :capacity_assignments
2852
+ # The list of assignments for the capacity assignment configuration.
2853
+ #
2854
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2855
+ #
2856
+ # @example Request syntax with placeholder values
2857
+ #
2858
+ # resp = client.put_capacity_assignment_configuration({
2859
+ # capacity_reservation_name: "CapacityReservationName", # required
2860
+ # capacity_assignments: [ # required
2861
+ # {
2862
+ # work_group_names: ["WorkGroupName"],
2863
+ # },
2864
+ # ],
2865
+ # })
2866
+ #
2867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/PutCapacityAssignmentConfiguration AWS API Documentation
2868
+ #
2869
+ # @overload put_capacity_assignment_configuration(params = {})
2870
+ # @param [Hash] params ({})
2871
+ def put_capacity_assignment_configuration(params = {}, options = {})
2872
+ req = build_request(:put_capacity_assignment_configuration, params)
2873
+ req.send_request(options)
2874
+ end
2875
+
2876
+ # Submits calculations for execution within a session. You can supply
2877
+ # the code to run as an inline code block within the request.
2878
+ #
2879
+ # @option params [required, String] :session_id
2880
+ # The session ID.
2881
+ #
2882
+ # @option params [String] :description
2883
+ # A description of the calculation.
2884
+ #
2885
+ # @option params [Types::CalculationConfiguration] :calculation_configuration
2886
+ # Contains configuration information for the calculation.
2887
+ #
2888
+ # @option params [String] :code_block
2889
+ # A string that contains the code of the calculation.
2890
+ #
2891
+ # @option params [String] :client_request_token
2892
+ # A unique case-sensitive string used to ensure the request to create
2893
+ # the calculation is idempotent (executes only once). If another
2894
+ # `StartCalculationExecutionRequest` is received, the same response is
2895
+ # returned and another calculation is not created. If a parameter has
2896
+ # changed, an error is returned.
2897
+ #
2898
+ # This token is listed as not required because Amazon Web Services SDKs
2899
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2900
+ # token for users. If you are not using the Amazon Web Services SDK or
2901
+ # the Amazon Web Services CLI, you must provide this token or the action
2902
+ # will fail.
2903
+ #
2904
+ # @return [Types::StartCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2905
+ #
2906
+ # * {Types::StartCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
2907
+ # * {Types::StartCalculationExecutionResponse#state #state} => String
2908
+ #
2909
+ # @example Request syntax with placeholder values
2910
+ #
2911
+ # resp = client.start_calculation_execution({
2912
+ # session_id: "SessionId", # required
2913
+ # description: "DescriptionString",
2914
+ # calculation_configuration: {
2915
+ # code_block: "CodeBlock",
2916
+ # },
2917
+ # code_block: "CodeBlock",
2918
+ # client_request_token: "IdempotencyToken",
2919
+ # })
2920
+ #
2921
+ # @example Response structure
2922
+ #
2923
+ # resp.calculation_execution_id #=> String
2924
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2925
+ #
2926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecution AWS API Documentation
2927
+ #
2928
+ # @overload start_calculation_execution(params = {})
2929
+ # @param [Hash] params ({})
2930
+ def start_calculation_execution(params = {}, options = {})
2931
+ req = build_request(:start_calculation_execution, params)
2932
+ req.send_request(options)
2933
+ end
2934
+
1630
2935
  # Runs the SQL query statements contained in the `Query`. Requires you
1631
2936
  # to have access to the workgroup in which the query ran. Running
1632
2937
  # queries against an external catalog requires GetDataCatalog permission
@@ -1672,6 +2977,14 @@ module Aws::Athena
1672
2977
  # @option params [String] :work_group
1673
2978
  # The name of the workgroup in which the query is being started.
1674
2979
  #
2980
+ # @option params [Array<String>] :execution_parameters
2981
+ # A list of values for the parameters in a query. The values are applied
2982
+ # sequentially to the parameters in the query in the order in which the
2983
+ # parameters occur.
2984
+ #
2985
+ # @option params [Types::ResultReuseConfiguration] :result_reuse_configuration
2986
+ # Specifies the query result reuse behavior for the query.
2987
+ #
1675
2988
  # @return [Types::StartQueryExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1676
2989
  #
1677
2990
  # * {Types::StartQueryExecutionOutput#query_execution_id #query_execution_id} => String
@@ -1686,13 +2999,24 @@ module Aws::Athena
1686
2999
  # catalog: "CatalogNameString",
1687
3000
  # },
1688
3001
  # result_configuration: {
1689
- # output_location: "String",
3002
+ # output_location: "ResultOutputLocation",
1690
3003
  # encryption_configuration: {
1691
3004
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
1692
3005
  # kms_key: "String",
1693
3006
  # },
3007
+ # expected_bucket_owner: "AwsAccountId",
3008
+ # acl_configuration: {
3009
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
3010
+ # },
1694
3011
  # },
1695
3012
  # work_group: "WorkGroupName",
3013
+ # execution_parameters: ["ExecutionParameter"],
3014
+ # result_reuse_configuration: {
3015
+ # result_reuse_by_age_configuration: {
3016
+ # enabled: false, # required
3017
+ # max_age_in_minutes: 1,
3018
+ # },
3019
+ # },
1696
3020
  # })
1697
3021
  #
1698
3022
  # @example Response structure
@@ -1708,6 +3032,122 @@ module Aws::Athena
1708
3032
  req.send_request(options)
1709
3033
  end
1710
3034
 
3035
+ # Creates a session for running calculations within a workgroup. The
3036
+ # session is ready when it reaches an `IDLE` state.
3037
+ #
3038
+ # @option params [String] :description
3039
+ # The session description.
3040
+ #
3041
+ # @option params [required, String] :work_group
3042
+ # The workgroup to which the session belongs.
3043
+ #
3044
+ # @option params [required, Types::EngineConfiguration] :engine_configuration
3045
+ # Contains engine data processing unit (DPU) configuration settings and
3046
+ # parameter mappings.
3047
+ #
3048
+ # @option params [String] :notebook_version
3049
+ # The notebook version. This value is supplied automatically for
3050
+ # notebook sessions in the Athena console and is not required for
3051
+ # programmatic session access. The only valid notebook version is
3052
+ # `Athena notebook version 1`. If you specify a value for
3053
+ # `NotebookVersion`, you must also specify a value for `NotebookId`. See
3054
+ # EngineConfiguration$AdditionalConfigs.
3055
+ #
3056
+ # @option params [Integer] :session_idle_timeout_in_minutes
3057
+ # The idle timeout in minutes for the session.
3058
+ #
3059
+ # @option params [String] :client_request_token
3060
+ # A unique case-sensitive string used to ensure the request to create
3061
+ # the session is idempotent (executes only once). If another
3062
+ # `StartSessionRequest` is received, the same response is returned and
3063
+ # another session is not created. If a parameter has changed, an error
3064
+ # is returned.
3065
+ #
3066
+ # This token is listed as not required because Amazon Web Services SDKs
3067
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3068
+ # token for users. If you are not using the Amazon Web Services SDK or
3069
+ # the Amazon Web Services CLI, you must provide this token or the action
3070
+ # will fail.
3071
+ #
3072
+ # @return [Types::StartSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3073
+ #
3074
+ # * {Types::StartSessionResponse#session_id #session_id} => String
3075
+ # * {Types::StartSessionResponse#state #state} => String
3076
+ #
3077
+ # @example Request syntax with placeholder values
3078
+ #
3079
+ # resp = client.start_session({
3080
+ # description: "DescriptionString",
3081
+ # work_group: "WorkGroupName", # required
3082
+ # engine_configuration: { # required
3083
+ # coordinator_dpu_size: 1,
3084
+ # max_concurrent_dpus: 1, # required
3085
+ # default_executor_dpu_size: 1,
3086
+ # additional_configs: {
3087
+ # "KeyString" => "ParametersMapValue",
3088
+ # },
3089
+ # spark_properties: {
3090
+ # "KeyString" => "ParametersMapValue",
3091
+ # },
3092
+ # },
3093
+ # notebook_version: "NameString",
3094
+ # session_idle_timeout_in_minutes: 1,
3095
+ # client_request_token: "IdempotencyToken",
3096
+ # })
3097
+ #
3098
+ # @example Response structure
3099
+ #
3100
+ # resp.session_id #=> String
3101
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
3102
+ #
3103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSession AWS API Documentation
3104
+ #
3105
+ # @overload start_session(params = {})
3106
+ # @param [Hash] params ({})
3107
+ def start_session(params = {}, options = {})
3108
+ req = build_request(:start_session, params)
3109
+ req.send_request(options)
3110
+ end
3111
+
3112
+ # Requests the cancellation of a calculation. A
3113
+ # `StopCalculationExecution` call on a calculation that is already in a
3114
+ # terminal state (for example, `STOPPED`, `FAILED`, or `COMPLETED`)
3115
+ # succeeds but has no effect.
3116
+ #
3117
+ # <note markdown="1"> Cancelling a calculation is done on a best effort basis. If a
3118
+ # calculation cannot be cancelled, you can be charged for its
3119
+ # completion. If you are concerned about being charged for a calculation
3120
+ # that cannot be cancelled, consider terminating the session in which
3121
+ # the calculation is running.
3122
+ #
3123
+ # </note>
3124
+ #
3125
+ # @option params [required, String] :calculation_execution_id
3126
+ # The calculation execution UUID.
3127
+ #
3128
+ # @return [Types::StopCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3129
+ #
3130
+ # * {Types::StopCalculationExecutionResponse#state #state} => String
3131
+ #
3132
+ # @example Request syntax with placeholder values
3133
+ #
3134
+ # resp = client.stop_calculation_execution({
3135
+ # calculation_execution_id: "CalculationExecutionId", # required
3136
+ # })
3137
+ #
3138
+ # @example Response structure
3139
+ #
3140
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
3141
+ #
3142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecution AWS API Documentation
3143
+ #
3144
+ # @overload stop_calculation_execution(params = {})
3145
+ # @param [Hash] params ({})
3146
+ def stop_calculation_execution(params = {}, options = {})
3147
+ req = build_request(:stop_calculation_execution, params)
3148
+ req.send_request(options)
3149
+ end
3150
+
1711
3151
  # Stops a query execution. Requires you to have access to the workgroup
1712
3152
  # in which the query ran.
1713
3153
  #
@@ -1742,30 +3182,29 @@ module Aws::Athena
1742
3182
  end
1743
3183
 
1744
3184
  # Adds one or more tags to an Athena resource. A tag is a label that you
1745
- # assign to a resource. In Athena, a resource can be a workgroup or data
1746
- # catalog. Each tag consists of a key and an optional value, both of
1747
- # which you define. For example, you can use tags to categorize Athena
1748
- # workgroups or data catalogs by purpose, owner, or environment. Use a
1749
- # consistent set of tag keys to make it easier to search and filter
1750
- # workgroups or data catalogs in your account. For best practices, see
1751
- # [Tagging Best Practices][1]. Tag keys can be from 1 to 128 UTF-8
1752
- # Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode
1753
- # characters. Tags can use letters and numbers representable in UTF-8,
1754
- # and the following characters: + - = . \_ : / @. Tag keys and values
1755
- # are case-sensitive. Tag keys must be unique per resource. If you
1756
- # specify more than one tag, separate them by commas.
3185
+ # assign to a resource. Each tag consists of a key and an optional
3186
+ # value, both of which you define. For example, you can use tags to
3187
+ # categorize Athena workgroups, data catalogs, or capacity reservations
3188
+ # by purpose, owner, or environment. Use a consistent set of tag keys to
3189
+ # make it easier to search and filter the resources in your account. For
3190
+ # best practices, see [Tagging Best Practices][1]. Tag keys can be from
3191
+ # 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256
3192
+ # UTF-8 Unicode characters. Tags can use letters and numbers
3193
+ # representable in UTF-8, and the following characters: + - = . \_ : /
3194
+ # @. Tag keys and values are case-sensitive. Tag keys must be unique per
3195
+ # resource. If you specify more than one tag, separate them by commas.
1757
3196
  #
1758
3197
  #
1759
3198
  #
1760
- # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
3199
+ # [1]: https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html
1761
3200
  #
1762
3201
  # @option params [required, String] :resource_arn
1763
- # Specifies the ARN of the Athena resource (workgroup or data catalog)
1764
- # to which tags are to be added.
3202
+ # Specifies the ARN of the Athena resource to which tags are to be
3203
+ # added.
1765
3204
  #
1766
3205
  # @option params [required, Array<Types::Tag>] :tags
1767
3206
  # A collection of one or more tags, separated by commas, to be added to
1768
- # an Athena workgroup or data catalog resource.
3207
+ # an Athena resource.
1769
3208
  #
1770
3209
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1771
3210
  #
@@ -1790,7 +3229,39 @@ module Aws::Athena
1790
3229
  req.send_request(options)
1791
3230
  end
1792
3231
 
1793
- # Removes one or more tags from a data catalog or workgroup resource.
3232
+ # Terminates an active session. A `TerminateSession` call on a session
3233
+ # that is already inactive (for example, in a `FAILED`, `TERMINATED` or
3234
+ # `TERMINATING` state) succeeds but has no effect. Calculations running
3235
+ # in the session when `TerminateSession` is called are forcefully
3236
+ # stopped, but may display as `FAILED` instead of `STOPPED`.
3237
+ #
3238
+ # @option params [required, String] :session_id
3239
+ # The session ID.
3240
+ #
3241
+ # @return [Types::TerminateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3242
+ #
3243
+ # * {Types::TerminateSessionResponse#state #state} => String
3244
+ #
3245
+ # @example Request syntax with placeholder values
3246
+ #
3247
+ # resp = client.terminate_session({
3248
+ # session_id: "SessionId", # required
3249
+ # })
3250
+ #
3251
+ # @example Response structure
3252
+ #
3253
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
3254
+ #
3255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSession AWS API Documentation
3256
+ #
3257
+ # @overload terminate_session(params = {})
3258
+ # @param [Hash] params ({})
3259
+ def terminate_session(params = {}, options = {})
3260
+ req = build_request(:terminate_session, params)
3261
+ req.send_request(options)
3262
+ end
3263
+
3264
+ # Removes one or more tags from an Athena resource.
1794
3265
  #
1795
3266
  # @option params [required, String] :resource_arn
1796
3267
  # Specifies the ARN of the resource from which tags are to be removed.
@@ -1817,12 +3288,41 @@ module Aws::Athena
1817
3288
  req.send_request(options)
1818
3289
  end
1819
3290
 
3291
+ # Updates the number of requested data processing units for the capacity
3292
+ # reservation with the specified name.
3293
+ #
3294
+ # @option params [required, Integer] :target_dpus
3295
+ # The new number of requested data processing units.
3296
+ #
3297
+ # @option params [required, String] :name
3298
+ # The name of the capacity reservation.
3299
+ #
3300
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3301
+ #
3302
+ # @example Request syntax with placeholder values
3303
+ #
3304
+ # resp = client.update_capacity_reservation({
3305
+ # target_dpus: 1, # required
3306
+ # name: "CapacityReservationName", # required
3307
+ # })
3308
+ #
3309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateCapacityReservation AWS API Documentation
3310
+ #
3311
+ # @overload update_capacity_reservation(params = {})
3312
+ # @param [Hash] params ({})
3313
+ def update_capacity_reservation(params = {}, options = {})
3314
+ req = build_request(:update_capacity_reservation, params)
3315
+ req.send_request(options)
3316
+ end
3317
+
1820
3318
  # Updates the data catalog that has the specified name.
1821
3319
  #
1822
3320
  # @option params [required, String] :name
1823
3321
  # The name of the data catalog to update. The catalog name must be
1824
3322
  # unique for the Amazon Web Services account and can use a maximum of
1825
- # 128 alphanumeric, underscore, at sign, or hyphen characters.
3323
+ # 127 alphanumeric, underscore, at sign, or hyphen characters. The
3324
+ # remainder of the length constraint of 256 is reserved for use by
3325
+ # Athena.
1826
3326
  #
1827
3327
  # @option params [required, String] :type
1828
3328
  # Specifies the type of data catalog to update. Specify `LAMBDA` for a
@@ -1881,6 +3381,124 @@ module Aws::Athena
1881
3381
  req.send_request(options)
1882
3382
  end
1883
3383
 
3384
+ # Updates a NamedQuery object. The database or workgroup cannot be
3385
+ # updated.
3386
+ #
3387
+ # @option params [required, String] :named_query_id
3388
+ # The unique identifier (UUID) of the query.
3389
+ #
3390
+ # @option params [required, String] :name
3391
+ # The name of the query.
3392
+ #
3393
+ # @option params [String] :description
3394
+ # The query description.
3395
+ #
3396
+ # @option params [required, String] :query_string
3397
+ # The contents of the query with all query statements.
3398
+ #
3399
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3400
+ #
3401
+ # @example Request syntax with placeholder values
3402
+ #
3403
+ # resp = client.update_named_query({
3404
+ # named_query_id: "NamedQueryId", # required
3405
+ # name: "NameString", # required
3406
+ # description: "NamedQueryDescriptionString",
3407
+ # query_string: "QueryString", # required
3408
+ # })
3409
+ #
3410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNamedQuery AWS API Documentation
3411
+ #
3412
+ # @overload update_named_query(params = {})
3413
+ # @param [Hash] params ({})
3414
+ def update_named_query(params = {}, options = {})
3415
+ req = build_request(:update_named_query, params)
3416
+ req.send_request(options)
3417
+ end
3418
+
3419
+ # Updates the contents of a Spark notebook.
3420
+ #
3421
+ # @option params [required, String] :notebook_id
3422
+ # The ID of the notebook to update.
3423
+ #
3424
+ # @option params [required, String] :payload
3425
+ # The updated content for the notebook.
3426
+ #
3427
+ # @option params [required, String] :type
3428
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
3429
+ #
3430
+ # @option params [String] :session_id
3431
+ # The active notebook session ID. Required if the notebook has an active
3432
+ # session.
3433
+ #
3434
+ # @option params [String] :client_request_token
3435
+ # A unique case-sensitive string used to ensure the request to create
3436
+ # the notebook is idempotent (executes only once).
3437
+ #
3438
+ # This token is listed as not required because Amazon Web Services SDKs
3439
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3440
+ # token for you. If you are not using the Amazon Web Services SDK or the
3441
+ # Amazon Web Services CLI, you must provide this token or the action
3442
+ # will fail.
3443
+ #
3444
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3445
+ #
3446
+ # @example Request syntax with placeholder values
3447
+ #
3448
+ # resp = client.update_notebook({
3449
+ # notebook_id: "NotebookId", # required
3450
+ # payload: "Payload", # required
3451
+ # type: "IPYNB", # required, accepts IPYNB
3452
+ # session_id: "SessionId",
3453
+ # client_request_token: "ClientRequestToken",
3454
+ # })
3455
+ #
3456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebook AWS API Documentation
3457
+ #
3458
+ # @overload update_notebook(params = {})
3459
+ # @param [Hash] params ({})
3460
+ def update_notebook(params = {}, options = {})
3461
+ req = build_request(:update_notebook, params)
3462
+ req.send_request(options)
3463
+ end
3464
+
3465
+ # Updates the metadata for a notebook.
3466
+ #
3467
+ # @option params [required, String] :notebook_id
3468
+ # The ID of the notebook to update the metadata for.
3469
+ #
3470
+ # @option params [String] :client_request_token
3471
+ # A unique case-sensitive string used to ensure the request to create
3472
+ # the notebook is idempotent (executes only once).
3473
+ #
3474
+ # This token is listed as not required because Amazon Web Services SDKs
3475
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3476
+ # token for you. If you are not using the Amazon Web Services SDK or the
3477
+ # Amazon Web Services CLI, you must provide this token or the action
3478
+ # will fail.
3479
+ #
3480
+ # @option params [required, String] :name
3481
+ # The name to update the notebook to.
3482
+ #
3483
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3484
+ #
3485
+ # @example Request syntax with placeholder values
3486
+ #
3487
+ # resp = client.update_notebook_metadata({
3488
+ # notebook_id: "NotebookId", # required
3489
+ # client_request_token: "ClientRequestToken",
3490
+ # name: "NotebookName", # required
3491
+ # })
3492
+ #
3493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadata AWS API Documentation
3494
+ #
3495
+ # @overload update_notebook_metadata(params = {})
3496
+ # @param [Hash] params ({})
3497
+ def update_notebook_metadata(params = {}, options = {})
3498
+ req = build_request(:update_notebook_metadata, params)
3499
+ req.send_request(options)
3500
+ end
3501
+
1884
3502
  # Updates a prepared statement.
1885
3503
  #
1886
3504
  # @option params [required, String] :statement_name
@@ -1916,7 +3534,7 @@ module Aws::Athena
1916
3534
  end
1917
3535
 
1918
3536
  # Updates the workgroup with the specified name. The workgroup's name
1919
- # cannot be changed.
3537
+ # cannot be changed. Only `ConfigurationUpdates` can be specified.
1920
3538
  #
1921
3539
  # @option params [required, String] :work_group
1922
3540
  # The specified workgroup that will be updated.
@@ -1925,8 +3543,7 @@ module Aws::Athena
1925
3543
  # The workgroup description.
1926
3544
  #
1927
3545
  # @option params [Types::WorkGroupConfigurationUpdates] :configuration_updates
1928
- # The workgroup configuration that will be updated for the given
1929
- # workgroup.
3546
+ # Contains configuration updates for an Athena SQL workgroup.
1930
3547
  #
1931
3548
  # @option params [String] :state
1932
3549
  # The workgroup state that will be updated for the given workgroup.
@@ -1941,13 +3558,19 @@ module Aws::Athena
1941
3558
  # configuration_updates: {
1942
3559
  # enforce_work_group_configuration: false,
1943
3560
  # result_configuration_updates: {
1944
- # output_location: "String",
3561
+ # output_location: "ResultOutputLocation",
1945
3562
  # remove_output_location: false,
1946
3563
  # encryption_configuration: {
1947
3564
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
1948
3565
  # kms_key: "String",
1949
3566
  # },
1950
3567
  # remove_encryption_configuration: false,
3568
+ # expected_bucket_owner: "AwsAccountId",
3569
+ # remove_expected_bucket_owner: false,
3570
+ # acl_configuration: {
3571
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
3572
+ # },
3573
+ # remove_acl_configuration: false,
1951
3574
  # },
1952
3575
  # publish_cloud_watch_metrics_enabled: false,
1953
3576
  # bytes_scanned_cutoff_per_query: 1,
@@ -1957,6 +3580,13 @@ module Aws::Athena
1957
3580
  # selected_engine_version: "NameString",
1958
3581
  # effective_engine_version: "NameString",
1959
3582
  # },
3583
+ # remove_customer_content_encryption_configuration: false,
3584
+ # additional_configuration: "NameString",
3585
+ # execution_role: "RoleArn",
3586
+ # customer_content_encryption_configuration: {
3587
+ # kms_key: "KmsKey", # required
3588
+ # },
3589
+ # enable_minimum_encryption_configuration: false,
1960
3590
  # },
1961
3591
  # state: "ENABLED", # accepts ENABLED, DISABLED
1962
3592
  # })
@@ -1983,7 +3613,7 @@ module Aws::Athena
1983
3613
  params: params,
1984
3614
  config: config)
1985
3615
  context[:gem_name] = 'aws-sdk-athena'
1986
- context[:gem_version] = '1.44.0'
3616
+ context[:gem_version] = '1.75.0'
1987
3617
  Seahorse::Client::Request.new(handlers, context)
1988
3618
  end
1989
3619