aws-sdk-athena 1.97.0 → 1.99.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: bbae55c73b69ff1e49894951eb92f80bd8724b3b1968968eef3f1c56647c376f
4
- data.tar.gz: 913d7682f2f653d3a3f0865d85fc3196a94e078d7b9279c9c996fb1597ac42a9
3
+ metadata.gz: 82a9402a613cd2b1c60191759376dafec87475010be880a6c4d3369e8cba8876
4
+ data.tar.gz: f2f82a34150fcb50ca7f833f7b4ef469fa8366a3cda155d083e8c1039cb9a475
5
5
  SHA512:
6
- metadata.gz: b6c7f11069da6047f8be4ba3d58cd1ef56f70bcf47234e72b972df765eeb9aef8ec310d19b9e937cbf3bfff7fc1dd7c335f55d1773eb217c3b7eb7275a568785
7
- data.tar.gz: 1b87a2f0f6b5d1fa1b39f019119d8139b209771459b2f2160a2b4cfc80ea021d845d70988e5135f6fabdb89cc5765068910264d54a7b9c7d9a0212a3b08b3382
6
+ metadata.gz: ea32e84caf181d5ff7cc8a950f78b621fe4b5a59553336dacdc4d4549d08f766ec892b7720a206486f00107204ec59680562206f873538e2275b42f4d4aee4b2
7
+ data.tar.gz: 84fd5ef0bb6b8ccc5ed8abbf65b5ed8e07525bc3ce71a0e062f23d7e38784d65ce5c8308ae7ca0433a0f94826c738586d85ad769d1ad5cf4471134bad49803ce
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.99.0 (2025-01-15)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.98.0 (2024-12-03)
10
+ ------------------
11
+
12
+ * Feature - Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only.
13
+
4
14
  1.97.0 (2024-11-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.97.0
1
+ 1.99.0
@@ -257,11 +257,34 @@ module Aws::Athena
257
257
  # Used when loading credentials from the shared credentials file
258
258
  # at HOME/.aws/credentials. When not specified, 'default' is used.
259
259
  #
260
+ # @option options [String] :request_checksum_calculation ("when_supported")
261
+ # Determines when a checksum will be calculated for request payloads. Values are:
262
+ #
263
+ # * `when_supported` - (default) When set, a checksum will be
264
+ # calculated for all request payloads of operations modeled with the
265
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
266
+ # `requestAlgorithmMember` is modeled.
267
+ # * `when_required` - When set, a checksum will only be calculated for
268
+ # request payloads of operations modeled with the `httpChecksum` trait where
269
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
270
+ # is modeled and supplied.
271
+ #
260
272
  # @option options [Integer] :request_min_compression_size_bytes (10240)
261
273
  # The minimum size in bytes that triggers compression for request
262
274
  # bodies. The value must be non-negative integer value between 0
263
275
  # and 10485780 bytes inclusive.
264
276
  #
277
+ # @option options [String] :response_checksum_validation ("when_supported")
278
+ # Determines when checksum validation will be performed on response payloads. Values are:
279
+ #
280
+ # * `when_supported` - (default) When set, checksum validation is performed on all
281
+ # response payloads of operations modeled with the `httpChecksum` trait where
282
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
283
+ # are supported.
284
+ # * `when_required` - When set, checksum validation is not performed on
285
+ # response payloads of operations unless the checksum algorithm is supported and
286
+ # the `requestValidationModeMember` member is set to `ENABLED`.
287
+ #
265
288
  # @option options [Proc] :retry_backoff
266
289
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
290
  # This option is only used in the `legacy` retry mode.
@@ -692,6 +715,20 @@ module Aws::Athena
692
715
  # properties. Catalogs created are visible to all users of the same
693
716
  # Amazon Web Services account.
694
717
  #
718
+ # This API operation creates the following resources.
719
+ #
720
+ # * CFN Stack Name with a maximum length of 128 characters and prefix
721
+ # `athenafederatedcatalog-CATALOG_NAME_SANITIZED` with length 23
722
+ # characters.
723
+ #
724
+ # * Lambda Function Name with a maximum length of 64 characters and
725
+ # prefix `athenafederatedcatalog_CATALOG_NAME_SANITIZED` with length
726
+ # 23 characters.
727
+ #
728
+ # * Glue Connection Name with a maximum length of 255 characters and a
729
+ # prefix `athenafederatedcatalog_CATALOG_NAME_SANITIZED` with length
730
+ # 23 characters.
731
+ #
695
732
  # @option params [required, String] :name
696
733
  # The name of the data catalog to create. The catalog name must be
697
734
  # unique for the Amazon Web Services account and can use a maximum of
@@ -699,10 +736,25 @@ module Aws::Athena
699
736
  # remainder of the length constraint of 256 is reserved for use by
700
737
  # Athena.
701
738
  #
739
+ # For `FEDERATED` type the catalog name has following considerations and
740
+ # limits:
741
+ #
742
+ # * The catalog name allows special characters such as `_ , @ , \ , - `.
743
+ # These characters are replaced with a hyphen (-) when creating the
744
+ # CFN Stack Name and with an underscore (\_) when creating the Lambda
745
+ # Function and Glue Connection Name.
746
+ #
747
+ # * The catalog name has a theoretical limit of 128 characters. However,
748
+ # since we use it to create other resources that allow less characters
749
+ # and we prepend a prefix to it, the actual catalog name limit for
750
+ # `FEDERATED` catalog is 64 - 23 = 41 characters.
751
+ #
702
752
  # @option params [required, String] :type
703
753
  # The type of data catalog to create: `LAMBDA` for a federated catalog,
704
- # `HIVE` for an external hive metastore, or `GLUE` for an Glue Data
705
- # Catalog.
754
+ # `GLUE` for an Glue Data Catalog, and `HIVE` for an external Apache
755
+ # Hive metastore. `FEDERATED` is a federated catalog for which Athena
756
+ # creates the connection and the Lambda function for you based on the
757
+ # parameters that you pass.
706
758
  #
707
759
  # @option params [String] :description
708
760
  # A description of the data catalog to be created.
@@ -744,18 +796,41 @@ module Aws::Athena
744
796
  # can have only one and cannot modify.
745
797
  #
746
798
  # ^
799
+ # * The `FEDERATED` data catalog type uses one of the following
800
+ # parameters, but not both. Use `connection-arn` for an existing Glue
801
+ # connection. Use `connection-type` and `connection-properties` to
802
+ # specify the configuration setting for a new connection.
803
+ #
804
+ # * `connection-arn:<glue_connection_arn_to_reuse> `
805
+ #
806
+ # * `lambda-role-arn` (optional): The execution role to use for the
807
+ # Lambda function. If not provided, one is created.
808
+ #
809
+ # * `connection-type:MYSQL|REDSHIFT|....,
810
+ # connection-properties:"<json_string>"`
811
+ #
812
+ # For <i> <code>&lt;json_string&gt;</code> </i>, use escaped JSON
813
+ # text, as in the following example.
814
+ #
815
+ # `"{"spill_bucket":"my_spill","spill_prefix":"athena-spill","host":"abc12345.snowflakecomputing.com","port":"1234","warehouse":"DEV_WH","database":"TEST","schema":"PUBLIC","SecretArn":"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j"}"`
747
816
  #
748
817
  # @option params [Array<Types::Tag>] :tags
749
818
  # A list of comma separated tags to add to the data catalog that is
750
- # created.
819
+ # created. All the resources that are created by the `CreateDataCatalog`
820
+ # API operation with `FEDERATED` type will have the tag
821
+ # `federated_athena_datacatalog="true"`. This includes the CFN Stack,
822
+ # Glue Connection, Athena DataCatalog, and all the resources created as
823
+ # part of the CFN Stack (Lambda Function, IAM policies/roles).
751
824
  #
752
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
825
+ # @return [Types::CreateDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
826
+ #
827
+ # * {Types::CreateDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
753
828
  #
754
829
  # @example Request syntax with placeholder values
755
830
  #
756
831
  # resp = client.create_data_catalog({
757
832
  # name: "CatalogNameString", # required
758
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
833
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
759
834
  # description: "DescriptionString",
760
835
  # parameters: {
761
836
  # "KeyString" => "ParametersMapValue",
@@ -768,6 +843,17 @@ module Aws::Athena
768
843
  # ],
769
844
  # })
770
845
  #
846
+ # @example Response structure
847
+ #
848
+ # resp.data_catalog.name #=> String
849
+ # resp.data_catalog.description #=> String
850
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
851
+ # resp.data_catalog.parameters #=> Hash
852
+ # resp.data_catalog.parameters["KeyString"] #=> String
853
+ # resp.data_catalog.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED", "CREATE_FAILED_CLEANUP_IN_PROGRESS", "CREATE_FAILED_CLEANUP_COMPLETE", "CREATE_FAILED_CLEANUP_FAILED", "DELETE_IN_PROGRESS", "DELETE_COMPLETE", "DELETE_FAILED"
854
+ # resp.data_catalog.connection_type #=> String, one of "DYNAMODB", "MYSQL", "POSTGRESQL", "REDSHIFT", "ORACLE", "SYNAPSE", "SQLSERVER", "DB2", "OPENSEARCH", "BIGQUERY", "GOOGLECLOUDSTORAGE", "HBASE", "DOCUMENTDB", "CMDB", "TPCDS", "TIMESTREAM", "SAPHANA", "SNOWFLAKE", "DATALAKEGEN2", "DB2AS400"
855
+ # resp.data_catalog.error #=> String
856
+ #
771
857
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog AWS API Documentation
772
858
  #
773
859
  # @overload create_data_catalog(params = {})
@@ -1077,14 +1163,34 @@ module Aws::Athena
1077
1163
  # @option params [required, String] :name
1078
1164
  # The name of the data catalog to delete.
1079
1165
  #
1080
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1166
+ # @option params [Boolean] :delete_catalog_only
1167
+ # Deletes the Athena Data Catalog. You can only use this with the
1168
+ # `FEDERATED` catalogs. You usually perform this before registering the
1169
+ # connector with Glue Data Catalog. After deletion, you will have to
1170
+ # manage the Glue Connection and Lambda function.
1171
+ #
1172
+ # @return [Types::DeleteDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1173
+ #
1174
+ # * {Types::DeleteDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
1081
1175
  #
1082
1176
  # @example Request syntax with placeholder values
1083
1177
  #
1084
1178
  # resp = client.delete_data_catalog({
1085
1179
  # name: "CatalogNameString", # required
1180
+ # delete_catalog_only: false,
1086
1181
  # })
1087
1182
  #
1183
+ # @example Response structure
1184
+ #
1185
+ # resp.data_catalog.name #=> String
1186
+ # resp.data_catalog.description #=> String
1187
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
1188
+ # resp.data_catalog.parameters #=> Hash
1189
+ # resp.data_catalog.parameters["KeyString"] #=> String
1190
+ # resp.data_catalog.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED", "CREATE_FAILED_CLEANUP_IN_PROGRESS", "CREATE_FAILED_CLEANUP_COMPLETE", "CREATE_FAILED_CLEANUP_FAILED", "DELETE_IN_PROGRESS", "DELETE_COMPLETE", "DELETE_FAILED"
1191
+ # resp.data_catalog.connection_type #=> String, one of "DYNAMODB", "MYSQL", "POSTGRESQL", "REDSHIFT", "ORACLE", "SYNAPSE", "SQLSERVER", "DB2", "OPENSEARCH", "BIGQUERY", "GOOGLECLOUDSTORAGE", "HBASE", "DOCUMENTDB", "CMDB", "TPCDS", "TIMESTREAM", "SAPHANA", "SNOWFLAKE", "DATALAKEGEN2", "DB2AS400"
1192
+ # resp.data_catalog.error #=> String
1193
+ #
1088
1194
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog AWS API Documentation
1089
1195
  #
1090
1196
  # @overload delete_data_catalog(params = {})
@@ -1436,9 +1542,12 @@ module Aws::Athena
1436
1542
  #
1437
1543
  # resp.data_catalog.name #=> String
1438
1544
  # resp.data_catalog.description #=> String
1439
- # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1545
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
1440
1546
  # resp.data_catalog.parameters #=> Hash
1441
1547
  # resp.data_catalog.parameters["KeyString"] #=> String
1548
+ # resp.data_catalog.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED", "CREATE_FAILED_CLEANUP_IN_PROGRESS", "CREATE_FAILED_CLEANUP_COMPLETE", "CREATE_FAILED_CLEANUP_FAILED", "DELETE_IN_PROGRESS", "DELETE_COMPLETE", "DELETE_FAILED"
1549
+ # resp.data_catalog.connection_type #=> String, one of "DYNAMODB", "MYSQL", "POSTGRESQL", "REDSHIFT", "ORACLE", "SYNAPSE", "SQLSERVER", "DB2", "OPENSEARCH", "BIGQUERY", "GOOGLECLOUDSTORAGE", "HBASE", "DOCUMENTDB", "CMDB", "TPCDS", "TIMESTREAM", "SAPHANA", "SNOWFLAKE", "DATALAKEGEN2", "DB2AS400"
1550
+ # resp.data_catalog.error #=> String
1442
1551
  #
1443
1552
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
1444
1553
  #
@@ -2265,7 +2374,10 @@ module Aws::Athena
2265
2374
  #
2266
2375
  # resp.data_catalogs_summary #=> Array
2267
2376
  # resp.data_catalogs_summary[0].catalog_name #=> String
2268
- # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE"
2377
+ # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
2378
+ # resp.data_catalogs_summary[0].status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED", "CREATE_FAILED_CLEANUP_IN_PROGRESS", "CREATE_FAILED_CLEANUP_COMPLETE", "CREATE_FAILED_CLEANUP_FAILED", "DELETE_IN_PROGRESS", "DELETE_COMPLETE", "DELETE_FAILED"
2379
+ # resp.data_catalogs_summary[0].connection_type #=> String, one of "DYNAMODB", "MYSQL", "POSTGRESQL", "REDSHIFT", "ORACLE", "SYNAPSE", "SQLSERVER", "DB2", "OPENSEARCH", "BIGQUERY", "GOOGLECLOUDSTORAGE", "HBASE", "DOCUMENTDB", "CMDB", "TPCDS", "TIMESTREAM", "SAPHANA", "SNOWFLAKE", "DATALAKEGEN2", "DB2AS400"
2380
+ # resp.data_catalogs_summary[0].error #=> String
2269
2381
  # resp.next_token #=> String
2270
2382
  #
2271
2383
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs AWS API Documentation
@@ -3462,7 +3574,7 @@ module Aws::Athena
3462
3574
  #
3463
3575
  # resp = client.update_data_catalog({
3464
3576
  # name: "CatalogNameString", # required
3465
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
3577
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
3466
3578
  # description: "DescriptionString",
3467
3579
  # parameters: {
3468
3580
  # "KeyString" => "ParametersMapValue",
@@ -3720,7 +3832,7 @@ module Aws::Athena
3720
3832
  tracer: tracer
3721
3833
  )
3722
3834
  context[:gem_name] = 'aws-sdk-athena'
3723
- context[:gem_version] = '1.97.0'
3835
+ context[:gem_version] = '1.99.0'
3724
3836
  Seahorse::Client::Request.new(handlers, context)
3725
3837
  end
3726
3838
 
@@ -62,6 +62,7 @@ module Aws::Athena
62
62
  ColumnList = Shapes::ListShape.new(name: 'ColumnList')
63
63
  ColumnNullable = Shapes::StringShape.new(name: 'ColumnNullable')
64
64
  CommentString = Shapes::StringShape.new(name: 'CommentString')
65
+ ConnectionType = Shapes::StringShape.new(name: 'ConnectionType')
65
66
  CoordinatorDpuSize = Shapes::IntegerShape.new(name: 'CoordinatorDpuSize')
66
67
  CreateCapacityReservationInput = Shapes::StructureShape.new(name: 'CreateCapacityReservationInput')
67
68
  CreateCapacityReservationOutput = Shapes::StructureShape.new(name: 'CreateCapacityReservationOutput')
@@ -79,6 +80,7 @@ module Aws::Athena
79
80
  CreateWorkGroupOutput = Shapes::StructureShape.new(name: 'CreateWorkGroupOutput')
80
81
  CustomerContentEncryptionConfiguration = Shapes::StructureShape.new(name: 'CustomerContentEncryptionConfiguration')
81
82
  DataCatalog = Shapes::StructureShape.new(name: 'DataCatalog')
83
+ DataCatalogStatus = Shapes::StringShape.new(name: 'DataCatalogStatus')
82
84
  DataCatalogSummary = Shapes::StructureShape.new(name: 'DataCatalogSummary')
83
85
  DataCatalogSummaryList = Shapes::ListShape.new(name: 'DataCatalogSummaryList')
84
86
  DataCatalogType = Shapes::StringShape.new(name: 'DataCatalogType')
@@ -477,6 +479,7 @@ module Aws::Athena
477
479
  CreateDataCatalogInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
478
480
  CreateDataCatalogInput.struct_class = Types::CreateDataCatalogInput
479
481
 
482
+ CreateDataCatalogOutput.add_member(:data_catalog, Shapes::ShapeRef.new(shape: DataCatalog, location_name: "DataCatalog"))
480
483
  CreateDataCatalogOutput.struct_class = Types::CreateDataCatalogOutput
481
484
 
482
485
  CreateNamedQueryInput.add_member(:name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "Name"))
@@ -529,10 +532,16 @@ module Aws::Athena
529
532
  DataCatalog.add_member(:description, Shapes::ShapeRef.new(shape: DescriptionString, location_name: "Description"))
530
533
  DataCatalog.add_member(:type, Shapes::ShapeRef.new(shape: DataCatalogType, required: true, location_name: "Type"))
531
534
  DataCatalog.add_member(:parameters, Shapes::ShapeRef.new(shape: ParametersMap, location_name: "Parameters"))
535
+ DataCatalog.add_member(:status, Shapes::ShapeRef.new(shape: DataCatalogStatus, location_name: "Status"))
536
+ DataCatalog.add_member(:connection_type, Shapes::ShapeRef.new(shape: ConnectionType, location_name: "ConnectionType"))
537
+ DataCatalog.add_member(:error, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Error"))
532
538
  DataCatalog.struct_class = Types::DataCatalog
533
539
 
534
540
  DataCatalogSummary.add_member(:catalog_name, Shapes::ShapeRef.new(shape: CatalogNameString, location_name: "CatalogName"))
535
541
  DataCatalogSummary.add_member(:type, Shapes::ShapeRef.new(shape: DataCatalogType, location_name: "Type"))
542
+ DataCatalogSummary.add_member(:status, Shapes::ShapeRef.new(shape: DataCatalogStatus, location_name: "Status"))
543
+ DataCatalogSummary.add_member(:connection_type, Shapes::ShapeRef.new(shape: ConnectionType, location_name: "ConnectionType"))
544
+ DataCatalogSummary.add_member(:error, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Error"))
536
545
  DataCatalogSummary.struct_class = Types::DataCatalogSummary
537
546
 
538
547
  DataCatalogSummaryList.member = Shapes::ShapeRef.new(shape: DataCatalogSummary)
@@ -553,8 +562,10 @@ module Aws::Athena
553
562
  DeleteCapacityReservationOutput.struct_class = Types::DeleteCapacityReservationOutput
554
563
 
555
564
  DeleteDataCatalogInput.add_member(:name, Shapes::ShapeRef.new(shape: CatalogNameString, required: true, location_name: "Name"))
565
+ DeleteDataCatalogInput.add_member(:delete_catalog_only, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteCatalogOnly"))
556
566
  DeleteDataCatalogInput.struct_class = Types::DeleteDataCatalogInput
557
567
 
568
+ DeleteDataCatalogOutput.add_member(:data_catalog, Shapes::ShapeRef.new(shape: DataCatalog, location_name: "DataCatalog"))
558
569
  DeleteDataCatalogOutput.struct_class = Types::DeleteDataCatalogOutput
559
570
 
560
571
  DeleteNamedQueryInput.add_member(:named_query_id, Shapes::ShapeRef.new(shape: NamedQueryId, required: true, location_name: "NamedQueryId", metadata: {"idempotencyToken"=>true}))
@@ -601,12 +601,27 @@ module Aws::Athena
601
601
  # 127 alphanumeric, underscore, at sign, or hyphen characters. The
602
602
  # remainder of the length constraint of 256 is reserved for use by
603
603
  # Athena.
604
+ #
605
+ # For `FEDERATED` type the catalog name has following considerations
606
+ # and limits:
607
+ #
608
+ # * The catalog name allows special characters such as `_ , @ , \ , -
609
+ # `. These characters are replaced with a hyphen (-) when creating
610
+ # the CFN Stack Name and with an underscore (\_) when creating the
611
+ # Lambda Function and Glue Connection Name.
612
+ #
613
+ # * The catalog name has a theoretical limit of 128 characters.
614
+ # However, since we use it to create other resources that allow less
615
+ # characters and we prepend a prefix to it, the actual catalog name
616
+ # limit for `FEDERATED` catalog is 64 - 23 = 41 characters.
604
617
  # @return [String]
605
618
  #
606
619
  # @!attribute [rw] type
607
620
  # The type of data catalog to create: `LAMBDA` for a federated
608
- # catalog, `HIVE` for an external hive metastore, or `GLUE` for an
609
- # Glue Data Catalog.
621
+ # catalog, `GLUE` for an Glue Data Catalog, and `HIVE` for an external
622
+ # Apache Hive metastore. `FEDERATED` is a federated catalog for which
623
+ # Athena creates the connection and the Lambda function for you based
624
+ # on the parameters that you pass.
610
625
  # @return [String]
611
626
  #
612
627
  # @!attribute [rw] description
@@ -650,11 +665,33 @@ module Aws::Athena
650
665
  # you can have only one and cannot modify.
651
666
  #
652
667
  # ^
668
+ # * The `FEDERATED` data catalog type uses one of the following
669
+ # parameters, but not both. Use `connection-arn` for an existing
670
+ # Glue connection. Use `connection-type` and `connection-properties`
671
+ # to specify the configuration setting for a new connection.
672
+ #
673
+ # * `connection-arn:<glue_connection_arn_to_reuse> `
674
+ #
675
+ # * `lambda-role-arn` (optional): The execution role to use for the
676
+ # Lambda function. If not provided, one is created.
677
+ #
678
+ # * `connection-type:MYSQL|REDSHIFT|....,
679
+ # connection-properties:"<json_string>"`
680
+ #
681
+ # For <i> <code>&lt;json_string&gt;</code> </i>, use escaped JSON
682
+ # text, as in the following example.
683
+ #
684
+ # `"{"spill_bucket":"my_spill","spill_prefix":"athena-spill","host":"abc12345.snowflakecomputing.com","port":"1234","warehouse":"DEV_WH","database":"TEST","schema":"PUBLIC","SecretArn":"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j"}"`
653
685
  # @return [Hash<String,String>]
654
686
  #
655
687
  # @!attribute [rw] tags
656
688
  # A list of comma separated tags to add to the data catalog that is
657
- # created.
689
+ # created. All the resources that are created by the
690
+ # `CreateDataCatalog` API operation with `FEDERATED` type will have
691
+ # the tag `federated_athena_datacatalog="true"`. This includes the CFN
692
+ # Stack, Glue Connection, Athena DataCatalog, and all the resources
693
+ # created as part of the CFN Stack (Lambda Function, IAM
694
+ # policies/roles).
658
695
  # @return [Array<Types::Tag>]
659
696
  #
660
697
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalogInput AWS API Documentation
@@ -669,9 +706,23 @@ module Aws::Athena
669
706
  include Aws::Structure
670
707
  end
671
708
 
709
+ # @!attribute [rw] data_catalog
710
+ # Contains information about a data catalog in an Amazon Web Services
711
+ # account.
712
+ #
713
+ # <note markdown="1"> In the Athena console, data catalogs are listed as "data sources"
714
+ # on the **Data sources** page under the **Data source name** column.
715
+ #
716
+ # </note>
717
+ # @return [Types::DataCatalog]
718
+ #
672
719
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalogOutput AWS API Documentation
673
720
  #
674
- class CreateDataCatalogOutput < Aws::EmptyStructure; end
721
+ class CreateDataCatalogOutput < Struct.new(
722
+ :data_catalog)
723
+ SENSITIVE = []
724
+ include Aws::Structure
725
+ end
675
726
 
676
727
  # @!attribute [rw] name
677
728
  # The query name.
@@ -926,8 +977,10 @@ module Aws::Athena
926
977
  #
927
978
  # @!attribute [rw] type
928
979
  # The type of data catalog to create: `LAMBDA` for a federated
929
- # catalog, `HIVE` for an external hive metastore, or `GLUE` for an
930
- # Glue Data Catalog.
980
+ # catalog, `GLUE` for an Glue Data Catalog, and `HIVE` for an external
981
+ # Apache Hive metastore. `FEDERATED` is a federated catalog for which
982
+ # Athena creates the connection and the Lambda function for you based
983
+ # on the parameters that you pass.
931
984
  # @return [String]
932
985
  #
933
986
  # @!attribute [rw] parameters
@@ -966,15 +1019,82 @@ module Aws::Athena
966
1019
  # you can have only one and cannot modify.
967
1020
  #
968
1021
  # ^
1022
+ # * The `FEDERATED` data catalog type uses one of the following
1023
+ # parameters, but not both. Use `connection-arn` for an existing
1024
+ # Glue connection. Use `connection-type` and `connection-properties`
1025
+ # to specify the configuration setting for a new connection.
1026
+ #
1027
+ # * `connection-arn:<glue_connection_arn_to_reuse> `
1028
+ #
1029
+ # * `connection-type:MYSQL|REDSHIFT|....,
1030
+ # connection-properties:"<json_string>"`
1031
+ #
1032
+ # For <i> <code>&lt;json_string&gt;</code> </i>, use escaped JSON
1033
+ # text, as in the following example.
1034
+ #
1035
+ # `"{"spill_bucket":"my_spill","spill_prefix":"athena-spill","host":"abc12345.snowflakecomputing.com","port":"1234","warehouse":"DEV_WH","database":"TEST","schema":"PUBLIC","SecretArn":"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j"}"`
969
1036
  # @return [Hash<String,String>]
970
1037
  #
1038
+ # @!attribute [rw] status
1039
+ # The status of the creation or deletion of the data catalog.
1040
+ #
1041
+ # * The `LAMBDA`, `GLUE`, and `HIVE` data catalog types are created
1042
+ # synchronously. Their status is either `CREATE_COMPLETE` or
1043
+ # `CREATE_FAILED`.
1044
+ #
1045
+ # * The `FEDERATED` data catalog type is created asynchronously.
1046
+ #
1047
+ # Data catalog creation status:
1048
+ #
1049
+ # * `CREATE_IN_PROGRESS`: Federated data catalog creation in progress.
1050
+ #
1051
+ # * `CREATE_COMPLETE`: Data catalog creation complete.
1052
+ #
1053
+ # * `CREATE_FAILED`: Data catalog could not be created.
1054
+ #
1055
+ # * `CREATE_FAILED_CLEANUP_IN_PROGRESS`: Federated data catalog
1056
+ # creation failed and is being removed.
1057
+ #
1058
+ # * `CREATE_FAILED_CLEANUP_COMPLETE`: Federated data catalog creation
1059
+ # failed and was removed.
1060
+ #
1061
+ # * `CREATE_FAILED_CLEANUP_FAILED`: Federated data catalog creation
1062
+ # failed but could not be removed.
1063
+ #
1064
+ # Data catalog deletion status:
1065
+ #
1066
+ # * `DELETE_IN_PROGRESS`: Federated data catalog deletion in progress.
1067
+ #
1068
+ # * `DELETE_COMPLETE`: Federated data catalog deleted.
1069
+ #
1070
+ # * `DELETE_FAILED`: Federated data catalog could not be deleted.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] connection_type
1074
+ # The type of connection for a `FEDERATED` data catalog (for example,
1075
+ # `REDSHIFT`, `MYSQL`, or `SQLSERVER`). For information about
1076
+ # individual connectors, see [Available data source connectors][1].
1077
+ #
1078
+ #
1079
+ #
1080
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html
1081
+ # @return [String]
1082
+ #
1083
+ # @!attribute [rw] error
1084
+ # Text of the error that occurred during data catalog creation or
1085
+ # deletion.
1086
+ # @return [String]
1087
+ #
971
1088
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalog AWS API Documentation
972
1089
  #
973
1090
  class DataCatalog < Struct.new(
974
1091
  :name,
975
1092
  :description,
976
1093
  :type,
977
- :parameters)
1094
+ :parameters,
1095
+ :status,
1096
+ :connection_type,
1097
+ :error)
978
1098
  SENSITIVE = []
979
1099
  include Aws::Structure
980
1100
  end
@@ -994,11 +1114,64 @@ module Aws::Athena
994
1114
  # The data catalog type.
995
1115
  # @return [String]
996
1116
  #
1117
+ # @!attribute [rw] status
1118
+ # The status of the creation or deletion of the data catalog.
1119
+ #
1120
+ # * The `LAMBDA`, `GLUE`, and `HIVE` data catalog types are created
1121
+ # synchronously. Their status is either `CREATE_COMPLETE` or
1122
+ # `CREATE_FAILED`.
1123
+ #
1124
+ # * The `FEDERATED` data catalog type is created asynchronously.
1125
+ #
1126
+ # Data catalog creation status:
1127
+ #
1128
+ # * `CREATE_IN_PROGRESS`: Federated data catalog creation in progress.
1129
+ #
1130
+ # * `CREATE_COMPLETE`: Data catalog creation complete.
1131
+ #
1132
+ # * `CREATE_FAILED`: Data catalog could not be created.
1133
+ #
1134
+ # * `CREATE_FAILED_CLEANUP_IN_PROGRESS`: Federated data catalog
1135
+ # creation failed and is being removed.
1136
+ #
1137
+ # * `CREATE_FAILED_CLEANUP_COMPLETE`: Federated data catalog creation
1138
+ # failed and was removed.
1139
+ #
1140
+ # * `CREATE_FAILED_CLEANUP_FAILED`: Federated data catalog creation
1141
+ # failed but could not be removed.
1142
+ #
1143
+ # Data catalog deletion status:
1144
+ #
1145
+ # * `DELETE_IN_PROGRESS`: Federated data catalog deletion in progress.
1146
+ #
1147
+ # * `DELETE_COMPLETE`: Federated data catalog deleted.
1148
+ #
1149
+ # * `DELETE_FAILED`: Federated data catalog could not be deleted.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] connection_type
1153
+ # The type of connection for a `FEDERATED` data catalog (for example,
1154
+ # `REDSHIFT`, `MYSQL`, or `SQLSERVER`). For information about
1155
+ # individual connectors, see [Available data source connectors][1].
1156
+ #
1157
+ #
1158
+ #
1159
+ # [1]: https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html
1160
+ # @return [String]
1161
+ #
1162
+ # @!attribute [rw] error
1163
+ # Text of the error that occurred during data catalog creation or
1164
+ # deletion.
1165
+ # @return [String]
1166
+ #
997
1167
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalogSummary AWS API Documentation
998
1168
  #
999
1169
  class DataCatalogSummary < Struct.new(
1000
1170
  :catalog_name,
1001
- :type)
1171
+ :type,
1172
+ :status,
1173
+ :connection_type,
1174
+ :error)
1002
1175
  SENSITIVE = []
1003
1176
  include Aws::Structure
1004
1177
  end
@@ -1061,17 +1234,39 @@ module Aws::Athena
1061
1234
  # The name of the data catalog to delete.
1062
1235
  # @return [String]
1063
1236
  #
1237
+ # @!attribute [rw] delete_catalog_only
1238
+ # Deletes the Athena Data Catalog. You can only use this with the
1239
+ # `FEDERATED` catalogs. You usually perform this before registering
1240
+ # the connector with Glue Data Catalog. After deletion, you will have
1241
+ # to manage the Glue Connection and Lambda function.
1242
+ # @return [Boolean]
1243
+ #
1064
1244
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalogInput AWS API Documentation
1065
1245
  #
1066
1246
  class DeleteDataCatalogInput < Struct.new(
1067
- :name)
1247
+ :name,
1248
+ :delete_catalog_only)
1068
1249
  SENSITIVE = []
1069
1250
  include Aws::Structure
1070
1251
  end
1071
1252
 
1253
+ # @!attribute [rw] data_catalog
1254
+ # Contains information about a data catalog in an Amazon Web Services
1255
+ # account.
1256
+ #
1257
+ # <note markdown="1"> In the Athena console, data catalogs are listed as "data sources"
1258
+ # on the **Data sources** page under the **Data source name** column.
1259
+ #
1260
+ # </note>
1261
+ # @return [Types::DataCatalog]
1262
+ #
1072
1263
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalogOutput AWS API Documentation
1073
1264
  #
1074
- class DeleteDataCatalogOutput < Aws::EmptyStructure; end
1265
+ class DeleteDataCatalogOutput < Struct.new(
1266
+ :data_catalog)
1267
+ SENSITIVE = []
1268
+ include Aws::Structure
1269
+ end
1075
1270
 
1076
1271
  # @!attribute [rw] named_query_id
1077
1272
  # The unique ID of the query to delete.
@@ -54,7 +54,7 @@ module Aws::Athena
54
54
  autoload :EndpointProvider, 'aws-sdk-athena/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-athena/endpoints'
56
56
 
57
- GEM_VERSION = '1.97.0'
57
+ GEM_VERSION = '1.99.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -39,7 +39,9 @@ module Aws
39
39
  ?logger: untyped,
40
40
  ?max_attempts: Integer,
41
41
  ?profile: String,
42
+ ?request_checksum_calculation: String,
42
43
  ?request_min_compression_size_bytes: Integer,
44
+ ?response_checksum_validation: String,
43
45
  ?retry_backoff: Proc,
44
46
  ?retry_base_delay: Float,
45
47
  ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
@@ -137,11 +139,12 @@ module Aws
137
139
 
138
140
  interface _CreateDataCatalogResponseSuccess
139
141
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateDataCatalogOutput]
142
+ def data_catalog: () -> Types::DataCatalog
140
143
  end
141
144
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#create_data_catalog-instance_method
142
145
  def create_data_catalog: (
143
146
  name: ::String,
144
- type: ("LAMBDA" | "GLUE" | "HIVE"),
147
+ type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED"),
145
148
  ?description: ::String,
146
149
  ?parameters: Hash[::String, ::String],
147
150
  ?tags: Array[
@@ -267,10 +270,12 @@ module Aws
267
270
 
268
271
  interface _DeleteDataCatalogResponseSuccess
269
272
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteDataCatalogOutput]
273
+ def data_catalog: () -> Types::DataCatalog
270
274
  end
271
275
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#delete_data_catalog-instance_method
272
276
  def delete_data_catalog: (
273
- name: ::String
277
+ name: ::String,
278
+ ?delete_catalog_only: bool
274
279
  ) -> _DeleteDataCatalogResponseSuccess
275
280
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteDataCatalogResponseSuccess
276
281
 
@@ -907,7 +912,7 @@ module Aws
907
912
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#update_data_catalog-instance_method
908
913
  def update_data_catalog: (
909
914
  name: ::String,
910
- type: ("LAMBDA" | "GLUE" | "HIVE"),
915
+ type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED"),
911
916
  ?description: ::String,
912
917
  ?parameters: Hash[::String, ::String]
913
918
  ) -> _UpdateDataCatalogResponseSuccess
data/sig/resource.rbs CHANGED
@@ -39,7 +39,9 @@ module Aws
39
39
  ?logger: untyped,
40
40
  ?max_attempts: Integer,
41
41
  ?profile: String,
42
+ ?request_checksum_calculation: String,
42
43
  ?request_min_compression_size_bytes: Integer,
44
+ ?response_checksum_validation: String,
43
45
  ?retry_backoff: Proc,
44
46
  ?retry_base_delay: Float,
45
47
  ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
data/sig/types.rbs CHANGED
@@ -166,14 +166,16 @@ module Aws::Athena
166
166
 
167
167
  class CreateDataCatalogInput
168
168
  attr_accessor name: ::String
169
- attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE")
169
+ attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED")
170
170
  attr_accessor description: ::String
171
171
  attr_accessor parameters: ::Hash[::String, ::String]
172
172
  attr_accessor tags: ::Array[Types::Tag]
173
173
  SENSITIVE: []
174
174
  end
175
175
 
176
- class CreateDataCatalogOutput < Aws::EmptyStructure
176
+ class CreateDataCatalogOutput
177
+ attr_accessor data_catalog: Types::DataCatalog
178
+ SENSITIVE: []
177
179
  end
178
180
 
179
181
  class CreateNamedQueryInput
@@ -245,14 +247,20 @@ module Aws::Athena
245
247
  class DataCatalog
246
248
  attr_accessor name: ::String
247
249
  attr_accessor description: ::String
248
- attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE")
250
+ attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED")
249
251
  attr_accessor parameters: ::Hash[::String, ::String]
252
+ attr_accessor status: ("CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "CREATE_FAILED" | "CREATE_FAILED_CLEANUP_IN_PROGRESS" | "CREATE_FAILED_CLEANUP_COMPLETE" | "CREATE_FAILED_CLEANUP_FAILED" | "DELETE_IN_PROGRESS" | "DELETE_COMPLETE" | "DELETE_FAILED")
253
+ attr_accessor connection_type: ("DYNAMODB" | "MYSQL" | "POSTGRESQL" | "REDSHIFT" | "ORACLE" | "SYNAPSE" | "SQLSERVER" | "DB2" | "OPENSEARCH" | "BIGQUERY" | "GOOGLECLOUDSTORAGE" | "HBASE" | "DOCUMENTDB" | "CMDB" | "TPCDS" | "TIMESTREAM" | "SAPHANA" | "SNOWFLAKE" | "DATALAKEGEN2" | "DB2AS400")
254
+ attr_accessor error: ::String
250
255
  SENSITIVE: []
251
256
  end
252
257
 
253
258
  class DataCatalogSummary
254
259
  attr_accessor catalog_name: ::String
255
- attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE")
260
+ attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED")
261
+ attr_accessor status: ("CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "CREATE_FAILED" | "CREATE_FAILED_CLEANUP_IN_PROGRESS" | "CREATE_FAILED_CLEANUP_COMPLETE" | "CREATE_FAILED_CLEANUP_FAILED" | "DELETE_IN_PROGRESS" | "DELETE_COMPLETE" | "DELETE_FAILED")
262
+ attr_accessor connection_type: ("DYNAMODB" | "MYSQL" | "POSTGRESQL" | "REDSHIFT" | "ORACLE" | "SYNAPSE" | "SQLSERVER" | "DB2" | "OPENSEARCH" | "BIGQUERY" | "GOOGLECLOUDSTORAGE" | "HBASE" | "DOCUMENTDB" | "CMDB" | "TPCDS" | "TIMESTREAM" | "SAPHANA" | "SNOWFLAKE" | "DATALAKEGEN2" | "DB2AS400")
263
+ attr_accessor error: ::String
256
264
  SENSITIVE: []
257
265
  end
258
266
 
@@ -278,10 +286,13 @@ module Aws::Athena
278
286
 
279
287
  class DeleteDataCatalogInput
280
288
  attr_accessor name: ::String
289
+ attr_accessor delete_catalog_only: bool
281
290
  SENSITIVE: []
282
291
  end
283
292
 
284
- class DeleteDataCatalogOutput < Aws::EmptyStructure
293
+ class DeleteDataCatalogOutput
294
+ attr_accessor data_catalog: Types::DataCatalog
295
+ SENSITIVE: []
285
296
  end
286
297
 
287
298
  class DeleteNamedQueryInput
@@ -1203,7 +1214,7 @@ module Aws::Athena
1203
1214
 
1204
1215
  class UpdateDataCatalogInput
1205
1216
  attr_accessor name: ::String
1206
- attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE")
1217
+ attr_accessor type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED")
1207
1218
  attr_accessor description: ::String
1208
1219
  attr_accessor parameters: ::Hash[::String, ::String]
1209
1220
  SENSITIVE: []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-athena
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.97.0
4
+ version: 1.99.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-18 00:00:00.000000000 Z
11
+ date: 2025-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.210.0
22
+ version: 3.216.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.210.0
32
+ version: 3.216.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement