diff --git a/clients/client-glue/src/commands/CreateTableCommand.ts b/clients/client-glue/src/commands/CreateTableCommand.ts index 28ffd52a857e..5bbbc136e424 100644 --- a/clients/client-glue/src/commands/CreateTableCommand.ts +++ b/clients/client-glue/src/commands/CreateTableCommand.ts @@ -139,6 +139,12 @@ export interface CreateTableCommandOutput extends CreateTableResponse, __Metadat * }, * ], * TransactionId: "STRING_VALUE", + * OpenTableFormatInput: { // OpenTableFormatInput + * IcebergInput: { // IcebergInput + * MetadataOperation: "CREATE", // required + * Version: "STRING_VALUE", + * }, + * }, * }; * const command = new CreateTableCommand(input); * const response = await client.send(command); diff --git a/clients/client-glue/src/commands/GetUnfilteredTableMetadataCommand.ts b/clients/client-glue/src/commands/GetUnfilteredTableMetadataCommand.ts index e514c8326261..d0d91b7040ed 100644 --- a/clients/client-glue/src/commands/GetUnfilteredTableMetadataCommand.ts +++ b/clients/client-glue/src/commands/GetUnfilteredTableMetadataCommand.ts @@ -14,7 +14,8 @@ import { } from "@smithy/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetUnfilteredTableMetadataRequest, GetUnfilteredTableMetadataResponse } from "../models/models_1"; +import { GetUnfilteredTableMetadataRequest } from "../models/models_1"; +import { GetUnfilteredTableMetadataResponse } from "../models/models_2"; import { de_GetUnfilteredTableMetadataCommand, se_GetUnfilteredTableMetadataCommand } from "../protocols/Aws_json1_1"; /** diff --git a/clients/client-glue/src/commands/GetUserDefinedFunctionCommand.ts b/clients/client-glue/src/commands/GetUserDefinedFunctionCommand.ts index 3f06680a0b09..99f069532c86 100644 --- a/clients/client-glue/src/commands/GetUserDefinedFunctionCommand.ts +++ b/clients/client-glue/src/commands/GetUserDefinedFunctionCommand.ts @@ -14,8 +14,7 @@ import { } from "@smithy/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetUserDefinedFunctionRequest } from "../models/models_1"; -import { GetUserDefinedFunctionResponse } from "../models/models_2"; +import { GetUserDefinedFunctionRequest, GetUserDefinedFunctionResponse } from "../models/models_2"; import { de_GetUserDefinedFunctionCommand, se_GetUserDefinedFunctionCommand } from "../protocols/Aws_json1_1"; /** diff --git a/clients/client-glue/src/models/models_1.ts b/clients/client-glue/src/models/models_1.ts index 8122adedd4a4..e10715996f7e 100644 --- a/clients/client-glue/src/models/models_1.ts +++ b/clients/client-glue/src/models/models_1.ts @@ -1017,6 +1017,46 @@ export interface CreateSessionResponse { Session?: Session; } +/** + * @public + * @enum + */ +export const MetadataOperation = { + CREATE: "CREATE", +} as const; + +/** + * @public + */ +export type MetadataOperation = (typeof MetadataOperation)[keyof typeof MetadataOperation]; + +/** + * @public + *

A structure that defines an Apache Iceberg metadata table to create in the catalog.

+ */ +export interface IcebergInput { + /** + *

A required metadata operation. Can only be set to CREATE.

+ */ + MetadataOperation: MetadataOperation | string | undefined; + + /** + *

The table version for the Iceberg table. Defaults to 2.

+ */ + Version?: string; +} + +/** + * @public + *

A structure representing an open format table.

+ */ +export interface OpenTableFormatInput { + /** + *

Specifies an IcebergInput structure that defines an Apache Iceberg metadata table.

+ */ + IcebergInput?: IcebergInput; +} + /** * @public *

A structure that describes a target table for resource linking.

@@ -1170,6 +1210,11 @@ export interface CreateTableRequest { *

The ID of the transaction.

*/ TransactionId?: string; + + /** + *

Specifies an OpenTableFormatInput structure when creating an open format table.

+ */ + OpenTableFormatInput?: OpenTableFormatInput; } /** @@ -7169,66 +7214,3 @@ export interface GetUnfilteredTableMetadataRequest { */ SupportedPermissionTypes: (PermissionType | string)[] | undefined; } - -/** - * @public - *

A filter that uses both column-level and row-level filtering.

- */ -export interface ColumnRowFilter { - /** - *

A string containing the name of the column.

- */ - ColumnName?: string; - - /** - *

A string containing the row-level filter expression.

- */ - RowFilterExpression?: string; -} - -/** - * @public - */ -export interface GetUnfilteredTableMetadataResponse { - /** - *

A Table object containing the table metadata.

- */ - Table?: Table; - - /** - *

A list of column names that the user has been granted access to.

- */ - AuthorizedColumns?: string[]; - - /** - *

A Boolean value that indicates whether the partition location is registered - * with Lake Formation.

- */ - IsRegisteredWithLakeFormation?: boolean; - - /** - *

A list of column row filters.

- */ - CellFilters?: ColumnRowFilter[]; -} - -/** - * @public - */ -export interface GetUserDefinedFunctionRequest { - /** - *

The ID of the Data Catalog where the function to be retrieved is located. If none is - * provided, the Amazon Web Services account ID is used by default.

- */ - CatalogId?: string; - - /** - *

The name of the catalog database where the function is located.

- */ - DatabaseName: string | undefined; - - /** - *

The name of the function.

- */ - FunctionName: string | undefined; -} diff --git a/clients/client-glue/src/models/models_2.ts b/clients/client-glue/src/models/models_2.ts index b5b56c258cdf..38d005eef5db 100644 --- a/clients/client-glue/src/models/models_2.ts +++ b/clients/client-glue/src/models/models_2.ts @@ -123,6 +123,69 @@ import { UserDefinedFunctionInput, } from "./models_1"; +/** + * @public + *

A filter that uses both column-level and row-level filtering.

+ */ +export interface ColumnRowFilter { + /** + *

A string containing the name of the column.

+ */ + ColumnName?: string; + + /** + *

A string containing the row-level filter expression.

+ */ + RowFilterExpression?: string; +} + +/** + * @public + */ +export interface GetUnfilteredTableMetadataResponse { + /** + *

A Table object containing the table metadata.

+ */ + Table?: Table; + + /** + *

A list of column names that the user has been granted access to.

+ */ + AuthorizedColumns?: string[]; + + /** + *

A Boolean value that indicates whether the partition location is registered + * with Lake Formation.

+ */ + IsRegisteredWithLakeFormation?: boolean; + + /** + *

A list of column row filters.

+ */ + CellFilters?: ColumnRowFilter[]; +} + +/** + * @public + */ +export interface GetUserDefinedFunctionRequest { + /** + *

The ID of the Data Catalog where the function to be retrieved is located. If none is + * provided, the Amazon Web Services account ID is used by default.

+ */ + CatalogId?: string; + + /** + *

The name of the catalog database where the function is located.

+ */ + DatabaseName: string | undefined; + + /** + *

The name of the function.

+ */ + FunctionName: string | undefined; +} + /** * @public *

Represents the equivalent of a Hive user-defined function diff --git a/clients/client-glue/src/protocols/Aws_json1_1.ts b/clients/client-glue/src/protocols/Aws_json1_1.ts index 17c34b40ae93..72dd0ac3623d 100644 --- a/clients/client-glue/src/protocols/Aws_json1_1.ts +++ b/clients/client-glue/src/protocols/Aws_json1_1.ts @@ -831,16 +831,16 @@ import { GetUnfilteredPartitionsMetadataRequest, GetUnfilteredPartitionsMetadataResponse, GetUnfilteredTableMetadataRequest, - GetUnfilteredTableMetadataResponse, - GetUserDefinedFunctionRequest, GluePolicy, GrokClassifier, + IcebergInput, JobBookmarksEncryption, JsonClassifier, Location, LongColumnStatisticsData, MappingEntry, MLTransform, + OpenTableFormatInput, PartitionIndex, PermissionType, PermissionTypeMismatchException, @@ -892,6 +892,8 @@ import { DevEndpointCustomLibraries, GetJobResponse, GetJobsResponse, + GetUnfilteredTableMetadataResponse, + GetUserDefinedFunctionRequest, GetUserDefinedFunctionResponse, GetUserDefinedFunctionsRequest, GetUserDefinedFunctionsResponse, @@ -16117,6 +16119,7 @@ const se_CreateTableRequest = (input: CreateTableRequest, context: __SerdeContex return take(input, { CatalogId: [], DatabaseName: [], + OpenTableFormatInput: _json, PartitionIndexes: _json, TableInput: (_) => se_TableInput(_, context), TransactionId: [], @@ -16656,6 +16659,8 @@ const se_GetTablesRequest = (input: GetTablesRequest, context: __SerdeContext): // se_GovernedCatalogTarget omitted. +// se_IcebergInput omitted. + // se_IcebergTarget omitted. // se_IcebergTargetList omitted. @@ -16947,6 +16952,8 @@ const se_Mappings = (input: Mapping[], context: __SerdeContext): any => { // se_OneInput omitted. +// se_OpenTableFormatInput omitted. + // se_Option omitted. // se_OptionList omitted. diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index 4f0eb459bbdd..a00246c67c05 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -9120,6 +9120,12 @@ "traits": { "smithy.api#documentation": "

The ID of the transaction.

" } + }, + "OpenTableFormatInput": { + "target": "com.amazonaws.glue#OpenTableFormatInput", + "traits": { + "smithy.api#documentation": "

Specifies an OpenTableFormatInput structure when creating an open format table.

" + } } }, "traits": { @@ -19764,6 +19770,27 @@ } } }, + "com.amazonaws.glue#IcebergInput": { + "type": "structure", + "members": { + "MetadataOperation": { + "target": "com.amazonaws.glue#MetadataOperation", + "traits": { + "smithy.api#documentation": "

A required metadata operation. Can only be set to CREATE.

", + "smithy.api#required": {} + } + }, + "Version": { + "target": "com.amazonaws.glue#VersionString", + "traits": { + "smithy.api#documentation": "

The table version for the Iceberg table. Defaults to 2.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines an Apache Iceberg metadata table to create in the catalog.

" + } + }, "com.amazonaws.glue#IcebergTarget": { "type": "structure", "members": { @@ -23862,6 +23889,17 @@ "target": "com.amazonaws.glue#MetadataKeyValuePair" } }, + "com.amazonaws.glue#MetadataOperation": { + "type": "enum", + "members": { + "CREATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE" + } + } + } + }, "com.amazonaws.glue#MetadataValueString": { "type": "string", "traits": { @@ -24301,6 +24339,20 @@ } } }, + "com.amazonaws.glue#OpenTableFormatInput": { + "type": "structure", + "members": { + "IcebergInput": { + "target": "com.amazonaws.glue#IcebergInput", + "traits": { + "smithy.api#documentation": "

Specifies an IcebergInput structure that defines an Apache Iceberg metadata table.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure representing an open format table.

" + } + }, "com.amazonaws.glue#OperationTimeoutException": { "type": "structure", "members": {