aws-sdk-athena 1.46.0 → 1.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,8 +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/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
30
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
31
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
32
35
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
33
36
 
34
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:athena)
@@ -74,9 +77,13 @@ module Aws::Athena
74
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
78
  add_plugin(Aws::Plugins::TransferEncoding)
76
79
  add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
77
82
  add_plugin(Aws::Plugins::DefaultsMode)
78
- add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
79
85
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
+ add_plugin(Aws::Athena::Plugins::Endpoints)
80
87
 
81
88
  # @overload initialize(options)
82
89
  # @param [Hash] options
@@ -185,6 +192,10 @@ module Aws::Athena
185
192
  # Set to true to disable SDK automatically adding host prefix
186
193
  # to default service endpoint when available.
187
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
+ #
188
199
  # @option options [String] :endpoint
189
200
  # The client endpoint is normally constructed from the `:region`
190
201
  # option. You should only configure an `:endpoint` when connecting
@@ -205,6 +216,10 @@ module Aws::Athena
205
216
  # @option options [Boolean] :endpoint_discovery (false)
206
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
207
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
+ #
208
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
209
224
  # The log formatter.
210
225
  #
@@ -225,6 +240,11 @@ module Aws::Athena
225
240
  # Used when loading credentials from the shared credentials file
226
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
227
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
+ #
228
248
  # @option options [Proc] :retry_backoff
229
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
230
250
  # This option is only used in the `legacy` retry mode.
@@ -270,6 +290,11 @@ module Aws::Athena
270
290
  # in the future.
271
291
  #
272
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
+ #
273
298
  # @option options [String] :secret_access_key
274
299
  #
275
300
  # @option options [String] :session_token
@@ -293,6 +318,19 @@ module Aws::Athena
293
318
  # ** Please note ** When response stubbing is enabled, no HTTP
294
319
  # requests are made, and retries are disabled.
295
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
+ #
296
334
  # @option options [Boolean] :use_dualstack_endpoint
297
335
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
298
336
  # will be used if available.
@@ -306,6 +344,9 @@ module Aws::Athena
306
344
  # When `true`, request parameters are validated before
307
345
  # sending the request.
308
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
+ #
309
350
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
310
351
  # requests through. Formatted like 'http://proxy.com:123'.
311
352
  #
@@ -405,6 +446,53 @@ module Aws::Athena
405
446
  req.send_request(options)
406
447
  end
407
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
+
408
496
  # Returns the details of a single query execution or a list of up to 50
409
497
  # query executions, which you provide as an array of query execution ID
410
498
  # strings. Requires you to have access to the workgroup in which the
@@ -436,6 +524,10 @@ module Aws::Athena
436
524
  # resp.query_executions[0].result_configuration.output_location #=> String
437
525
  # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
438
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
439
531
  # resp.query_executions[0].query_execution_context.database #=> String
440
532
  # resp.query_executions[0].query_execution_context.catalog #=> String
441
533
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
@@ -443,16 +535,27 @@ module Aws::Athena
443
535
  # resp.query_executions[0].status.submission_date_time #=> Time
444
536
  # resp.query_executions[0].status.completion_date_time #=> Time
445
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
446
541
  # resp.query_executions[0].statistics.engine_execution_time_in_millis #=> Integer
447
542
  # resp.query_executions[0].statistics.data_scanned_in_bytes #=> Integer
448
543
  # resp.query_executions[0].statistics.data_manifest_location #=> String
449
544
  # resp.query_executions[0].statistics.total_execution_time_in_millis #=> Integer
450
545
  # resp.query_executions[0].statistics.query_queue_time_in_millis #=> Integer
546
+ # resp.query_executions[0].statistics.service_pre_processing_time_in_millis #=> Integer
451
547
  # resp.query_executions[0].statistics.query_planning_time_in_millis #=> Integer
452
548
  # resp.query_executions[0].statistics.service_processing_time_in_millis #=> Integer
549
+ # resp.query_executions[0].statistics.result_reuse_information.reused_previous_result #=> Boolean
453
550
  # resp.query_executions[0].work_group #=> String
454
551
  # resp.query_executions[0].engine_version.selected_engine_version #=> String
455
552
  # resp.query_executions[0].engine_version.effective_engine_version #=> String
553
+ # resp.query_executions[0].execution_parameters #=> Array
554
+ # resp.query_executions[0].execution_parameters[0] #=> String
555
+ # resp.query_executions[0].substatement_type #=> String
556
+ # resp.query_executions[0].query_results_s3_access_grants_configuration.enable_s3_access_grants #=> Boolean
557
+ # resp.query_executions[0].query_results_s3_access_grants_configuration.create_user_level_prefix #=> Boolean
558
+ # resp.query_executions[0].query_results_s3_access_grants_configuration.authentication_type #=> String, one of "DIRECTORY_IDENTITY"
456
559
  # resp.unprocessed_query_execution_ids #=> Array
457
560
  # resp.unprocessed_query_execution_ids[0].query_execution_id #=> String
458
561
  # resp.unprocessed_query_execution_ids[0].error_code #=> String
@@ -467,6 +570,68 @@ module Aws::Athena
467
570
  req.send_request(options)
468
571
  end
469
572
 
573
+ # Cancels the capacity reservation with the specified name. Cancelled
574
+ # reservations remain in your account and will be deleted 45 days after
575
+ # cancellation. During the 45 days, you cannot re-purpose or reuse a
576
+ # reservation that has been cancelled, but you can refer to its tags and
577
+ # view it for historical reference.
578
+ #
579
+ # @option params [required, String] :name
580
+ # The name of the capacity reservation to cancel.
581
+ #
582
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
583
+ #
584
+ # @example Request syntax with placeholder values
585
+ #
586
+ # resp = client.cancel_capacity_reservation({
587
+ # name: "CapacityReservationName", # required
588
+ # })
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CancelCapacityReservation AWS API Documentation
591
+ #
592
+ # @overload cancel_capacity_reservation(params = {})
593
+ # @param [Hash] params ({})
594
+ def cancel_capacity_reservation(params = {}, options = {})
595
+ req = build_request(:cancel_capacity_reservation, params)
596
+ req.send_request(options)
597
+ end
598
+
599
+ # Creates a capacity reservation with the specified name and number of
600
+ # requested data processing units.
601
+ #
602
+ # @option params [required, Integer] :target_dpus
603
+ # The number of requested data processing units.
604
+ #
605
+ # @option params [required, String] :name
606
+ # The name of the capacity reservation to create.
607
+ #
608
+ # @option params [Array<Types::Tag>] :tags
609
+ # The tags for the capacity reservation.
610
+ #
611
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
612
+ #
613
+ # @example Request syntax with placeholder values
614
+ #
615
+ # resp = client.create_capacity_reservation({
616
+ # target_dpus: 1, # required
617
+ # name: "CapacityReservationName", # required
618
+ # tags: [
619
+ # {
620
+ # key: "TagKey",
621
+ # value: "TagValue",
622
+ # },
623
+ # ],
624
+ # })
625
+ #
626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateCapacityReservation AWS API Documentation
627
+ #
628
+ # @overload create_capacity_reservation(params = {})
629
+ # @param [Hash] params ({})
630
+ def create_capacity_reservation(params = {}, options = {})
631
+ req = build_request(:create_capacity_reservation, params)
632
+ req.send_request(options)
633
+ end
634
+
470
635
  # Creates (registers) a data catalog with the specified name and
471
636
  # properties. Catalogs created are visible to all users of the same
472
637
  # Amazon Web Services account.
@@ -523,12 +688,7 @@ module Aws::Athena
523
688
  # `AwsDataCatalog` that already exists in your account, of which you
524
689
  # can have only one and cannot modify.
525
690
  #
526
- # * Queries that specify a Glue Data Catalog other than the default
527
- # `AwsDataCatalog` must be run on Athena engine version 2.
528
- #
529
- # * In Regions where Athena engine version 2 is not available,
530
- # creating new Glue data catalogs results in an `INVALID_INPUT`
531
- # error.
691
+ # ^
532
692
  #
533
693
  # @option params [Array<Types::Tag>] :tags
534
694
  # A list of comma separated tags to add to the data catalog that is
@@ -565,13 +725,6 @@ module Aws::Athena
565
725
  # Creates a named query in the specified workgroup. Requires that you
566
726
  # have access to the workgroup.
567
727
  #
568
- # For code samples using the Amazon Web Services SDK for Java, see
569
- # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
570
- #
571
- #
572
- #
573
- # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
574
- #
575
728
  # @option params [required, String] :name
576
729
  # The query name.
577
730
  #
@@ -631,6 +784,53 @@ module Aws::Athena
631
784
  req.send_request(options)
632
785
  end
633
786
 
787
+ # Creates an empty `ipynb` file in the specified Apache Spark enabled
788
+ # workgroup. Throws an error if a file in the workgroup with the same
789
+ # name already exists.
790
+ #
791
+ # @option params [required, String] :work_group
792
+ # The name of the Spark enabled workgroup in which the notebook will be
793
+ # created.
794
+ #
795
+ # @option params [required, String] :name
796
+ # The name of the `ipynb` file to be created in the Spark workgroup,
797
+ # without the `.ipynb` extension.
798
+ #
799
+ # @option params [String] :client_request_token
800
+ # A unique case-sensitive string used to ensure the request to create
801
+ # the notebook is idempotent (executes only once).
802
+ #
803
+ # This token is listed as not required because Amazon Web Services SDKs
804
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
805
+ # token for you. If you are not using the Amazon Web Services SDK or the
806
+ # Amazon Web Services CLI, you must provide this token or the action
807
+ # will fail.
808
+ #
809
+ # @return [Types::CreateNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
810
+ #
811
+ # * {Types::CreateNotebookOutput#notebook_id #notebook_id} => String
812
+ #
813
+ # @example Request syntax with placeholder values
814
+ #
815
+ # resp = client.create_notebook({
816
+ # work_group: "WorkGroupName", # required
817
+ # name: "NotebookName", # required
818
+ # client_request_token: "ClientRequestToken",
819
+ # })
820
+ #
821
+ # @example Response structure
822
+ #
823
+ # resp.notebook_id #=> String
824
+ #
825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNotebook AWS API Documentation
826
+ #
827
+ # @overload create_notebook(params = {})
828
+ # @param [Hash] params ({})
829
+ def create_notebook(params = {}, options = {})
830
+ req = build_request(:create_notebook, params)
831
+ req.send_request(options)
832
+ end
833
+
634
834
  # Creates a prepared statement for use with SQL queries in Athena.
635
835
  #
636
836
  # @option params [required, String] :statement_name
@@ -665,20 +865,62 @@ module Aws::Athena
665
865
  req.send_request(options)
666
866
  end
667
867
 
668
- # Creates a workgroup with the specified name.
868
+ # Gets an authentication token and the URL at which the notebook can be
869
+ # accessed. During programmatic access, `CreatePresignedNotebookUrl`
870
+ # must be called every 10 minutes to refresh the authentication token.
871
+ # For information about granting programmatic access, see [Grant
872
+ # programmatic access][1].
873
+ #
874
+ #
875
+ #
876
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/setting-up.html#setting-up-grant-programmatic-access
877
+ #
878
+ # @option params [required, String] :session_id
879
+ # The session ID.
880
+ #
881
+ # @return [Types::CreatePresignedNotebookUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
882
+ #
883
+ # * {Types::CreatePresignedNotebookUrlResponse#notebook_url #notebook_url} => String
884
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token #auth_token} => String
885
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token_expiration_time #auth_token_expiration_time} => Integer
886
+ #
887
+ # @example Request syntax with placeholder values
888
+ #
889
+ # resp = client.create_presigned_notebook_url({
890
+ # session_id: "SessionId", # required
891
+ # })
892
+ #
893
+ # @example Response structure
894
+ #
895
+ # resp.notebook_url #=> String
896
+ # resp.auth_token #=> String
897
+ # resp.auth_token_expiration_time #=> Integer
898
+ #
899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePresignedNotebookUrl AWS API Documentation
900
+ #
901
+ # @overload create_presigned_notebook_url(params = {})
902
+ # @param [Hash] params ({})
903
+ def create_presigned_notebook_url(params = {}, options = {})
904
+ req = build_request(:create_presigned_notebook_url, params)
905
+ req.send_request(options)
906
+ end
907
+
908
+ # Creates a workgroup with the specified name. A workgroup can be an
909
+ # Apache Spark enabled workgroup or an Athena SQL workgroup.
669
910
  #
670
911
  # @option params [required, String] :name
671
912
  # The workgroup name.
672
913
  #
673
914
  # @option params [Types::WorkGroupConfiguration] :configuration
674
- # The configuration for the workgroup, which includes the location in
675
- # Amazon S3 where query results are stored, the encryption
676
- # configuration, if any, used for encrypting query results, whether the
677
- # Amazon CloudWatch Metrics are enabled for the workgroup, the limit for
678
- # the amount of bytes scanned (cutoff) per query, if it is specified,
679
- # and whether workgroup's settings (specified with
680
- # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
681
- # override client-side settings. See
915
+ # Contains configuration information for creating an Athena SQL
916
+ # workgroup or Spark enabled Athena workgroup. Athena SQL workgroup
917
+ # configuration includes the location in Amazon S3 where query and
918
+ # calculation results are stored, the encryption configuration, if any,
919
+ # used for encrypting query results, whether the Amazon CloudWatch
920
+ # Metrics are enabled for the workgroup, the limit for the amount of
921
+ # bytes scanned (cutoff) per query, if it is specified, and whether
922
+ # workgroup's settings (specified with `EnforceWorkGroupConfiguration`)
923
+ # in the `WorkGroupConfiguration` override client-side settings. See
682
924
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
683
925
  #
684
926
  # @option params [String] :description
@@ -696,11 +938,15 @@ module Aws::Athena
696
938
  # name: "WorkGroupName", # required
697
939
  # configuration: {
698
940
  # result_configuration: {
699
- # output_location: "String",
941
+ # output_location: "ResultOutputLocation",
700
942
  # encryption_configuration: {
701
943
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
702
944
  # kms_key: "String",
703
945
  # },
946
+ # expected_bucket_owner: "AwsAccountId",
947
+ # acl_configuration: {
948
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
949
+ # },
704
950
  # },
705
951
  # enforce_work_group_configuration: false,
706
952
  # publish_cloud_watch_metrics_enabled: false,
@@ -710,6 +956,21 @@ module Aws::Athena
710
956
  # selected_engine_version: "NameString",
711
957
  # effective_engine_version: "NameString",
712
958
  # },
959
+ # additional_configuration: "NameString",
960
+ # execution_role: "RoleArn",
961
+ # customer_content_encryption_configuration: {
962
+ # kms_key: "KmsKey", # required
963
+ # },
964
+ # enable_minimum_encryption_configuration: false,
965
+ # identity_center_configuration: {
966
+ # enable_identity_center: false,
967
+ # identity_center_instance_arn: "IdentityCenterInstanceArn",
968
+ # },
969
+ # query_results_s3_access_grants_configuration: {
970
+ # enable_s3_access_grants: false, # required
971
+ # create_user_level_prefix: false,
972
+ # authentication_type: "DIRECTORY_IDENTITY", # required, accepts DIRECTORY_IDENTITY
973
+ # },
713
974
  # },
714
975
  # description: "WorkGroupDescriptionString",
715
976
  # tags: [
@@ -729,6 +990,33 @@ module Aws::Athena
729
990
  req.send_request(options)
730
991
  end
731
992
 
993
+ # Deletes a cancelled capacity reservation. A reservation must be
994
+ # cancelled before it can be deleted. A deleted reservation is
995
+ # immediately removed from your account and can no longer be referenced,
996
+ # including by its ARN. A deleted reservation cannot be called by
997
+ # `GetCapacityReservation`, and deleted reservations do not appear in
998
+ # the output of `ListCapacityReservations`.
999
+ #
1000
+ # @option params [required, String] :name
1001
+ # The name of the capacity reservation to delete.
1002
+ #
1003
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1004
+ #
1005
+ # @example Request syntax with placeholder values
1006
+ #
1007
+ # resp = client.delete_capacity_reservation({
1008
+ # name: "CapacityReservationName", # required
1009
+ # })
1010
+ #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteCapacityReservation AWS API Documentation
1012
+ #
1013
+ # @overload delete_capacity_reservation(params = {})
1014
+ # @param [Hash] params ({})
1015
+ def delete_capacity_reservation(params = {}, options = {})
1016
+ req = build_request(:delete_capacity_reservation, params)
1017
+ req.send_request(options)
1018
+ end
1019
+
732
1020
  # Deletes a data catalog.
733
1021
  #
734
1022
  # @option params [required, String] :name
@@ -754,13 +1042,6 @@ module Aws::Athena
754
1042
  # Deletes the named query if you have access to the workgroup in which
755
1043
  # the query was saved.
756
1044
  #
757
- # For code samples using the Amazon Web Services SDK for Java, see
758
- # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
759
- #
760
- #
761
- #
762
- # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
763
- #
764
1045
  # @option params [required, String] :named_query_id
765
1046
  # The unique ID of the query to delete.
766
1047
  #
@@ -784,6 +1065,28 @@ module Aws::Athena
784
1065
  req.send_request(options)
785
1066
  end
786
1067
 
1068
+ # Deletes the specified notebook.
1069
+ #
1070
+ # @option params [required, String] :notebook_id
1071
+ # The ID of the notebook to delete.
1072
+ #
1073
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1074
+ #
1075
+ # @example Request syntax with placeholder values
1076
+ #
1077
+ # resp = client.delete_notebook({
1078
+ # notebook_id: "NotebookId", # required
1079
+ # })
1080
+ #
1081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNotebook AWS API Documentation
1082
+ #
1083
+ # @overload delete_notebook(params = {})
1084
+ # @param [Hash] params ({})
1085
+ def delete_notebook(params = {}, options = {})
1086
+ req = build_request(:delete_notebook, params)
1087
+ req.send_request(options)
1088
+ end
1089
+
787
1090
  # Deletes the prepared statement with the specified name from the
788
1091
  # specified workgroup.
789
1092
  #
@@ -819,7 +1122,7 @@ module Aws::Athena
819
1122
  #
820
1123
  # @option params [Boolean] :recursive_delete_option
821
1124
  # The option to delete the workgroup and its contents even if the
822
- # workgroup contains any named queries or query executions.
1125
+ # workgroup contains any named queries, query executions, or notebooks.
823
1126
  #
824
1127
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
825
1128
  #
@@ -839,160 +1142,419 @@ module Aws::Athena
839
1142
  req.send_request(options)
840
1143
  end
841
1144
 
842
- # Returns the specified data catalog.
1145
+ # Exports the specified notebook and its metadata.
843
1146
  #
844
- # @option params [required, String] :name
845
- # The name of the data catalog to return.
1147
+ # @option params [required, String] :notebook_id
1148
+ # The ID of the notebook to export.
846
1149
  #
847
- # @return [Types::GetDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1150
+ # @return [Types::ExportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
848
1151
  #
849
- # * {Types::GetDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
1152
+ # * {Types::ExportNotebookOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
1153
+ # * {Types::ExportNotebookOutput#payload #payload} => String
850
1154
  #
851
1155
  # @example Request syntax with placeholder values
852
1156
  #
853
- # resp = client.get_data_catalog({
854
- # name: "CatalogNameString", # required
1157
+ # resp = client.export_notebook({
1158
+ # notebook_id: "NotebookId", # required
855
1159
  # })
856
1160
  #
857
1161
  # @example Response structure
858
1162
  #
859
- # resp.data_catalog.name #=> String
860
- # resp.data_catalog.description #=> String
861
- # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
862
- # resp.data_catalog.parameters #=> Hash
863
- # resp.data_catalog.parameters["KeyString"] #=> String
1163
+ # resp.notebook_metadata.notebook_id #=> String
1164
+ # resp.notebook_metadata.name #=> String
1165
+ # resp.notebook_metadata.work_group #=> String
1166
+ # resp.notebook_metadata.creation_time #=> Time
1167
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1168
+ # resp.notebook_metadata.last_modified_time #=> Time
1169
+ # resp.payload #=> String
864
1170
  #
865
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExportNotebook AWS API Documentation
866
1172
  #
867
- # @overload get_data_catalog(params = {})
1173
+ # @overload export_notebook(params = {})
868
1174
  # @param [Hash] params ({})
869
- def get_data_catalog(params = {}, options = {})
870
- req = build_request(:get_data_catalog, params)
1175
+ def export_notebook(params = {}, options = {})
1176
+ req = build_request(:export_notebook, params)
871
1177
  req.send_request(options)
872
1178
  end
873
1179
 
874
- # Returns a database object for the specified database and data catalog.
1180
+ # Describes a previously submitted calculation execution.
875
1181
  #
876
- # @option params [required, String] :catalog_name
877
- # The name of the data catalog that contains the database to return.
1182
+ # @option params [required, String] :calculation_execution_id
1183
+ # The calculation execution UUID.
878
1184
  #
879
- # @option params [required, String] :database_name
880
- # The name of the database to return.
1185
+ # @return [Types::GetCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
881
1186
  #
882
- # @return [Types::GetDatabaseOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1187
+ # * {Types::GetCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
1188
+ # * {Types::GetCalculationExecutionResponse#session_id #session_id} => String
1189
+ # * {Types::GetCalculationExecutionResponse#description #description} => String
1190
+ # * {Types::GetCalculationExecutionResponse#working_directory #working_directory} => String
1191
+ # * {Types::GetCalculationExecutionResponse#status #status} => Types::CalculationStatus
1192
+ # * {Types::GetCalculationExecutionResponse#statistics #statistics} => Types::CalculationStatistics
1193
+ # * {Types::GetCalculationExecutionResponse#result #result} => Types::CalculationResult
883
1194
  #
884
- # * {Types::GetDatabaseOutput#database #database} => Types::Database
1195
+ # @example Request syntax with placeholder values
1196
+ #
1197
+ # resp = client.get_calculation_execution({
1198
+ # calculation_execution_id: "CalculationExecutionId", # required
1199
+ # })
1200
+ #
1201
+ # @example Response structure
1202
+ #
1203
+ # resp.calculation_execution_id #=> String
1204
+ # resp.session_id #=> String
1205
+ # resp.description #=> String
1206
+ # resp.working_directory #=> String
1207
+ # resp.status.submission_date_time #=> Time
1208
+ # resp.status.completion_date_time #=> Time
1209
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1210
+ # resp.status.state_change_reason #=> String
1211
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1212
+ # resp.statistics.progress #=> String
1213
+ # resp.result.std_out_s3_uri #=> String
1214
+ # resp.result.std_error_s3_uri #=> String
1215
+ # resp.result.result_s3_uri #=> String
1216
+ # resp.result.result_type #=> String
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecution AWS API Documentation
1219
+ #
1220
+ # @overload get_calculation_execution(params = {})
1221
+ # @param [Hash] params ({})
1222
+ def get_calculation_execution(params = {}, options = {})
1223
+ req = build_request(:get_calculation_execution, params)
1224
+ req.send_request(options)
1225
+ end
1226
+
1227
+ # Retrieves the unencrypted code that was executed for the calculation.
1228
+ #
1229
+ # @option params [required, String] :calculation_execution_id
1230
+ # The calculation execution UUID.
1231
+ #
1232
+ # @return [Types::GetCalculationExecutionCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1233
+ #
1234
+ # * {Types::GetCalculationExecutionCodeResponse#code_block #code_block} => String
885
1235
  #
886
1236
  # @example Request syntax with placeholder values
887
1237
  #
888
- # resp = client.get_database({
889
- # catalog_name: "CatalogNameString", # required
890
- # database_name: "NameString", # required
1238
+ # resp = client.get_calculation_execution_code({
1239
+ # calculation_execution_id: "CalculationExecutionId", # required
891
1240
  # })
892
1241
  #
893
1242
  # @example Response structure
894
1243
  #
895
- # resp.database.name #=> String
896
- # resp.database.description #=> String
897
- # resp.database.parameters #=> Hash
898
- # resp.database.parameters["KeyString"] #=> String
1244
+ # resp.code_block #=> String
899
1245
  #
900
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase AWS API Documentation
1246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionCode AWS API Documentation
901
1247
  #
902
- # @overload get_database(params = {})
1248
+ # @overload get_calculation_execution_code(params = {})
903
1249
  # @param [Hash] params ({})
904
- def get_database(params = {}, options = {})
905
- req = build_request(:get_database, params)
1250
+ def get_calculation_execution_code(params = {}, options = {})
1251
+ req = build_request(:get_calculation_execution_code, params)
906
1252
  req.send_request(options)
907
1253
  end
908
1254
 
909
- # Returns information about a single query. Requires that you have
910
- # access to the workgroup in which the query was saved.
1255
+ # Gets the status of a current calculation.
911
1256
  #
912
- # @option params [required, String] :named_query_id
913
- # The unique ID of the query. Use ListNamedQueries to get query IDs.
1257
+ # @option params [required, String] :calculation_execution_id
1258
+ # The calculation execution UUID.
914
1259
  #
915
- # @return [Types::GetNamedQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1260
+ # @return [Types::GetCalculationExecutionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
916
1261
  #
917
- # * {Types::GetNamedQueryOutput#named_query #named_query} => Types::NamedQuery
1262
+ # * {Types::GetCalculationExecutionStatusResponse#status #status} => Types::CalculationStatus
1263
+ # * {Types::GetCalculationExecutionStatusResponse#statistics #statistics} => Types::CalculationStatistics
918
1264
  #
919
1265
  # @example Request syntax with placeholder values
920
1266
  #
921
- # resp = client.get_named_query({
922
- # named_query_id: "NamedQueryId", # required
1267
+ # resp = client.get_calculation_execution_status({
1268
+ # calculation_execution_id: "CalculationExecutionId", # required
923
1269
  # })
924
1270
  #
925
1271
  # @example Response structure
926
1272
  #
927
- # resp.named_query.name #=> String
928
- # resp.named_query.description #=> String
929
- # resp.named_query.database #=> String
930
- # resp.named_query.query_string #=> String
931
- # resp.named_query.named_query_id #=> String
932
- # resp.named_query.work_group #=> String
1273
+ # resp.status.submission_date_time #=> Time
1274
+ # resp.status.completion_date_time #=> Time
1275
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1276
+ # resp.status.state_change_reason #=> String
1277
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1278
+ # resp.statistics.progress #=> String
933
1279
  #
934
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNamedQuery AWS API Documentation
1280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionStatus AWS API Documentation
935
1281
  #
936
- # @overload get_named_query(params = {})
1282
+ # @overload get_calculation_execution_status(params = {})
937
1283
  # @param [Hash] params ({})
938
- def get_named_query(params = {}, options = {})
939
- req = build_request(:get_named_query, params)
1284
+ def get_calculation_execution_status(params = {}, options = {})
1285
+ req = build_request(:get_calculation_execution_status, params)
940
1286
  req.send_request(options)
941
1287
  end
942
1288
 
943
- # Retrieves the prepared statement with the specified name from the
944
- # specified workgroup.
945
- #
946
- # @option params [required, String] :statement_name
947
- # The name of the prepared statement to retrieve.
1289
+ # Gets the capacity assignment configuration for a capacity reservation,
1290
+ # if one exists.
948
1291
  #
949
- # @option params [required, String] :work_group
950
- # The workgroup to which the statement to be retrieved belongs.
1292
+ # @option params [required, String] :capacity_reservation_name
1293
+ # The name of the capacity reservation to retrieve the capacity
1294
+ # assignment configuration for.
951
1295
  #
952
- # @return [Types::GetPreparedStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1296
+ # @return [Types::GetCapacityAssignmentConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
953
1297
  #
954
- # * {Types::GetPreparedStatementOutput#prepared_statement #prepared_statement} => Types::PreparedStatement
1298
+ # * {Types::GetCapacityAssignmentConfigurationOutput#capacity_assignment_configuration #capacity_assignment_configuration} => Types::CapacityAssignmentConfiguration
955
1299
  #
956
1300
  # @example Request syntax with placeholder values
957
1301
  #
958
- # resp = client.get_prepared_statement({
959
- # statement_name: "StatementName", # required
960
- # work_group: "WorkGroupName", # required
1302
+ # resp = client.get_capacity_assignment_configuration({
1303
+ # capacity_reservation_name: "CapacityReservationName", # required
961
1304
  # })
962
1305
  #
963
1306
  # @example Response structure
964
1307
  #
965
- # resp.prepared_statement.statement_name #=> String
966
- # resp.prepared_statement.query_statement #=> String
967
- # resp.prepared_statement.work_group_name #=> String
968
- # resp.prepared_statement.description #=> String
969
- # resp.prepared_statement.last_modified_time #=> Time
1308
+ # resp.capacity_assignment_configuration.capacity_reservation_name #=> String
1309
+ # resp.capacity_assignment_configuration.capacity_assignments #=> Array
1310
+ # resp.capacity_assignment_configuration.capacity_assignments[0].work_group_names #=> Array
1311
+ # resp.capacity_assignment_configuration.capacity_assignments[0].work_group_names[0] #=> String
970
1312
  #
971
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetPreparedStatement AWS API Documentation
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityAssignmentConfiguration AWS API Documentation
972
1314
  #
973
- # @overload get_prepared_statement(params = {})
1315
+ # @overload get_capacity_assignment_configuration(params = {})
974
1316
  # @param [Hash] params ({})
975
- def get_prepared_statement(params = {}, options = {})
976
- req = build_request(:get_prepared_statement, params)
1317
+ def get_capacity_assignment_configuration(params = {}, options = {})
1318
+ req = build_request(:get_capacity_assignment_configuration, params)
977
1319
  req.send_request(options)
978
1320
  end
979
1321
 
980
- # Returns information about a single execution of a query if you have
981
- # access to the workgroup in which the query ran. Each time a query
982
- # executes, information about the query execution is saved with a unique
983
- # ID.
1322
+ # Returns information about the capacity reservation with the specified
1323
+ # name.
984
1324
  #
985
- # @option params [required, String] :query_execution_id
986
- # The unique ID of the query execution.
1325
+ # @option params [required, String] :name
1326
+ # The name of the capacity reservation.
987
1327
  #
988
- # @return [Types::GetQueryExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1328
+ # @return [Types::GetCapacityReservationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
989
1329
  #
990
- # * {Types::GetQueryExecutionOutput#query_execution #query_execution} => Types::QueryExecution
1330
+ # * {Types::GetCapacityReservationOutput#capacity_reservation #capacity_reservation} => Types::CapacityReservation
991
1331
  #
992
1332
  # @example Request syntax with placeholder values
993
1333
  #
994
- # resp = client.get_query_execution({
995
- # query_execution_id: "QueryExecutionId", # required
1334
+ # resp = client.get_capacity_reservation({
1335
+ # name: "CapacityReservationName", # required
1336
+ # })
1337
+ #
1338
+ # @example Response structure
1339
+ #
1340
+ # resp.capacity_reservation.name #=> String
1341
+ # resp.capacity_reservation.status #=> String, one of "PENDING", "ACTIVE", "CANCELLING", "CANCELLED", "FAILED", "UPDATE_PENDING"
1342
+ # resp.capacity_reservation.target_dpus #=> Integer
1343
+ # resp.capacity_reservation.allocated_dpus #=> Integer
1344
+ # resp.capacity_reservation.last_allocation.status #=> String, one of "PENDING", "SUCCEEDED", "FAILED"
1345
+ # resp.capacity_reservation.last_allocation.status_message #=> String
1346
+ # resp.capacity_reservation.last_allocation.request_time #=> Time
1347
+ # resp.capacity_reservation.last_allocation.request_completion_time #=> Time
1348
+ # resp.capacity_reservation.last_successful_allocation_time #=> Time
1349
+ # resp.capacity_reservation.creation_time #=> Time
1350
+ #
1351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCapacityReservation AWS API Documentation
1352
+ #
1353
+ # @overload get_capacity_reservation(params = {})
1354
+ # @param [Hash] params ({})
1355
+ def get_capacity_reservation(params = {}, options = {})
1356
+ req = build_request(:get_capacity_reservation, params)
1357
+ req.send_request(options)
1358
+ end
1359
+
1360
+ # Returns the specified data catalog.
1361
+ #
1362
+ # @option params [required, String] :name
1363
+ # The name of the data catalog to return.
1364
+ #
1365
+ # @option params [String] :work_group
1366
+ # The name of the workgroup. Required if making an IAM Identity Center
1367
+ # request.
1368
+ #
1369
+ # @return [Types::GetDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1370
+ #
1371
+ # * {Types::GetDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
1372
+ #
1373
+ # @example Request syntax with placeholder values
1374
+ #
1375
+ # resp = client.get_data_catalog({
1376
+ # name: "CatalogNameString", # required
1377
+ # work_group: "WorkGroupName",
1378
+ # })
1379
+ #
1380
+ # @example Response structure
1381
+ #
1382
+ # resp.data_catalog.name #=> String
1383
+ # resp.data_catalog.description #=> String
1384
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1385
+ # resp.data_catalog.parameters #=> Hash
1386
+ # resp.data_catalog.parameters["KeyString"] #=> String
1387
+ #
1388
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
1389
+ #
1390
+ # @overload get_data_catalog(params = {})
1391
+ # @param [Hash] params ({})
1392
+ def get_data_catalog(params = {}, options = {})
1393
+ req = build_request(:get_data_catalog, params)
1394
+ req.send_request(options)
1395
+ end
1396
+
1397
+ # Returns a database object for the specified database and data catalog.
1398
+ #
1399
+ # @option params [required, String] :catalog_name
1400
+ # The name of the data catalog that contains the database to return.
1401
+ #
1402
+ # @option params [required, String] :database_name
1403
+ # The name of the database to return.
1404
+ #
1405
+ # @option params [String] :work_group
1406
+ # The name of the workgroup for which the metadata is being fetched.
1407
+ # Required if requesting an IAM Identity Center enabled Glue Data
1408
+ # Catalog.
1409
+ #
1410
+ # @return [Types::GetDatabaseOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1411
+ #
1412
+ # * {Types::GetDatabaseOutput#database #database} => Types::Database
1413
+ #
1414
+ # @example Request syntax with placeholder values
1415
+ #
1416
+ # resp = client.get_database({
1417
+ # catalog_name: "CatalogNameString", # required
1418
+ # database_name: "NameString", # required
1419
+ # work_group: "WorkGroupName",
1420
+ # })
1421
+ #
1422
+ # @example Response structure
1423
+ #
1424
+ # resp.database.name #=> String
1425
+ # resp.database.description #=> String
1426
+ # resp.database.parameters #=> Hash
1427
+ # resp.database.parameters["KeyString"] #=> String
1428
+ #
1429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase AWS API Documentation
1430
+ #
1431
+ # @overload get_database(params = {})
1432
+ # @param [Hash] params ({})
1433
+ def get_database(params = {}, options = {})
1434
+ req = build_request(:get_database, params)
1435
+ req.send_request(options)
1436
+ end
1437
+
1438
+ # Returns information about a single query. Requires that you have
1439
+ # access to the workgroup in which the query was saved.
1440
+ #
1441
+ # @option params [required, String] :named_query_id
1442
+ # The unique ID of the query. Use ListNamedQueries to get query IDs.
1443
+ #
1444
+ # @return [Types::GetNamedQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1445
+ #
1446
+ # * {Types::GetNamedQueryOutput#named_query #named_query} => Types::NamedQuery
1447
+ #
1448
+ # @example Request syntax with placeholder values
1449
+ #
1450
+ # resp = client.get_named_query({
1451
+ # named_query_id: "NamedQueryId", # required
1452
+ # })
1453
+ #
1454
+ # @example Response structure
1455
+ #
1456
+ # resp.named_query.name #=> String
1457
+ # resp.named_query.description #=> String
1458
+ # resp.named_query.database #=> String
1459
+ # resp.named_query.query_string #=> String
1460
+ # resp.named_query.named_query_id #=> String
1461
+ # resp.named_query.work_group #=> String
1462
+ #
1463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNamedQuery AWS API Documentation
1464
+ #
1465
+ # @overload get_named_query(params = {})
1466
+ # @param [Hash] params ({})
1467
+ def get_named_query(params = {}, options = {})
1468
+ req = build_request(:get_named_query, params)
1469
+ req.send_request(options)
1470
+ end
1471
+
1472
+ # Retrieves notebook metadata for the specified notebook ID.
1473
+ #
1474
+ # @option params [required, String] :notebook_id
1475
+ # The ID of the notebook whose metadata is to be retrieved.
1476
+ #
1477
+ # @return [Types::GetNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1478
+ #
1479
+ # * {Types::GetNotebookMetadataOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
1480
+ #
1481
+ # @example Request syntax with placeholder values
1482
+ #
1483
+ # resp = client.get_notebook_metadata({
1484
+ # notebook_id: "NotebookId", # required
1485
+ # })
1486
+ #
1487
+ # @example Response structure
1488
+ #
1489
+ # resp.notebook_metadata.notebook_id #=> String
1490
+ # resp.notebook_metadata.name #=> String
1491
+ # resp.notebook_metadata.work_group #=> String
1492
+ # resp.notebook_metadata.creation_time #=> Time
1493
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1494
+ # resp.notebook_metadata.last_modified_time #=> Time
1495
+ #
1496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNotebookMetadata AWS API Documentation
1497
+ #
1498
+ # @overload get_notebook_metadata(params = {})
1499
+ # @param [Hash] params ({})
1500
+ def get_notebook_metadata(params = {}, options = {})
1501
+ req = build_request(:get_notebook_metadata, params)
1502
+ req.send_request(options)
1503
+ end
1504
+
1505
+ # Retrieves the prepared statement with the specified name from the
1506
+ # specified workgroup.
1507
+ #
1508
+ # @option params [required, String] :statement_name
1509
+ # The name of the prepared statement to retrieve.
1510
+ #
1511
+ # @option params [required, String] :work_group
1512
+ # The workgroup to which the statement to be retrieved belongs.
1513
+ #
1514
+ # @return [Types::GetPreparedStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1515
+ #
1516
+ # * {Types::GetPreparedStatementOutput#prepared_statement #prepared_statement} => Types::PreparedStatement
1517
+ #
1518
+ # @example Request syntax with placeholder values
1519
+ #
1520
+ # resp = client.get_prepared_statement({
1521
+ # statement_name: "StatementName", # required
1522
+ # work_group: "WorkGroupName", # required
1523
+ # })
1524
+ #
1525
+ # @example Response structure
1526
+ #
1527
+ # resp.prepared_statement.statement_name #=> String
1528
+ # resp.prepared_statement.query_statement #=> String
1529
+ # resp.prepared_statement.work_group_name #=> String
1530
+ # resp.prepared_statement.description #=> String
1531
+ # resp.prepared_statement.last_modified_time #=> Time
1532
+ #
1533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetPreparedStatement AWS API Documentation
1534
+ #
1535
+ # @overload get_prepared_statement(params = {})
1536
+ # @param [Hash] params ({})
1537
+ def get_prepared_statement(params = {}, options = {})
1538
+ req = build_request(:get_prepared_statement, params)
1539
+ req.send_request(options)
1540
+ end
1541
+
1542
+ # Returns information about a single execution of a query if you have
1543
+ # access to the workgroup in which the query ran. Each time a query
1544
+ # executes, information about the query execution is saved with a unique
1545
+ # ID.
1546
+ #
1547
+ # @option params [required, String] :query_execution_id
1548
+ # The unique ID of the query execution.
1549
+ #
1550
+ # @return [Types::GetQueryExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1551
+ #
1552
+ # * {Types::GetQueryExecutionOutput#query_execution #query_execution} => Types::QueryExecution
1553
+ #
1554
+ # @example Request syntax with placeholder values
1555
+ #
1556
+ # resp = client.get_query_execution({
1557
+ # query_execution_id: "QueryExecutionId", # required
996
1558
  # })
997
1559
  #
998
1560
  # @example Response structure
@@ -1003,6 +1565,10 @@ module Aws::Athena
1003
1565
  # resp.query_execution.result_configuration.output_location #=> String
1004
1566
  # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1005
1567
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
1568
+ # resp.query_execution.result_configuration.expected_bucket_owner #=> String
1569
+ # resp.query_execution.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
1570
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.enabled #=> Boolean
1571
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.max_age_in_minutes #=> Integer
1006
1572
  # resp.query_execution.query_execution_context.database #=> String
1007
1573
  # resp.query_execution.query_execution_context.catalog #=> String
1008
1574
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
@@ -1010,16 +1576,27 @@ module Aws::Athena
1010
1576
  # resp.query_execution.status.submission_date_time #=> Time
1011
1577
  # resp.query_execution.status.completion_date_time #=> Time
1012
1578
  # resp.query_execution.status.athena_error.error_category #=> Integer
1579
+ # resp.query_execution.status.athena_error.error_type #=> Integer
1580
+ # resp.query_execution.status.athena_error.retryable #=> Boolean
1581
+ # resp.query_execution.status.athena_error.error_message #=> String
1013
1582
  # resp.query_execution.statistics.engine_execution_time_in_millis #=> Integer
1014
1583
  # resp.query_execution.statistics.data_scanned_in_bytes #=> Integer
1015
1584
  # resp.query_execution.statistics.data_manifest_location #=> String
1016
1585
  # resp.query_execution.statistics.total_execution_time_in_millis #=> Integer
1017
1586
  # resp.query_execution.statistics.query_queue_time_in_millis #=> Integer
1587
+ # resp.query_execution.statistics.service_pre_processing_time_in_millis #=> Integer
1018
1588
  # resp.query_execution.statistics.query_planning_time_in_millis #=> Integer
1019
1589
  # resp.query_execution.statistics.service_processing_time_in_millis #=> Integer
1590
+ # resp.query_execution.statistics.result_reuse_information.reused_previous_result #=> Boolean
1020
1591
  # resp.query_execution.work_group #=> String
1021
1592
  # resp.query_execution.engine_version.selected_engine_version #=> String
1022
1593
  # resp.query_execution.engine_version.effective_engine_version #=> String
1594
+ # resp.query_execution.execution_parameters #=> Array
1595
+ # resp.query_execution.execution_parameters[0] #=> String
1596
+ # resp.query_execution.substatement_type #=> String
1597
+ # resp.query_execution.query_results_s3_access_grants_configuration.enable_s3_access_grants #=> Boolean
1598
+ # resp.query_execution.query_results_s3_access_grants_configuration.create_user_level_prefix #=> Boolean
1599
+ # resp.query_execution.query_results_s3_access_grants_configuration.authentication_type #=> String, one of "DIRECTORY_IDENTITY"
1023
1600
  #
1024
1601
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryExecution AWS API Documentation
1025
1602
  #
@@ -1032,9 +1609,10 @@ module Aws::Athena
1032
1609
 
1033
1610
  # Streams the results of a single query execution specified by
1034
1611
  # `QueryExecutionId` from the Athena query results location in Amazon
1035
- # S3. For more information, see [Query Results][1] in the *Amazon Athena
1036
- # User Guide*. This request does not execute the query but returns
1037
- # results. Use StartQueryExecution to run a query.
1612
+ # S3. For more information, see [Working with query results, recent
1613
+ # queries, and output files][1] in the *Amazon Athena User Guide*. This
1614
+ # request does not execute the query but returns results. Use
1615
+ # StartQueryExecution to run a query.
1038
1616
  #
1039
1617
  # To stream query results successfully, the IAM principal with
1040
1618
  # permission to call `GetQueryResults` also must have permissions to the
@@ -1106,6 +1684,159 @@ module Aws::Athena
1106
1684
  req.send_request(options)
1107
1685
  end
1108
1686
 
1687
+ # Returns query execution runtime statistics related to a single
1688
+ # execution of a query if you have access to the workgroup in which the
1689
+ # query ran. Query execution runtime statistics are returned only when
1690
+ # QueryExecutionStatus$State is in a SUCCEEDED or FAILED state.
1691
+ # Stage-level input and output row count and data size statistics are
1692
+ # not shown when a query has row-level filters defined in Lake
1693
+ # Formation.
1694
+ #
1695
+ # @option params [required, String] :query_execution_id
1696
+ # The unique ID of the query execution.
1697
+ #
1698
+ # @return [Types::GetQueryRuntimeStatisticsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1699
+ #
1700
+ # * {Types::GetQueryRuntimeStatisticsOutput#query_runtime_statistics #query_runtime_statistics} => Types::QueryRuntimeStatistics
1701
+ #
1702
+ # @example Request syntax with placeholder values
1703
+ #
1704
+ # resp = client.get_query_runtime_statistics({
1705
+ # query_execution_id: "QueryExecutionId", # required
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ #
1710
+ # resp.query_runtime_statistics.timeline.query_queue_time_in_millis #=> Integer
1711
+ # resp.query_runtime_statistics.timeline.service_pre_processing_time_in_millis #=> Integer
1712
+ # resp.query_runtime_statistics.timeline.query_planning_time_in_millis #=> Integer
1713
+ # resp.query_runtime_statistics.timeline.engine_execution_time_in_millis #=> Integer
1714
+ # resp.query_runtime_statistics.timeline.service_processing_time_in_millis #=> Integer
1715
+ # resp.query_runtime_statistics.timeline.total_execution_time_in_millis #=> Integer
1716
+ # resp.query_runtime_statistics.rows.input_rows #=> Integer
1717
+ # resp.query_runtime_statistics.rows.input_bytes #=> Integer
1718
+ # resp.query_runtime_statistics.rows.output_bytes #=> Integer
1719
+ # resp.query_runtime_statistics.rows.output_rows #=> Integer
1720
+ # resp.query_runtime_statistics.output_stage.stage_id #=> Integer
1721
+ # resp.query_runtime_statistics.output_stage.state #=> String
1722
+ # resp.query_runtime_statistics.output_stage.output_bytes #=> Integer
1723
+ # resp.query_runtime_statistics.output_stage.output_rows #=> Integer
1724
+ # resp.query_runtime_statistics.output_stage.input_bytes #=> Integer
1725
+ # resp.query_runtime_statistics.output_stage.input_rows #=> Integer
1726
+ # resp.query_runtime_statistics.output_stage.execution_time #=> Integer
1727
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.name #=> String
1728
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.identifier #=> String
1729
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children #=> Array
1730
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children[0] #=> Types::QueryStagePlanNode
1731
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources #=> Array
1732
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources[0] #=> String
1733
+ # resp.query_runtime_statistics.output_stage.sub_stages #=> Array
1734
+ # resp.query_runtime_statistics.output_stage.sub_stages[0] #=> Types::QueryStage
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryRuntimeStatistics AWS API Documentation
1737
+ #
1738
+ # @overload get_query_runtime_statistics(params = {})
1739
+ # @param [Hash] params ({})
1740
+ def get_query_runtime_statistics(params = {}, options = {})
1741
+ req = build_request(:get_query_runtime_statistics, params)
1742
+ req.send_request(options)
1743
+ end
1744
+
1745
+ # Gets the full details of a previously created session, including the
1746
+ # session status and configuration.
1747
+ #
1748
+ # @option params [required, String] :session_id
1749
+ # The session ID.
1750
+ #
1751
+ # @return [Types::GetSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1752
+ #
1753
+ # * {Types::GetSessionResponse#session_id #session_id} => String
1754
+ # * {Types::GetSessionResponse#description #description} => String
1755
+ # * {Types::GetSessionResponse#work_group #work_group} => String
1756
+ # * {Types::GetSessionResponse#engine_version #engine_version} => String
1757
+ # * {Types::GetSessionResponse#engine_configuration #engine_configuration} => Types::EngineConfiguration
1758
+ # * {Types::GetSessionResponse#notebook_version #notebook_version} => String
1759
+ # * {Types::GetSessionResponse#session_configuration #session_configuration} => Types::SessionConfiguration
1760
+ # * {Types::GetSessionResponse#status #status} => Types::SessionStatus
1761
+ # * {Types::GetSessionResponse#statistics #statistics} => Types::SessionStatistics
1762
+ #
1763
+ # @example Request syntax with placeholder values
1764
+ #
1765
+ # resp = client.get_session({
1766
+ # session_id: "SessionId", # required
1767
+ # })
1768
+ #
1769
+ # @example Response structure
1770
+ #
1771
+ # resp.session_id #=> String
1772
+ # resp.description #=> String
1773
+ # resp.work_group #=> String
1774
+ # resp.engine_version #=> String
1775
+ # resp.engine_configuration.coordinator_dpu_size #=> Integer
1776
+ # resp.engine_configuration.max_concurrent_dpus #=> Integer
1777
+ # resp.engine_configuration.default_executor_dpu_size #=> Integer
1778
+ # resp.engine_configuration.additional_configs #=> Hash
1779
+ # resp.engine_configuration.additional_configs["KeyString"] #=> String
1780
+ # resp.engine_configuration.spark_properties #=> Hash
1781
+ # resp.engine_configuration.spark_properties["KeyString"] #=> String
1782
+ # resp.notebook_version #=> String
1783
+ # resp.session_configuration.execution_role #=> String
1784
+ # resp.session_configuration.working_directory #=> String
1785
+ # resp.session_configuration.idle_timeout_seconds #=> Integer
1786
+ # resp.session_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1787
+ # resp.session_configuration.encryption_configuration.kms_key #=> String
1788
+ # resp.status.start_date_time #=> Time
1789
+ # resp.status.last_modified_date_time #=> Time
1790
+ # resp.status.end_date_time #=> Time
1791
+ # resp.status.idle_since_date_time #=> Time
1792
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1793
+ # resp.status.state_change_reason #=> String
1794
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1795
+ #
1796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSession AWS API Documentation
1797
+ #
1798
+ # @overload get_session(params = {})
1799
+ # @param [Hash] params ({})
1800
+ def get_session(params = {}, options = {})
1801
+ req = build_request(:get_session, params)
1802
+ req.send_request(options)
1803
+ end
1804
+
1805
+ # Gets the current status of a session.
1806
+ #
1807
+ # @option params [required, String] :session_id
1808
+ # The session ID.
1809
+ #
1810
+ # @return [Types::GetSessionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1811
+ #
1812
+ # * {Types::GetSessionStatusResponse#session_id #session_id} => String
1813
+ # * {Types::GetSessionStatusResponse#status #status} => Types::SessionStatus
1814
+ #
1815
+ # @example Request syntax with placeholder values
1816
+ #
1817
+ # resp = client.get_session_status({
1818
+ # session_id: "SessionId", # required
1819
+ # })
1820
+ #
1821
+ # @example Response structure
1822
+ #
1823
+ # resp.session_id #=> String
1824
+ # resp.status.start_date_time #=> Time
1825
+ # resp.status.last_modified_date_time #=> Time
1826
+ # resp.status.end_date_time #=> Time
1827
+ # resp.status.idle_since_date_time #=> Time
1828
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1829
+ # resp.status.state_change_reason #=> String
1830
+ #
1831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatus AWS API Documentation
1832
+ #
1833
+ # @overload get_session_status(params = {})
1834
+ # @param [Hash] params ({})
1835
+ def get_session_status(params = {}, options = {})
1836
+ req = build_request(:get_session_status, params)
1837
+ req.send_request(options)
1838
+ end
1839
+
1109
1840
  # Returns table metadata for the specified catalog, database, and table.
1110
1841
  #
1111
1842
  # @option params [required, String] :catalog_name
@@ -1118,6 +1849,11 @@ module Aws::Athena
1118
1849
  # @option params [required, String] :table_name
1119
1850
  # The name of the table for which metadata is returned.
1120
1851
  #
1852
+ # @option params [String] :work_group
1853
+ # The name of the workgroup for which the metadata is being fetched.
1854
+ # Required if requesting an IAM Identity Center enabled Glue Data
1855
+ # Catalog.
1856
+ #
1121
1857
  # @return [Types::GetTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1122
1858
  #
1123
1859
  # * {Types::GetTableMetadataOutput#table_metadata #table_metadata} => Types::TableMetadata
@@ -1128,6 +1864,7 @@ module Aws::Athena
1128
1864
  # catalog_name: "CatalogNameString", # required
1129
1865
  # database_name: "NameString", # required
1130
1866
  # table_name: "NameString", # required
1867
+ # work_group: "WorkGroupName",
1131
1868
  # })
1132
1869
  #
1133
1870
  # @example Response structure
@@ -1178,14 +1915,26 @@ module Aws::Athena
1178
1915
  # resp.work_group.configuration.result_configuration.output_location #=> String
1179
1916
  # resp.work_group.configuration.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1180
1917
  # resp.work_group.configuration.result_configuration.encryption_configuration.kms_key #=> String
1918
+ # resp.work_group.configuration.result_configuration.expected_bucket_owner #=> String
1919
+ # resp.work_group.configuration.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
1181
1920
  # resp.work_group.configuration.enforce_work_group_configuration #=> Boolean
1182
1921
  # resp.work_group.configuration.publish_cloud_watch_metrics_enabled #=> Boolean
1183
1922
  # resp.work_group.configuration.bytes_scanned_cutoff_per_query #=> Integer
1184
1923
  # resp.work_group.configuration.requester_pays_enabled #=> Boolean
1185
1924
  # resp.work_group.configuration.engine_version.selected_engine_version #=> String
1186
1925
  # resp.work_group.configuration.engine_version.effective_engine_version #=> String
1926
+ # resp.work_group.configuration.additional_configuration #=> String
1927
+ # resp.work_group.configuration.execution_role #=> String
1928
+ # resp.work_group.configuration.customer_content_encryption_configuration.kms_key #=> String
1929
+ # resp.work_group.configuration.enable_minimum_encryption_configuration #=> Boolean
1930
+ # resp.work_group.configuration.identity_center_configuration.enable_identity_center #=> Boolean
1931
+ # resp.work_group.configuration.identity_center_configuration.identity_center_instance_arn #=> String
1932
+ # resp.work_group.configuration.query_results_s3_access_grants_configuration.enable_s3_access_grants #=> Boolean
1933
+ # resp.work_group.configuration.query_results_s3_access_grants_configuration.create_user_level_prefix #=> Boolean
1934
+ # resp.work_group.configuration.query_results_s3_access_grants_configuration.authentication_type #=> String, one of "DIRECTORY_IDENTITY"
1187
1935
  # resp.work_group.description #=> String
1188
1936
  # resp.work_group.creation_time #=> Time
1937
+ # resp.work_group.identity_center_application_arn #=> String
1189
1938
  #
1190
1939
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetWorkGroup AWS API Documentation
1191
1940
  #
@@ -1196,8 +1945,237 @@ module Aws::Athena
1196
1945
  req.send_request(options)
1197
1946
  end
1198
1947
 
1948
+ # Imports a single `ipynb` file to a Spark enabled workgroup. To import
1949
+ # the notebook, the request must specify a value for either `Payload` or
1950
+ # `NoteBookS3LocationUri`. If neither is specified or both are
1951
+ # specified, an `InvalidRequestException` occurs. The maximum file size
1952
+ # that can be imported is 10 megabytes. If an `ipynb` file with the same
1953
+ # name already exists in the workgroup, throws an error.
1954
+ #
1955
+ # @option params [required, String] :work_group
1956
+ # The name of the Spark enabled workgroup to import the notebook to.
1957
+ #
1958
+ # @option params [required, String] :name
1959
+ # The name of the notebook to import.
1960
+ #
1961
+ # @option params [String] :payload
1962
+ # The notebook content to be imported. The payload must be in `ipynb`
1963
+ # format.
1964
+ #
1965
+ # @option params [required, String] :type
1966
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
1967
+ #
1968
+ # @option params [String] :notebook_s3_location_uri
1969
+ # A URI that specifies the Amazon S3 location of a notebook file in
1970
+ # `ipynb` format.
1971
+ #
1972
+ # @option params [String] :client_request_token
1973
+ # A unique case-sensitive string used to ensure the request to import
1974
+ # the notebook is idempotent (executes only once).
1975
+ #
1976
+ # This token is listed as not required because Amazon Web Services SDKs
1977
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
1978
+ # token for you. If you are not using the Amazon Web Services SDK or the
1979
+ # Amazon Web Services CLI, you must provide this token or the action
1980
+ # will fail.
1981
+ #
1982
+ # @return [Types::ImportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1983
+ #
1984
+ # * {Types::ImportNotebookOutput#notebook_id #notebook_id} => String
1985
+ #
1986
+ # @example Request syntax with placeholder values
1987
+ #
1988
+ # resp = client.import_notebook({
1989
+ # work_group: "WorkGroupName", # required
1990
+ # name: "NotebookName", # required
1991
+ # payload: "Payload",
1992
+ # type: "IPYNB", # required, accepts IPYNB
1993
+ # notebook_s3_location_uri: "S3Uri",
1994
+ # client_request_token: "ClientRequestToken",
1995
+ # })
1996
+ #
1997
+ # @example Response structure
1998
+ #
1999
+ # resp.notebook_id #=> String
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebook AWS API Documentation
2002
+ #
2003
+ # @overload import_notebook(params = {})
2004
+ # @param [Hash] params ({})
2005
+ def import_notebook(params = {}, options = {})
2006
+ req = build_request(:import_notebook, params)
2007
+ req.send_request(options)
2008
+ end
2009
+
2010
+ # Returns the supported DPU sizes for the supported application runtimes
2011
+ # (for example, `Athena notebook version 1`).
2012
+ #
2013
+ # @option params [Integer] :max_results
2014
+ # Specifies the maximum number of results to return.
2015
+ #
2016
+ # @option params [String] :next_token
2017
+ # A token generated by the Athena service that specifies where to
2018
+ # continue pagination if a previous request was truncated.
2019
+ #
2020
+ # @return [Types::ListApplicationDPUSizesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2021
+ #
2022
+ # * {Types::ListApplicationDPUSizesOutput#application_dpu_sizes #application_dpu_sizes} => Array&lt;Types::ApplicationDPUSizes&gt;
2023
+ # * {Types::ListApplicationDPUSizesOutput#next_token #next_token} => String
2024
+ #
2025
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2026
+ #
2027
+ # @example Request syntax with placeholder values
2028
+ #
2029
+ # resp = client.list_application_dpu_sizes({
2030
+ # max_results: 1,
2031
+ # next_token: "Token",
2032
+ # })
2033
+ #
2034
+ # @example Response structure
2035
+ #
2036
+ # resp.application_dpu_sizes #=> Array
2037
+ # resp.application_dpu_sizes[0].application_runtime_id #=> String
2038
+ # resp.application_dpu_sizes[0].supported_dpu_sizes #=> Array
2039
+ # resp.application_dpu_sizes[0].supported_dpu_sizes[0] #=> Integer
2040
+ # resp.next_token #=> String
2041
+ #
2042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizes AWS API Documentation
2043
+ #
2044
+ # @overload list_application_dpu_sizes(params = {})
2045
+ # @param [Hash] params ({})
2046
+ def list_application_dpu_sizes(params = {}, options = {})
2047
+ req = build_request(:list_application_dpu_sizes, params)
2048
+ req.send_request(options)
2049
+ end
2050
+
2051
+ # Lists the calculations that have been submitted to a session in
2052
+ # descending order. Newer calculations are listed first; older
2053
+ # calculations are listed later.
2054
+ #
2055
+ # @option params [required, String] :session_id
2056
+ # The session ID.
2057
+ #
2058
+ # @option params [String] :state_filter
2059
+ # A filter for a specific calculation execution state. A description of
2060
+ # each state follows.
2061
+ #
2062
+ # `CREATING` - The calculation is in the process of being created.
2063
+ #
2064
+ # `CREATED` - The calculation has been created and is ready to run.
2065
+ #
2066
+ # `QUEUED` - The calculation has been queued for processing.
2067
+ #
2068
+ # `RUNNING` - The calculation is running.
2069
+ #
2070
+ # `CANCELING` - A request to cancel the calculation has been received
2071
+ # and the system is working to stop it.
2072
+ #
2073
+ # `CANCELED` - The calculation is no longer running as the result of a
2074
+ # cancel request.
2075
+ #
2076
+ # `COMPLETED` - The calculation has completed without error.
2077
+ #
2078
+ # `FAILED` - The calculation failed and is no longer running.
2079
+ #
2080
+ # @option params [Integer] :max_results
2081
+ # The maximum number of calculation executions to return.
2082
+ #
2083
+ # @option params [String] :next_token
2084
+ # A token generated by the Athena service that specifies where to
2085
+ # continue pagination if a previous request was truncated. To obtain the
2086
+ # next set of pages, pass in the `NextToken` from the response object of
2087
+ # the previous page call.
2088
+ #
2089
+ # @return [Types::ListCalculationExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2090
+ #
2091
+ # * {Types::ListCalculationExecutionsResponse#next_token #next_token} => String
2092
+ # * {Types::ListCalculationExecutionsResponse#calculations #calculations} => Array&lt;Types::CalculationSummary&gt;
2093
+ #
2094
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2095
+ #
2096
+ # @example Request syntax with placeholder values
2097
+ #
2098
+ # resp = client.list_calculation_executions({
2099
+ # session_id: "SessionId", # required
2100
+ # state_filter: "CREATING", # accepts CREATING, CREATED, QUEUED, RUNNING, CANCELING, CANCELED, COMPLETED, FAILED
2101
+ # max_results: 1,
2102
+ # next_token: "SessionManagerToken",
2103
+ # })
2104
+ #
2105
+ # @example Response structure
2106
+ #
2107
+ # resp.next_token #=> String
2108
+ # resp.calculations #=> Array
2109
+ # resp.calculations[0].calculation_execution_id #=> String
2110
+ # resp.calculations[0].description #=> String
2111
+ # resp.calculations[0].status.submission_date_time #=> Time
2112
+ # resp.calculations[0].status.completion_date_time #=> Time
2113
+ # resp.calculations[0].status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2114
+ # resp.calculations[0].status.state_change_reason #=> String
2115
+ #
2116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutions AWS API Documentation
2117
+ #
2118
+ # @overload list_calculation_executions(params = {})
2119
+ # @param [Hash] params ({})
2120
+ def list_calculation_executions(params = {}, options = {})
2121
+ req = build_request(:list_calculation_executions, params)
2122
+ req.send_request(options)
2123
+ end
2124
+
2125
+ # Lists the capacity reservations for the current account.
2126
+ #
2127
+ # @option params [String] :next_token
2128
+ # A token generated by the Athena service that specifies where to
2129
+ # continue pagination if a previous request was truncated.
2130
+ #
2131
+ # @option params [Integer] :max_results
2132
+ # Specifies the maximum number of results to return.
2133
+ #
2134
+ # @return [Types::ListCapacityReservationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2135
+ #
2136
+ # * {Types::ListCapacityReservationsOutput#next_token #next_token} => String
2137
+ # * {Types::ListCapacityReservationsOutput#capacity_reservations #capacity_reservations} => Array&lt;Types::CapacityReservation&gt;
2138
+ #
2139
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2140
+ #
2141
+ # @example Request syntax with placeholder values
2142
+ #
2143
+ # resp = client.list_capacity_reservations({
2144
+ # next_token: "Token",
2145
+ # max_results: 1,
2146
+ # })
2147
+ #
2148
+ # @example Response structure
2149
+ #
2150
+ # resp.next_token #=> String
2151
+ # resp.capacity_reservations #=> Array
2152
+ # resp.capacity_reservations[0].name #=> String
2153
+ # resp.capacity_reservations[0].status #=> String, one of "PENDING", "ACTIVE", "CANCELLING", "CANCELLED", "FAILED", "UPDATE_PENDING"
2154
+ # resp.capacity_reservations[0].target_dpus #=> Integer
2155
+ # resp.capacity_reservations[0].allocated_dpus #=> Integer
2156
+ # resp.capacity_reservations[0].last_allocation.status #=> String, one of "PENDING", "SUCCEEDED", "FAILED"
2157
+ # resp.capacity_reservations[0].last_allocation.status_message #=> String
2158
+ # resp.capacity_reservations[0].last_allocation.request_time #=> Time
2159
+ # resp.capacity_reservations[0].last_allocation.request_completion_time #=> Time
2160
+ # resp.capacity_reservations[0].last_successful_allocation_time #=> Time
2161
+ # resp.capacity_reservations[0].creation_time #=> Time
2162
+ #
2163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCapacityReservations AWS API Documentation
2164
+ #
2165
+ # @overload list_capacity_reservations(params = {})
2166
+ # @param [Hash] params ({})
2167
+ def list_capacity_reservations(params = {}, options = {})
2168
+ req = build_request(:list_capacity_reservations, params)
2169
+ req.send_request(options)
2170
+ end
2171
+
1199
2172
  # Lists the data catalogs in the current Amazon Web Services account.
1200
2173
  #
2174
+ # <note markdown="1"> In the Athena console, data catalogs are listed as "data sources" on
2175
+ # the **Data sources** page under the **Data source name** column.
2176
+ #
2177
+ # </note>
2178
+ #
1201
2179
  # @option params [String] :next_token
1202
2180
  # A token generated by the Athena service that specifies where to
1203
2181
  # continue pagination if a previous request was truncated. To obtain the
@@ -1207,6 +2185,10 @@ module Aws::Athena
1207
2185
  # @option params [Integer] :max_results
1208
2186
  # Specifies the maximum number of data catalogs to return.
1209
2187
  #
2188
+ # @option params [String] :work_group
2189
+ # The name of the workgroup. Required if making an IAM Identity Center
2190
+ # request.
2191
+ #
1210
2192
  # @return [Types::ListDataCatalogsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1211
2193
  #
1212
2194
  # * {Types::ListDataCatalogsOutput#data_catalogs_summary #data_catalogs_summary} => Array&lt;Types::DataCatalogSummary&gt;
@@ -1219,6 +2201,7 @@ module Aws::Athena
1219
2201
  # resp = client.list_data_catalogs({
1220
2202
  # next_token: "Token",
1221
2203
  # max_results: 1,
2204
+ # work_group: "WorkGroupName",
1222
2205
  # })
1223
2206
  #
1224
2207
  # @example Response structure
@@ -1251,6 +2234,11 @@ module Aws::Athena
1251
2234
  # @option params [Integer] :max_results
1252
2235
  # Specifies the maximum number of results to return.
1253
2236
  #
2237
+ # @option params [String] :work_group
2238
+ # The name of the workgroup for which the metadata is being fetched.
2239
+ # Required if requesting an IAM Identity Center enabled Glue Data
2240
+ # Catalog.
2241
+ #
1254
2242
  # @return [Types::ListDatabasesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1255
2243
  #
1256
2244
  # * {Types::ListDatabasesOutput#database_list #database_list} => Array&lt;Types::Database&gt;
@@ -1264,6 +2252,7 @@ module Aws::Athena
1264
2252
  # catalog_name: "CatalogNameString", # required
1265
2253
  # next_token: "Token",
1266
2254
  # max_results: 1,
2255
+ # work_group: "WorkGroupName",
1267
2256
  # })
1268
2257
  #
1269
2258
  # @example Response structure
@@ -1301,6 +2290,8 @@ module Aws::Athena
1301
2290
  # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array&lt;Types::EngineVersion&gt;
1302
2291
  # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
1303
2292
  #
2293
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2294
+ #
1304
2295
  # @example Request syntax with placeholder values
1305
2296
  #
1306
2297
  # resp = client.list_engine_versions({
@@ -1324,17 +2315,81 @@ module Aws::Athena
1324
2315
  req.send_request(options)
1325
2316
  end
1326
2317
 
1327
- # Provides a list of available query IDs only for queries saved in the
1328
- # specified workgroup. Requires that you have access to the specified
1329
- # workgroup. If a workgroup is not specified, lists the saved queries
1330
- # for the primary workgroup.
2318
+ # Lists, in descending order, the executors that joined a session. Newer
2319
+ # executors are listed first; older executors are listed later. The
2320
+ # result can be optionally filtered by state.
1331
2321
  #
1332
- # For code samples using the Amazon Web Services SDK for Java, see
1333
- # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
2322
+ # @option params [required, String] :session_id
2323
+ # The session ID.
1334
2324
  #
2325
+ # @option params [String] :executor_state_filter
2326
+ # A filter for a specific executor state. A description of each state
2327
+ # follows.
1335
2328
  #
2329
+ # `CREATING` - The executor is being started, including acquiring
2330
+ # resources.
1336
2331
  #
1337
- # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
2332
+ # `CREATED` - The executor has been started.
2333
+ #
2334
+ # `REGISTERED` - The executor has been registered.
2335
+ #
2336
+ # `TERMINATING` - The executor is in the process of shutting down.
2337
+ #
2338
+ # `TERMINATED` - The executor is no longer running.
2339
+ #
2340
+ # `FAILED` - Due to a failure, the executor is no longer running.
2341
+ #
2342
+ # @option params [Integer] :max_results
2343
+ # The maximum number of executors to return.
2344
+ #
2345
+ # @option params [String] :next_token
2346
+ # A token generated by the Athena service that specifies where to
2347
+ # continue pagination if a previous request was truncated. To obtain the
2348
+ # next set of pages, pass in the `NextToken` from the response object of
2349
+ # the previous page call.
2350
+ #
2351
+ # @return [Types::ListExecutorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2352
+ #
2353
+ # * {Types::ListExecutorsResponse#session_id #session_id} => String
2354
+ # * {Types::ListExecutorsResponse#next_token #next_token} => String
2355
+ # * {Types::ListExecutorsResponse#executors_summary #executors_summary} => Array&lt;Types::ExecutorsSummary&gt;
2356
+ #
2357
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2358
+ #
2359
+ # @example Request syntax with placeholder values
2360
+ #
2361
+ # resp = client.list_executors({
2362
+ # session_id: "SessionId", # required
2363
+ # executor_state_filter: "CREATING", # accepts CREATING, CREATED, REGISTERED, TERMINATING, TERMINATED, FAILED
2364
+ # max_results: 1,
2365
+ # next_token: "SessionManagerToken",
2366
+ # })
2367
+ #
2368
+ # @example Response structure
2369
+ #
2370
+ # resp.session_id #=> String
2371
+ # resp.next_token #=> String
2372
+ # resp.executors_summary #=> Array
2373
+ # resp.executors_summary[0].executor_id #=> String
2374
+ # resp.executors_summary[0].executor_type #=> String, one of "COORDINATOR", "GATEWAY", "WORKER"
2375
+ # resp.executors_summary[0].start_date_time #=> Integer
2376
+ # resp.executors_summary[0].termination_date_time #=> Integer
2377
+ # resp.executors_summary[0].executor_state #=> String, one of "CREATING", "CREATED", "REGISTERED", "TERMINATING", "TERMINATED", "FAILED"
2378
+ # resp.executors_summary[0].executor_size #=> Integer
2379
+ #
2380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutors AWS API Documentation
2381
+ #
2382
+ # @overload list_executors(params = {})
2383
+ # @param [Hash] params ({})
2384
+ def list_executors(params = {}, options = {})
2385
+ req = build_request(:list_executors, params)
2386
+ req.send_request(options)
2387
+ end
2388
+
2389
+ # Provides a list of available query IDs only for queries saved in the
2390
+ # specified workgroup. Requires that you have access to the specified
2391
+ # workgroup. If a workgroup is not specified, lists the saved queries
2392
+ # for the primary workgroup.
1338
2393
  #
1339
2394
  # @option params [String] :next_token
1340
2395
  # A token generated by the Athena service that specifies where to
@@ -1380,7 +2435,106 @@ module Aws::Athena
1380
2435
  req.send_request(options)
1381
2436
  end
1382
2437
 
1383
- # Lists the prepared statements in the specfied workgroup.
2438
+ # Displays the notebook files for the specified workgroup in paginated
2439
+ # format.
2440
+ #
2441
+ # @option params [Types::FilterDefinition] :filters
2442
+ # Search filter string.
2443
+ #
2444
+ # @option params [String] :next_token
2445
+ # A token generated by the Athena service that specifies where to
2446
+ # continue pagination if a previous request was truncated.
2447
+ #
2448
+ # @option params [Integer] :max_results
2449
+ # Specifies the maximum number of results to return.
2450
+ #
2451
+ # @option params [required, String] :work_group
2452
+ # The name of the Spark enabled workgroup to retrieve notebook metadata
2453
+ # for.
2454
+ #
2455
+ # @return [Types::ListNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2456
+ #
2457
+ # * {Types::ListNotebookMetadataOutput#next_token #next_token} => String
2458
+ # * {Types::ListNotebookMetadataOutput#notebook_metadata_list #notebook_metadata_list} => Array&lt;Types::NotebookMetadata&gt;
2459
+ #
2460
+ # @example Request syntax with placeholder values
2461
+ #
2462
+ # resp = client.list_notebook_metadata({
2463
+ # filters: {
2464
+ # name: "NotebookName",
2465
+ # },
2466
+ # next_token: "Token",
2467
+ # max_results: 1,
2468
+ # work_group: "WorkGroupName", # required
2469
+ # })
2470
+ #
2471
+ # @example Response structure
2472
+ #
2473
+ # resp.next_token #=> String
2474
+ # resp.notebook_metadata_list #=> Array
2475
+ # resp.notebook_metadata_list[0].notebook_id #=> String
2476
+ # resp.notebook_metadata_list[0].name #=> String
2477
+ # resp.notebook_metadata_list[0].work_group #=> String
2478
+ # resp.notebook_metadata_list[0].creation_time #=> Time
2479
+ # resp.notebook_metadata_list[0].type #=> String, one of "IPYNB"
2480
+ # resp.notebook_metadata_list[0].last_modified_time #=> Time
2481
+ #
2482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadata AWS API Documentation
2483
+ #
2484
+ # @overload list_notebook_metadata(params = {})
2485
+ # @param [Hash] params ({})
2486
+ def list_notebook_metadata(params = {}, options = {})
2487
+ req = build_request(:list_notebook_metadata, params)
2488
+ req.send_request(options)
2489
+ end
2490
+
2491
+ # Lists, in descending order, the sessions that have been created in a
2492
+ # notebook that are in an active state like `CREATING`, `CREATED`,
2493
+ # `IDLE` or `BUSY`. Newer sessions are listed first; older sessions are
2494
+ # listed later.
2495
+ #
2496
+ # @option params [required, String] :notebook_id
2497
+ # The ID of the notebook to list sessions for.
2498
+ #
2499
+ # @option params [Integer] :max_results
2500
+ # The maximum number of notebook sessions to return.
2501
+ #
2502
+ # @option params [String] :next_token
2503
+ # A token generated by the Athena service that specifies where to
2504
+ # continue pagination if a previous request was truncated. To obtain the
2505
+ # next set of pages, pass in the `NextToken` from the response object of
2506
+ # the previous page call.
2507
+ #
2508
+ # @return [Types::ListNotebookSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2509
+ #
2510
+ # * {Types::ListNotebookSessionsResponse#notebook_sessions_list #notebook_sessions_list} => Array&lt;Types::NotebookSessionSummary&gt;
2511
+ # * {Types::ListNotebookSessionsResponse#next_token #next_token} => String
2512
+ #
2513
+ # @example Request syntax with placeholder values
2514
+ #
2515
+ # resp = client.list_notebook_sessions({
2516
+ # notebook_id: "NotebookId", # required
2517
+ # max_results: 1,
2518
+ # next_token: "Token",
2519
+ # })
2520
+ #
2521
+ # @example Response structure
2522
+ #
2523
+ # resp.notebook_sessions_list #=> Array
2524
+ # resp.notebook_sessions_list[0].session_id #=> String
2525
+ # resp.notebook_sessions_list[0].creation_time #=> Time
2526
+ # resp.next_token #=> String
2527
+ #
2528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessions AWS API Documentation
2529
+ #
2530
+ # @overload list_notebook_sessions(params = {})
2531
+ # @param [Hash] params ({})
2532
+ def list_notebook_sessions(params = {}, options = {})
2533
+ req = build_request(:list_notebook_sessions, params)
2534
+ req.send_request(options)
2535
+ end
2536
+
2537
+ # Lists the prepared statements in the specified workgroup.
1384
2538
  #
1385
2539
  # @option params [required, String] :work_group
1386
2540
  # The workgroup to list the prepared statements for.
@@ -1425,17 +2579,88 @@ module Aws::Athena
1425
2579
  req.send_request(options)
1426
2580
  end
1427
2581
 
1428
- # Provides a list of available query execution IDs for the queries in
1429
- # the specified workgroup. If a workgroup is not specified, returns a
1430
- # list of query execution IDs for the primary workgroup. Requires you to
1431
- # have access to the workgroup in which the queries ran.
2582
+ # Provides a list of available query execution IDs for the queries in
2583
+ # the specified workgroup. Athena keeps a query history for 45 days. If
2584
+ # a workgroup is not specified, returns a list of query execution IDs
2585
+ # for the primary workgroup. Requires you to have access to the
2586
+ # workgroup in which the queries ran.
2587
+ #
2588
+ # @option params [String] :next_token
2589
+ # A token generated by the Athena service that specifies where to
2590
+ # continue pagination if a previous request was truncated. To obtain the
2591
+ # next set of pages, pass in the `NextToken` from the response object of
2592
+ # the previous page call.
2593
+ #
2594
+ # @option params [Integer] :max_results
2595
+ # The maximum number of query executions to return in this request.
2596
+ #
2597
+ # @option params [String] :work_group
2598
+ # The name of the workgroup from which queries are being returned. If a
2599
+ # workgroup is not specified, a list of available query execution IDs
2600
+ # for the queries in the primary workgroup is returned.
2601
+ #
2602
+ # @return [Types::ListQueryExecutionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2603
+ #
2604
+ # * {Types::ListQueryExecutionsOutput#query_execution_ids #query_execution_ids} => Array&lt;String&gt;
2605
+ # * {Types::ListQueryExecutionsOutput#next_token #next_token} => String
2606
+ #
2607
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2608
+ #
2609
+ # @example Request syntax with placeholder values
2610
+ #
2611
+ # resp = client.list_query_executions({
2612
+ # next_token: "Token",
2613
+ # max_results: 1,
2614
+ # work_group: "WorkGroupName",
2615
+ # })
2616
+ #
2617
+ # @example Response structure
2618
+ #
2619
+ # resp.query_execution_ids #=> Array
2620
+ # resp.query_execution_ids[0] #=> String
2621
+ # resp.next_token #=> String
2622
+ #
2623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions AWS API Documentation
2624
+ #
2625
+ # @overload list_query_executions(params = {})
2626
+ # @param [Hash] params ({})
2627
+ def list_query_executions(params = {}, options = {})
2628
+ req = build_request(:list_query_executions, params)
2629
+ req.send_request(options)
2630
+ end
2631
+
2632
+ # Lists the sessions in a workgroup that are in an active state like
2633
+ # `CREATING`, `CREATED`, `IDLE`, or `BUSY`. Newer sessions are listed
2634
+ # first; older sessions are listed later.
1432
2635
  #
1433
- # For code samples using the Amazon Web Services SDK for Java, see
1434
- # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
2636
+ # @option params [required, String] :work_group
2637
+ # The workgroup to which the session belongs.
1435
2638
  #
2639
+ # @option params [String] :state_filter
2640
+ # A filter for a specific session state. A description of each state
2641
+ # follows.
1436
2642
  #
2643
+ # `CREATING` - The session is being started, including acquiring
2644
+ # resources.
1437
2645
  #
1438
- # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
2646
+ # `CREATED` - The session has been started.
2647
+ #
2648
+ # `IDLE` - The session is able to accept a calculation.
2649
+ #
2650
+ # `BUSY` - The session is processing another task and is unable to
2651
+ # accept a calculation.
2652
+ #
2653
+ # `TERMINATING` - The session is in the process of shutting down.
2654
+ #
2655
+ # `TERMINATED` - The session and its resources are no longer running.
2656
+ #
2657
+ # `DEGRADED` - The session has no healthy coordinators.
2658
+ #
2659
+ # `FAILED` - Due to a failure, the session and its resources are no
2660
+ # longer running.
2661
+ #
2662
+ # @option params [Integer] :max_results
2663
+ # The maximum number of sessions to return.
1439
2664
  #
1440
2665
  # @option params [String] :next_token
1441
2666
  # A token generated by the Athena service that specifies where to
@@ -1443,41 +2668,44 @@ module Aws::Athena
1443
2668
  # next set of pages, pass in the `NextToken` from the response object of
1444
2669
  # the previous page call.
1445
2670
  #
1446
- # @option params [Integer] :max_results
1447
- # The maximum number of query executions to return in this request.
1448
- #
1449
- # @option params [String] :work_group
1450
- # The name of the workgroup from which queries are being returned. If a
1451
- # workgroup is not specified, a list of available query execution IDs
1452
- # for the queries in the primary workgroup is returned.
1453
- #
1454
- # @return [Types::ListQueryExecutionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2671
+ # @return [Types::ListSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1455
2672
  #
1456
- # * {Types::ListQueryExecutionsOutput#query_execution_ids #query_execution_ids} => Array&lt;String&gt;
1457
- # * {Types::ListQueryExecutionsOutput#next_token #next_token} => String
2673
+ # * {Types::ListSessionsResponse#next_token #next_token} => String
2674
+ # * {Types::ListSessionsResponse#sessions #sessions} => Array&lt;Types::SessionSummary&gt;
1458
2675
  #
1459
2676
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1460
2677
  #
1461
2678
  # @example Request syntax with placeholder values
1462
2679
  #
1463
- # resp = client.list_query_executions({
1464
- # next_token: "Token",
2680
+ # resp = client.list_sessions({
2681
+ # work_group: "WorkGroupName", # required
2682
+ # state_filter: "CREATING", # accepts CREATING, CREATED, IDLE, BUSY, TERMINATING, TERMINATED, DEGRADED, FAILED
1465
2683
  # max_results: 1,
1466
- # work_group: "WorkGroupName",
2684
+ # next_token: "SessionManagerToken",
1467
2685
  # })
1468
2686
  #
1469
2687
  # @example Response structure
1470
2688
  #
1471
- # resp.query_execution_ids #=> Array
1472
- # resp.query_execution_ids[0] #=> String
1473
2689
  # resp.next_token #=> String
1474
- #
1475
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions AWS API Documentation
1476
- #
1477
- # @overload list_query_executions(params = {})
2690
+ # resp.sessions #=> Array
2691
+ # resp.sessions[0].session_id #=> String
2692
+ # resp.sessions[0].description #=> String
2693
+ # resp.sessions[0].engine_version.selected_engine_version #=> String
2694
+ # resp.sessions[0].engine_version.effective_engine_version #=> String
2695
+ # resp.sessions[0].notebook_version #=> String
2696
+ # resp.sessions[0].status.start_date_time #=> Time
2697
+ # resp.sessions[0].status.last_modified_date_time #=> Time
2698
+ # resp.sessions[0].status.end_date_time #=> Time
2699
+ # resp.sessions[0].status.idle_since_date_time #=> Time
2700
+ # resp.sessions[0].status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2701
+ # resp.sessions[0].status.state_change_reason #=> String
2702
+ #
2703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessions AWS API Documentation
2704
+ #
2705
+ # @overload list_sessions(params = {})
1478
2706
  # @param [Hash] params ({})
1479
- def list_query_executions(params = {}, options = {})
1480
- req = build_request(:list_query_executions, params)
2707
+ def list_sessions(params = {}, options = {})
2708
+ req = build_request(:list_sessions, params)
1481
2709
  req.send_request(options)
1482
2710
  end
1483
2711
 
@@ -1504,6 +2732,11 @@ module Aws::Athena
1504
2732
  # @option params [Integer] :max_results
1505
2733
  # Specifies the maximum number of results to return.
1506
2734
  #
2735
+ # @option params [String] :work_group
2736
+ # The name of the workgroup for which the metadata is being fetched.
2737
+ # Required if requesting an IAM Identity Center enabled Glue Data
2738
+ # Catalog.
2739
+ #
1507
2740
  # @return [Types::ListTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1508
2741
  #
1509
2742
  # * {Types::ListTableMetadataOutput#table_metadata_list #table_metadata_list} => Array&lt;Types::TableMetadata&gt;
@@ -1519,6 +2752,7 @@ module Aws::Athena
1519
2752
  # expression: "ExpressionString",
1520
2753
  # next_token: "Token",
1521
2754
  # max_results: 1,
2755
+ # work_group: "WorkGroupName",
1522
2756
  # })
1523
2757
  #
1524
2758
  # @example Response structure
@@ -1549,8 +2783,7 @@ module Aws::Athena
1549
2783
  req.send_request(options)
1550
2784
  end
1551
2785
 
1552
- # Lists the tags associated with an Athena workgroup or data catalog
1553
- # resource.
2786
+ # Lists the tags associated with an Athena resource.
1554
2787
  #
1555
2788
  # @option params [required, String] :resource_arn
1556
2789
  # Lists the tags for the resource with the specified ARN.
@@ -1629,6 +2862,7 @@ module Aws::Athena
1629
2862
  # resp.work_groups[0].creation_time #=> Time
1630
2863
  # resp.work_groups[0].engine_version.selected_engine_version #=> String
1631
2864
  # resp.work_groups[0].engine_version.effective_engine_version #=> String
2865
+ # resp.work_groups[0].identity_center_application_arn #=> String
1632
2866
  # resp.next_token #=> String
1633
2867
  #
1634
2868
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListWorkGroups AWS API Documentation
@@ -1640,6 +2874,108 @@ module Aws::Athena
1640
2874
  req.send_request(options)
1641
2875
  end
1642
2876
 
2877
+ # Puts a new capacity assignment configuration for a specified capacity
2878
+ # reservation. If a capacity assignment configuration already exists for
2879
+ # the capacity reservation, replaces the existing capacity assignment
2880
+ # configuration.
2881
+ #
2882
+ # @option params [required, String] :capacity_reservation_name
2883
+ # The name of the capacity reservation to put a capacity assignment
2884
+ # configuration for.
2885
+ #
2886
+ # @option params [required, Array<Types::CapacityAssignment>] :capacity_assignments
2887
+ # The list of assignments for the capacity assignment configuration.
2888
+ #
2889
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2890
+ #
2891
+ # @example Request syntax with placeholder values
2892
+ #
2893
+ # resp = client.put_capacity_assignment_configuration({
2894
+ # capacity_reservation_name: "CapacityReservationName", # required
2895
+ # capacity_assignments: [ # required
2896
+ # {
2897
+ # work_group_names: ["WorkGroupName"],
2898
+ # },
2899
+ # ],
2900
+ # })
2901
+ #
2902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/PutCapacityAssignmentConfiguration AWS API Documentation
2903
+ #
2904
+ # @overload put_capacity_assignment_configuration(params = {})
2905
+ # @param [Hash] params ({})
2906
+ def put_capacity_assignment_configuration(params = {}, options = {})
2907
+ req = build_request(:put_capacity_assignment_configuration, params)
2908
+ req.send_request(options)
2909
+ end
2910
+
2911
+ # Submits calculations for execution within a session. You can supply
2912
+ # the code to run as an inline code block within the request.
2913
+ #
2914
+ # <note markdown="1"> The request syntax requires the
2915
+ # StartCalculationExecutionRequest$CodeBlock parameter or the
2916
+ # CalculationConfiguration$CodeBlock parameter, but not both. Because
2917
+ # CalculationConfiguration$CodeBlock is deprecated, use the
2918
+ # StartCalculationExecutionRequest$CodeBlock parameter instead.
2919
+ #
2920
+ # </note>
2921
+ #
2922
+ # @option params [required, String] :session_id
2923
+ # The session ID.
2924
+ #
2925
+ # @option params [String] :description
2926
+ # A description of the calculation.
2927
+ #
2928
+ # @option params [Types::CalculationConfiguration] :calculation_configuration
2929
+ # Contains configuration information for the calculation.
2930
+ #
2931
+ # @option params [String] :code_block
2932
+ # A string that contains the code of the calculation. Use this parameter
2933
+ # instead of CalculationConfiguration$CodeBlock, which is deprecated.
2934
+ #
2935
+ # @option params [String] :client_request_token
2936
+ # A unique case-sensitive string used to ensure the request to create
2937
+ # the calculation is idempotent (executes only once). If another
2938
+ # `StartCalculationExecutionRequest` is received, the same response is
2939
+ # returned and another calculation is not created. If a parameter has
2940
+ # changed, an error is returned.
2941
+ #
2942
+ # This token is listed as not required because Amazon Web Services SDKs
2943
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2944
+ # token for users. If you are not using the Amazon Web Services SDK or
2945
+ # the Amazon Web Services CLI, you must provide this token or the action
2946
+ # will fail.
2947
+ #
2948
+ # @return [Types::StartCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2949
+ #
2950
+ # * {Types::StartCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
2951
+ # * {Types::StartCalculationExecutionResponse#state #state} => String
2952
+ #
2953
+ # @example Request syntax with placeholder values
2954
+ #
2955
+ # resp = client.start_calculation_execution({
2956
+ # session_id: "SessionId", # required
2957
+ # description: "DescriptionString",
2958
+ # calculation_configuration: {
2959
+ # code_block: "CodeBlock",
2960
+ # },
2961
+ # code_block: "CodeBlock",
2962
+ # client_request_token: "IdempotencyToken",
2963
+ # })
2964
+ #
2965
+ # @example Response structure
2966
+ #
2967
+ # resp.calculation_execution_id #=> String
2968
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2969
+ #
2970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecution AWS API Documentation
2971
+ #
2972
+ # @overload start_calculation_execution(params = {})
2973
+ # @param [Hash] params ({})
2974
+ def start_calculation_execution(params = {}, options = {})
2975
+ req = build_request(:start_calculation_execution, params)
2976
+ req.send_request(options)
2977
+ end
2978
+
1643
2979
  # Runs the SQL query statements contained in the `Query`. Requires you
1644
2980
  # to have access to the workgroup in which the query ran. Running
1645
2981
  # queries against an external catalog requires GetDataCatalog permission
@@ -1658,8 +2994,11 @@ module Aws::Athena
1658
2994
  # A unique case-sensitive string used to ensure the request to create
1659
2995
  # the query is idempotent (executes only once). If another
1660
2996
  # `StartQueryExecution` request is received, the same response is
1661
- # returned and another query is not created. If a parameter has changed,
1662
- # for example, the `QueryString`, an error is returned.
2997
+ # returned and another query is not created. An error is returned if a
2998
+ # parameter, such as `QueryString`, has changed. A call to
2999
+ # `StartQueryExecution` that uses a previous client request token
3000
+ # returns the same `QueryExecutionId` even if the requester doesn't
3001
+ # have permission on the tables specified in `QueryString`.
1663
3002
  #
1664
3003
  # This token is listed as not required because Amazon Web Services SDKs
1665
3004
  # (for example the Amazon Web Services SDK for Java) auto-generate the
@@ -1685,6 +3024,14 @@ module Aws::Athena
1685
3024
  # @option params [String] :work_group
1686
3025
  # The name of the workgroup in which the query is being started.
1687
3026
  #
3027
+ # @option params [Array<String>] :execution_parameters
3028
+ # A list of values for the parameters in a query. The values are applied
3029
+ # sequentially to the parameters in the query in the order in which the
3030
+ # parameters occur.
3031
+ #
3032
+ # @option params [Types::ResultReuseConfiguration] :result_reuse_configuration
3033
+ # Specifies the query result reuse behavior for the query.
3034
+ #
1688
3035
  # @return [Types::StartQueryExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1689
3036
  #
1690
3037
  # * {Types::StartQueryExecutionOutput#query_execution_id #query_execution_id} => String
@@ -1699,13 +3046,24 @@ module Aws::Athena
1699
3046
  # catalog: "CatalogNameString",
1700
3047
  # },
1701
3048
  # result_configuration: {
1702
- # output_location: "String",
3049
+ # output_location: "ResultOutputLocation",
1703
3050
  # encryption_configuration: {
1704
3051
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
1705
3052
  # kms_key: "String",
1706
3053
  # },
3054
+ # expected_bucket_owner: "AwsAccountId",
3055
+ # acl_configuration: {
3056
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
3057
+ # },
1707
3058
  # },
1708
3059
  # work_group: "WorkGroupName",
3060
+ # execution_parameters: ["ExecutionParameter"],
3061
+ # result_reuse_configuration: {
3062
+ # result_reuse_by_age_configuration: {
3063
+ # enabled: false, # required
3064
+ # max_age_in_minutes: 1,
3065
+ # },
3066
+ # },
1709
3067
  # })
1710
3068
  #
1711
3069
  # @example Response structure
@@ -1721,15 +3079,124 @@ module Aws::Athena
1721
3079
  req.send_request(options)
1722
3080
  end
1723
3081
 
1724
- # Stops a query execution. Requires you to have access to the workgroup
1725
- # in which the query ran.
3082
+ # Creates a session for running calculations within a workgroup. The
3083
+ # session is ready when it reaches an `IDLE` state.
1726
3084
  #
1727
- # For code samples using the Amazon Web Services SDK for Java, see
1728
- # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
3085
+ # @option params [String] :description
3086
+ # The session description.
1729
3087
  #
3088
+ # @option params [required, String] :work_group
3089
+ # The workgroup to which the session belongs.
1730
3090
  #
3091
+ # @option params [required, Types::EngineConfiguration] :engine_configuration
3092
+ # Contains engine data processing unit (DPU) configuration settings and
3093
+ # parameter mappings.
1731
3094
  #
1732
- # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
3095
+ # @option params [String] :notebook_version
3096
+ # The notebook version. This value is supplied automatically for
3097
+ # notebook sessions in the Athena console and is not required for
3098
+ # programmatic session access. The only valid notebook version is
3099
+ # `Athena notebook version 1`. If you specify a value for
3100
+ # `NotebookVersion`, you must also specify a value for `NotebookId`. See
3101
+ # EngineConfiguration$AdditionalConfigs.
3102
+ #
3103
+ # @option params [Integer] :session_idle_timeout_in_minutes
3104
+ # The idle timeout in minutes for the session.
3105
+ #
3106
+ # @option params [String] :client_request_token
3107
+ # A unique case-sensitive string used to ensure the request to create
3108
+ # the session is idempotent (executes only once). If another
3109
+ # `StartSessionRequest` is received, the same response is returned and
3110
+ # another session is not created. If a parameter has changed, an error
3111
+ # is returned.
3112
+ #
3113
+ # This token is listed as not required because Amazon Web Services SDKs
3114
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3115
+ # token for users. If you are not using the Amazon Web Services SDK or
3116
+ # the Amazon Web Services CLI, you must provide this token or the action
3117
+ # will fail.
3118
+ #
3119
+ # @return [Types::StartSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3120
+ #
3121
+ # * {Types::StartSessionResponse#session_id #session_id} => String
3122
+ # * {Types::StartSessionResponse#state #state} => String
3123
+ #
3124
+ # @example Request syntax with placeholder values
3125
+ #
3126
+ # resp = client.start_session({
3127
+ # description: "DescriptionString",
3128
+ # work_group: "WorkGroupName", # required
3129
+ # engine_configuration: { # required
3130
+ # coordinator_dpu_size: 1,
3131
+ # max_concurrent_dpus: 1, # required
3132
+ # default_executor_dpu_size: 1,
3133
+ # additional_configs: {
3134
+ # "KeyString" => "ParametersMapValue",
3135
+ # },
3136
+ # spark_properties: {
3137
+ # "KeyString" => "ParametersMapValue",
3138
+ # },
3139
+ # },
3140
+ # notebook_version: "NameString",
3141
+ # session_idle_timeout_in_minutes: 1,
3142
+ # client_request_token: "IdempotencyToken",
3143
+ # })
3144
+ #
3145
+ # @example Response structure
3146
+ #
3147
+ # resp.session_id #=> String
3148
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
3149
+ #
3150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSession AWS API Documentation
3151
+ #
3152
+ # @overload start_session(params = {})
3153
+ # @param [Hash] params ({})
3154
+ def start_session(params = {}, options = {})
3155
+ req = build_request(:start_session, params)
3156
+ req.send_request(options)
3157
+ end
3158
+
3159
+ # Requests the cancellation of a calculation. A
3160
+ # `StopCalculationExecution` call on a calculation that is already in a
3161
+ # terminal state (for example, `STOPPED`, `FAILED`, or `COMPLETED`)
3162
+ # succeeds but has no effect.
3163
+ #
3164
+ # <note markdown="1"> Cancelling a calculation is done on a best effort basis. If a
3165
+ # calculation cannot be cancelled, you can be charged for its
3166
+ # completion. If you are concerned about being charged for a calculation
3167
+ # that cannot be cancelled, consider terminating the session in which
3168
+ # the calculation is running.
3169
+ #
3170
+ # </note>
3171
+ #
3172
+ # @option params [required, String] :calculation_execution_id
3173
+ # The calculation execution UUID.
3174
+ #
3175
+ # @return [Types::StopCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3176
+ #
3177
+ # * {Types::StopCalculationExecutionResponse#state #state} => String
3178
+ #
3179
+ # @example Request syntax with placeholder values
3180
+ #
3181
+ # resp = client.stop_calculation_execution({
3182
+ # calculation_execution_id: "CalculationExecutionId", # required
3183
+ # })
3184
+ #
3185
+ # @example Response structure
3186
+ #
3187
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
3188
+ #
3189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecution AWS API Documentation
3190
+ #
3191
+ # @overload stop_calculation_execution(params = {})
3192
+ # @param [Hash] params ({})
3193
+ def stop_calculation_execution(params = {}, options = {})
3194
+ req = build_request(:stop_calculation_execution, params)
3195
+ req.send_request(options)
3196
+ end
3197
+
3198
+ # Stops a query execution. Requires you to have access to the workgroup
3199
+ # in which the query ran.
1733
3200
  #
1734
3201
  # @option params [required, String] :query_execution_id
1735
3202
  # The unique ID of the query execution to stop.
@@ -1755,30 +3222,29 @@ module Aws::Athena
1755
3222
  end
1756
3223
 
1757
3224
  # Adds one or more tags to an Athena resource. A tag is a label that you
1758
- # assign to a resource. In Athena, a resource can be a workgroup or data
1759
- # catalog. Each tag consists of a key and an optional value, both of
1760
- # which you define. For example, you can use tags to categorize Athena
1761
- # workgroups or data catalogs by purpose, owner, or environment. Use a
1762
- # consistent set of tag keys to make it easier to search and filter
1763
- # workgroups or data catalogs in your account. For best practices, see
1764
- # [Tagging Best Practices][1]. Tag keys can be from 1 to 128 UTF-8
1765
- # Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode
1766
- # characters. Tags can use letters and numbers representable in UTF-8,
1767
- # and the following characters: + - = . \_ : / @. Tag keys and values
1768
- # are case-sensitive. Tag keys must be unique per resource. If you
1769
- # specify more than one tag, separate them by commas.
3225
+ # assign to a resource. Each tag consists of a key and an optional
3226
+ # value, both of which you define. For example, you can use tags to
3227
+ # categorize Athena workgroups, data catalogs, or capacity reservations
3228
+ # by purpose, owner, or environment. Use a consistent set of tag keys to
3229
+ # make it easier to search and filter the resources in your account. For
3230
+ # best practices, see [Tagging Best Practices][1]. Tag keys can be from
3231
+ # 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256
3232
+ # UTF-8 Unicode characters. Tags can use letters and numbers
3233
+ # representable in UTF-8, and the following characters: + - = . \_ : /
3234
+ # @. Tag keys and values are case-sensitive. Tag keys must be unique per
3235
+ # resource. If you specify more than one tag, separate them by commas.
1770
3236
  #
1771
3237
  #
1772
3238
  #
1773
- # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
3239
+ # [1]: https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html
1774
3240
  #
1775
3241
  # @option params [required, String] :resource_arn
1776
- # Specifies the ARN of the Athena resource (workgroup or data catalog)
1777
- # to which tags are to be added.
3242
+ # Specifies the ARN of the Athena resource to which tags are to be
3243
+ # added.
1778
3244
  #
1779
3245
  # @option params [required, Array<Types::Tag>] :tags
1780
3246
  # A collection of one or more tags, separated by commas, to be added to
1781
- # an Athena workgroup or data catalog resource.
3247
+ # an Athena resource.
1782
3248
  #
1783
3249
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1784
3250
  #
@@ -1803,7 +3269,39 @@ module Aws::Athena
1803
3269
  req.send_request(options)
1804
3270
  end
1805
3271
 
1806
- # Removes one or more tags from a data catalog or workgroup resource.
3272
+ # Terminates an active session. A `TerminateSession` call on a session
3273
+ # that is already inactive (for example, in a `FAILED`, `TERMINATED` or
3274
+ # `TERMINATING` state) succeeds but has no effect. Calculations running
3275
+ # in the session when `TerminateSession` is called are forcefully
3276
+ # stopped, but may display as `FAILED` instead of `STOPPED`.
3277
+ #
3278
+ # @option params [required, String] :session_id
3279
+ # The session ID.
3280
+ #
3281
+ # @return [Types::TerminateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3282
+ #
3283
+ # * {Types::TerminateSessionResponse#state #state} => String
3284
+ #
3285
+ # @example Request syntax with placeholder values
3286
+ #
3287
+ # resp = client.terminate_session({
3288
+ # session_id: "SessionId", # required
3289
+ # })
3290
+ #
3291
+ # @example Response structure
3292
+ #
3293
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
3294
+ #
3295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSession AWS API Documentation
3296
+ #
3297
+ # @overload terminate_session(params = {})
3298
+ # @param [Hash] params ({})
3299
+ def terminate_session(params = {}, options = {})
3300
+ req = build_request(:terminate_session, params)
3301
+ req.send_request(options)
3302
+ end
3303
+
3304
+ # Removes one or more tags from an Athena resource.
1807
3305
  #
1808
3306
  # @option params [required, String] :resource_arn
1809
3307
  # Specifies the ARN of the resource from which tags are to be removed.
@@ -1830,6 +3328,33 @@ module Aws::Athena
1830
3328
  req.send_request(options)
1831
3329
  end
1832
3330
 
3331
+ # Updates the number of requested data processing units for the capacity
3332
+ # reservation with the specified name.
3333
+ #
3334
+ # @option params [required, Integer] :target_dpus
3335
+ # The new number of requested data processing units.
3336
+ #
3337
+ # @option params [required, String] :name
3338
+ # The name of the capacity reservation.
3339
+ #
3340
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3341
+ #
3342
+ # @example Request syntax with placeholder values
3343
+ #
3344
+ # resp = client.update_capacity_reservation({
3345
+ # target_dpus: 1, # required
3346
+ # name: "CapacityReservationName", # required
3347
+ # })
3348
+ #
3349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateCapacityReservation AWS API Documentation
3350
+ #
3351
+ # @overload update_capacity_reservation(params = {})
3352
+ # @param [Hash] params ({})
3353
+ def update_capacity_reservation(params = {}, options = {})
3354
+ req = build_request(:update_capacity_reservation, params)
3355
+ req.send_request(options)
3356
+ end
3357
+
1833
3358
  # Updates the data catalog that has the specified name.
1834
3359
  #
1835
3360
  # @option params [required, String] :name
@@ -1896,6 +3421,124 @@ module Aws::Athena
1896
3421
  req.send_request(options)
1897
3422
  end
1898
3423
 
3424
+ # Updates a NamedQuery object. The database or workgroup cannot be
3425
+ # updated.
3426
+ #
3427
+ # @option params [required, String] :named_query_id
3428
+ # The unique identifier (UUID) of the query.
3429
+ #
3430
+ # @option params [required, String] :name
3431
+ # The name of the query.
3432
+ #
3433
+ # @option params [String] :description
3434
+ # The query description.
3435
+ #
3436
+ # @option params [required, String] :query_string
3437
+ # The contents of the query with all query statements.
3438
+ #
3439
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3440
+ #
3441
+ # @example Request syntax with placeholder values
3442
+ #
3443
+ # resp = client.update_named_query({
3444
+ # named_query_id: "NamedQueryId", # required
3445
+ # name: "NameString", # required
3446
+ # description: "NamedQueryDescriptionString",
3447
+ # query_string: "QueryString", # required
3448
+ # })
3449
+ #
3450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNamedQuery AWS API Documentation
3451
+ #
3452
+ # @overload update_named_query(params = {})
3453
+ # @param [Hash] params ({})
3454
+ def update_named_query(params = {}, options = {})
3455
+ req = build_request(:update_named_query, params)
3456
+ req.send_request(options)
3457
+ end
3458
+
3459
+ # Updates the contents of a Spark notebook.
3460
+ #
3461
+ # @option params [required, String] :notebook_id
3462
+ # The ID of the notebook to update.
3463
+ #
3464
+ # @option params [required, String] :payload
3465
+ # The updated content for the notebook.
3466
+ #
3467
+ # @option params [required, String] :type
3468
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
3469
+ #
3470
+ # @option params [String] :session_id
3471
+ # The active notebook session ID. Required if the notebook has an active
3472
+ # session.
3473
+ #
3474
+ # @option params [String] :client_request_token
3475
+ # A unique case-sensitive string used to ensure the request to create
3476
+ # the notebook is idempotent (executes only once).
3477
+ #
3478
+ # This token is listed as not required because Amazon Web Services SDKs
3479
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3480
+ # token for you. If you are not using the Amazon Web Services SDK or the
3481
+ # Amazon Web Services CLI, you must provide this token or the action
3482
+ # will fail.
3483
+ #
3484
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3485
+ #
3486
+ # @example Request syntax with placeholder values
3487
+ #
3488
+ # resp = client.update_notebook({
3489
+ # notebook_id: "NotebookId", # required
3490
+ # payload: "Payload", # required
3491
+ # type: "IPYNB", # required, accepts IPYNB
3492
+ # session_id: "SessionId",
3493
+ # client_request_token: "ClientRequestToken",
3494
+ # })
3495
+ #
3496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebook AWS API Documentation
3497
+ #
3498
+ # @overload update_notebook(params = {})
3499
+ # @param [Hash] params ({})
3500
+ def update_notebook(params = {}, options = {})
3501
+ req = build_request(:update_notebook, params)
3502
+ req.send_request(options)
3503
+ end
3504
+
3505
+ # Updates the metadata for a notebook.
3506
+ #
3507
+ # @option params [required, String] :notebook_id
3508
+ # The ID of the notebook to update the metadata for.
3509
+ #
3510
+ # @option params [String] :client_request_token
3511
+ # A unique case-sensitive string used to ensure the request to create
3512
+ # the notebook is idempotent (executes only once).
3513
+ #
3514
+ # This token is listed as not required because Amazon Web Services SDKs
3515
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3516
+ # token for you. If you are not using the Amazon Web Services SDK or the
3517
+ # Amazon Web Services CLI, you must provide this token or the action
3518
+ # will fail.
3519
+ #
3520
+ # @option params [required, String] :name
3521
+ # The name to update the notebook to.
3522
+ #
3523
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3524
+ #
3525
+ # @example Request syntax with placeholder values
3526
+ #
3527
+ # resp = client.update_notebook_metadata({
3528
+ # notebook_id: "NotebookId", # required
3529
+ # client_request_token: "ClientRequestToken",
3530
+ # name: "NotebookName", # required
3531
+ # })
3532
+ #
3533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadata AWS API Documentation
3534
+ #
3535
+ # @overload update_notebook_metadata(params = {})
3536
+ # @param [Hash] params ({})
3537
+ def update_notebook_metadata(params = {}, options = {})
3538
+ req = build_request(:update_notebook_metadata, params)
3539
+ req.send_request(options)
3540
+ end
3541
+
1899
3542
  # Updates a prepared statement.
1900
3543
  #
1901
3544
  # @option params [required, String] :statement_name
@@ -1931,7 +3574,7 @@ module Aws::Athena
1931
3574
  end
1932
3575
 
1933
3576
  # Updates the workgroup with the specified name. The workgroup's name
1934
- # cannot be changed.
3577
+ # cannot be changed. Only `ConfigurationUpdates` can be specified.
1935
3578
  #
1936
3579
  # @option params [required, String] :work_group
1937
3580
  # The specified workgroup that will be updated.
@@ -1940,8 +3583,7 @@ module Aws::Athena
1940
3583
  # The workgroup description.
1941
3584
  #
1942
3585
  # @option params [Types::WorkGroupConfigurationUpdates] :configuration_updates
1943
- # The workgroup configuration that will be updated for the given
1944
- # workgroup.
3586
+ # Contains configuration updates for an Athena SQL workgroup.
1945
3587
  #
1946
3588
  # @option params [String] :state
1947
3589
  # The workgroup state that will be updated for the given workgroup.
@@ -1956,13 +3598,19 @@ module Aws::Athena
1956
3598
  # configuration_updates: {
1957
3599
  # enforce_work_group_configuration: false,
1958
3600
  # result_configuration_updates: {
1959
- # output_location: "String",
3601
+ # output_location: "ResultOutputLocation",
1960
3602
  # remove_output_location: false,
1961
3603
  # encryption_configuration: {
1962
3604
  # encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
1963
3605
  # kms_key: "String",
1964
3606
  # },
1965
3607
  # remove_encryption_configuration: false,
3608
+ # expected_bucket_owner: "AwsAccountId",
3609
+ # remove_expected_bucket_owner: false,
3610
+ # acl_configuration: {
3611
+ # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
3612
+ # },
3613
+ # remove_acl_configuration: false,
1966
3614
  # },
1967
3615
  # publish_cloud_watch_metrics_enabled: false,
1968
3616
  # bytes_scanned_cutoff_per_query: 1,
@@ -1972,6 +3620,18 @@ module Aws::Athena
1972
3620
  # selected_engine_version: "NameString",
1973
3621
  # effective_engine_version: "NameString",
1974
3622
  # },
3623
+ # remove_customer_content_encryption_configuration: false,
3624
+ # additional_configuration: "NameString",
3625
+ # execution_role: "RoleArn",
3626
+ # customer_content_encryption_configuration: {
3627
+ # kms_key: "KmsKey", # required
3628
+ # },
3629
+ # enable_minimum_encryption_configuration: false,
3630
+ # query_results_s3_access_grants_configuration: {
3631
+ # enable_s3_access_grants: false, # required
3632
+ # create_user_level_prefix: false,
3633
+ # authentication_type: "DIRECTORY_IDENTITY", # required, accepts DIRECTORY_IDENTITY
3634
+ # },
1975
3635
  # },
1976
3636
  # state: "ENABLED", # accepts ENABLED, DISABLED
1977
3637
  # })
@@ -1998,7 +3658,7 @@ module Aws::Athena
1998
3658
  params: params,
1999
3659
  config: config)
2000
3660
  context[:gem_name] = 'aws-sdk-athena'
2001
- context[:gem_version] = '1.46.0'
3661
+ context[:gem_version] = '1.80.0'
2002
3662
  Seahorse::Client::Request.new(handlers, context)
2003
3663
  end
2004
3664