aws-sdk-athena 1.23.0 → 1.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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