Skip to content

Commit

Permalink
feat(client-glue): AWS Glue Data Catalog now enhances managed table o…
Browse files Browse the repository at this point in the history
…ptimizations of Apache Iceberg tables that can be accessed only from a specific Amazon Virtual Private Cloud (VPC) environment.
  • Loading branch information
awstools committed Nov 19, 2024
1 parent a64d4bb commit 844a1da
Show file tree
Hide file tree
Showing 11 changed files with 155 additions and 66 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ export interface BatchGetTableOptimizerCommandOutput extends BatchGetTableOptimi
* // configuration: { // TableOptimizerConfiguration
* // roleArn: "STRING_VALUE",
* // enabled: true || false,
* // vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
* // glueConnectionName: "STRING_VALUE",
* // },
* // retentionConfiguration: { // RetentionConfiguration
* // icebergConfiguration: { // IcebergRetentionConfiguration
* // snapshotRetentionPeriodInDays: Number("int"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient";
import {
CancelDataQualityRuleRecommendationRunRequest,
CancelDataQualityRuleRecommendationRunResponse,
} from "../models/models_0";
import { CancelDataQualityRuleRecommendationRunRequest } from "../models/models_0";
import { CancelDataQualityRuleRecommendationRunResponse } from "../models/models_1";
import {
de_CancelDataQualityRuleRecommendationRunCommand,
se_CancelDataQualityRuleRecommendationRunCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export interface CreateTableOptimizerCommandInput extends CreateTableOptimizerRe
export interface CreateTableOptimizerCommandOutput extends CreateTableOptimizerResponse, __MetadataBearer {}

/**
* <p>Creates a new table optimizer for a specific function. <code>compaction</code> is the only currently supported optimizer type.</p>
* <p>Creates a new table optimizer for a specific function. </p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand All @@ -43,6 +43,9 @@ export interface CreateTableOptimizerCommandOutput extends CreateTableOptimizerR
* TableOptimizerConfiguration: { // TableOptimizerConfiguration
* roleArn: "STRING_VALUE",
* enabled: true || false,
* vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
* glueConnectionName: "STRING_VALUE",
* },
* retentionConfiguration: { // RetentionConfiguration
* icebergConfiguration: { // IcebergRetentionConfiguration
* snapshotRetentionPeriodInDays: Number("int"),
Expand Down
3 changes: 3 additions & 0 deletions clients/client-glue/src/commands/GetTableOptimizerCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ export interface GetTableOptimizerCommandOutput extends GetTableOptimizerRespons
* // configuration: { // TableOptimizerConfiguration
* // roleArn: "STRING_VALUE",
* // enabled: true || false,
* // vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
* // glueConnectionName: "STRING_VALUE",
* // },
* // retentionConfiguration: { // RetentionConfiguration
* // icebergConfiguration: { // IcebergRetentionConfiguration
* // snapshotRetentionPeriodInDays: Number("int"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ export interface UpdateTableOptimizerCommandOutput extends UpdateTableOptimizerR
* TableOptimizerConfiguration: { // TableOptimizerConfiguration
* roleArn: "STRING_VALUE",
* enabled: true || false,
* vpcConfiguration: { // TableOptimizerVpcConfiguration Union: only one key present
* glueConnectionName: "STRING_VALUE",
* },
* retentionConfiguration: { // RetentionConfiguration
* icebergConfiguration: { // IcebergRetentionConfiguration
* snapshotRetentionPeriodInDays: Number("int"),
Expand Down
53 changes: 48 additions & 5 deletions clients/client-glue/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7618,6 +7618,47 @@ export interface RetentionConfiguration {
icebergConfiguration?: IcebergRetentionConfiguration | undefined;
}

/**
* <p>An object that describes the VPC configuration for a table optimizer.</p>
* <p>This configuration is necessary to perform optimization on tables that are in a customer VPC.</p>
* @public
*/
export type TableOptimizerVpcConfiguration =
| TableOptimizerVpcConfiguration.GlueConnectionNameMember
| TableOptimizerVpcConfiguration.$UnknownMember;

/**
* @public
*/
export namespace TableOptimizerVpcConfiguration {
/**
* <p>The name of the Glue connection used for the VPC for the table optimizer.</p>
* @public
*/
export interface GlueConnectionNameMember {
glueConnectionName: string;
$unknown?: never;
}

/**
* @public
*/
export interface $UnknownMember {
glueConnectionName?: never;
$unknown: [string, any];
}

export interface Visitor<T> {
glueConnectionName: (value: string) => T;
_: (name: string, value: any) => T;
}

export const visit = <T>(value: TableOptimizerVpcConfiguration, visitor: Visitor<T>): T => {
if (value.glueConnectionName !== undefined) return visitor.glueConnectionName(value.glueConnectionName);
return visitor._(value.$unknown[0], value.$unknown[1]);
};
}

/**
* <p>Contains details on the configuration of a table optimizer. You pass this configuration when creating or updating a table optimizer.</p>
* @public
Expand All @@ -7635,6 +7676,13 @@ export interface TableOptimizerConfiguration {
*/
enabled?: boolean | undefined;

/**
* <p>A <code>TableOptimizerVpcConfiguration</code> object representing the VPC configuration for a table optimizer.</p>
* <p>This configuration is necessary to perform optimization on tables that are in a customer VPC.</p>
* @public
*/
vpcConfiguration?: TableOptimizerVpcConfiguration | undefined;

/**
* <p>The configuration for a snapshot retention optimizer.</p>
* @public
Expand Down Expand Up @@ -9238,11 +9286,6 @@ export interface CancelDataQualityRuleRecommendationRunRequest {
RunId: string | undefined;
}

/**
* @public
*/
export interface CancelDataQualityRuleRecommendationRunResponse {}

/**
* @internal
*/
Expand Down
24 changes: 6 additions & 18 deletions clients/client-glue/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ import {
WorkerType,
} from "./models_0";

/**
* @public
*/
export interface CancelDataQualityRuleRecommendationRunResponse {}

/**
* @public
*/
Expand Down Expand Up @@ -3276,7 +3281,7 @@ export interface CreateTableOptimizerRequest {
TableName: string | undefined;

/**
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
* <p>The type of table optimizer.</p>
* @public
*/
Type: TableOptimizerType | undefined;
Expand Down Expand Up @@ -7748,23 +7753,6 @@ export interface LabelingSetGenerationTaskRunProperties {
OutputS3Path?: string | undefined;
}

/**
* @public
* @enum
*/
export const TaskType = {
EVALUATION: "EVALUATION",
EXPORT_LABELS: "EXPORT_LABELS",
FIND_MATCHES: "FIND_MATCHES",
IMPORT_LABELS: "IMPORT_LABELS",
LABELING_SET_GENERATION: "LABELING_SET_GENERATION",
} as const;

/**
* @public
*/
export type TaskType = (typeof TaskType)[keyof typeof TaskType];

/**
* @internal
*/
Expand Down
49 changes: 18 additions & 31 deletions clients/client-glue/src/models/models_2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,29 @@ import {
SchemaVersionStatus,
Session,
TaskStatusType,
TaskType,
TransformEncryption,
TransformParameters,
TransformType,
ViewDialect,
} from "./models_1";

/**
* @public
* @enum
*/
export const TaskType = {
EVALUATION: "EVALUATION",
EXPORT_LABELS: "EXPORT_LABELS",
FIND_MATCHES: "FIND_MATCHES",
IMPORT_LABELS: "IMPORT_LABELS",
LABELING_SET_GENERATION: "LABELING_SET_GENERATION",
} as const;

/**
* @public
*/
export type TaskType = (typeof TaskType)[keyof typeof TaskType];

/**
* <p>The configuration properties for the task run.</p>
* @public
Expand Down Expand Up @@ -5169,7 +5185,7 @@ export interface ListTableOptimizerRunsRequest {
TableName: string | undefined;

/**
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
* <p>The type of table optimizer.</p>
* @public
*/
Type: TableOptimizerType | undefined;
Expand Down Expand Up @@ -7875,35 +7891,6 @@ export interface UpdateDataQualityRulesetResponse {
Ruleset?: string | undefined;
}

/**
* <p>Custom libraries to be loaded into a development endpoint.</p>
* @public
*/
export interface DevEndpointCustomLibraries {
/**
* <p>The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)
* bucket that should be loaded in your <code>DevEndpoint</code>. Multiple values must be
* complete paths separated by a comma.</p>
* <note>
* <p>You can only use pure Python libraries with a <code>DevEndpoint</code>. Libraries that rely on
* C extensions, such as the <a href="http://pandas.pydata.org/">pandas</a> Python data
* analysis library, are not currently supported.</p>
* </note>
* @public
*/
ExtraPythonLibsS3Path?: string | undefined;

/**
* <p>The path to one or more Java <code>.jar</code> files in an S3 bucket that should be loaded
* in your <code>DevEndpoint</code>.</p>
* <note>
* <p>You can only use pure Java/Scala libraries with a <code>DevEndpoint</code>.</p>
* </note>
* @public
*/
ExtraJarsS3Path?: string | undefined;
}

/**
* @internal
*/
Expand Down
32 changes: 30 additions & 2 deletions clients/client-glue/src/models/models_3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ import {

import {
ColumnRowFilter,
DevEndpointCustomLibraries,
FederatedTable,
ResourceAction,
ResourceState,
Expand All @@ -117,6 +116,35 @@ import {
ViewValidation,
} from "./models_2";

/**
* <p>Custom libraries to be loaded into a development endpoint.</p>
* @public
*/
export interface DevEndpointCustomLibraries {
/**
* <p>The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)
* bucket that should be loaded in your <code>DevEndpoint</code>. Multiple values must be
* complete paths separated by a comma.</p>
* <note>
* <p>You can only use pure Python libraries with a <code>DevEndpoint</code>. Libraries that rely on
* C extensions, such as the <a href="http://pandas.pydata.org/">pandas</a> Python data
* analysis library, are not currently supported.</p>
* </note>
* @public
*/
ExtraPythonLibsS3Path?: string | undefined;

/**
* <p>The path to one or more Java <code>.jar</code> files in an S3 bucket that should be loaded
* in your <code>DevEndpoint</code>.</p>
* <note>
* <p>You can only use pure Java/Scala libraries with a <code>DevEndpoint</code>.</p>
* </note>
* @public
*/
ExtraJarsS3Path?: string | undefined;
}

/**
* @public
*/
Expand Down Expand Up @@ -687,7 +715,7 @@ export interface UpdateTableOptimizerRequest {
TableName: string | undefined;

/**
* <p>The type of table optimizer. Currently, the only valid value is <code>compaction</code>.</p>
* <p>The type of table optimizer.</p>
* @public
*/
Type: TableOptimizerType | undefined;
Expand Down
7 changes: 6 additions & 1 deletion clients/client-glue/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,7 @@ import {
TableOptimizer,
TableOptimizerConfiguration,
TableOptimizerRun,
TableOptimizerVpcConfiguration,
ThrottlingException,
TimestampedInclusionAnnotation,
TransformConfigParameter,
Expand Down Expand Up @@ -989,7 +990,6 @@ import {
DataQualityRulesetEvaluationRunFilter,
DataQualityRulesetFilterCriteria,
DataQualityRulesetListDetails,
DevEndpointCustomLibraries,
EvaluationMetrics,
FindMatchesMetrics,
GetMLTaskRunResponse,
Expand Down Expand Up @@ -1176,6 +1176,7 @@ import {
BatchGetJobsResponse,
CodeGenConfigurationNode,
CreateJobRequest,
DevEndpointCustomLibraries,
GetJobResponse,
GetJobsResponse,
GetTableResponse,
Expand Down Expand Up @@ -11486,6 +11487,8 @@ const se_TableInput = (input: TableInput, context: __SerdeContext): any => {

// se_TableOptimizerConfiguration omitted.

// se_TableOptimizerVpcConfiguration omitted.

// se_TagKeysList omitted.

// se_TagResourceRequest omitted.
Expand Down Expand Up @@ -15424,6 +15427,8 @@ const de_TableOptimizerRuns = (output: any, context: __SerdeContext): TableOptim
return retVal;
};

// de_TableOptimizerVpcConfiguration omitted.

/**
* deserializeAws_json1_1TableStatus
*/
Expand Down
Loading

0 comments on commit 844a1da

Please sign in to comment.