aws-sdk-athena 1.96.0 → 1.98.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: 7afd64f856a052af9caa3a5cb384faaa89bfae40c5a0d8a697b3c2ee640ed82c
4
- data.tar.gz: 8475b8f4f0b64b028d3f75827f57e7881ca3662be09d7f89f025c187a4f1f7c8
3
+ metadata.gz: 28317f113247b9f9eca9a4c9695953ef1b58dfc2a4179e92150beb2bd947f7ae
4
+ data.tar.gz: 32013c19dd31d37dd8ab90133b963d7a291b4c812d8ce107dbf3c283f4d7da00
5
5
  SHA512:
6
- metadata.gz: 04a642069675e199e6ecd1d4e3b488be69ef2ddf51a9624ca2e5a9b8cfff8c07d8e357de38cc5388861eaa1af40c9e2bf70616f5c8c53806b56ebbaf90b8aff0
7
- data.tar.gz: 3dd23aef5501a04efa28ca8831135a8a7b08645f9412145f5aca96b8e41c243eb753bb71fe8b3668d50c0700a339cabf362b49c710d082f915ec18ce631b6056
6
+ metadata.gz: 35d56dbad7b2fdfcf3fc1ae8f6f08590bc8c6b6a8144e09fa32b05c0f69a4954f6eb54ac3b54bad8e135125bfa3544b120629ea8f05d64653dcb6b1afecda2e5
7
+ data.tar.gz: 52a32276c83d71a47fb6b537be5de56bd416b579f8c937605e4c26ce6cbeaba842c60d40c5b813e2467242c92df5379a18353f25930da3627c4f2bf94050dfad
data/CHANGELOG.md CHANGED
@@ -1,10 +1,20 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.98.0 (2024-12-03)
5
+ ------------------
6
+
7
+ * 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.
8
+
9
+ 1.97.0 (2024-11-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.96.0 (2024-10-18)
5
15
  ------------------
6
16
 
7
- * Feature - Removing FEDERATED from Create/List/Delete/GetDataCatalog API
17
+ * Feature - Remove DataCatalog from Create/DeleteDataCatalog. Remove Status, ConnectionType, and Error from DataCatalog and DataCatalogSummary. These were released inadvertently with no functionality. They were not populated or populated with a default value. Code related to these changes can be safely removed.
8
18
 
9
19
  1.95.0 (2024-09-24)
10
20
  ------------------
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.96.0
1
+ 1.98.0
@@ -692,6 +692,20 @@ module Aws::Athena
692
692
  # properties. Catalogs created are visible to all users of the same
693
693
  # Amazon Web Services account.
694
694
  #
695
+ # This API operation creates the following resources.
696
+ #
697
+ # * CFN Stack Name with a maximum length of 128 characters and prefix
698
+ # `athenafederatedcatalog-CATALOG_NAME_SANITIZED` with length 23
699
+ # characters.
700
+ #
701
+ # * Lambda Function Name with a maximum length of 64 characters and
702
+ # prefix `athenafederatedcatalog_CATALOG_NAME_SANITIZED` with length
703
+ # 23 characters.
704
+ #
705
+ # * Glue Connection Name with a maximum length of 255 characters and a
706
+ # prefix `athenafederatedcatalog_CATALOG_NAME_SANITIZED` with length
707
+ # 23 characters.
708
+ #
695
709
  # @option params [required, String] :name
696
710
  # The name of the data catalog to create. The catalog name must be
697
711
  # unique for the Amazon Web Services account and can use a maximum of
@@ -699,10 +713,25 @@ module Aws::Athena
699
713
  # remainder of the length constraint of 256 is reserved for use by
700
714
  # Athena.
701
715
  #
716
+ # For `FEDERATED` type the catalog name has following considerations and
717
+ # limits:
718
+ #
719
+ # * The catalog name allows special characters such as `_ , @ , \ , - `.
720
+ # These characters are replaced with a hyphen (-) when creating the
721
+ # CFN Stack Name and with an underscore (\_) when creating the Lambda
722
+ # Function and Glue Connection Name.
723
+ #
724
+ # * The catalog name has a theoretical limit of 128 characters. However,
725
+ # since we use it to create other resources that allow less characters
726
+ # and we prepend a prefix to it, the actual catalog name limit for
727
+ # `FEDERATED` catalog is 64 - 23 = 41 characters.
728
+ #
702
729
  # @option params [required, String] :type
703
730
  # 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.
731
+ # `GLUE` for an Glue Data Catalog, and `HIVE` for an external Apache
732
+ # Hive metastore. `FEDERATED` is a federated catalog for which Athena
733
+ # creates the connection and the Lambda function for you based on the
734
+ # parameters that you pass.
706
735
  #
707
736
  # @option params [String] :description
708
737
  # A description of the data catalog to be created.
@@ -733,7 +762,6 @@ module Aws::Athena
733
762
  # function.
734
763
  #
735
764
  # `function=lambda_arn `
736
- #
737
765
  # * The `GLUE` type takes a catalog ID parameter and is required. The `
738
766
  # catalog_id ` is the account ID of the Amazon Web Services account to
739
767
  # which the Glue Data Catalog belongs.
@@ -745,18 +773,41 @@ module Aws::Athena
745
773
  # can have only one and cannot modify.
746
774
  #
747
775
  # ^
776
+ # * The `FEDERATED` data catalog type uses one of the following
777
+ # parameters, but not both. Use `connection-arn` for an existing Glue
778
+ # connection. Use `connection-type` and `connection-properties` to
779
+ # specify the configuration setting for a new connection.
780
+ #
781
+ # * `connection-arn:<glue_connection_arn_to_reuse> `
782
+ #
783
+ # * `lambda-role-arn` (optional): The execution role to use for the
784
+ # Lambda function. If not provided, one is created.
785
+ #
786
+ # * `connection-type:MYSQL|REDSHIFT|....,
787
+ # connection-properties:"<json_string>"`
788
+ #
789
+ # For <i> <code>&lt;json_string&gt;</code> </i>, use escaped JSON
790
+ # text, as in the following example.
791
+ #
792
+ # `"{"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"}"`
748
793
  #
749
794
  # @option params [Array<Types::Tag>] :tags
750
795
  # A list of comma separated tags to add to the data catalog that is
751
- # created.
796
+ # created. All the resources that are created by the `CreateDataCatalog`
797
+ # API operation with `FEDERATED` type will have the tag
798
+ # `federated_athena_datacatalog="true"`. This includes the CFN Stack,
799
+ # Glue Connection, Athena DataCatalog, and all the resources created as
800
+ # part of the CFN Stack (Lambda Function, IAM policies/roles).
752
801
  #
753
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
802
+ # @return [Types::CreateDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
803
+ #
804
+ # * {Types::CreateDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
754
805
  #
755
806
  # @example Request syntax with placeholder values
756
807
  #
757
808
  # resp = client.create_data_catalog({
758
809
  # name: "CatalogNameString", # required
759
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
810
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
760
811
  # description: "DescriptionString",
761
812
  # parameters: {
762
813
  # "KeyString" => "ParametersMapValue",
@@ -769,6 +820,17 @@ module Aws::Athena
769
820
  # ],
770
821
  # })
771
822
  #
823
+ # @example Response structure
824
+ #
825
+ # resp.data_catalog.name #=> String
826
+ # resp.data_catalog.description #=> String
827
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
828
+ # resp.data_catalog.parameters #=> Hash
829
+ # resp.data_catalog.parameters["KeyString"] #=> String
830
+ # 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"
831
+ # 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"
832
+ # resp.data_catalog.error #=> String
833
+ #
772
834
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog AWS API Documentation
773
835
  #
774
836
  # @overload create_data_catalog(params = {})
@@ -1078,14 +1140,34 @@ module Aws::Athena
1078
1140
  # @option params [required, String] :name
1079
1141
  # The name of the data catalog to delete.
1080
1142
  #
1081
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1143
+ # @option params [Boolean] :delete_catalog_only
1144
+ # Deletes the Athena Data Catalog. You can only use this with the
1145
+ # `FEDERATED` catalogs. You usually perform this before registering the
1146
+ # connector with Glue Data Catalog. After deletion, you will have to
1147
+ # manage the Glue Connection and Lambda function.
1148
+ #
1149
+ # @return [Types::DeleteDataCatalogOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1150
+ #
1151
+ # * {Types::DeleteDataCatalogOutput#data_catalog #data_catalog} => Types::DataCatalog
1082
1152
  #
1083
1153
  # @example Request syntax with placeholder values
1084
1154
  #
1085
1155
  # resp = client.delete_data_catalog({
1086
1156
  # name: "CatalogNameString", # required
1157
+ # delete_catalog_only: false,
1087
1158
  # })
1088
1159
  #
1160
+ # @example Response structure
1161
+ #
1162
+ # resp.data_catalog.name #=> String
1163
+ # resp.data_catalog.description #=> String
1164
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
1165
+ # resp.data_catalog.parameters #=> Hash
1166
+ # resp.data_catalog.parameters["KeyString"] #=> String
1167
+ # 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"
1168
+ # 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"
1169
+ # resp.data_catalog.error #=> String
1170
+ #
1089
1171
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog AWS API Documentation
1090
1172
  #
1091
1173
  # @overload delete_data_catalog(params = {})
@@ -1437,9 +1519,12 @@ module Aws::Athena
1437
1519
  #
1438
1520
  # resp.data_catalog.name #=> String
1439
1521
  # resp.data_catalog.description #=> String
1440
- # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1522
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
1441
1523
  # resp.data_catalog.parameters #=> Hash
1442
1524
  # resp.data_catalog.parameters["KeyString"] #=> String
1525
+ # 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"
1526
+ # 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"
1527
+ # resp.data_catalog.error #=> String
1443
1528
  #
1444
1529
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
1445
1530
  #
@@ -2266,7 +2351,10 @@ module Aws::Athena
2266
2351
  #
2267
2352
  # resp.data_catalogs_summary #=> Array
2268
2353
  # resp.data_catalogs_summary[0].catalog_name #=> String
2269
- # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE"
2354
+ # resp.data_catalogs_summary[0].type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
2355
+ # 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"
2356
+ # 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"
2357
+ # resp.data_catalogs_summary[0].error #=> String
2270
2358
  # resp.next_token #=> String
2271
2359
  #
2272
2360
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs AWS API Documentation
@@ -3463,7 +3551,7 @@ module Aws::Athena
3463
3551
  #
3464
3552
  # resp = client.update_data_catalog({
3465
3553
  # name: "CatalogNameString", # required
3466
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
3554
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
3467
3555
  # description: "DescriptionString",
3468
3556
  # parameters: {
3469
3557
  # "KeyString" => "ParametersMapValue",
@@ -3721,7 +3809,7 @@ module Aws::Athena
3721
3809
  tracer: tracer
3722
3810
  )
3723
3811
  context[:gem_name] = 'aws-sdk-athena'
3724
- context[:gem_version] = '1.96.0'
3812
+ context[:gem_version] = '1.98.0'
3725
3813
  Seahorse::Client::Request.new(handlers, context)
3726
3814
  end
3727
3815
 
@@ -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
@@ -639,7 +654,6 @@ module Aws::Athena
639
654
  # Lambda function.
640
655
  #
641
656
  # `function=lambda_arn `
642
- #
643
657
  # * The `GLUE` type takes a catalog ID parameter and is required. The
644
658
  # ` catalog_id ` is the account ID of the Amazon Web Services
645
659
  # account to which the Glue Data Catalog belongs.
@@ -651,11 +665,33 @@ module Aws::Athena
651
665
  # you can have only one and cannot modify.
652
666
  #
653
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"}"`
654
685
  # @return [Hash<String,String>]
655
686
  #
656
687
  # @!attribute [rw] tags
657
688
  # A list of comma separated tags to add to the data catalog that is
658
- # 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).
659
695
  # @return [Array<Types::Tag>]
660
696
  #
661
697
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalogInput AWS API Documentation
@@ -670,9 +706,23 @@ module Aws::Athena
670
706
  include Aws::Structure
671
707
  end
672
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
+ #
673
719
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalogOutput AWS API Documentation
674
720
  #
675
- class CreateDataCatalogOutput < Aws::EmptyStructure; end
721
+ class CreateDataCatalogOutput < Struct.new(
722
+ :data_catalog)
723
+ SENSITIVE = []
724
+ include Aws::Structure
725
+ end
676
726
 
677
727
  # @!attribute [rw] name
678
728
  # The query name.
@@ -927,8 +977,10 @@ module Aws::Athena
927
977
  #
928
978
  # @!attribute [rw] type
929
979
  # The type of data catalog to create: `LAMBDA` for a federated
930
- # catalog, `HIVE` for an external hive metastore, or `GLUE` for an
931
- # 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.
932
984
  # @return [String]
933
985
  #
934
986
  # @!attribute [rw] parameters
@@ -956,7 +1008,6 @@ module Aws::Athena
956
1008
  # Lambda function.
957
1009
  #
958
1010
  # `function=lambda_arn `
959
- #
960
1011
  # * The `GLUE` type takes a catalog ID parameter and is required. The
961
1012
  # ` catalog_id ` is the account ID of the Amazon Web Services
962
1013
  # account to which the Glue catalog belongs.
@@ -968,15 +1019,82 @@ module Aws::Athena
968
1019
  # you can have only one and cannot modify.
969
1020
  #
970
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"}"`
971
1036
  # @return [Hash<String,String>]
972
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
+ #
973
1088
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalog AWS API Documentation
974
1089
  #
975
1090
  class DataCatalog < Struct.new(
976
1091
  :name,
977
1092
  :description,
978
1093
  :type,
979
- :parameters)
1094
+ :parameters,
1095
+ :status,
1096
+ :connection_type,
1097
+ :error)
980
1098
  SENSITIVE = []
981
1099
  include Aws::Structure
982
1100
  end
@@ -996,11 +1114,64 @@ module Aws::Athena
996
1114
  # The data catalog type.
997
1115
  # @return [String]
998
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
+ #
999
1167
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalogSummary AWS API Documentation
1000
1168
  #
1001
1169
  class DataCatalogSummary < Struct.new(
1002
1170
  :catalog_name,
1003
- :type)
1171
+ :type,
1172
+ :status,
1173
+ :connection_type,
1174
+ :error)
1004
1175
  SENSITIVE = []
1005
1176
  include Aws::Structure
1006
1177
  end
@@ -1063,17 +1234,39 @@ module Aws::Athena
1063
1234
  # The name of the data catalog to delete.
1064
1235
  # @return [String]
1065
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
+ #
1066
1244
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalogInput AWS API Documentation
1067
1245
  #
1068
1246
  class DeleteDataCatalogInput < Struct.new(
1069
- :name)
1247
+ :name,
1248
+ :delete_catalog_only)
1070
1249
  SENSITIVE = []
1071
1250
  include Aws::Structure
1072
1251
  end
1073
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
+ #
1074
1263
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalogOutput AWS API Documentation
1075
1264
  #
1076
- class DeleteDataCatalogOutput < Aws::EmptyStructure; end
1265
+ class DeleteDataCatalogOutput < Struct.new(
1266
+ :data_catalog)
1267
+ SENSITIVE = []
1268
+ include Aws::Structure
1269
+ end
1077
1270
 
1078
1271
  # @!attribute [rw] named_query_id
1079
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.96.0'
57
+ GEM_VERSION = '1.98.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -137,11 +137,12 @@ module Aws
137
137
 
138
138
  interface _CreateDataCatalogResponseSuccess
139
139
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateDataCatalogOutput]
140
+ def data_catalog: () -> Types::DataCatalog
140
141
  end
141
142
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#create_data_catalog-instance_method
142
143
  def create_data_catalog: (
143
144
  name: ::String,
144
- type: ("LAMBDA" | "GLUE" | "HIVE"),
145
+ type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED"),
145
146
  ?description: ::String,
146
147
  ?parameters: Hash[::String, ::String],
147
148
  ?tags: Array[
@@ -267,10 +268,12 @@ module Aws
267
268
 
268
269
  interface _DeleteDataCatalogResponseSuccess
269
270
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteDataCatalogOutput]
271
+ def data_catalog: () -> Types::DataCatalog
270
272
  end
271
273
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#delete_data_catalog-instance_method
272
274
  def delete_data_catalog: (
273
- name: ::String
275
+ name: ::String,
276
+ ?delete_catalog_only: bool
274
277
  ) -> _DeleteDataCatalogResponseSuccess
275
278
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteDataCatalogResponseSuccess
276
279
 
@@ -907,7 +910,7 @@ module Aws
907
910
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Athena/Client.html#update_data_catalog-instance_method
908
911
  def update_data_catalog: (
909
912
  name: ::String,
910
- type: ("LAMBDA" | "GLUE" | "HIVE"),
913
+ type: ("LAMBDA" | "GLUE" | "HIVE" | "FEDERATED"),
911
914
  ?description: ::String,
912
915
  ?parameters: Hash[::String, ::String]
913
916
  ) -> _UpdateDataCatalogResponseSuccess
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.96.0
4
+ version: 1.98.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-10-18 00:00:00.000000000 Z
11
+ date: 2024-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core