aws-sdk-athena 1.23.0 → 1.28.1

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: f14adc105f561e59b3ecd9fab081dff694332cfb
4
- data.tar.gz: 121efae7d4c6081a9aea5e49eb118444d288e36e
2
+ SHA256:
3
+ metadata.gz: b30fcef89aee5713975e53d3fd6b2be9588eb482d546427af543c5c1b4c67f28
4
+ data.tar.gz: 65ce28c2facf35d618807868a99e4b50e0607f42146bd66b2fb3b0270787dd1e
5
5
  SHA512:
6
- metadata.gz: 1e3833516072c2a4823c4d5634ca58916b577c39995a49f30603e75ce1306074506756203ff21a30acb66a46eb1c394880ad957cf8c2c994c78f89cef6cab6ba
7
- data.tar.gz: cfeb9f6a3b2e1155da49dd37d54e3202e6975cde7f64c2a6886f157297d51c534462b93c794187b481d59285a7ff68a07b2b802aabfb69a8fb7c2c0bdd44ce74
6
+ metadata.gz: aee7be84fdc4f9de832714640b16aa0b8b30d49c9f8b5fec88aa08d5e7dc62b0518a1424ca5e8d20d0b37361fc9ae09c95ffbc3ff2d89915298d48be4113530a
7
+ data.tar.gz: 3b238f06ab8ef9373e43829d079162dd49203dce8b7cd4fd4609f2e097ccc8442b93d29cee01432fc6fd3c464aa9453f1161ff4b478611747171458b0966f1d6
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-athena/customizations'
45
45
  # @service
46
46
  module Aws::Athena
47
47
 
48
- GEM_VERSION = '1.23.0'
48
+ GEM_VERSION = '1.28.1'
49
49
 
50
50
  end
@@ -24,6 +24,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
@@ -32,11 +33,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:athena)
32
33
  module Aws::Athena
33
34
  # An API client for Athena. To construct a client, you need to configure a `:region` and `:credentials`.
34
35
  #
35
- # client = Aws::Athena::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
36
+ # client = Aws::Athena::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
40
41
  #
41
42
  # For details on configuring region and credentials see
42
43
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -69,6 +70,7 @@ module Aws::Athena
69
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
72
74
  add_plugin(Aws::Plugins::SignatureV4)
73
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
76
 
@@ -105,7 +107,7 @@ module Aws::Athena
105
107
  # @option options [required, String] :region
106
108
  # The AWS region to connect to. The configured `:region` is
107
109
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
109
111
  #
110
112
  # * `Aws.config[:region]`
111
113
  # * `ENV['AWS_REGION']`
@@ -161,7 +163,7 @@ module Aws::Athena
161
163
  # @option options [String] :endpoint
162
164
  # The client endpoint is normally constructed from the `:region`
163
165
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
167
  #
166
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +178,7 @@ module Aws::Athena
176
178
  # requests fetching endpoints information. Defaults to 60 sec.
177
179
  #
178
180
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
182
  #
181
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
184
  # The log formatter.
@@ -229,15 +231,19 @@ module Aws::Athena
229
231
  #
230
232
  # @option options [String] :retry_mode ("legacy")
231
233
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
241
247
  #
242
248
  # @option options [String] :secret_access_key
243
249
  #
@@ -275,8 +281,7 @@ module Aws::Athena
275
281
  #
276
282
  # @option options [Integer] :http_read_timeout (60) The default
277
283
  # number of seconds to wait for response data. This value can
278
- # safely be set
279
- # per-request on the session yielded by {#session_for}.
284
+ # safely be set per-request on the session.
280
285
  #
281
286
  # @option options [Float] :http_idle_timeout (5) The number of
282
287
  # seconds a connection is allowed to sit idle before it is
@@ -288,7 +293,7 @@ module Aws::Athena
288
293
  # request body. This option has no effect unless the request has
289
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
290
295
  # disables this behaviour. This value can safely be set per
291
- # request on the session yielded by {#session_for}.
296
+ # request on the session.
292
297
  #
293
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
294
299
  # HTTP debug output will be sent to the `:logger`.
@@ -395,6 +400,7 @@ module Aws::Athena
395
400
  # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
396
401
  # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String
397
402
  # resp.query_executions[0].query_execution_context.database #=> String
403
+ # resp.query_executions[0].query_execution_context.catalog #=> String
398
404
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
399
405
  # resp.query_executions[0].status.state_change_reason #=> String
400
406
  # resp.query_executions[0].status.submission_date_time #=> Time
@@ -421,6 +427,83 @@ module Aws::Athena
421
427
  req.send_request(options)
422
428
  end
423
429
 
430
+ # Creates (registers) a data catalog with the specified name and
431
+ # properties. Catalogs created are visible to all users of the same AWS
432
+ # account.
433
+ #
434
+ # @option params [required, String] :name
435
+ # The name of the data catalog to create. The catalog name must be
436
+ # unique for the AWS account and can use a maximum of 128 alphanumeric,
437
+ # underscore, at sign, or hyphen characters.
438
+ #
439
+ # @option params [required, String] :type
440
+ # The type of data catalog to create: `LAMBDA` for a federated catalog,
441
+ # `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.
442
+ #
443
+ # @option params [String] :description
444
+ # A description of the data catalog to be created.
445
+ #
446
+ # @option params [Hash<String,String>] :parameters
447
+ # Specifies the Lambda function or functions to use for creating the
448
+ # data catalog. This is a mapping whose values depend on the catalog
449
+ # type.
450
+ #
451
+ # * For the `HIVE` data catalog type, use the following syntax. The
452
+ # `metadata-function` parameter is required. `The sdk-version`
453
+ # parameter is optional and defaults to the currently supported
454
+ # version.
455
+ #
456
+ # `metadata-function=lambda_arn, sdk-version=version_number `
457
+ #
458
+ # * For the `LAMBDA` data catalog type, use one of the following sets of
459
+ # required parameters, but not both.
460
+ #
461
+ # * If you have one Lambda function that processes metadata and
462
+ # another for reading the actual data, use the following syntax.
463
+ # Both parameters are required.
464
+ #
465
+ # `metadata-function=lambda_arn, record-function=lambda_arn `
466
+ #
467
+ # * If you have a composite Lambda function that processes both
468
+ # metadata and data, use the following syntax to specify your Lambda
469
+ # function.
470
+ #
471
+ # `function=lambda_arn `
472
+ #
473
+ # * The `GLUE` type has no parameters.
474
+ #
475
+ # @option params [Array<Types::Tag>] :tags
476
+ # A list of comma separated tags to add to the data catalog that is
477
+ # created.
478
+ #
479
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
480
+ #
481
+ # @example Request syntax with placeholder values
482
+ #
483
+ # resp = client.create_data_catalog({
484
+ # name: "CatalogNameString", # required
485
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
486
+ # description: "DescriptionString",
487
+ # parameters: {
488
+ # "KeyString" => "ParametersMapValue",
489
+ # },
490
+ # tags: [
491
+ # {
492
+ # key: "TagKey",
493
+ # value: "TagValue",
494
+ # },
495
+ # ],
496
+ # })
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog AWS API Documentation
499
+ #
500
+ # @overload create_data_catalog(params = {})
501
+ # @param [Hash] params ({})
502
+ def create_data_catalog(params = {}, options = {})
503
+ req = build_request(:create_data_catalog, params)
504
+ req.send_request(options)
505
+ end
506
+
424
507
  # Creates a named query in the specified workgroup. Requires that you
425
508
  # have access to the workgroup.
426
509
  #
@@ -509,8 +592,8 @@ module Aws::Athena
509
592
  # The workgroup description.
510
593
  #
511
594
  # @option params [Array<Types::Tag>] :tags
512
- # One or more tags, separated by commas, that you want to attach to the
513
- # workgroup as you create it.
595
+ # A list of comma separated tags to add to the workgroup that is
596
+ # created.
514
597
  #
515
598
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
516
599
  #
@@ -549,6 +632,28 @@ module Aws::Athena
549
632
  req.send_request(options)
550
633
  end
551
634
 
635
+ # Deletes a data catalog.
636
+ #
637
+ # @option params [required, String] :name
638
+ # The name of the data catalog to delete.
639
+ #
640
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
641
+ #
642
+ # @example Request syntax with placeholder values
643
+ #
644
+ # resp = client.delete_data_catalog({
645
+ # name: "CatalogNameString", # required
646
+ # })
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog AWS API Documentation
649
+ #
650
+ # @overload delete_data_catalog(params = {})
651
+ # @param [Hash] params ({})
652
+ def delete_data_catalog(params = {}, options = {})
653
+ req = build_request(:delete_data_catalog, params)
654
+ req.send_request(options)
655
+ end
656
+
552
657
  # Deletes the named query if you have access to the workgroup in which
553
658
  # the query was saved.
554
659
  #
@@ -610,6 +715,73 @@ module Aws::Athena
610
715
  req.send_request(options)
611
716
  end
612
717
 
718
+ # Returns the specified data catalog.
719
+ #
720
+ # @option params [required, String] :name
721
+ # The name of the data catalog to return.
722
+ #
723
+ # @return [Types::GetDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
724
+ #
725
+ # * {Types::GetDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
726
+ #
727
+ # @example Request syntax with placeholder values
728
+ #
729
+ # resp = client.get_data_catalog({
730
+ # name: "CatalogNameString", # required
731
+ # })
732
+ #
733
+ # @example Response structure
734
+ #
735
+ # resp.data_catalog.name #=> String
736
+ # resp.data_catalog.description #=> String
737
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
738
+ # resp.data_catalog.parameters #=> Hash
739
+ # resp.data_catalog.parameters["KeyString"] #=> String
740
+ #
741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
742
+ #
743
+ # @overload get_data_catalog(params = {})
744
+ # @param [Hash] params ({})
745
+ def get_data_catalog(params = {}, options = {})
746
+ req = build_request(:get_data_catalog, params)
747
+ req.send_request(options)
748
+ end
749
+
750
+ # Returns a database object for the specfied database and data catalog.
751
+ #
752
+ # @option params [required, String] :catalog_name
753
+ # The name of the data catalog that contains the database to return.
754
+ #
755
+ # @option params [required, String] :database_name
756
+ # The name of the database to return.
757
+ #
758
+ # @return [Types::GetDatabaseOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
759
+ #
760
+ # * {Types::GetDatabaseOutput#database #database} => Types::Database
761
+ #
762
+ # @example Request syntax with placeholder values
763
+ #
764
+ # resp = client.get_database({
765
+ # catalog_name: "CatalogNameString", # required
766
+ # database_name: "NameString", # required
767
+ # })
768
+ #
769
+ # @example Response structure
770
+ #
771
+ # resp.database.name #=> String
772
+ # resp.database.description #=> String
773
+ # resp.database.parameters #=> Hash
774
+ # resp.database.parameters["KeyString"] #=> String
775
+ #
776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase AWS API Documentation
777
+ #
778
+ # @overload get_database(params = {})
779
+ # @param [Hash] params ({})
780
+ def get_database(params = {}, options = {})
781
+ req = build_request(:get_database, params)
782
+ req.send_request(options)
783
+ end
784
+
613
785
  # Returns information about a single query. Requires that you have
614
786
  # access to the workgroup in which the query was saved.
615
787
  #
@@ -671,6 +843,7 @@ module Aws::Athena
671
843
  # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
672
844
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
673
845
  # resp.query_execution.query_execution_context.database #=> String
846
+ # resp.query_execution.query_execution_context.catalog #=> String
674
847
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
675
848
  # resp.query_execution.status.state_change_reason #=> String
676
849
  # resp.query_execution.status.submission_date_time #=> Time
@@ -717,8 +890,10 @@ module Aws::Athena
717
890
  # The unique ID of the query execution.
718
891
  #
719
892
  # @option params [String] :next_token
720
- # The token that specifies where to start pagination if a previous
721
- # request was truncated.
893
+ # A token generated by the Athena service that specifies where to
894
+ # continue pagination if a previous request was truncated. To obtain the
895
+ # next set of pages, pass in the `NextToken` from the response object of
896
+ # the previous page call.
722
897
  #
723
898
  # @option params [Integer] :max_results
724
899
  # The maximum number of results (rows) to return in this request.
@@ -729,6 +904,8 @@ module Aws::Athena
729
904
  # * {Types::GetQueryResultsOutput#result_set #result_set} => Types::ResultSet
730
905
  # * {Types::GetQueryResultsOutput#next_token #next_token} => String
731
906
  #
907
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
908
+ #
732
909
  # @example Request syntax with placeholder values
733
910
  #
734
911
  # resp = client.get_query_results({
@@ -765,6 +942,56 @@ module Aws::Athena
765
942
  req.send_request(options)
766
943
  end
767
944
 
945
+ # Returns table metadata for the specified catalog, database, and table.
946
+ #
947
+ # @option params [required, String] :catalog_name
948
+ # The name of the data catalog that contains the database and table
949
+ # metadata to return.
950
+ #
951
+ # @option params [required, String] :database_name
952
+ # The name of the database that contains the table metadata to return.
953
+ #
954
+ # @option params [required, String] :table_name
955
+ # The name of the table for which metadata is returned.
956
+ #
957
+ # @return [Types::GetTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
+ #
959
+ # * {Types::GetTableMetadataOutput#table_metadata #table_metadata} => Types::TableMetadata
960
+ #
961
+ # @example Request syntax with placeholder values
962
+ #
963
+ # resp = client.get_table_metadata({
964
+ # catalog_name: "CatalogNameString", # required
965
+ # database_name: "NameString", # required
966
+ # table_name: "NameString", # required
967
+ # })
968
+ #
969
+ # @example Response structure
970
+ #
971
+ # resp.table_metadata.name #=> String
972
+ # resp.table_metadata.create_time #=> Time
973
+ # resp.table_metadata.last_access_time #=> Time
974
+ # resp.table_metadata.table_type #=> String
975
+ # resp.table_metadata.columns #=> Array
976
+ # resp.table_metadata.columns[0].name #=> String
977
+ # resp.table_metadata.columns[0].type #=> String
978
+ # resp.table_metadata.columns[0].comment #=> String
979
+ # resp.table_metadata.partition_keys #=> Array
980
+ # resp.table_metadata.partition_keys[0].name #=> String
981
+ # resp.table_metadata.partition_keys[0].type #=> String
982
+ # resp.table_metadata.partition_keys[0].comment #=> String
983
+ # resp.table_metadata.parameters #=> Hash
984
+ # resp.table_metadata.parameters["KeyString"] #=> String
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata AWS API Documentation
987
+ #
988
+ # @overload get_table_metadata(params = {})
989
+ # @param [Hash] params ({})
990
+ def get_table_metadata(params = {}, options = {})
991
+ req = build_request(:get_table_metadata, params)
992
+ req.send_request(options)
993
+ end
994
+
768
995
  # Returns information about the workgroup with the specified name.
769
996
  #
770
997
  # @option params [required, String] :work_group
@@ -803,8 +1030,98 @@ module Aws::Athena
803
1030
  req.send_request(options)
804
1031
  end
805
1032
 
1033
+ # Lists the data catalogs in the current AWS account.
1034
+ #
1035
+ # @option params [String] :next_token
1036
+ # A token generated by the Athena service that specifies where to
1037
+ # continue pagination if a previous request was truncated. To obtain the
1038
+ # next set of pages, pass in the NextToken from the response object of
1039
+ # the previous page call.
1040
+ #
1041
+ # @option params [Integer] :max_results
1042
+ # Specifies the maximum number of data catalogs to return.
1043
+ #
1044
+ # @return [Types::ListDataCatalogsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1045
+ #
1046
+ # * {Types::ListDataCatalogsOutput#data_catalogs_summary #data_catalogs_summary} => Array&lt;Types::DataCatalogSummary&gt;
1047
+ # * {Types::ListDataCatalogsOutput#next_token #next_token} => String
1048
+ #
1049
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1050
+ #
1051
+ # @example Request syntax with placeholder values
1052
+ #
1053
+ # resp = client.list_data_catalogs({
1054
+ # next_token: "Token",
1055
+ # max_results: 1,
1056
+ # })
1057
+ #
1058
+ # @example Response structure
1059
+ #
1060
+ # resp.data_catalogs_summary #=> Array
1061
+ # resp.data_catalogs_summary[0].catalog_name #=> String
1062
+ # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1063
+ # resp.next_token #=> String
1064
+ #
1065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs AWS API Documentation
1066
+ #
1067
+ # @overload list_data_catalogs(params = {})
1068
+ # @param [Hash] params ({})
1069
+ def list_data_catalogs(params = {}, options = {})
1070
+ req = build_request(:list_data_catalogs, params)
1071
+ req.send_request(options)
1072
+ end
1073
+
1074
+ # Lists the databases in the specified data catalog.
1075
+ #
1076
+ # @option params [required, String] :catalog_name
1077
+ # The name of the data catalog that contains the databases to return.
1078
+ #
1079
+ # @option params [String] :next_token
1080
+ # A token generated by the Athena service that specifies where to
1081
+ # continue pagination if a previous request was truncated. To obtain the
1082
+ # next set of pages, pass in the `NextToken` from the response object of
1083
+ # the previous page call.
1084
+ #
1085
+ # @option params [Integer] :max_results
1086
+ # Specifies the maximum number of results to return.
1087
+ #
1088
+ # @return [Types::ListDatabasesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::ListDatabasesOutput#database_list #database_list} => Array&lt;Types::Database&gt;
1091
+ # * {Types::ListDatabasesOutput#next_token #next_token} => String
1092
+ #
1093
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1094
+ #
1095
+ # @example Request syntax with placeholder values
1096
+ #
1097
+ # resp = client.list_databases({
1098
+ # catalog_name: "CatalogNameString", # required
1099
+ # next_token: "Token",
1100
+ # max_results: 1,
1101
+ # })
1102
+ #
1103
+ # @example Response structure
1104
+ #
1105
+ # resp.database_list #=> Array
1106
+ # resp.database_list[0].name #=> String
1107
+ # resp.database_list[0].description #=> String
1108
+ # resp.database_list[0].parameters #=> Hash
1109
+ # resp.database_list[0].parameters["KeyString"] #=> String
1110
+ # resp.next_token #=> String
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases AWS API Documentation
1113
+ #
1114
+ # @overload list_databases(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def list_databases(params = {}, options = {})
1117
+ req = build_request(:list_databases, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
806
1121
  # Provides a list of available query IDs only for queries saved in the
807
- # specified workgroup. Requires that you have access to the workgroup.
1122
+ # specified workgroup. Requires that you have access to the specified
1123
+ # workgroup. If a workgroup is not specified, lists the saved queries
1124
+ # for the primary workgroup.
808
1125
  #
809
1126
  # For code samples using the AWS SDK for Java, see [Examples and Code
810
1127
  # Samples][1] in the *Amazon Athena User Guide*.
@@ -814,21 +1131,26 @@ module Aws::Athena
814
1131
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
815
1132
  #
816
1133
  # @option params [String] :next_token
817
- # The token that specifies where to start pagination if a previous
818
- # request was truncated.
1134
+ # A token generated by the Athena service that specifies where to
1135
+ # continue pagination if a previous request was truncated. To obtain the
1136
+ # next set of pages, pass in the `NextToken` from the response object of
1137
+ # the previous page call.
819
1138
  #
820
1139
  # @option params [Integer] :max_results
821
1140
  # The maximum number of queries to return in this request.
822
1141
  #
823
1142
  # @option params [String] :work_group
824
1143
  # The name of the workgroup from which the named queries are being
825
- # returned.
1144
+ # returned. If a workgroup is not specified, the saved queries for the
1145
+ # primary workgroup are returned.
826
1146
  #
827
1147
  # @return [Types::ListNamedQueriesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
828
1148
  #
829
1149
  # * {Types::ListNamedQueriesOutput#named_query_ids #named_query_ids} => Array&lt;String&gt;
830
1150
  # * {Types::ListNamedQueriesOutput#next_token #next_token} => String
831
1151
  #
1152
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1153
+ #
832
1154
  # @example Request syntax with placeholder values
833
1155
  #
834
1156
  # resp = client.list_named_queries({
@@ -853,8 +1175,9 @@ module Aws::Athena
853
1175
  end
854
1176
 
855
1177
  # Provides a list of available query execution IDs for the queries in
856
- # the specified workgroup. Requires you to have access to the workgroup
857
- # in which the queries ran.
1178
+ # the specified workgroup. If a workgroup is not specified, returns a
1179
+ # list of query execution IDs for the primary workgroup. Requires you to
1180
+ # have access to the workgroup in which the queries ran.
858
1181
  #
859
1182
  # For code samples using the AWS SDK for Java, see [Examples and Code
860
1183
  # Samples][1] in the *Amazon Athena User Guide*.
@@ -864,20 +1187,26 @@ module Aws::Athena
864
1187
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
865
1188
  #
866
1189
  # @option params [String] :next_token
867
- # The token that specifies where to start pagination if a previous
868
- # request was truncated.
1190
+ # A token generated by the Athena service that specifies where to
1191
+ # continue pagination if a previous request was truncated. To obtain the
1192
+ # next set of pages, pass in the `NextToken` from the response object of
1193
+ # the previous page call.
869
1194
  #
870
1195
  # @option params [Integer] :max_results
871
1196
  # The maximum number of query executions to return in this request.
872
1197
  #
873
1198
  # @option params [String] :work_group
874
- # The name of the workgroup from which queries are being returned.
1199
+ # The name of the workgroup from which queries are being returned. If a
1200
+ # workgroup is not specified, a list of available query execution IDs
1201
+ # for the queries in the primary workgroup is returned.
875
1202
  #
876
1203
  # @return [Types::ListQueryExecutionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
877
1204
  #
878
1205
  # * {Types::ListQueryExecutionsOutput#query_execution_ids #query_execution_ids} => Array&lt;String&gt;
879
1206
  # * {Types::ListQueryExecutionsOutput#next_token #next_token} => String
880
1207
  #
1208
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1209
+ #
881
1210
  # @example Request syntax with placeholder values
882
1211
  #
883
1212
  # resp = client.list_query_executions({
@@ -901,25 +1230,96 @@ module Aws::Athena
901
1230
  req.send_request(options)
902
1231
  end
903
1232
 
904
- # Lists the tags associated with this workgroup.
1233
+ # Lists the metadata for the tables in the specified data catalog
1234
+ # database.
1235
+ #
1236
+ # @option params [required, String] :catalog_name
1237
+ # The name of the data catalog for which table metadata should be
1238
+ # returned.
1239
+ #
1240
+ # @option params [required, String] :database_name
1241
+ # The name of the database for which table metadata should be returned.
1242
+ #
1243
+ # @option params [String] :expression
1244
+ # A regex filter that pattern-matches table names. If no expression is
1245
+ # supplied, metadata for all tables are listed.
1246
+ #
1247
+ # @option params [String] :next_token
1248
+ # A token generated by the Athena service that specifies where to
1249
+ # continue pagination if a previous request was truncated. To obtain the
1250
+ # next set of pages, pass in the NextToken from the response object of
1251
+ # the previous page call.
1252
+ #
1253
+ # @option params [Integer] :max_results
1254
+ # Specifies the maximum number of results to return.
1255
+ #
1256
+ # @return [Types::ListTableMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1257
+ #
1258
+ # * {Types::ListTableMetadataOutput#table_metadata_list #table_metadata_list} => Array&lt;Types::TableMetadata&gt;
1259
+ # * {Types::ListTableMetadataOutput#next_token #next_token} => String
1260
+ #
1261
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1262
+ #
1263
+ # @example Request syntax with placeholder values
1264
+ #
1265
+ # resp = client.list_table_metadata({
1266
+ # catalog_name: "CatalogNameString", # required
1267
+ # database_name: "NameString", # required
1268
+ # expression: "ExpressionString",
1269
+ # next_token: "Token",
1270
+ # max_results: 1,
1271
+ # })
1272
+ #
1273
+ # @example Response structure
1274
+ #
1275
+ # resp.table_metadata_list #=> Array
1276
+ # resp.table_metadata_list[0].name #=> String
1277
+ # resp.table_metadata_list[0].create_time #=> Time
1278
+ # resp.table_metadata_list[0].last_access_time #=> Time
1279
+ # resp.table_metadata_list[0].table_type #=> String
1280
+ # resp.table_metadata_list[0].columns #=> Array
1281
+ # resp.table_metadata_list[0].columns[0].name #=> String
1282
+ # resp.table_metadata_list[0].columns[0].type #=> String
1283
+ # resp.table_metadata_list[0].columns[0].comment #=> String
1284
+ # resp.table_metadata_list[0].partition_keys #=> Array
1285
+ # resp.table_metadata_list[0].partition_keys[0].name #=> String
1286
+ # resp.table_metadata_list[0].partition_keys[0].type #=> String
1287
+ # resp.table_metadata_list[0].partition_keys[0].comment #=> String
1288
+ # resp.table_metadata_list[0].parameters #=> Hash
1289
+ # resp.table_metadata_list[0].parameters["KeyString"] #=> String
1290
+ # resp.next_token #=> String
1291
+ #
1292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata AWS API Documentation
1293
+ #
1294
+ # @overload list_table_metadata(params = {})
1295
+ # @param [Hash] params ({})
1296
+ def list_table_metadata(params = {}, options = {})
1297
+ req = build_request(:list_table_metadata, params)
1298
+ req.send_request(options)
1299
+ end
1300
+
1301
+ # Lists the tags associated with an Athena workgroup or data catalog
1302
+ # resource.
905
1303
  #
906
1304
  # @option params [required, String] :resource_arn
907
- # Lists the tags for the workgroup resource with the specified ARN.
1305
+ # Lists the tags for the resource with the specified ARN.
908
1306
  #
909
1307
  # @option params [String] :next_token
910
1308
  # The token for the next set of results, or null if there are no
911
1309
  # additional results for this request, where the request lists the tags
912
- # for the workgroup resource with the specified ARN.
1310
+ # for the resource with the specified ARN.
913
1311
  #
914
1312
  # @option params [Integer] :max_results
915
1313
  # The maximum number of results to be returned per request that lists
916
- # the tags for the workgroup resource.
1314
+ # the tags for the resource.
917
1315
  #
918
1316
  # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
919
1317
  #
920
1318
  # * {Types::ListTagsForResourceOutput#tags #tags} => Array&lt;Types::Tag&gt;
921
1319
  # * {Types::ListTagsForResourceOutput#next_token #next_token} => String
922
1320
  #
1321
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1322
+ #
923
1323
  # @example Request syntax with placeholder values
924
1324
  #
925
1325
  # resp = client.list_tags_for_resource({
@@ -947,7 +1347,10 @@ module Aws::Athena
947
1347
  # Lists available workgroups for the account.
948
1348
  #
949
1349
  # @option params [String] :next_token
950
- # A token to be used by the next request if this request is truncated.
1350
+ # A token generated by the Athena service that specifies where to
1351
+ # continue pagination if a previous request was truncated. To obtain the
1352
+ # next set of pages, pass in the `NextToken` from the response object of
1353
+ # the previous page call.
951
1354
  #
952
1355
  # @option params [Integer] :max_results
953
1356
  # The maximum number of workgroups to return in this request.
@@ -957,6 +1360,8 @@ module Aws::Athena
957
1360
  # * {Types::ListWorkGroupsOutput#work_groups #work_groups} => Array&lt;Types::WorkGroupSummary&gt;
958
1361
  # * {Types::ListWorkGroupsOutput#next_token #next_token} => String
959
1362
  #
1363
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1364
+ #
960
1365
  # @example Request syntax with placeholder values
961
1366
  #
962
1367
  # resp = client.list_work_groups({
@@ -983,10 +1388,10 @@ module Aws::Athena
983
1388
  end
984
1389
 
985
1390
  # Runs the SQL query statements contained in the `Query`. Requires you
986
- # to have access to the workgroup in which the query ran.
987
- #
988
- # For code samples using the AWS SDK for Java, see [Examples and Code
989
- # Samples][1] in the *Amazon Athena User Guide*.
1391
+ # to have access to the workgroup in which the query ran. Running
1392
+ # queries against an external catalog requires GetDataCatalog permission
1393
+ # to the catalog. For code samples using the AWS SDK for Java, see
1394
+ # [Examples and Code Samples][1] in the *Amazon Athena User Guide*.
990
1395
  #
991
1396
  #
992
1397
  #
@@ -1036,6 +1441,7 @@ module Aws::Athena
1036
1441
  # client_request_token: "IdempotencyToken",
1037
1442
  # query_execution_context: {
1038
1443
  # database: "DatabaseString",
1444
+ # catalog: "CatalogNameString",
1039
1445
  # },
1040
1446
  # result_configuration: {
1041
1447
  # output_location: "String",
@@ -1093,31 +1499,31 @@ module Aws::Athena
1093
1499
  req.send_request(options)
1094
1500
  end
1095
1501
 
1096
- # Adds one or more tags to the resource, such as a workgroup. A tag is a
1097
- # label that you assign to an AWS Athena resource (a workgroup). Each
1098
- # tag consists of a key and an optional value, both of which you define.
1099
- # Tags enable you to categorize resources (workgroups) in Athena, for
1100
- # example, by purpose, owner, or environment. Use a consistent set of
1101
- # tag keys to make it easier to search and filter workgroups in your
1102
- # account. For best practices, see [AWS Tagging Strategies][1]. The key
1103
- # length is from 1 (minimum) to 128 (maximum) Unicode characters in
1104
- # UTF-8. The tag value length is from 0 (minimum) to 256 (maximum)
1105
- # Unicode characters in UTF-8. You can use letters and numbers
1106
- # representable in UTF-8, and the following characters: + - = . \_ : /
1107
- # @. Tag keys and values are case-sensitive. Tag keys must be unique per
1108
- # resource. If you specify more than one, separate them by commas.
1502
+ # Adds one or more tags to an Athena resource. A tag is a label that you
1503
+ # assign to a resource. In Athena, a resource can be a workgroup or data
1504
+ # catalog. Each tag consists of a key and an optional value, both of
1505
+ # which you define. For example, you can use tags to categorize Athena
1506
+ # workgroups or data catalogs by purpose, owner, or environment. Use a
1507
+ # consistent set of tag keys to make it easier to search and filter
1508
+ # workgroups or data catalogs in your account. For best practices, see
1509
+ # [Tagging Best Practices][1]. Tag keys can be from 1 to 128 UTF-8
1510
+ # Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode
1511
+ # characters. Tags can use letters and numbers representable in UTF-8,
1512
+ # and the following characters: + - = . \_ : / @. Tag keys and values
1513
+ # are case-sensitive. Tag keys must be unique per resource. If you
1514
+ # specify more than one tag, separate them by commas.
1109
1515
  #
1110
1516
  #
1111
1517
  #
1112
1518
  # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
1113
1519
  #
1114
1520
  # @option params [required, String] :resource_arn
1115
- # Requests that one or more tags are added to the resource (such as a
1116
- # workgroup) for the specified ARN.
1521
+ # Specifies the ARN of the Athena resource (workgroup or data catalog)
1522
+ # to which tags are to be added.
1117
1523
  #
1118
1524
  # @option params [required, Array<Types::Tag>] :tags
1119
- # One or more tags, separated by commas, to be added to the resource,
1120
- # such as a workgroup.
1525
+ # A collection of one or more tags, separated by commas, to be added to
1526
+ # an Athena workgroup or data catalog resource.
1121
1527
  #
1122
1528
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1123
1529
  #
@@ -1142,17 +1548,14 @@ module Aws::Athena
1142
1548
  req.send_request(options)
1143
1549
  end
1144
1550
 
1145
- # Removes one or more tags from the workgroup resource. Takes as an
1146
- # input a list of TagKey Strings separated by commas, and removes their
1147
- # tags at the same time.
1551
+ # Removes one or more tags from a data catalog or workgroup resource.
1148
1552
  #
1149
1553
  # @option params [required, String] :resource_arn
1150
- # Removes one or more tags from the workgroup resource for the specified
1151
- # ARN.
1554
+ # Specifies the ARN of the resource from which tags are to be removed.
1152
1555
  #
1153
1556
  # @option params [required, Array<String>] :tag_keys
1154
- # Removes the tags associated with one or more tag keys from the
1155
- # workgroup resource.
1557
+ # A comma-separated list of one or more tag keys whose tags are to be
1558
+ # removed from the specified resource.
1156
1559
  #
1157
1560
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1158
1561
  #
@@ -1172,6 +1575,72 @@ module Aws::Athena
1172
1575
  req.send_request(options)
1173
1576
  end
1174
1577
 
1578
+ # Updates the data catalog that has the specified name.
1579
+ #
1580
+ # @option params [required, String] :name
1581
+ # The name of the data catalog to update. The catalog name must be
1582
+ # unique for the AWS account and can use a maximum of 128 alphanumeric,
1583
+ # underscore, at sign, or hyphen characters.
1584
+ #
1585
+ # @option params [required, String] :type
1586
+ # Specifies the type of data catalog to update. Specify `LAMBDA` for a
1587
+ # federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an
1588
+ # external hive metastore.
1589
+ #
1590
+ # @option params [String] :description
1591
+ # New or modified text that describes the data catalog.
1592
+ #
1593
+ # @option params [Hash<String,String>] :parameters
1594
+ # Specifies the Lambda function or functions to use for updating the
1595
+ # data catalog. This is a mapping whose values depend on the catalog
1596
+ # type.
1597
+ #
1598
+ # * For the `HIVE` data catalog type, use the following syntax. The
1599
+ # `metadata-function` parameter is required. `The sdk-version`
1600
+ # parameter is optional and defaults to the currently supported
1601
+ # version.
1602
+ #
1603
+ # `metadata-function=lambda_arn, sdk-version=version_number `
1604
+ #
1605
+ # * For the `LAMBDA` data catalog type, use one of the following sets of
1606
+ # required parameters, but not both.
1607
+ #
1608
+ # * If you have one Lambda function that processes metadata and
1609
+ # another for reading the actual data, use the following syntax.
1610
+ # Both parameters are required.
1611
+ #
1612
+ # `metadata-function=lambda_arn, record-function=lambda_arn `
1613
+ #
1614
+ # * If you have a composite Lambda function that processes both
1615
+ # metadata and data, use the following syntax to specify your Lambda
1616
+ # function.
1617
+ #
1618
+ # `function=lambda_arn `
1619
+ #
1620
+ # * The `GLUE` type has no parameters.
1621
+ #
1622
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1623
+ #
1624
+ # @example Request syntax with placeholder values
1625
+ #
1626
+ # resp = client.update_data_catalog({
1627
+ # name: "CatalogNameString", # required
1628
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
1629
+ # description: "DescriptionString",
1630
+ # parameters: {
1631
+ # "KeyString" => "ParametersMapValue",
1632
+ # },
1633
+ # })
1634
+ #
1635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog AWS API Documentation
1636
+ #
1637
+ # @overload update_data_catalog(params = {})
1638
+ # @param [Hash] params ({})
1639
+ def update_data_catalog(params = {}, options = {})
1640
+ req = build_request(:update_data_catalog, params)
1641
+ req.send_request(options)
1642
+ end
1643
+
1175
1644
  # Updates the workgroup with the specified name. The workgroup's name
1176
1645
  # cannot be changed.
1177
1646
  #
@@ -1236,7 +1705,7 @@ module Aws::Athena
1236
1705
  params: params,
1237
1706
  config: config)
1238
1707
  context[:gem_name] = 'aws-sdk-athena'
1239
- context[:gem_version] = '1.23.0'
1708
+ context[:gem_version] = '1.28.1'
1240
1709
  Seahorse::Client::Request.new(handlers, context)
1241
1710
  end
1242
1711