aws-sdk-athena 1.26.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
2
  SHA256:
3
- metadata.gz: 153434d1a7bd6aa063aa1a4b4af05c6c3ecf6ea32b3246e5fcb7fdb0c3081b55
4
- data.tar.gz: fb707b1f72a69b9c02b8d9bbab1b62d4df9e60616cc41c6799733bdcafb8c016
3
+ metadata.gz: 913687b1976344c8567730859d90adfeed4ac208e326b517a2bf3b4eeeeeb77b
4
+ data.tar.gz: 2800a8f40026f383eedc9db0194afbbffe2198e222bc5623e13542126ad778b1
5
5
  SHA512:
6
- metadata.gz: 553322ade016623483639392c26ff9003e6189b76063f298c9096e4bbe4597d9ac60be8c29a9f3f066cb9e3b0b5a39af48718e309fd7e9d09a684e42e0562a87
7
- data.tar.gz: 255eb3599d4c3e8f3062a73d24f3d6472cd5e87531fc949b2121facb9973dee373b60ee80ee73a53e4e1283f8b5870889c0a8616944f472b3f0e122179ff309a
6
+ metadata.gz: e395d09fd149a425e2c18b866e160e84d777a8834171886e5291dfb710c0da053b2b66754d3f7688825c299737e20422ae8615893b8723abbbb5268c03c00569
7
+ data.tar.gz: 5188e0b95bd203e1eef30002889a43cac1ea8a2a66d85dcf5fab29adfc29121cc364d0fc436398db22e08b91bda52ded84fd7a11d471dfb6276b172b22695f20
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-athena/customizations'
45
45
  # @service
46
46
  module Aws::Athena
47
47
 
48
- GEM_VERSION = '1.26.0'
48
+ GEM_VERSION = '1.27.0'
49
49
 
50
50
  end
@@ -398,6 +398,7 @@ module Aws::Athena
398
398
  # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
399
399
  # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String
400
400
  # resp.query_executions[0].query_execution_context.database #=> String
401
+ # resp.query_executions[0].query_execution_context.catalog #=> String
401
402
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
402
403
  # resp.query_executions[0].status.state_change_reason #=> String
403
404
  # resp.query_executions[0].status.submission_date_time #=> Time
@@ -424,6 +425,83 @@ module Aws::Athena
424
425
  req.send_request(options)
425
426
  end
426
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
+
427
505
  # Creates a named query in the specified workgroup. Requires that you
428
506
  # have access to the workgroup.
429
507
  #
@@ -512,8 +590,8 @@ module Aws::Athena
512
590
  # The workgroup description.
513
591
  #
514
592
  # @option params [Array<Types::Tag>] :tags
515
- # One or more tags, separated by commas, that you want to attach to the
516
- # workgroup as you create it.
593
+ # A list of comma separated tags to add to the workgroup that is
594
+ # created.
517
595
  #
518
596
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
519
597
  #
@@ -552,6 +630,28 @@ module Aws::Athena
552
630
  req.send_request(options)
553
631
  end
554
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
+
555
655
  # Deletes the named query if you have access to the workgroup in which
556
656
  # the query was saved.
557
657
  #
@@ -613,6 +713,73 @@ module Aws::Athena
613
713
  req.send_request(options)
614
714
  end
615
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
+
616
783
  # Returns information about a single query. Requires that you have
617
784
  # access to the workgroup in which the query was saved.
618
785
  #
@@ -674,6 +841,7 @@ module Aws::Athena
674
841
  # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
675
842
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
676
843
  # resp.query_execution.query_execution_context.database #=> String
844
+ # resp.query_execution.query_execution_context.catalog #=> String
677
845
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
678
846
  # resp.query_execution.status.state_change_reason #=> String
679
847
  # resp.query_execution.status.submission_date_time #=> Time
@@ -720,8 +888,10 @@ module Aws::Athena
720
888
  # The unique ID of the query execution.
721
889
  #
722
890
  # @option params [String] :next_token
723
- # The token that specifies where to start pagination if a previous
724
- # 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.
725
895
  #
726
896
  # @option params [Integer] :max_results
727
897
  # The maximum number of results (rows) to return in this request.
@@ -770,6 +940,56 @@ module Aws::Athena
770
940
  req.send_request(options)
771
941
  end
772
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
+
773
993
  # Returns information about the workgroup with the specified name.
774
994
  #
775
995
  # @option params [required, String] :work_group
@@ -808,10 +1028,98 @@ module Aws::Athena
808
1028
  req.send_request(options)
809
1029
  end
810
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
+
811
1119
  # Provides a list of available query IDs only for queries saved in the
812
- # specified workgroup. Requires that you have access to the workgroup.
813
- # If a workgroup is not specified, lists the saved queries for the
814
- # primary 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.
815
1123
  #
816
1124
  # For code samples using the AWS SDK for Java, see [Examples and Code
817
1125
  # Samples][1] in the *Amazon Athena User Guide*.
@@ -821,16 +1129,18 @@ module Aws::Athena
821
1129
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
822
1130
  #
823
1131
  # @option params [String] :next_token
824
- # The token that specifies where to start pagination if a previous
825
- # 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.
826
1136
  #
827
1137
  # @option params [Integer] :max_results
828
1138
  # The maximum number of queries to return in this request.
829
1139
  #
830
1140
  # @option params [String] :work_group
831
- # The name of the workgroup from which the named queries are returned.
832
- # If a workgroup is not specified, the saved queries for the primary
833
- # workgroup are returned.
1141
+ # The name of the workgroup from which the named queries are being
1142
+ # returned. If a workgroup is not specified, the saved queries for the
1143
+ # primary workgroup are returned.
834
1144
  #
835
1145
  # @return [Types::ListNamedQueriesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
1146
  #
@@ -875,14 +1185,16 @@ module Aws::Athena
875
1185
  # [1]: http://docs.aws.amazon.com/athena/latest/ug/code-samples.html
876
1186
  #
877
1187
  # @option params [String] :next_token
878
- # The token that specifies where to start pagination if a previous
879
- # 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.
880
1192
  #
881
1193
  # @option params [Integer] :max_results
882
1194
  # The maximum number of query executions to return in this request.
883
1195
  #
884
1196
  # @option params [String] :work_group
885
- # The name of the workgroup from which queries are returned. If a
1197
+ # The name of the workgroup from which queries are being returned. If a
886
1198
  # workgroup is not specified, a list of available query execution IDs
887
1199
  # for the queries in the primary workgroup is returned.
888
1200
  #
@@ -916,25 +1228,96 @@ module Aws::Athena
916
1228
  req.send_request(options)
917
1229
  end
918
1230
 
919
- # 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.
920
1301
  #
921
1302
  # @option params [required, String] :resource_arn
922
- # Lists the tags for the workgroup resource with the specified ARN.
1303
+ # Lists the tags for the resource with the specified ARN.
923
1304
  #
924
1305
  # @option params [String] :next_token
925
1306
  # The token for the next set of results, or null if there are no
926
1307
  # additional results for this request, where the request lists the tags
927
- # for the workgroup resource with the specified ARN.
1308
+ # for the resource with the specified ARN.
928
1309
  #
929
1310
  # @option params [Integer] :max_results
930
1311
  # The maximum number of results to be returned per request that lists
931
- # the tags for the workgroup resource.
1312
+ # the tags for the resource.
932
1313
  #
933
1314
  # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
934
1315
  #
935
1316
  # * {Types::ListTagsForResourceOutput#tags #tags} => Array&lt;Types::Tag&gt;
936
1317
  # * {Types::ListTagsForResourceOutput#next_token #next_token} => String
937
1318
  #
1319
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1320
+ #
938
1321
  # @example Request syntax with placeholder values
939
1322
  #
940
1323
  # resp = client.list_tags_for_resource({
@@ -962,7 +1345,10 @@ module Aws::Athena
962
1345
  # Lists available workgroups for the account.
963
1346
  #
964
1347
  # @option params [String] :next_token
965
- # 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.
966
1352
  #
967
1353
  # @option params [Integer] :max_results
968
1354
  # The maximum number of workgroups to return in this request.
@@ -1000,10 +1386,10 @@ module Aws::Athena
1000
1386
  end
1001
1387
 
1002
1388
  # Runs the SQL query statements contained in the `Query`. Requires you
1003
- # to have access to the workgroup in which the query ran.
1004
- #
1005
- # For code samples using the AWS SDK for Java, see [Examples and Code
1006
- # 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*.
1007
1393
  #
1008
1394
  #
1009
1395
  #
@@ -1053,6 +1439,7 @@ module Aws::Athena
1053
1439
  # client_request_token: "IdempotencyToken",
1054
1440
  # query_execution_context: {
1055
1441
  # database: "DatabaseString",
1442
+ # catalog: "CatalogNameString",
1056
1443
  # },
1057
1444
  # result_configuration: {
1058
1445
  # output_location: "String",
@@ -1110,31 +1497,31 @@ module Aws::Athena
1110
1497
  req.send_request(options)
1111
1498
  end
1112
1499
 
1113
- # Adds one or more tags to the resource, such as a workgroup. A tag is a
1114
- # label that you assign to an AWS Athena resource (a workgroup). Each
1115
- # tag consists of a key and an optional value, both of which you define.
1116
- # Tags enable you to categorize resources (workgroups) in Athena, for
1117
- # example, by purpose, owner, or environment. Use a consistent set of
1118
- # tag keys to make it easier to search and filter workgroups in your
1119
- # account. For best practices, see [AWS Tagging Strategies][1]. The key
1120
- # length is from 1 (minimum) to 128 (maximum) Unicode characters in
1121
- # UTF-8. The tag value length is from 0 (minimum) to 256 (maximum)
1122
- # Unicode characters in UTF-8. You can use letters and numbers
1123
- # representable in UTF-8, and the following characters: + - = . \_ : /
1124
- # @. Tag keys and values are case-sensitive. Tag keys must be unique per
1125
- # 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.
1126
1513
  #
1127
1514
  #
1128
1515
  #
1129
1516
  # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
1130
1517
  #
1131
1518
  # @option params [required, String] :resource_arn
1132
- # Requests that one or more tags are added to the resource (such as a
1133
- # 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.
1134
1521
  #
1135
1522
  # @option params [required, Array<Types::Tag>] :tags
1136
- # One or more tags, separated by commas, to be added to the resource,
1137
- # 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.
1138
1525
  #
1139
1526
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1140
1527
  #
@@ -1159,17 +1546,14 @@ module Aws::Athena
1159
1546
  req.send_request(options)
1160
1547
  end
1161
1548
 
1162
- # Removes one or more tags from the workgroup resource. Takes as an
1163
- # input a list of TagKey Strings separated by commas, and removes their
1164
- # tags at the same time.
1549
+ # Removes one or more tags from a data catalog or workgroup resource.
1165
1550
  #
1166
1551
  # @option params [required, String] :resource_arn
1167
- # Removes one or more tags from the workgroup resource for the specified
1168
- # ARN.
1552
+ # Specifies the ARN of the resource from which tags are to be removed.
1169
1553
  #
1170
1554
  # @option params [required, Array<String>] :tag_keys
1171
- # Removes the tags associated with one or more tag keys from the
1172
- # workgroup resource.
1555
+ # A comma-separated list of one or more tag keys whose tags are to be
1556
+ # removed from the specified resource.
1173
1557
  #
1174
1558
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1175
1559
  #
@@ -1189,6 +1573,72 @@ module Aws::Athena
1189
1573
  req.send_request(options)
1190
1574
  end
1191
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
+
1192
1642
  # Updates the workgroup with the specified name. The workgroup's name
1193
1643
  # cannot be changed.
1194
1644
  #
@@ -1253,7 +1703,7 @@ module Aws::Athena
1253
1703
  params: params,
1254
1704
  config: config)
1255
1705
  context[:gem_name] = 'aws-sdk-athena'
1256
- context[:gem_version] = '1.26.0'
1706
+ context[:gem_version] = '1.27.0'
1257
1707
  Seahorse::Client::Request.new(handlers, context)
1258
1708
  end
1259
1709