aws-sdk-athena 1.97.0 → 1.98.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbae55c73b69ff1e49894951eb92f80bd8724b3b1968968eef3f1c56647c376f
4
- data.tar.gz: 913d7682f2f653d3a3f0865d85fc3196a94e078d7b9279c9c996fb1597ac42a9
3
+ metadata.gz: 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