Skip to content

Commit 500786a

Browse files
author
awstools
committed
feat(client-athena): 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.
1 parent 44b1172 commit 500786a

File tree

7 files changed

+734
-117
lines changed

7 files changed

+734
-117
lines changed

clients/client-athena/src/commands/CreateDataCatalogCommand.ts

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,24 @@ export interface CreateDataCatalogCommandOutput extends CreateDataCatalogOutput,
3030
/**
3131
* <p>Creates (registers) a data catalog with the specified name and properties. Catalogs
3232
* created are visible to all users of the same Amazon Web Services account.</p>
33+
* <p>This API operation creates the following resources.</p>
34+
* <ul>
35+
* <li>
36+
* <p>CFN Stack Name with a maximum length of 128 characters and prefix
37+
* <code>athenafederatedcatalog-CATALOG_NAME_SANITIZED</code> with length 23
38+
* characters.</p>
39+
* </li>
40+
* <li>
41+
* <p>Lambda Function Name with a maximum length of 64 characters and prefix
42+
* <code>athenafederatedcatalog_CATALOG_NAME_SANITIZED</code> with length 23
43+
* characters.</p>
44+
* </li>
45+
* <li>
46+
* <p>Glue Connection Name with a maximum length of 255 characters and a prefix
47+
* <code>athenafederatedcatalog_CATALOG_NAME_SANITIZED</code> with length 23
48+
* characters. </p>
49+
* </li>
50+
* </ul>
3351
* @example
3452
* Use a bare-bones client and the command you need to make an API call.
3553
* ```javascript
@@ -38,7 +56,7 @@ export interface CreateDataCatalogCommandOutput extends CreateDataCatalogOutput,
3856
* const client = new AthenaClient(config);
3957
* const input = { // CreateDataCatalogInput
4058
* Name: "STRING_VALUE", // required
41-
* Type: "LAMBDA" || "GLUE" || "HIVE", // required
59+
* Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED", // required
4260
* Description: "STRING_VALUE",
4361
* Parameters: { // ParametersMap
4462
* "<keys>": "STRING_VALUE",
@@ -52,7 +70,19 @@ export interface CreateDataCatalogCommandOutput extends CreateDataCatalogOutput,
5270
* };
5371
* const command = new CreateDataCatalogCommand(input);
5472
* const response = await client.send(command);
55-
* // {};
73+
* // { // CreateDataCatalogOutput
74+
* // DataCatalog: { // DataCatalog
75+
* // Name: "STRING_VALUE", // required
76+
* // Description: "STRING_VALUE",
77+
* // Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED", // required
78+
* // Parameters: { // ParametersMap
79+
* // "<keys>": "STRING_VALUE",
80+
* // },
81+
* // 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",
82+
* // ConnectionType: "DYNAMODB" || "MYSQL" || "POSTGRESQL" || "REDSHIFT" || "ORACLE" || "SYNAPSE" || "SQLSERVER" || "DB2" || "OPENSEARCH" || "BIGQUERY" || "GOOGLECLOUDSTORAGE" || "HBASE" || "DOCUMENTDB" || "CMDB" || "TPCDS" || "TIMESTREAM" || "SAPHANA" || "SNOWFLAKE" || "DATALAKEGEN2" || "DB2AS400",
83+
* // Error: "STRING_VALUE",
84+
* // },
85+
* // };
5686
*
5787
* ```
5888
*
@@ -100,7 +130,7 @@ export class CreateDataCatalogCommand extends $Command
100130
protected declare static __types: {
101131
api: {
102132
input: CreateDataCatalogInput;
103-
output: {};
133+
output: CreateDataCatalogOutput;
104134
};
105135
sdk: {
106136
input: CreateDataCatalogCommandInput;

clients/client-athena/src/commands/DeleteDataCatalogCommand.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,23 @@ export interface DeleteDataCatalogCommandOutput extends DeleteDataCatalogOutput,
3737
* const client = new AthenaClient(config);
3838
* const input = { // DeleteDataCatalogInput
3939
* Name: "STRING_VALUE", // required
40+
* DeleteCatalogOnly: true || false,
4041
* };
4142
* const command = new DeleteDataCatalogCommand(input);
4243
* const response = await client.send(command);
43-
* // {};
44+
* // { // DeleteDataCatalogOutput
45+
* // DataCatalog: { // DataCatalog
46+
* // Name: "STRING_VALUE", // required
47+
* // Description: "STRING_VALUE",
48+
* // Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED", // required
49+
* // Parameters: { // ParametersMap
50+
* // "<keys>": "STRING_VALUE",
51+
* // },
52+
* // 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",
53+
* // ConnectionType: "DYNAMODB" || "MYSQL" || "POSTGRESQL" || "REDSHIFT" || "ORACLE" || "SYNAPSE" || "SQLSERVER" || "DB2" || "OPENSEARCH" || "BIGQUERY" || "GOOGLECLOUDSTORAGE" || "HBASE" || "DOCUMENTDB" || "CMDB" || "TPCDS" || "TIMESTREAM" || "SAPHANA" || "SNOWFLAKE" || "DATALAKEGEN2" || "DB2AS400",
54+
* // Error: "STRING_VALUE",
55+
* // },
56+
* // };
4457
*
4558
* ```
4659
*
@@ -88,7 +101,7 @@ export class DeleteDataCatalogCommand extends $Command
88101
protected declare static __types: {
89102
api: {
90103
input: DeleteDataCatalogInput;
91-
output: {};
104+
output: DeleteDataCatalogOutput;
92105
};
93106
sdk: {
94107
input: DeleteDataCatalogCommandInput;

clients/client-athena/src/commands/GetDataCatalogCommand.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@ export interface GetDataCatalogCommandOutput extends GetDataCatalogOutput, __Met
4545
* // DataCatalog: { // DataCatalog
4646
* // Name: "STRING_VALUE", // required
4747
* // Description: "STRING_VALUE",
48-
* // Type: "LAMBDA" || "GLUE" || "HIVE", // required
48+
* // Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED", // required
4949
* // Parameters: { // ParametersMap
5050
* // "<keys>": "STRING_VALUE",
5151
* // },
52+
* // 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",
53+
* // ConnectionType: "DYNAMODB" || "MYSQL" || "POSTGRESQL" || "REDSHIFT" || "ORACLE" || "SYNAPSE" || "SQLSERVER" || "DB2" || "OPENSEARCH" || "BIGQUERY" || "GOOGLECLOUDSTORAGE" || "HBASE" || "DOCUMENTDB" || "CMDB" || "TPCDS" || "TIMESTREAM" || "SAPHANA" || "SNOWFLAKE" || "DATALAKEGEN2" || "DB2AS400",
54+
* // Error: "STRING_VALUE",
5255
* // },
5356
* // };
5457
*

clients/client-athena/src/commands/ListDataCatalogsCommand.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ export interface ListDataCatalogsCommandOutput extends ListDataCatalogsOutput, _
5050
* // DataCatalogsSummary: [ // DataCatalogSummaryList
5151
* // { // DataCatalogSummary
5252
* // CatalogName: "STRING_VALUE",
53-
* // Type: "LAMBDA" || "GLUE" || "HIVE",
53+
* // Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED",
54+
* // 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",
55+
* // ConnectionType: "DYNAMODB" || "MYSQL" || "POSTGRESQL" || "REDSHIFT" || "ORACLE" || "SYNAPSE" || "SQLSERVER" || "DB2" || "OPENSEARCH" || "BIGQUERY" || "GOOGLECLOUDSTORAGE" || "HBASE" || "DOCUMENTDB" || "CMDB" || "TPCDS" || "TIMESTREAM" || "SAPHANA" || "SNOWFLAKE" || "DATALAKEGEN2" || "DB2AS400",
56+
* // Error: "STRING_VALUE",
5457
* // },
5558
* // ],
5659
* // NextToken: "STRING_VALUE",

clients/client-athena/src/commands/UpdateDataCatalogCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export interface UpdateDataCatalogCommandOutput extends UpdateDataCatalogOutput,
3737
* const client = new AthenaClient(config);
3838
* const input = { // UpdateDataCatalogInput
3939
* Name: "STRING_VALUE", // required
40-
* Type: "LAMBDA" || "GLUE" || "HIVE", // required
40+
* Type: "LAMBDA" || "GLUE" || "HIVE" || "FEDERATED", // required
4141
* Description: "STRING_VALUE",
4242
* Parameters: { // ParametersMap
4343
* "<keys>": "STRING_VALUE",

0 commit comments

Comments
 (0)