Skip to content

Commit 844a1da

Browse files
author
awstools
committed
feat(client-glue): AWS Glue Data Catalog now enhances managed table optimizations of Apache Iceberg tables that can be accessed only from a specific Amazon Virtual Private Cloud (VPC) environment.
1 parent a64d4bb commit 844a1da

11 files changed

+155
-66
lines changed

clients/client-glue/src/commands/BatchGetTableOptimizerCommand.ts

+3
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ export interface BatchGetTableOptimizerCommandOutput extends BatchGetTableOptimi
5858
* // configuration: { // TableOptimizerConfiguration
5959
* // roleArn: "STRING_VALUE",
6060
* // enabled: true || false,
61+
* // vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
62+
* // glueConnectionName: "STRING_VALUE",
63+
* // },
6164
* // retentionConfiguration: { // RetentionConfiguration
6265
* // icebergConfiguration: { // IcebergRetentionConfiguration
6366
* // snapshotRetentionPeriodInDays: Number("int"),

clients/client-glue/src/commands/CancelDataQualityRuleRecommendationRunCommand.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient";
9-
import {
10-
CancelDataQualityRuleRecommendationRunRequest,
11-
CancelDataQualityRuleRecommendationRunResponse,
12-
} from "../models/models_0";
9+
import { CancelDataQualityRuleRecommendationRunRequest } from "../models/models_0";
10+
import { CancelDataQualityRuleRecommendationRunResponse } from "../models/models_1";
1311
import {
1412
de_CancelDataQualityRuleRecommendationRunCommand,
1513
se_CancelDataQualityRuleRecommendationRunCommand,

clients/client-glue/src/commands/CreateTableOptimizerCommand.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface CreateTableOptimizerCommandInput extends CreateTableOptimizerRe
2828
export interface CreateTableOptimizerCommandOutput extends CreateTableOptimizerResponse, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates a new table optimizer for a specific function. <code>compaction</code> is the only currently supported optimizer type.</p>
31+
* <p>Creates a new table optimizer for a specific function. </p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript
@@ -43,6 +43,9 @@ export interface CreateTableOptimizerCommandOutput extends CreateTableOptimizerR
4343
* TableOptimizerConfiguration: { // TableOptimizerConfiguration
4444
* roleArn: "STRING_VALUE",
4545
* enabled: true || false,
46+
* vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
47+
* glueConnectionName: "STRING_VALUE",
48+
* },
4649
* retentionConfiguration: { // RetentionConfiguration
4750
* icebergConfiguration: { // IcebergRetentionConfiguration
4851
* snapshotRetentionPeriodInDays: Number("int"),

clients/client-glue/src/commands/GetTableOptimizerCommand.ts

+3
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ export interface GetTableOptimizerCommandOutput extends GetTableOptimizerRespons
5252
* // configuration: { // TableOptimizerConfiguration
5353
* // roleArn: "STRING_VALUE",
5454
* // enabled: true || false,
55+
* // vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
56+
* // glueConnectionName: "STRING_VALUE",
57+
* // },
5558
* // retentionConfiguration: { // RetentionConfiguration
5659
* // icebergConfiguration: { // IcebergRetentionConfiguration
5760
* // snapshotRetentionPeriodInDays: Number("int"),

clients/client-glue/src/commands/UpdateTableOptimizerCommand.ts

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ export interface UpdateTableOptimizerCommandOutput extends UpdateTableOptimizerR
4343
* TableOptimizerConfiguration: { // TableOptimizerConfiguration
4444
* roleArn: "STRING_VALUE",
4545
* enabled: true || false,
46+
* vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
47+
* glueConnectionName: "STRING_VALUE",
48+
* },
4649
* retentionConfiguration: { // RetentionConfiguration
4750
* icebergConfiguration: { // IcebergRetentionConfiguration
4851
* snapshotRetentionPeriodInDays: Number("int"),

clients/client-glue/src/models/models_0.ts

+48-5
Original file line numberDiff line numberDiff line change
@@ -7618,6 +7618,47 @@ export interface RetentionConfiguration {
76187618
icebergConfiguration?: IcebergRetentionConfiguration | undefined;
76197619
}
76207620

7621+
/**
7622+
* <p>An object that describes the VPC configuration for a table optimizer.</p>
7623+
* <p>This configuration is necessary to perform optimization on tables that are in a customer VPC.</p>
7624+
* @public
7625+
*/
7626+
export type TableOptimizerVpcConfiguration =
7627+
| TableOptimizerVpcConfiguration.GlueConnectionNameMember
7628+
| TableOptimizerVpcConfiguration.$UnknownMember;
7629+
7630+
/**
7631+
* @public
7632+
*/
7633+
export namespace TableOptimizerVpcConfiguration {
7634+
/**
7635+
* <p>The name of the Glue connection used for the VPC for the table optimizer.</p>
7636+
* @public
7637+
*/
7638+
export interface GlueConnectionNameMember {
7639+
glueConnectionName: string;
7640+
$unknown?: never;
7641+
}
7642+
7643+
/**
7644+
* @public
7645+
*/
7646+
export interface $UnknownMember {
7647+
glueConnectionName?: never;
7648+
$unknown: [string, any];
7649+
}
7650+
7651+
export interface Visitor<T> {
7652+
glueConnectionName: (value: string) => T;
7653+
_: (name: string, value: any) => T;
7654+
}
7655+
7656+
export const visit = <T>(value: TableOptimizerVpcConfiguration, visitor: Visitor<T>): T => {
7657+
if (value.glueConnectionName !== undefined) return visitor.glueConnectionName(value.glueConnectionName);
7658+
return visitor._(value.$unknown[0], value.$unknown[1]);
7659+
};
7660+
}
7661+
76217662
/**
76227663
* <p>Contains details on the configuration of a table optimizer. You pass this configuration when creating or updating a table optimizer.</p>
76237664
* @public
@@ -7635,6 +7676,13 @@ export interface TableOptimizerConfiguration {
76357676
*/
76367677
enabled?: boolean | undefined;
76377678

7679+
/**
7680+
* <p>A <code>TableOptimizerVpcConfiguration</code> object representing the VPC configuration for a table optimizer.</p>
7681+
* <p>This configuration is necessary to perform optimization on tables that are in a customer VPC.</p>
7682+
* @public
7683+
*/
7684+
vpcConfiguration?: TableOptimizerVpcConfiguration | undefined;
7685+
76387686
/**
76397687
* <p>The configuration for a snapshot retention optimizer.</p>
76407688
* @public
@@ -9238,11 +9286,6 @@ export interface CancelDataQualityRuleRecommendationRunRequest {
92389286
RunId: string | undefined;
92399287
}
92409288

9241-
/**
9242-
* @public
9243-
*/
9244-
export interface CancelDataQualityRuleRecommendationRunResponse {}
9245-
92469289
/**
92479290
* @internal
92489291
*/

clients/client-glue/src/models/models_1.ts

+6-18
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ import {
4141
WorkerType,
4242
} from "./models_0";
4343

44+
/**
45+
* @public
46+
*/
47+
export interface CancelDataQualityRuleRecommendationRunResponse {}
48+
4449
/**
4550
* @public
4651
*/
@@ -3276,7 +3281,7 @@ export interface CreateTableOptimizerRequest {
32763281
TableName: string | undefined;
32773282

32783283
/**
3279-
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
3284+
* <p>The type of table optimizer.</p>
32803285
* @public
32813286
*/
32823287
Type: TableOptimizerType | undefined;
@@ -7748,23 +7753,6 @@ export interface LabelingSetGenerationTaskRunProperties {
77487753
OutputS3Path?: string | undefined;
77497754
}
77507755

7751-
/**
7752-
* @public
7753-
* @enum
7754-
*/
7755-
export const TaskType = {
7756-
EVALUATION: "EVALUATION",
7757-
EXPORT_LABELS: "EXPORT_LABELS",
7758-
FIND_MATCHES: "FIND_MATCHES",
7759-
IMPORT_LABELS: "IMPORT_LABELS",
7760-
LABELING_SET_GENERATION: "LABELING_SET_GENERATION",
7761-
} as const;
7762-
7763-
/**
7764-
* @public
7765-
*/
7766-
export type TaskType = (typeof TaskType)[keyof typeof TaskType];
7767-
77687756
/**
77697757
* @internal
77707758
*/

clients/client-glue/src/models/models_2.ts

+18-31
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,29 @@ import {
6868
SchemaVersionStatus,
6969
Session,
7070
TaskStatusType,
71-
TaskType,
7271
TransformEncryption,
7372
TransformParameters,
7473
TransformType,
7574
ViewDialect,
7675
} from "./models_1";
7776

77+
/**
78+
* @public
79+
* @enum
80+
*/
81+
export const TaskType = {
82+
EVALUATION: "EVALUATION",
83+
EXPORT_LABELS: "EXPORT_LABELS",
84+
FIND_MATCHES: "FIND_MATCHES",
85+
IMPORT_LABELS: "IMPORT_LABELS",
86+
LABELING_SET_GENERATION: "LABELING_SET_GENERATION",
87+
} as const;
88+
89+
/**
90+
* @public
91+
*/
92+
export type TaskType = (typeof TaskType)[keyof typeof TaskType];
93+
7894
/**
7995
* <p>The configuration properties for the task run.</p>
8096
* @public
@@ -5169,7 +5185,7 @@ export interface ListTableOptimizerRunsRequest {
51695185
TableName: string | undefined;
51705186

51715187
/**
5172-
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
5188+
* <p>The type of table optimizer.</p>
51735189
* @public
51745190
*/
51755191
Type: TableOptimizerType | undefined;
@@ -7875,35 +7891,6 @@ export interface UpdateDataQualityRulesetResponse {
78757891
Ruleset?: string | undefined;
78767892
}
78777893

7878-
/**
7879-
* <p>Custom libraries to be loaded into a development endpoint.</p>
7880-
* @public
7881-
*/
7882-
export interface DevEndpointCustomLibraries {
7883-
/**
7884-
* <p>The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)
7885-
* bucket that should be loaded in your <code>DevEndpoint</code>. Multiple values must be
7886-
* complete paths separated by a comma.</p>
7887-
* <note>
7888-
* <p>You can only use pure Python libraries with a <code>DevEndpoint</code>. Libraries that rely on
7889-
* C extensions, such as the <a href="http://pandas.pydata.org/">pandas</a> Python data
7890-
* analysis library, are not currently supported.</p>
7891-
* </note>
7892-
* @public
7893-
*/
7894-
ExtraPythonLibsS3Path?: string | undefined;
7895-
7896-
/**
7897-
* <p>The path to one or more Java <code>.jar</code> files in an S3 bucket that should be loaded
7898-
* in your <code>DevEndpoint</code>.</p>
7899-
* <note>
7900-
* <p>You can only use pure Java/Scala libraries with a <code>DevEndpoint</code>.</p>
7901-
* </note>
7902-
* @public
7903-
*/
7904-
ExtraJarsS3Path?: string | undefined;
7905-
}
7906-
79077894
/**
79087895
* @internal
79097896
*/

clients/client-glue/src/models/models_3.ts

+30-2
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ import {
108108

109109
import {
110110
ColumnRowFilter,
111-
DevEndpointCustomLibraries,
112111
FederatedTable,
113112
ResourceAction,
114113
ResourceState,
@@ -117,6 +116,35 @@ import {
117116
ViewValidation,
118117
} from "./models_2";
119118

119+
/**
120+
* <p>Custom libraries to be loaded into a development endpoint.</p>
121+
* @public
122+
*/
123+
export interface DevEndpointCustomLibraries {
124+
/**
125+
* <p>The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)
126+
* bucket that should be loaded in your <code>DevEndpoint</code>. Multiple values must be
127+
* complete paths separated by a comma.</p>
128+
* <note>
129+
* <p>You can only use pure Python libraries with a <code>DevEndpoint</code>. Libraries that rely on
130+
* C extensions, such as the <a href="http://pandas.pydata.org/">pandas</a> Python data
131+
* analysis library, are not currently supported.</p>
132+
* </note>
133+
* @public
134+
*/
135+
ExtraPythonLibsS3Path?: string | undefined;
136+
137+
/**
138+
* <p>The path to one or more Java <code>.jar</code> files in an S3 bucket that should be loaded
139+
* in your <code>DevEndpoint</code>.</p>
140+
* <note>
141+
* <p>You can only use pure Java/Scala libraries with a <code>DevEndpoint</code>.</p>
142+
* </note>
143+
* @public
144+
*/
145+
ExtraJarsS3Path?: string | undefined;
146+
}
147+
120148
/**
121149
* @public
122150
*/
@@ -687,7 +715,7 @@ export interface UpdateTableOptimizerRequest {
687715
TableName: string | undefined;
688716

689717
/**
690-
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
718+
* <p>The type of table optimizer.</p>
691719
* @public
692720
*/
693721
Type: TableOptimizerType | undefined;

clients/client-glue/src/protocols/Aws_json1_1.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,7 @@ import {
756756
TableOptimizer,
757757
TableOptimizerConfiguration,
758758
TableOptimizerRun,
759+
TableOptimizerVpcConfiguration,
759760
ThrottlingException,
760761
TimestampedInclusionAnnotation,
761762
TransformConfigParameter,
@@ -989,7 +990,6 @@ import {
989990
DataQualityRulesetEvaluationRunFilter,
990991
DataQualityRulesetFilterCriteria,
991992
DataQualityRulesetListDetails,
992-
DevEndpointCustomLibraries,
993993
EvaluationMetrics,
994994
FindMatchesMetrics,
995995
GetMLTaskRunResponse,
@@ -1176,6 +1176,7 @@ import {
11761176
BatchGetJobsResponse,
11771177
CodeGenConfigurationNode,
11781178
CreateJobRequest,
1179+
DevEndpointCustomLibraries,
11791180
GetJobResponse,
11801181
GetJobsResponse,
11811182
GetTableResponse,
@@ -11486,6 +11487,8 @@ const se_TableInput = (input: TableInput, context: __SerdeContext): any => {
1148611487

1148711488
// se_TableOptimizerConfiguration omitted.
1148811489

11490+
// se_TableOptimizerVpcConfiguration omitted.
11491+
1148911492
// se_TagKeysList omitted.
1149011493

1149111494
// se_TagResourceRequest omitted.
@@ -15424,6 +15427,8 @@ const de_TableOptimizerRuns = (output: any, context: __SerdeContext): TableOptim
1542415427
return retVal;
1542515428
};
1542615429

15430+
// de_TableOptimizerVpcConfiguration omitted.
15431+
1542715432
/**
1542815433
* deserializeAws_json1_1TableStatus
1542915434
*/

0 commit comments

Comments
 (0)