aws-sdk-athena 1.97.0 → 1.99.0

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
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