aws-sdk-athena 1.44.0 → 1.75.0

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