Skip to content

Commit a083905

Browse files
author
awstools
committed
feat(client-glue): This release adds the capability to easily create custom AWS Glue connections to data sources with REST APIs.
1 parent 8ba8054 commit a083905

32 files changed

Lines changed: 6733 additions & 4155 deletions

clients/client-glue/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,13 @@ DeleteConnection
615615
</details>
616616
<details>
617617
<summary>
618+
DeleteConnectionType
619+
</summary>
620+
621+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/DeleteConnectionTypeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glue/Interface/DeleteConnectionTypeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glue/Interface/DeleteConnectionTypeCommandOutput/)
622+
</details>
623+
<details>
624+
<summary>
618625
DeleteCrawler
619626
</summary>
620627

@@ -1623,6 +1630,13 @@ QuerySchemaVersionMetadata
16231630
</details>
16241631
<details>
16251632
<summary>
1633+
RegisterConnectionType
1634+
</summary>
1635+
1636+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/RegisterConnectionTypeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glue/Interface/RegisterConnectionTypeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-glue/Interface/RegisterConnectionTypeCommandOutput/)
1637+
</details>
1638+
<details>
1639+
<summary>
16261640
RegisterSchemaVersion
16271641
</summary>
16281642

clients/client-glue/src/Glue.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,11 @@ import {
289289
DeleteConnectionCommandInput,
290290
DeleteConnectionCommandOutput,
291291
} from "./commands/DeleteConnectionCommand";
292+
import {
293+
DeleteConnectionTypeCommand,
294+
DeleteConnectionTypeCommandInput,
295+
DeleteConnectionTypeCommandOutput,
296+
} from "./commands/DeleteConnectionTypeCommand";
292297
import {
293298
DeleteCrawlerCommand,
294299
DeleteCrawlerCommandInput,
@@ -909,6 +914,11 @@ import {
909914
QuerySchemaVersionMetadataCommandInput,
910915
QuerySchemaVersionMetadataCommandOutput,
911916
} from "./commands/QuerySchemaVersionMetadataCommand";
917+
import {
918+
RegisterConnectionTypeCommand,
919+
RegisterConnectionTypeCommandInput,
920+
RegisterConnectionTypeCommandOutput,
921+
} from "./commands/RegisterConnectionTypeCommand";
912922
import {
913923
RegisterSchemaVersionCommand,
914924
RegisterSchemaVersionCommandInput,
@@ -1293,6 +1303,7 @@ const commands = {
12931303
DeleteColumnStatisticsForTableCommand,
12941304
DeleteColumnStatisticsTaskSettingsCommand,
12951305
DeleteConnectionCommand,
1306+
DeleteConnectionTypeCommand,
12961307
DeleteCrawlerCommand,
12971308
DeleteCustomEntityTypeCommand,
12981309
DeleteDatabaseCommand,
@@ -1437,6 +1448,7 @@ const commands = {
14371448
PutSchemaVersionMetadataCommand,
14381449
PutWorkflowRunPropertiesCommand,
14391450
QuerySchemaVersionMetadataCommand,
1451+
RegisterConnectionTypeCommand,
14401452
RegisterSchemaVersionCommand,
14411453
RemoveSchemaVersionMetadataCommand,
14421454
ResetJobBookmarkCommand,
@@ -2553,6 +2565,23 @@ export interface Glue {
25532565
cb: (err: any, data?: DeleteConnectionCommandOutput) => void
25542566
): void;
25552567

2568+
/**
2569+
* @see {@link DeleteConnectionTypeCommand}
2570+
*/
2571+
deleteConnectionType(
2572+
args: DeleteConnectionTypeCommandInput,
2573+
options?: __HttpHandlerOptions
2574+
): Promise<DeleteConnectionTypeCommandOutput>;
2575+
deleteConnectionType(
2576+
args: DeleteConnectionTypeCommandInput,
2577+
cb: (err: any, data?: DeleteConnectionTypeCommandOutput) => void
2578+
): void;
2579+
deleteConnectionType(
2580+
args: DeleteConnectionTypeCommandInput,
2581+
options: __HttpHandlerOptions,
2582+
cb: (err: any, data?: DeleteConnectionTypeCommandOutput) => void
2583+
): void;
2584+
25562585
/**
25572586
* @see {@link DeleteCrawlerCommand}
25582587
*/
@@ -5047,6 +5076,23 @@ export interface Glue {
50475076
cb: (err: any, data?: QuerySchemaVersionMetadataCommandOutput) => void
50485077
): void;
50495078

5079+
/**
5080+
* @see {@link RegisterConnectionTypeCommand}
5081+
*/
5082+
registerConnectionType(
5083+
args: RegisterConnectionTypeCommandInput,
5084+
options?: __HttpHandlerOptions
5085+
): Promise<RegisterConnectionTypeCommandOutput>;
5086+
registerConnectionType(
5087+
args: RegisterConnectionTypeCommandInput,
5088+
cb: (err: any, data?: RegisterConnectionTypeCommandOutput) => void
5089+
): void;
5090+
registerConnectionType(
5091+
args: RegisterConnectionTypeCommandInput,
5092+
options: __HttpHandlerOptions,
5093+
cb: (err: any, data?: RegisterConnectionTypeCommandOutput) => void
5094+
): void;
5095+
50505096
/**
50515097
* @see {@link RegisterSchemaVersionCommand}
50525098
*/

clients/client-glue/src/GlueClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ import {
200200
DeleteColumnStatisticsTaskSettingsCommandOutput,
201201
} from "./commands/DeleteColumnStatisticsTaskSettingsCommand";
202202
import { DeleteConnectionCommandInput, DeleteConnectionCommandOutput } from "./commands/DeleteConnectionCommand";
203+
import {
204+
DeleteConnectionTypeCommandInput,
205+
DeleteConnectionTypeCommandOutput,
206+
} from "./commands/DeleteConnectionTypeCommand";
203207
import { DeleteCrawlerCommandInput, DeleteCrawlerCommandOutput } from "./commands/DeleteCrawlerCommand";
204208
import {
205209
DeleteCustomEntityTypeCommandInput,
@@ -530,6 +534,10 @@ import {
530534
QuerySchemaVersionMetadataCommandInput,
531535
QuerySchemaVersionMetadataCommandOutput,
532536
} from "./commands/QuerySchemaVersionMetadataCommand";
537+
import {
538+
RegisterConnectionTypeCommandInput,
539+
RegisterConnectionTypeCommandOutput,
540+
} from "./commands/RegisterConnectionTypeCommand";
533541
import {
534542
RegisterSchemaVersionCommandInput,
535543
RegisterSchemaVersionCommandOutput,
@@ -748,6 +756,7 @@ export type ServiceInputTypes =
748756
| DeleteColumnStatisticsForTableCommandInput
749757
| DeleteColumnStatisticsTaskSettingsCommandInput
750758
| DeleteConnectionCommandInput
759+
| DeleteConnectionTypeCommandInput
751760
| DeleteCrawlerCommandInput
752761
| DeleteCustomEntityTypeCommandInput
753762
| DeleteDataQualityRulesetCommandInput
@@ -892,6 +901,7 @@ export type ServiceInputTypes =
892901
| PutSchemaVersionMetadataCommandInput
893902
| PutWorkflowRunPropertiesCommandInput
894903
| QuerySchemaVersionMetadataCommandInput
904+
| RegisterConnectionTypeCommandInput
895905
| RegisterSchemaVersionCommandInput
896906
| RemoveSchemaVersionMetadataCommandInput
897907
| ResetJobBookmarkCommandInput
@@ -1016,6 +1026,7 @@ export type ServiceOutputTypes =
10161026
| DeleteColumnStatisticsForTableCommandOutput
10171027
| DeleteColumnStatisticsTaskSettingsCommandOutput
10181028
| DeleteConnectionCommandOutput
1029+
| DeleteConnectionTypeCommandOutput
10191030
| DeleteCrawlerCommandOutput
10201031
| DeleteCustomEntityTypeCommandOutput
10211032
| DeleteDataQualityRulesetCommandOutput
@@ -1160,6 +1171,7 @@ export type ServiceOutputTypes =
11601171
| PutSchemaVersionMetadataCommandOutput
11611172
| PutWorkflowRunPropertiesCommandOutput
11621173
| QuerySchemaVersionMetadataCommandOutput
1174+
| RegisterConnectionTypeCommandOutput
11631175
| RegisterSchemaVersionCommandOutput
11641176
| RemoveSchemaVersionMetadataCommandOutput
11651177
| ResetJobBookmarkCommandOutput
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { Command as $Command } from "@smithy/smithy-client";
4+
import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
5+
6+
import { commonParams } from "../endpoint/EndpointParameters";
7+
import type { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient";
8+
import type { DeleteConnectionTypeRequest, DeleteConnectionTypeResponse } from "../models/models_1";
9+
import { DeleteConnectionType$ } from "../schemas/schemas_0";
10+
11+
/**
12+
* @public
13+
*/
14+
export type { __MetadataBearer };
15+
export { $Command };
16+
/**
17+
* @public
18+
*
19+
* The input for {@link DeleteConnectionTypeCommand}.
20+
*/
21+
export interface DeleteConnectionTypeCommandInput extends DeleteConnectionTypeRequest {}
22+
/**
23+
* @public
24+
*
25+
* The output of {@link DeleteConnectionTypeCommand}.
26+
*/
27+
export interface DeleteConnectionTypeCommandOutput extends DeleteConnectionTypeResponse, __MetadataBearer {}
28+
29+
/**
30+
* <p>Deletes a custom connection type in Glue.</p>
31+
* <p>The connection type must exist and be registered before it can be deleted. This operation supports cleanup of connection type resources and helps maintain proper lifecycle management of custom connection types.</p>
32+
* @example
33+
* Use a bare-bones client and the command you need to make an API call.
34+
* ```javascript
35+
* import { GlueClient, DeleteConnectionTypeCommand } from "@aws-sdk/client-glue"; // ES Modules import
36+
* // const { GlueClient, DeleteConnectionTypeCommand } = require("@aws-sdk/client-glue"); // CommonJS import
37+
* // import type { GlueClientConfig } from "@aws-sdk/client-glue";
38+
* const config = {}; // type is GlueClientConfig
39+
* const client = new GlueClient(config);
40+
* const input = { // DeleteConnectionTypeRequest
41+
* ConnectionType: "STRING_VALUE", // required
42+
* };
43+
* const command = new DeleteConnectionTypeCommand(input);
44+
* const response = await client.send(command);
45+
* // {};
46+
*
47+
* ```
48+
*
49+
* @param DeleteConnectionTypeCommandInput - {@link DeleteConnectionTypeCommandInput}
50+
* @returns {@link DeleteConnectionTypeCommandOutput}
51+
* @see {@link DeleteConnectionTypeCommandInput} for command's `input` shape.
52+
* @see {@link DeleteConnectionTypeCommandOutput} for command's `response` shape.
53+
* @see {@link GlueClientResolvedConfig | config} for GlueClient's `config` shape.
54+
*
55+
* @throws {@link AccessDeniedException} (client fault)
56+
* <p>Access to a resource was denied.</p>
57+
*
58+
* @throws {@link EntityNotFoundException} (client fault)
59+
* <p>A specified entity does not exist</p>
60+
*
61+
* @throws {@link InternalServiceException} (server fault)
62+
* <p>An internal service error occurred.</p>
63+
*
64+
* @throws {@link InvalidInputException} (client fault)
65+
* <p>The input provided was not valid.</p>
66+
*
67+
* @throws {@link OperationTimeoutException} (client fault)
68+
* <p>The operation timed out.</p>
69+
*
70+
* @throws {@link ValidationException} (client fault)
71+
* <p>A value could not be validated.</p>
72+
*
73+
* @throws {@link GlueServiceException}
74+
* <p>Base exception class for all service exceptions from Glue service.</p>
75+
*
76+
*
77+
* @public
78+
*/
79+
export class DeleteConnectionTypeCommand extends $Command
80+
.classBuilder<
81+
DeleteConnectionTypeCommandInput,
82+
DeleteConnectionTypeCommandOutput,
83+
GlueClientResolvedConfig,
84+
ServiceInputTypes,
85+
ServiceOutputTypes
86+
>()
87+
.ep(commonParams)
88+
.m(function (this: any, Command: any, cs: any, config: GlueClientResolvedConfig, o: any) {
89+
return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
90+
})
91+
.s("AWSGlue", "DeleteConnectionType", {})
92+
.n("GlueClient", "DeleteConnectionTypeCommand")
93+
.sc(DeleteConnectionType$)
94+
.build() {
95+
/** @internal type navigation helper, not in runtime. */
96+
protected declare static __types: {
97+
api: {
98+
input: DeleteConnectionTypeRequest;
99+
output: {};
100+
};
101+
sdk: {
102+
input: DeleteConnectionTypeCommandInput;
103+
output: DeleteConnectionTypeCommandOutput;
104+
};
105+
};
106+
}

0 commit comments

Comments
 (0)