aws-sdk-athena 1.97.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: bbae55c73b69ff1e49894951eb92f80bd8724b3b1968968eef3f1c56647c376f
4
- data.tar.gz: 913d7682f2f653d3a3f0865d85fc3196a94e078d7b9279c9c996fb1597ac42a9
3
+ metadata.gz: 28317f113247b9f9eca9a4c9695953ef1b58dfc2a4179e92150beb2bd947f7ae
4
+ data.tar.gz: 32013c19dd31d37dd8ab90133b963d7a291b4c812d8ce107dbf3c283f4d7da00
5
5
  SHA512:
6
- metadata.gz: b6c7f11069da6047f8be4ba3d58cd1ef56f70bcf47234e72b972df765eeb9aef8ec310d19b9e937cbf3bfff7fc1dd7c335f55d1773eb217c3b7eb7275a568785
7
- data.tar.gz: 1b87a2f0f6b5d1fa1b39f019119d8139b209771459b2f2160a2b4cfc80ea021d845d70988e5135f6fabdb89cc5765068910264d54a7b9c7d9a0212a3b08b3382
6
+ metadata.gz: 35d56dbad7b2fdfcf3fc1ae8f6f08590bc8c6b6a8144e09fa32b05c0f69a4954f6eb54ac3b54bad8e135125bfa3544b120629ea8f05d64653dcb6b1afecda2e5
7
+ data.tar.gz: 52a32276c83d71a47fb6b537be5de56bd416b579f8c937605e4c26ce6cbeaba842c60d40c5b813e2467242c92df5379a18353f25930da3627c4f2bf94050dfad
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.97.0 (2024-11-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.97.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.
@@ -744,18 +773,41 @@ module Aws::Athena
744
773
  # can have only one and cannot modify.
745
774
  #
746
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"}"`
747
793
  #
748
794
  # @option params [Array<Types::Tag>] :tags
749
795
  # A list of comma separated tags to add to the data catalog that is
750
- # 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).
751
801
  #
752
- # @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
753
805
  #
754
806
  # @example Request syntax with placeholder values
755
807
  #
756
808
  # resp = client.create_data_catalog({
757
809
  # name: "CatalogNameString", # required
758
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
810
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
759
811
  # description: "DescriptionString",
760
812
  # parameters: {
761
813
  # "KeyString" => "ParametersMapValue",
@@ -768,6 +820,17 @@ module Aws::Athena
768
820
  # ],
769
821
  # })
770
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
+ #
771
834
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog AWS API Documentation
772
835
  #
773
836
  # @overload create_data_catalog(params = {})
@@ -1077,14 +1140,34 @@ module Aws::Athena
1077
1140
  # @option params [required, String] :name
1078
1141
  # The name of the data catalog to delete.
1079
1142
  #
1080
- # @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
1081
1152
  #
1082
1153
  # @example Request syntax with placeholder values
1083
1154
  #
1084
1155
  # resp = client.delete_data_catalog({
1085
1156
  # name: "CatalogNameString", # required
1157
+ # delete_catalog_only: false,
1086
1158
  # })
1087
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
+ #
1088
1171
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog AWS API Documentation
1089
1172
  #
1090
1173
  # @overload delete_data_catalog(params = {})
@@ -1436,9 +1519,12 @@ module Aws::Athena
1436
1519
  #
1437
1520
  # resp.data_catalog.name #=> String
1438
1521
  # resp.data_catalog.description #=> String
1439
- # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE"
1522
+ # resp.data_catalog.type #=> String, one of "LAMBDA", "GLUE", "HIVE", "FEDERATED"
1440
1523
  # resp.data_catalog.parameters #=> Hash
1441
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
1442
1528
  #
1443
1529
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog AWS API Documentation
1444
1530
  #
@@ -2265,7 +2351,10 @@ module Aws::Athena
2265
2351
  #
2266
2352
  # resp.data_catalogs_summary #=> Array
2267
2353
  # resp.data_catalogs_summary[0].catalog_name #=> String
2268
- # 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
2269
2358
  # resp.next_token #=> String
2270
2359
  #
2271
2360
  # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs AWS API Documentation
@@ -3462,7 +3551,7 @@ module Aws::Athena
3462
3551
  #
3463
3552
  # resp = client.update_data_catalog({
3464
3553
  # name: "CatalogNameString", # required
3465
- # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE
3554
+ # type: "LAMBDA", # required, accepts LAMBDA, GLUE, HIVE, FEDERATED
3466
3555
  # description: "DescriptionString",
3467
3556
  # parameters: {
3468
3557
  # "KeyString" => "ParametersMapValue",
@@ -3720,7 +3809,7 @@ module Aws::Athena
3720
3809
  tracer: tracer
3721
3810
  )
3722
3811
  context[:gem_name] = 'aws-sdk-athena'
3723
- context[:gem_version] = '1.97.0'
3812
+ context[:gem_version] = '1.98.0'
3724
3813
  Seahorse::Client::Request.new(handlers, context)
3725
3814
  end
3726
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
@@ -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.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.97.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-11-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