aws-sdk-athena 1.22.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ae65dc6c33253e49092b4bbf458f49e2cc1bb883
4
- data.tar.gz: f7c41ce3576e0d80f2bf9136f3631bed19a81d30
2
+ SHA256:
3
+ metadata.gz: 913687b1976344c8567730859d90adfeed4ac208e326b517a2bf3b4eeeeeb77b
4
+ data.tar.gz: 2800a8f40026f383eedc9db0194afbbffe2198e222bc5623e13542126ad778b1
5
5
  SHA512:
6
- metadata.gz: 9982c8ebac6eaf5714692b27320e54bb7690f953ff1b3ed112dcca04d66da24287ed04a0d11a72a0959b376efe547057655bc0eb4a32148f4d6345cdad0873be
7
- data.tar.gz: a92eb4cdf72aa9bbfb4fa53f84c917bcc54f03a0783d14040b5a330a324d732c4219aef86889341f5371a306bb60e48b191df3bf6db78096a4205cbe29667f8f
6
+ metadata.gz: e395d09fd149a425e2c18b866e160e84d777a8834171886e5291dfb710c0da053b2b66754d3f7688825c299737e20422ae8615893b8723abbbb5268c03c00569
7
+ data.tar.gz: 5188e0b95bd203e1eef30002889a43cac1ea8a2a66d85dcf5fab29adfc29121cc364d0fc436398db22e08b91bda52ded84fd7a11d471dfb6276b172b22695f20
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-athena/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # athena = Aws::Athena::Client.new
28
+ # resp = athena.batch_get_named_query(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from Amazon Athena all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from Amazon Athena are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::Athena::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all Amazon Athena API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-athena/customizations'
42
45
  # @service
43
46
  module Aws::Athena
44
47
 
45
- GEM_VERSION = '1.22.0'
48
+ GEM_VERSION = '1.27.0'
46
49
 
47
50
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:athena)
31
31
 
32
32
  module Aws::Athena
33
+ # An API client for Athena. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::Athena::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::Athena
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::Athena
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::Athena
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::Athena
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +176,7 @@ module Aws::Athena
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -166,15 +188,29 @@ module Aws::Athena
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::Athena
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -219,16 +274,15 @@ module Aws::Athena
219
274
  # requests through. Formatted like 'http://proxy.com:123'.
220
275
  #
221
276
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
277
+ # seconds to wait when opening a HTTP session before raising a
223
278
  # `Timeout::Error`.
224
279
  #
225
280
  # @option options [Integer] :http_read_timeout (60) The default
226
281
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
282
+ # safely be set per-request on the session.
229
283
  #
230
284
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
285
+ # seconds a connection is allowed to sit idle before it is
232
286
  # considered stale. Stale connections are closed and removed
233
287
  # from the pool before making a request.
234
288
  #
@@ -237,7 +291,7 @@ module Aws::Athena
237
291
  # request body. This option has no effect unless the request has
238
292
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
293
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
294
+ # request on the session.
241
295
  #
242
296
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
297
  # HTTP debug output will be sent to the `:logger`.
@@ -344,6 +398,7 @@ module Aws::Athena
344
398
  # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
345
399
  # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String
346
400
  # resp.query_executions[0].query_execution_context.database #=> String
401
+ # resp.query_executions[0].query_execution_context.catalog #=> String
347
402
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
348
403
  # resp.query_executions[0].status.state_change_reason #=> String
349
404
  # resp.query_executions[0].status.submission_date_time #=> Time
@@ -370,6 +425,83 @@ module Aws::Athena
370
425
  req.send_request(options)
371
426
  end
372
427
 
428
+ # Creates (registers) a data catalog with the specified name and
429
+ # properties. Catalogs created are visible to all users of the same AWS
430
+ # account.
431
+ #
432
+ # @option params [required, String] :name
433
+ # The name of the data catalog to create. The catalog name must be
434
+ # unique for the AWS account and can use a maximum of 128 alphanumeric,
435
+ # underscore, at sign, or hyphen characters.
436
+ #
437
+ # @option params [required, String] :type
438
+ # The type of data catalog to create: `LAMBDA` for a federated catalog,
439
+ # `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.
440
+ #
441
+ # @option params [String] :description
442
+ # A description of the data catalog to be created.
443
+ #
444
+ # @option params [Hash<String,String>] :parameters
445
+ # Specifies the Lambda function or functions to use for creating the
446
+ # data catalog. This is a mapping whose values depend on the catalog
447
+ # type.
448
+ #
449
+ # * For the `HIVE` data catalog type, use the following syntax. The
450
+ # `metadata-function` parameter is required. `The sdk-version`
451
+ # parameter is optional and defaults to the currently supported
452
+ # version.
453
+ #
454
+ # `metadata-function=lambda_arn, sdk-version=version_number `
455
+ #
456
+ # * For the `LAMBDA` data catalog type, use one of the following sets of
457
+ # required parameters, but not both.
458
+ #
459
+ # * If you have one Lambda function that processes metadata and
460
+ # another for reading the actual data, use the following syntax.
461
+ # Both parameters are required.
462
+ #
463
+ # `metadata-function=lambda_arn, record-function=lambda_arn `
464
+ #
465
+ # * If you have a composite Lambda function that processes both
466
+ # metadata and data, use the following syntax to specify your Lambda
467
+ # function.
468
+ #
469
+ # `function=lambda_arn `
470
+ #
471
+ # * The `GLUE` type has no parameters.
472
+ #
473
+ # @option params [Array<Types::Tag>] :tags
474
+ # A list of comma separated tags to add to the data catalog that is
475
+ # created.
476
+ #
477
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
478
+ #
479
+ # @example Request syntax with placeholder values
480
+ #
481
+ # resp = client.create_data_catalog({
482
+ # name: "CatalogNameString", # required
483
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
484
+ # description: "DescriptionString",
485
+ # parameters: {
486
+ # "KeyString" => "ParametersMapValue",
487
+ # },
488
+ # tags: [
489
+ # {
490
+ # key: "TagKey",
491
+ # value: "TagValue",
492
+ # },
493
+ # ],
494
+ # })
495
+ #
496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog AWS API Documentation
497
+ #
498
+ # @overload create_data_catalog(params = {})
499
+ # @param [Hash] params ({})
500
+ def create_data_catalog(params = {}, options = {})
501
+ req = build_request(:create_data_catalog, params)
502
+ req.send_request(options)
503
+ end
504
+
373
505
  # Creates a named query in the specified workgroup. Requires that you
374
506
  # have access to the workgroup.
375
507
  #
@@ -458,8 +590,8 @@ module Aws::Athena
458
590
  # The workgroup description.
459
591
  #
460
592
  # @option params [Array<Types::Tag>] :tags
461
- # One or more tags, separated by commas, that you want to attach to the
462
- # workgroup as you create it.
593
+ # A list of comma separated tags to add to the workgroup that is
594
+ # created.
463
595
  #
464
596
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
465
597
  #
@@ -498,6 +630,28 @@ module Aws::Athena
498
630
  req.send_request(options)
499
631
  end
500
632
 
633
+ # Deletes a data catalog.
634
+ #
635
+ # @option params [required, String] :name
636
+ # The name of the data catalog to delete.
637
+ #
638
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
639
+ #
640
+ # @example Request syntax with placeholder values
641
+ #
642
+ # resp = client.delete_data_catalog({
643
+ # name: "CatalogNameString", # required
644
+ # })
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog AWS API Documentation
647
+ #
648
+ # @overload delete_data_catalog(params = {})
649
+ # @param [Hash] params ({})
650
+ def delete_data_catalog(params = {}, options = {})
651
+ req = build_request(:delete_data_catalog, params)
652
+ req.send_request(options)
653
+ end
654
+
501
655
  # Deletes the named query if you have access to the workgroup in which
502
656
  # the query was saved.
503
657
  #
@@ -559,6 +713,73 @@ module Aws::Athena
559
713
  req.send_request(options)
560
714
  end
561
715
 
716
+ # Returns the specified data catalog.
717
+ #
718
+ # @option params [required, String] :name
719
+ # The name of the data catalog to return.
720
+ #
721
+ # @return [Types::GetDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
722
+ #
723
+ # * {Types::GetDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
724
+ #
725
+ # @example Request syntax with placeholder values
726
+ #
727
+ # resp = client.get_data_catalog({
728
+ # name: "CatalogNameString", # required
729
+ # })
730
+ #
731
+ # @example Response structure
732
+ #
733
+ # resp.data_catalog.name #=> String
734
+ # resp.data_catalog.description #=> String
735
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
736
+ # resp.data_catalog.parameters #=> Hash
737
+ # resp.data_catalog.parameters["KeyString"] #=> String
738
+ #
739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
740
+ #
741
+ # @overload get_data_catalog(params = {})
742
+ # @param [Hash] params ({})
743
+ def get_data_catalog(params = {}, options = {})
744
+ req = build_request(:get_data_catalog, params)
745
+ req.send_request(options)
746
+ end
747
+
748
+ # Returns a database object for the specfied database and data catalog.
749
+ #
750
+ # @option params [required, String] :catalog_name
751
+ # The name of the data catalog that contains the database to return.
752
+ #
753
+ # @option params [required, String] :database_name
754
+ # The name of the database to return.
755
+ #
756
+ # @return [Types::GetDatabaseOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
757
+ #
758
+ # * {Types::GetDatabaseOutput#database #database} => Types::Database
759
+ #
760
+ # @example Request syntax with placeholder values
761
+ #
762
+ # resp = client.get_database({
763
+ # catalog_name: "CatalogNameString", # required
764
+ # database_name: "NameString", # required
765
+ # })
766
+ #
767
+ # @example Response structure
768
+ #
769
+ # resp.database.name #=> String
770
+ # resp.database.description #=> String
771
+ # resp.database.parameters #=> Hash
772
+ # resp.database.parameters["KeyString"] #=> String
773
+ #
774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase AWS API Documentation
775
+ #
776
+ # @overload get_database(params = {})
777
+ # @param [Hash] params ({})
778
+ def get_database(params = {}, options = {})
779
+ req = build_request(:get_database, params)
780
+ req.send_request(options)
781
+ end
782
+
562
783
  # Returns information about a single query. Requires that you have
563
784
  # access to the workgroup in which the query was saved.
564
785
  #
@@ -620,6 +841,7 @@ module Aws::Athena
620
841
  # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
621
842
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
622
843
  # resp.query_execution.query_execution_context.database #=> String
844
+ # resp.query_execution.query_execution_context.catalog #=> String
623
845
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
624
846
  # resp.query_execution.status.state_change_reason #=> String
625
847
  # resp.query_execution.status.submission_date_time #=> Time
@@ -666,8 +888,10 @@ module Aws::Athena
666
888
  # The unique ID of the query execution.
667
889
  #
668
890
  # @option params [String] :next_token
669
- # The token that specifies where to start pagination if a previous
670
- # request was truncated.
891
+ # A token generated by the Athena service that specifies where to
892
+ # continue pagination if a previous request was truncated. To obtain the
893
+ # next set of pages, pass in the `NextToken` from the response object of
894
+ # the previous page call.
671
895
  #
672
896
  # @option params [Integer] :max_results
673
897
  # The maximum number of results (rows) to return in this request.
@@ -678,6 +902,8 @@ module Aws::Athena
678
902
  # * {Types::GetQueryResultsOutput#result_set #result_set} => Types::ResultSet
679
903
  # * {Types::GetQueryResultsOutput#next_token #next_token} => String
680
904
  #
905
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
906
+ #
681
907
  # @example Request syntax with placeholder values
682
908
  #
683
909
  # resp = client.get_query_results({
@@ -714,6 +940,56 @@ module Aws::Athena
714
940
  req.send_request(options)
715
941
  end
716
942
 
943
+ # Returns table metadata for the specified catalog, database, and table.
944
+ #
945
+ # @option params [required, String] :catalog_name
946
+ # The name of the data catalog that contains the database and table
947
+ # metadata to return.
948
+ #
949
+ # @option params [required, String] :database_name
950
+ # The name of the database that contains the table metadata to return.
951
+ #
952
+ # @option params [required, String] :table_name
953
+ # The name of the table for which metadata is returned.
954
+ #
955
+ # @return [Types::GetTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
956
+ #
957
+ # * {Types::GetTableMetadataOutput#table_metadata #table_metadata} => Types::TableMetadata
958
+ #
959
+ # @example Request syntax with placeholder values
960
+ #
961
+ # resp = client.get_table_metadata({
962
+ # catalog_name: "CatalogNameString", # required
963
+ # database_name: "NameString", # required
964
+ # table_name: "NameString", # required
965
+ # })
966
+ #
967
+ # @example Response structure
968
+ #
969
+ # resp.table_metadata.name #=> String
970
+ # resp.table_metadata.create_time #=> Time
971
+ # resp.table_metadata.last_access_time #=> Time
972
+ # resp.table_metadata.table_type #=> String
973
+ # resp.table_metadata.columns #=> Array
974
+ # resp.table_metadata.columns[0].name #=> String
975
+ # resp.table_metadata.columns[0].type #=> String
976
+ # resp.table_metadata.columns[0].comment #=> String
977
+ # resp.table_metadata.partition_keys #=> Array
978
+ # resp.table_metadata.partition_keys[0].name #=> String
979
+ # resp.table_metadata.partition_keys[0].type #=> String
980
+ # resp.table_metadata.partition_keys[0].comment #=> String
981
+ # resp.table_metadata.parameters #=> Hash
982
+ # resp.table_metadata.parameters["KeyString"] #=> String
983
+ #
984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata AWS API Documentation
985
+ #
986
+ # @overload get_table_metadata(params = {})
987
+ # @param [Hash] params ({})
988
+ def get_table_metadata(params = {}, options = {})
989
+ req = build_request(:get_table_metadata, params)
990
+ req.send_request(options)
991
+ end
992
+
717
993
  # Returns information about the workgroup with the specified name.
718
994
  #
719
995
  # @option params [required, String] :work_group
@@ -752,8 +1028,98 @@ module Aws::Athena
752
1028
  req.send_request(options)
753
1029
  end
754
1030
 
1031
+ # Lists the data catalogs in the current AWS account.
1032
+ #
1033
+ # @option params [String] :next_token
1034
+ # A token generated by the Athena service that specifies where to
1035
+ # continue pagination if a previous request was truncated. To obtain the
1036
+ # next set of pages, pass in the NextToken from the response object of
1037
+ # the previous page call.
1038
+ #
1039
+ # @option params [Integer] :max_results
1040
+ # Specifies the maximum number of data catalogs to return.
1041
+ #
1042
+ # @return [Types::ListDataCatalogsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1043
+ #
1044
+ # * {Types::ListDataCatalogsOutput#data_catalogs_summary #data_catalogs_summary} => Array&lt;Types::DataCatalogSummary&gt;
1045
+ # * {Types::ListDataCatalogsOutput#next_token #next_token} => String
1046
+ #
1047
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1048
+ #
1049
+ # @example Request syntax with placeholder values
1050
+ #
1051
+ # resp = client.list_data_catalogs({
1052
+ # next_token: "Token",
1053
+ # max_results: 1,
1054
+ # })
1055
+ #
1056
+ # @example Response structure
1057
+ #
1058
+ # resp.data_catalogs_summary #=> Array
1059
+ # resp.data_catalogs_summary[0].catalog_name #=> String
1060
+ # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1061
+ # resp.next_token #=> String
1062
+ #
1063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs AWS API Documentation
1064
+ #
1065
+ # @overload list_data_catalogs(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def list_data_catalogs(params = {}, options = {})
1068
+ req = build_request(:list_data_catalogs, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
1072
+ # Lists the databases in the specified data catalog.
1073
+ #
1074
+ # @option params [required, String] :catalog_name
1075
+ # The name of the data catalog that contains the databases to return.
1076
+ #
1077
+ # @option params [String] :next_token
1078
+ # A token generated by the Athena service that specifies where to
1079
+ # continue pagination if a previous request was truncated. To obtain the
1080
+ # next set of pages, pass in the `NextToken` from the response object of
1081
+ # the previous page call.
1082
+ #
1083
+ # @option params [Integer] :max_results
1084
+ # Specifies the maximum number of results to return.
1085
+ #
1086
+ # @return [Types::ListDatabasesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1087
+ #
1088
+ # * {Types::ListDatabasesOutput#database_list #database_list} => Array&lt;Types::Database&gt;
1089
+ # * {Types::ListDatabasesOutput#next_token #next_token} => String
1090
+ #
1091
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1092
+ #
1093
+ # @example Request syntax with placeholder values
1094
+ #
1095
+ # resp = client.list_databases({
1096
+ # catalog_name: "CatalogNameString", # required
1097
+ # next_token: "Token",
1098
+ # max_results: 1,
1099
+ # })
1100
+ #
1101
+ # @example Response structure
1102
+ #
1103
+ # resp.database_list #=> Array
1104
+ # resp.database_list[0].name #=> String
1105
+ # resp.database_list[0].description #=> String
1106
+ # resp.database_list[0].parameters #=> Hash
1107
+ # resp.database_list[0].parameters["KeyString"] #=> String
1108
+ # resp.next_token #=> String
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases AWS API Documentation
1111
+ #
1112
+ # @overload list_databases(params = {})
1113
+ # @param [Hash] params ({})
1114
+ def list_databases(params = {}, options = {})
1115
+ req = build_request(:list_databases, params)
1116
+ req.send_request(options)
1117
+ end
1118
+
755
1119
  # Provides a list of available query IDs only for queries saved in the
756
- # specified workgroup. Requires that you have access to the workgroup.
1120
+ # specified workgroup. Requires that you have access to the specified
1121
+ # workgroup. If a workgroup is not specified, lists the saved queries
1122
+ # for the primary workgroup.
757
1123
  #
758
1124
  # For code samples using the AWS SDK for Java, see [Examples and Code
759
1125
  # Samples][1] in the *Amazon Athena User Guide*.
@@ -763,21 +1129,26 @@ module Aws::Athena
763
1129
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
764
1130
  #
765
1131
  # @option params [String] :next_token
766
- # The token that specifies where to start pagination if a previous
767
- # request was truncated.
1132
+ # A token generated by the Athena service that specifies where to
1133
+ # continue pagination if a previous request was truncated. To obtain the
1134
+ # next set of pages, pass in the `NextToken` from the response object of
1135
+ # the previous page call.
768
1136
  #
769
1137
  # @option params [Integer] :max_results
770
1138
  # The maximum number of queries to return in this request.
771
1139
  #
772
1140
  # @option params [String] :work_group
773
1141
  # The name of the workgroup from which the named queries are being
774
- # returned.
1142
+ # returned. If a workgroup is not specified, the saved queries for the
1143
+ # primary workgroup are returned.
775
1144
  #
776
1145
  # @return [Types::ListNamedQueriesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
777
1146
  #
778
1147
  # * {Types::ListNamedQueriesOutput#named_query_ids #named_query_ids} => Array&lt;String&gt;
779
1148
  # * {Types::ListNamedQueriesOutput#next_token #next_token} => String
780
1149
  #
1150
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1151
+ #
781
1152
  # @example Request syntax with placeholder values
782
1153
  #
783
1154
  # resp = client.list_named_queries({
@@ -802,8 +1173,9 @@ module Aws::Athena
802
1173
  end
803
1174
 
804
1175
  # Provides a list of available query execution IDs for the queries in
805
- # the specified workgroup. Requires you to have access to the workgroup
806
- # in which the queries ran.
1176
+ # the specified workgroup. If a workgroup is not specified, returns a
1177
+ # list of query execution IDs for the primary workgroup. Requires you to
1178
+ # have access to the workgroup in which the queries ran.
807
1179
  #
808
1180
  # For code samples using the AWS SDK for Java, see [Examples and Code
809
1181
  # Samples][1] in the *Amazon Athena User Guide*.
@@ -813,20 +1185,26 @@ module Aws::Athena
813
1185
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
814
1186
  #
815
1187
  # @option params [String] :next_token
816
- # The token that specifies where to start pagination if a previous
817
- # request was truncated.
1188
+ # A token generated by the Athena service that specifies where to
1189
+ # continue pagination if a previous request was truncated. To obtain the
1190
+ # next set of pages, pass in the `NextToken` from the response object of
1191
+ # the previous page call.
818
1192
  #
819
1193
  # @option params [Integer] :max_results
820
1194
  # The maximum number of query executions to return in this request.
821
1195
  #
822
1196
  # @option params [String] :work_group
823
- # The name of the workgroup from which queries are being returned.
1197
+ # The name of the workgroup from which queries are being returned. If a
1198
+ # workgroup is not specified, a list of available query execution IDs
1199
+ # for the queries in the primary workgroup is returned.
824
1200
  #
825
1201
  # @return [Types::ListQueryExecutionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
826
1202
  #
827
1203
  # * {Types::ListQueryExecutionsOutput#query_execution_ids #query_execution_ids} => Array&lt;String&gt;
828
1204
  # * {Types::ListQueryExecutionsOutput#next_token #next_token} => String
829
1205
  #
1206
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1207
+ #
830
1208
  # @example Request syntax with placeholder values
831
1209
  #
832
1210
  # resp = client.list_query_executions({
@@ -850,25 +1228,96 @@ module Aws::Athena
850
1228
  req.send_request(options)
851
1229
  end
852
1230
 
853
- # Lists the tags associated with this workgroup.
1231
+ # Lists the metadata for the tables in the specified data catalog
1232
+ # database.
1233
+ #
1234
+ # @option params [required, String] :catalog_name
1235
+ # The name of the data catalog for which table metadata should be
1236
+ # returned.
1237
+ #
1238
+ # @option params [required, String] :database_name
1239
+ # The name of the database for which table metadata should be returned.
1240
+ #
1241
+ # @option params [String] :expression
1242
+ # A regex filter that pattern-matches table names. If no expression is
1243
+ # supplied, metadata for all tables are listed.
1244
+ #
1245
+ # @option params [String] :next_token
1246
+ # A token generated by the Athena service that specifies where to
1247
+ # continue pagination if a previous request was truncated. To obtain the
1248
+ # next set of pages, pass in the NextToken from the response object of
1249
+ # the previous page call.
1250
+ #
1251
+ # @option params [Integer] :max_results
1252
+ # Specifies the maximum number of results to return.
1253
+ #
1254
+ # @return [Types::ListTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1255
+ #
1256
+ # * {Types::ListTableMetadataOutput#table_metadata_list #table_metadata_list} => Array&lt;Types::TableMetadata&gt;
1257
+ # * {Types::ListTableMetadataOutput#next_token #next_token} => String
1258
+ #
1259
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1260
+ #
1261
+ # @example Request syntax with placeholder values
1262
+ #
1263
+ # resp = client.list_table_metadata({
1264
+ # catalog_name: "CatalogNameString", # required
1265
+ # database_name: "NameString", # required
1266
+ # expression: "ExpressionString",
1267
+ # next_token: "Token",
1268
+ # max_results: 1,
1269
+ # })
1270
+ #
1271
+ # @example Response structure
1272
+ #
1273
+ # resp.table_metadata_list #=> Array
1274
+ # resp.table_metadata_list[0].name #=> String
1275
+ # resp.table_metadata_list[0].create_time #=> Time
1276
+ # resp.table_metadata_list[0].last_access_time #=> Time
1277
+ # resp.table_metadata_list[0].table_type #=> String
1278
+ # resp.table_metadata_list[0].columns #=> Array
1279
+ # resp.table_metadata_list[0].columns[0].name #=> String
1280
+ # resp.table_metadata_list[0].columns[0].type #=> String
1281
+ # resp.table_metadata_list[0].columns[0].comment #=> String
1282
+ # resp.table_metadata_list[0].partition_keys #=> Array
1283
+ # resp.table_metadata_list[0].partition_keys[0].name #=> String
1284
+ # resp.table_metadata_list[0].partition_keys[0].type #=> String
1285
+ # resp.table_metadata_list[0].partition_keys[0].comment #=> String
1286
+ # resp.table_metadata_list[0].parameters #=> Hash
1287
+ # resp.table_metadata_list[0].parameters["KeyString"] #=> String
1288
+ # resp.next_token #=> String
1289
+ #
1290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata AWS API Documentation
1291
+ #
1292
+ # @overload list_table_metadata(params = {})
1293
+ # @param [Hash] params ({})
1294
+ def list_table_metadata(params = {}, options = {})
1295
+ req = build_request(:list_table_metadata, params)
1296
+ req.send_request(options)
1297
+ end
1298
+
1299
+ # Lists the tags associated with an Athena workgroup or data catalog
1300
+ # resource.
854
1301
  #
855
1302
  # @option params [required, String] :resource_arn
856
- # Lists the tags for the workgroup resource with the specified ARN.
1303
+ # Lists the tags for the resource with the specified ARN.
857
1304
  #
858
1305
  # @option params [String] :next_token
859
1306
  # The token for the next set of results, or null if there are no
860
1307
  # additional results for this request, where the request lists the tags
861
- # for the workgroup resource with the specified ARN.
1308
+ # for the resource with the specified ARN.
862
1309
  #
863
1310
  # @option params [Integer] :max_results
864
1311
  # The maximum number of results to be returned per request that lists
865
- # the tags for the workgroup resource.
1312
+ # the tags for the resource.
866
1313
  #
867
1314
  # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
868
1315
  #
869
1316
  # * {Types::ListTagsForResourceOutput#tags #tags} => Array&lt;Types::Tag&gt;
870
1317
  # * {Types::ListTagsForResourceOutput#next_token #next_token} => String
871
1318
  #
1319
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1320
+ #
872
1321
  # @example Request syntax with placeholder values
873
1322
  #
874
1323
  # resp = client.list_tags_for_resource({
@@ -896,7 +1345,10 @@ module Aws::Athena
896
1345
  # Lists available workgroups for the account.
897
1346
  #
898
1347
  # @option params [String] :next_token
899
- # A token to be used by the next request if this request is truncated.
1348
+ # A token generated by the Athena service that specifies where to
1349
+ # continue pagination if a previous request was truncated. To obtain the
1350
+ # next set of pages, pass in the `NextToken` from the response object of
1351
+ # the previous page call.
900
1352
  #
901
1353
  # @option params [Integer] :max_results
902
1354
  # The maximum number of workgroups to return in this request.
@@ -906,6 +1358,8 @@ module Aws::Athena
906
1358
  # * {Types::ListWorkGroupsOutput#work_groups #work_groups} => Array&lt;Types::WorkGroupSummary&gt;
907
1359
  # * {Types::ListWorkGroupsOutput#next_token #next_token} => String
908
1360
  #
1361
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1362
+ #
909
1363
  # @example Request syntax with placeholder values
910
1364
  #
911
1365
  # resp = client.list_work_groups({
@@ -932,10 +1386,10 @@ module Aws::Athena
932
1386
  end
933
1387
 
934
1388
  # Runs the SQL query statements contained in the `Query`. Requires you
935
- # to have access to the workgroup in which the query ran.
936
- #
937
- # For code samples using the AWS SDK for Java, see [Examples and Code
938
- # Samples][1] in the *Amazon Athena User Guide*.
1389
+ # to have access to the workgroup in which the query ran. Running
1390
+ # queries against an external catalog requires GetDataCatalog permission
1391
+ # to the catalog. For code samples using the AWS SDK for Java, see
1392
+ # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
939
1393
  #
940
1394
  #
941
1395
  #
@@ -985,6 +1439,7 @@ module Aws::Athena
985
1439
  # client_request_token: "IdempotencyToken",
986
1440
  # query_execution_context: {
987
1441
  # database: "DatabaseString",
1442
+ # catalog: "CatalogNameString",
988
1443
  # },
989
1444
  # result_configuration: {
990
1445
  # output_location: "String",
@@ -1042,31 +1497,31 @@ module Aws::Athena
1042
1497
  req.send_request(options)
1043
1498
  end
1044
1499
 
1045
- # Adds one or more tags to the resource, such as a workgroup. A tag is a
1046
- # label that you assign to an AWS Athena resource (a workgroup). Each
1047
- # tag consists of a key and an optional value, both of which you define.
1048
- # Tags enable you to categorize resources (workgroups) in Athena, for
1049
- # example, by purpose, owner, or environment. Use a consistent set of
1050
- # tag keys to make it easier to search and filter workgroups in your
1051
- # account. For best practices, see [AWS Tagging Strategies][1]. The key
1052
- # length is from 1 (minimum) to 128 (maximum) Unicode characters in
1053
- # UTF-8. The tag value length is from 0 (minimum) to 256 (maximum)
1054
- # Unicode characters in UTF-8. You can use letters and numbers
1055
- # representable in UTF-8, and the following characters: + - = . \_ : /
1056
- # @. Tag keys and values are case-sensitive. Tag keys must be unique per
1057
- # resource. If you specify more than one, separate them by commas.
1500
+ # Adds one or more tags to an Athena resource. A tag is a label that you
1501
+ # assign to a resource. In Athena, a resource can be a workgroup or data
1502
+ # catalog. Each tag consists of a key and an optional value, both of
1503
+ # which you define. For example, you can use tags to categorize Athena
1504
+ # workgroups or data catalogs by purpose, owner, or environment. Use a
1505
+ # consistent set of tag keys to make it easier to search and filter
1506
+ # workgroups or data catalogs in your account. For best practices, see
1507
+ # [Tagging Best Practices][1]. Tag keys can be from 1 to 128 UTF-8
1508
+ # Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode
1509
+ # characters. Tags can use letters and numbers representable in UTF-8,
1510
+ # and the following characters: + - = . \_ : / @. Tag keys and values
1511
+ # are case-sensitive. Tag keys must be unique per resource. If you
1512
+ # specify more than one tag, separate them by commas.
1058
1513
  #
1059
1514
  #
1060
1515
  #
1061
1516
  # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
1062
1517
  #
1063
1518
  # @option params [required, String] :resource_arn
1064
- # Requests that one or more tags are added to the resource (such as a
1065
- # workgroup) for the specified ARN.
1519
+ # Specifies the ARN of the Athena resource (workgroup or data catalog)
1520
+ # to which tags are to be added.
1066
1521
  #
1067
1522
  # @option params [required, Array<Types::Tag>] :tags
1068
- # One or more tags, separated by commas, to be added to the resource,
1069
- # such as a workgroup.
1523
+ # A collection of one or more tags, separated by commas, to be added to
1524
+ # an Athena workgroup or data catalog resource.
1070
1525
  #
1071
1526
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1072
1527
  #
@@ -1091,17 +1546,14 @@ module Aws::Athena
1091
1546
  req.send_request(options)
1092
1547
  end
1093
1548
 
1094
- # Removes one or more tags from the workgroup resource. Takes as an
1095
- # input a list of TagKey Strings separated by commas, and removes their
1096
- # tags at the same time.
1549
+ # Removes one or more tags from a data catalog or workgroup resource.
1097
1550
  #
1098
1551
  # @option params [required, String] :resource_arn
1099
- # Removes one or more tags from the workgroup resource for the specified
1100
- # ARN.
1552
+ # Specifies the ARN of the resource from which tags are to be removed.
1101
1553
  #
1102
1554
  # @option params [required, Array<String>] :tag_keys
1103
- # Removes the tags associated with one or more tag keys from the
1104
- # workgroup resource.
1555
+ # A comma-separated list of one or more tag keys whose tags are to be
1556
+ # removed from the specified resource.
1105
1557
  #
1106
1558
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1107
1559
  #
@@ -1121,6 +1573,72 @@ module Aws::Athena
1121
1573
  req.send_request(options)
1122
1574
  end
1123
1575
 
1576
+ # Updates the data catalog that has the specified name.
1577
+ #
1578
+ # @option params [required, String] :name
1579
+ # The name of the data catalog to update. The catalog name must be
1580
+ # unique for the AWS account and can use a maximum of 128 alphanumeric,
1581
+ # underscore, at sign, or hyphen characters.
1582
+ #
1583
+ # @option params [required, String] :type
1584
+ # Specifies the type of data catalog to update. Specify `LAMBDA` for a
1585
+ # federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an
1586
+ # external hive metastore.
1587
+ #
1588
+ # @option params [String] :description
1589
+ # New or modified text that describes the data catalog.
1590
+ #
1591
+ # @option params [Hash<String,String>] :parameters
1592
+ # Specifies the Lambda function or functions to use for updating the
1593
+ # data catalog. This is a mapping whose values depend on the catalog
1594
+ # type.
1595
+ #
1596
+ # * For the `HIVE` data catalog type, use the following syntax. The
1597
+ # `metadata-function` parameter is required. `The sdk-version`
1598
+ # parameter is optional and defaults to the currently supported
1599
+ # version.
1600
+ #
1601
+ # `metadata-function=lambda_arn, sdk-version=version_number `
1602
+ #
1603
+ # * For the `LAMBDA` data catalog type, use one of the following sets of
1604
+ # required parameters, but not both.
1605
+ #
1606
+ # * If you have one Lambda function that processes metadata and
1607
+ # another for reading the actual data, use the following syntax.
1608
+ # Both parameters are required.
1609
+ #
1610
+ # `metadata-function=lambda_arn, record-function=lambda_arn `
1611
+ #
1612
+ # * If you have a composite Lambda function that processes both
1613
+ # metadata and data, use the following syntax to specify your Lambda
1614
+ # function.
1615
+ #
1616
+ # `function=lambda_arn `
1617
+ #
1618
+ # * The `GLUE` type has no parameters.
1619
+ #
1620
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1621
+ #
1622
+ # @example Request syntax with placeholder values
1623
+ #
1624
+ # resp = client.update_data_catalog({
1625
+ # name: "CatalogNameString", # required
1626
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
1627
+ # description: "DescriptionString",
1628
+ # parameters: {
1629
+ # "KeyString" => "ParametersMapValue",
1630
+ # },
1631
+ # })
1632
+ #
1633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog AWS API Documentation
1634
+ #
1635
+ # @overload update_data_catalog(params = {})
1636
+ # @param [Hash] params ({})
1637
+ def update_data_catalog(params = {}, options = {})
1638
+ req = build_request(:update_data_catalog, params)
1639
+ req.send_request(options)
1640
+ end
1641
+
1124
1642
  # Updates the workgroup with the specified name. The workgroup's name
1125
1643
  # cannot be changed.
1126
1644
  #
@@ -1185,7 +1703,7 @@ module Aws::Athena
1185
1703
  params: params,
1186
1704
  config: config)
1187
1705
  context[:gem_name] = 'aws-sdk-athena'
1188
- context[:gem_version] = '1.22.0'
1706
+ context[:gem_version] = '1.27.0'
1189
1707
  Seahorse::Client::Request.new(handlers, context)
1190
1708
  end
1191
1709