From c9d85d8e6d0156e0a3033e7887f099501336e1f6 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 10 Jul 2024 18:50:48 +0000 Subject: [PATCH] feat(client-glue): Add recipe step support for recipe node --- .../src/commands/BatchGetJobsCommand.ts | 17 + .../src/commands/CreateClassifierCommand.ts | 2 +- .../src/commands/CreateJobCommand.ts | 17 + .../client-glue/src/commands/GetJobCommand.ts | 17 + .../src/commands/GetJobsCommand.ts | 17 + .../src/commands/GetPartitionsCommand.ts | 2 +- .../src/commands/GetPlanCommand.ts | 3 +- .../src/commands/UpdateJobCommand.ts | 17 + clients/client-glue/src/models/models_0.ts | 134 ++++---- clients/client-glue/src/models/models_1.ts | 309 ++++-------------- clients/client-glue/src/models/models_2.ts | 244 ++++++++++++++ .../client-glue/src/protocols/Aws_json1_1.ts | 37 ++- codegen/sdk-codegen/aws-models/glue.json | 163 ++++++++- 13 files changed, 658 insertions(+), 321 deletions(-) diff --git a/clients/client-glue/src/commands/BatchGetJobsCommand.ts b/clients/client-glue/src/commands/BatchGetJobsCommand.ts index e47b7afa958f1..df9044e8834bf 100644 --- a/clients/client-glue/src/commands/BatchGetJobsCommand.ts +++ b/clients/client-glue/src/commands/BatchGetJobsCommand.ts @@ -1034,6 +1034,23 @@ export interface BatchGetJobsCommandOutput extends BatchGetJobsResponse, __Metad * // RecipeArn: "STRING_VALUE", // required * // RecipeVersion: "STRING_VALUE", // required * // }, + * // RecipeSteps: [ // RecipeSteps + * // { // RecipeStep + * // Action: { // RecipeAction + * // Operation: "STRING_VALUE", // required + * // Parameters: { // ParameterMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // ConditionExpressions: [ // ConditionExpressionList + * // { // ConditionExpression + * // Condition: "STRING_VALUE", // required + * // Value: "STRING_VALUE", + * // TargetColumn: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // ], * // }, * // SnowflakeSource: { // SnowflakeSource * // Name: "STRING_VALUE", // required diff --git a/clients/client-glue/src/commands/CreateClassifierCommand.ts b/clients/client-glue/src/commands/CreateClassifierCommand.ts index 5d3281b92175e..f96e1081e83cd 100644 --- a/clients/client-glue/src/commands/CreateClassifierCommand.ts +++ b/clients/client-glue/src/commands/CreateClassifierCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { CreateClassifierRequest, CreateClassifierResponse } from "../models/models_0"; +import { CreateClassifierRequest, CreateClassifierResponse } from "../models/models_1"; import { de_CreateClassifierCommand, se_CreateClassifierCommand } from "../protocols/Aws_json1_1"; /** diff --git a/clients/client-glue/src/commands/CreateJobCommand.ts b/clients/client-glue/src/commands/CreateJobCommand.ts index 34ba97863c2ab..0131fd0fe68f3 100644 --- a/clients/client-glue/src/commands/CreateJobCommand.ts +++ b/clients/client-glue/src/commands/CreateJobCommand.ts @@ -1025,6 +1025,23 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea * RecipeArn: "STRING_VALUE", // required * RecipeVersion: "STRING_VALUE", // required * }, + * RecipeSteps: [ // RecipeSteps + * { // RecipeStep + * Action: { // RecipeAction + * Operation: "STRING_VALUE", // required + * Parameters: { // ParameterMap + * "": "STRING_VALUE", + * }, + * }, + * ConditionExpressions: [ // ConditionExpressionList + * { // ConditionExpression + * Condition: "STRING_VALUE", // required + * Value: "STRING_VALUE", + * TargetColumn: "STRING_VALUE", // required + * }, + * ], + * }, + * ], * }, * SnowflakeSource: { // SnowflakeSource * Name: "STRING_VALUE", // required diff --git a/clients/client-glue/src/commands/GetJobCommand.ts b/clients/client-glue/src/commands/GetJobCommand.ts index 4e31157f97a27..607cbe6f27fcb 100644 --- a/clients/client-glue/src/commands/GetJobCommand.ts +++ b/clients/client-glue/src/commands/GetJobCommand.ts @@ -1030,6 +1030,23 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {} * // RecipeArn: "STRING_VALUE", // required * // RecipeVersion: "STRING_VALUE", // required * // }, + * // RecipeSteps: [ // RecipeSteps + * // { // RecipeStep + * // Action: { // RecipeAction + * // Operation: "STRING_VALUE", // required + * // Parameters: { // ParameterMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // ConditionExpressions: [ // ConditionExpressionList + * // { // ConditionExpression + * // Condition: "STRING_VALUE", // required + * // Value: "STRING_VALUE", + * // TargetColumn: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // ], * // }, * // SnowflakeSource: { // SnowflakeSource * // Name: "STRING_VALUE", // required diff --git a/clients/client-glue/src/commands/GetJobsCommand.ts b/clients/client-glue/src/commands/GetJobsCommand.ts index 9b46e6a565591..b2224a9c50698 100644 --- a/clients/client-glue/src/commands/GetJobsCommand.ts +++ b/clients/client-glue/src/commands/GetJobsCommand.ts @@ -1032,6 +1032,23 @@ export interface GetJobsCommandOutput extends GetJobsResponse, __MetadataBearer * // RecipeArn: "STRING_VALUE", // required * // RecipeVersion: "STRING_VALUE", // required * // }, + * // RecipeSteps: [ // RecipeSteps + * // { // RecipeStep + * // Action: { // RecipeAction + * // Operation: "STRING_VALUE", // required + * // Parameters: { // ParameterMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // ConditionExpressions: [ // ConditionExpressionList + * // { // ConditionExpression + * // Condition: "STRING_VALUE", // required + * // Value: "STRING_VALUE", + * // TargetColumn: "STRING_VALUE", // required + * // }, + * // ], + * // }, + * // ], * // }, * // SnowflakeSource: { // SnowflakeSource * // Name: "STRING_VALUE", // required diff --git a/clients/client-glue/src/commands/GetPartitionsCommand.ts b/clients/client-glue/src/commands/GetPartitionsCommand.ts index bbba0a7e87b59..e6d27eaa2a541 100644 --- a/clients/client-glue/src/commands/GetPartitionsCommand.ts +++ b/clients/client-glue/src/commands/GetPartitionsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetPartitionsRequest, GetPartitionsResponse } from "../models/models_1"; +import { GetPartitionsRequest, GetPartitionsResponse } from "../models/models_2"; import { de_GetPartitionsCommand, se_GetPartitionsCommand } from "../protocols/Aws_json1_1"; /** diff --git a/clients/client-glue/src/commands/GetPlanCommand.ts b/clients/client-glue/src/commands/GetPlanCommand.ts index b1e9f80f7be12..2066f03209039 100644 --- a/clients/client-glue/src/commands/GetPlanCommand.ts +++ b/clients/client-glue/src/commands/GetPlanCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetPlanRequest } from "../models/models_1"; -import { GetPlanResponse } from "../models/models_2"; +import { GetPlanRequest, GetPlanResponse } from "../models/models_2"; import { de_GetPlanCommand, se_GetPlanCommand } from "../protocols/Aws_json1_1"; /** diff --git a/clients/client-glue/src/commands/UpdateJobCommand.ts b/clients/client-glue/src/commands/UpdateJobCommand.ts index 6e55cba0f5338..e980d9c33ec1d 100644 --- a/clients/client-glue/src/commands/UpdateJobCommand.ts +++ b/clients/client-glue/src/commands/UpdateJobCommand.ts @@ -1022,6 +1022,23 @@ export interface UpdateJobCommandOutput extends UpdateJobResponse, __MetadataBea * RecipeArn: "STRING_VALUE", // required * RecipeVersion: "STRING_VALUE", // required * }, + * RecipeSteps: [ // RecipeSteps + * { // RecipeStep + * Action: { // RecipeAction + * Operation: "STRING_VALUE", // required + * Parameters: { // ParameterMap + * "": "STRING_VALUE", + * }, + * }, + * ConditionExpressions: [ // ConditionExpressionList + * { // ConditionExpression + * Condition: "STRING_VALUE", // required + * Value: "STRING_VALUE", + * TargetColumn: "STRING_VALUE", // required + * }, + * ], + * }, + * ], * }, * SnowflakeSource: { // SnowflakeSource * Name: "STRING_VALUE", // required diff --git a/clients/client-glue/src/models/models_0.ts b/clients/client-glue/src/models/models_0.ts index 5fccfda3a32a0..761078f5dc9d7 100644 --- a/clients/client-glue/src/models/models_0.ts +++ b/clients/client-glue/src/models/models_0.ts @@ -5246,6 +5246,66 @@ export interface RecipeReference { RecipeVersion: string | undefined; } +/** + *

Actions defined in the Glue Studio data preparation recipe node.

+ * @public + */ +export interface RecipeAction { + /** + *

The operation of the recipe action.

+ * @public + */ + Operation: string | undefined; + + /** + *

The parameters of the recipe action.

+ * @public + */ + Parameters?: Record; +} + +/** + *

Condition expression defined in the Glue Studio data preparation recipe node.

+ * @public + */ +export interface ConditionExpression { + /** + *

The condition of the condition expression.

+ * @public + */ + Condition: string | undefined; + + /** + *

The value of the condition expression.

+ * @public + */ + Value?: string; + + /** + *

The target column of the condition expressions.

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

A recipe step used in a Glue Studio data preparation recipe node.

+ * @public + */ +export interface RecipeStep { + /** + *

The transformation action of the recipe step.

+ * @public + */ + Action: RecipeAction | undefined; + + /** + *

The condition expressions for the recipe step.

+ * @public + */ + ConditionExpressions?: ConditionExpression[]; +} + /** *

A Glue Studio node that uses a Glue DataBrew recipe in Glue jobs.

* @public @@ -5267,7 +5327,13 @@ export interface Recipe { *

A reference to the DataBrew recipe used by the node.

* @public */ - RecipeReference: RecipeReference | undefined; + RecipeReference?: RecipeReference; + + /** + *

Transform steps used in the recipe node.

+ * @public + */ + RecipeSteps?: RecipeStep[]; } /** @@ -9097,69 +9163,3 @@ export interface CreateJsonClassifierRequest { */ JsonPath: string | undefined; } - -/** - *

Specifies an XML classifier for CreateClassifier to create.

- * @public - */ -export interface CreateXMLClassifierRequest { - /** - *

An identifier of the data format that the classifier matches.

- * @public - */ - Classification: string | undefined; - - /** - *

The name of the classifier.

- * @public - */ - Name: string | undefined; - - /** - *

The XML tag designating the element that contains each record in an XML document being - * parsed. This can't identify a self-closing element (closed by />). An empty - * row element that contains only attributes can be parsed as long as it ends with a closing tag - * (for example, is okay, but - * is not).

- * @public - */ - RowTag?: string; -} - -/** - * @public - */ -export interface CreateClassifierRequest { - /** - *

A GrokClassifier object specifying the classifier - * to create.

- * @public - */ - GrokClassifier?: CreateGrokClassifierRequest; - - /** - *

An XMLClassifier object specifying the classifier - * to create.

- * @public - */ - XMLClassifier?: CreateXMLClassifierRequest; - - /** - *

A JsonClassifier object specifying the classifier - * to create.

- * @public - */ - JsonClassifier?: CreateJsonClassifierRequest; - - /** - *

A CsvClassifier object specifying the classifier - * to create.

- * @public - */ - CsvClassifier?: CreateCsvClassifierRequest; -} - -/** - * @public - */ -export interface CreateClassifierResponse {} diff --git a/clients/client-glue/src/models/models_1.ts b/clients/client-glue/src/models/models_1.ts index 5223bf804bd12..0af68ef182568 100644 --- a/clients/client-glue/src/models/models_1.ts +++ b/clients/client-glue/src/models/models_1.ts @@ -12,6 +12,9 @@ import { ConnectionsList, Crawler, CrawlerTargets, + CreateCsvClassifierRequest, + CreateGrokClassifierRequest, + CreateJsonClassifierRequest, CsvHeaderOption, CsvSerdeOption, DataFormat, @@ -41,6 +44,72 @@ import { WorkerType, } from "./models_0"; +/** + *

Specifies an XML classifier for CreateClassifier to create.

+ * @public + */ +export interface CreateXMLClassifierRequest { + /** + *

An identifier of the data format that the classifier matches.

+ * @public + */ + Classification: string | undefined; + + /** + *

The name of the classifier.

+ * @public + */ + Name: string | undefined; + + /** + *

The XML tag designating the element that contains each record in an XML document being + * parsed. This can't identify a self-closing element (closed by />). An empty + * row element that contains only attributes can be parsed as long as it ends with a closing tag + * (for example, is okay, but + * is not).

+ * @public + */ + RowTag?: string; +} + +/** + * @public + */ +export interface CreateClassifierRequest { + /** + *

A GrokClassifier object specifying the classifier + * to create.

+ * @public + */ + GrokClassifier?: CreateGrokClassifierRequest; + + /** + *

An XMLClassifier object specifying the classifier + * to create.

+ * @public + */ + XMLClassifier?: CreateXMLClassifierRequest; + + /** + *

A JsonClassifier object specifying the classifier + * to create.

+ * @public + */ + JsonClassifier?: CreateJsonClassifierRequest; + + /** + *

A CsvClassifier object specifying the classifier + * to create.

+ * @public + */ + CsvClassifier?: CreateCsvClassifierRequest; +} + +/** + * @public + */ +export interface CreateClassifierResponse {} + /** * @public * @enum @@ -8090,243 +8159,3 @@ export interface Segment { */ TotalSegments: number | undefined; } - -/** - * @public - */ -export interface GetPartitionsRequest { - /** - *

The ID of the Data Catalog where the partitions in question reside. If none is provided, - * the Amazon Web Services account ID is used by default.

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

The name of the catalog database where the partitions reside.

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

The name of the partitions' table.

- * @public - */ - TableName: string | undefined; - - /** - *

An expression that filters the partitions to be returned.

- *

The expression uses SQL syntax similar to the SQL WHERE filter clause. The - * SQL statement parser JSQLParser parses the expression.

- *

- * Operators: The following are the operators that you can use in the - * Expression API call:

- *
- *
=
- *
- *

Checks whether the values of the two operands are equal; if yes, then the condition becomes - * true.

- *

Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

- *

(a = b) is not true.

- *
- *
< >
- *
- *

Checks whether the values of two operands are equal; if the values are not equal, - * then the condition becomes true.

- *

Example: (a < > b) is true.

- *
- *
>
- *
- *

Checks whether the value of the left operand is greater than the value of the right - * operand; if yes, then the condition becomes true.

- *

Example: (a > b) is not true.

- *
- *
<
- *
- *

Checks whether the value of the left operand is less than the value of the right - * operand; if yes, then the condition becomes true.

- *

Example: (a < b) is true.

- *
- *
>=
- *
- *

Checks whether the value of the left operand is greater than or equal to the value - * of the right operand; if yes, then the condition becomes true.

- *

Example: (a >= b) is not true.

- *
- *
<=
- *
- *

Checks whether the value of the left operand is less than or equal to the value of - * the right operand; if yes, then the condition becomes true.

- *

Example: (a <= b) is true.

- *
- *
AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
- *
- *

Logical operators.

- *
- *
- *

- * Supported Partition Key Types: The following are the supported - * partition keys.

- *
    - *
  • - *

    - * string - *

    - *
  • - *
  • - *

    - * date - *

    - *
  • - *
  • - *

    - * timestamp - *

    - *
  • - *
  • - *

    - * int - *

    - *
  • - *
  • - *

    - * bigint - *

    - *
  • - *
  • - *

    - * long - *

    - *
  • - *
  • - *

    - * tinyint - *

    - *
  • - *
  • - *

    - * smallint - *

    - *
  • - *
  • - *

    - * decimal - *

    - *
  • - *
- *

If an type is encountered that is not valid, an exception is thrown.

- *

The following list shows the valid operators on each type. When you define a crawler, the - * partitionKey type is created as a STRING, to be compatible with the catalog - * partitions.

- *

- * Sample API Call:

- * @public - */ - Expression?: string; - - /** - *

A continuation token, if this is not the first call to retrieve - * these partitions.

- * @public - */ - NextToken?: string; - - /** - *

The segment of the table's partitions to scan in this request.

- * @public - */ - Segment?: Segment; - - /** - *

The maximum number of partitions to return in a single response.

- * @public - */ - MaxResults?: number; - - /** - *

When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.

- * @public - */ - ExcludeColumnSchema?: boolean; - - /** - *

The transaction ID at which to read the partition contents.

- * @public - */ - TransactionId?: string; - - /** - *

The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

- * @public - */ - QueryAsOfTime?: Date; -} - -/** - * @public - */ -export interface GetPartitionsResponse { - /** - *

A list of requested partitions.

- * @public - */ - Partitions?: Partition[]; - - /** - *

A continuation token, if the returned list of partitions does not include the last - * one.

- * @public - */ - NextToken?: string; -} - -/** - * @public - */ -export interface GetPlanRequest { - /** - *

The list of mappings from a source table to target tables.

- * @public - */ - Mapping: MappingEntry[] | undefined; - - /** - *

The source table.

- * @public - */ - Source: CatalogEntry | undefined; - - /** - *

The target tables.

- * @public - */ - Sinks?: CatalogEntry[]; - - /** - *

The parameters for the mapping.

- * @public - */ - Location?: Location; - - /** - *

The programming language of the code to perform the mapping.

- * @public - */ - Language?: Language; - - /** - *

A map to hold additional optional key-value parameters.

- *

Currently, these key-value pairs are supported:

- *
    - *
  • - *

    - * inferSchema  —  Specifies whether to set inferSchema to true or false for the default script generated by an Glue job. For example, to set inferSchema to true, pass the following key value pair:

    - *

    - * --additional-plan-options-map '\{"inferSchema":"true"\}' - *

    - *
  • - *
- * @public - */ - AdditionalPlanOptionsMap?: Record; -} diff --git a/clients/client-glue/src/models/models_2.ts b/clients/client-glue/src/models/models_2.ts index e9adcfe2faf14..1bb45416eda0a 100644 --- a/clients/client-glue/src/models/models_2.ts +++ b/clients/client-glue/src/models/models_2.ts @@ -115,6 +115,7 @@ import { } from "./models_0"; import { + CatalogEntry, ColumnStatistics, Compatibility, ConnectionInput, @@ -124,6 +125,9 @@ import { DataQualityTargetTable, EncryptionConfiguration, JobBookmarkEntry, + Language, + Location, + MappingEntry, Permission, PrincipalType, ProfileConfiguration, @@ -144,6 +148,246 @@ import { ViewDialect, } from "./models_1"; +/** + * @public + */ +export interface GetPartitionsRequest { + /** + *

The ID of the Data Catalog where the partitions in question reside. If none is provided, + * the Amazon Web Services account ID is used by default.

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

The name of the catalog database where the partitions reside.

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

The name of the partitions' table.

+ * @public + */ + TableName: string | undefined; + + /** + *

An expression that filters the partitions to be returned.

+ *

The expression uses SQL syntax similar to the SQL WHERE filter clause. The + * SQL statement parser JSQLParser parses the expression.

+ *

+ * Operators: The following are the operators that you can use in the + * Expression API call:

+ *
+ *
=
+ *
+ *

Checks whether the values of the two operands are equal; if yes, then the condition becomes + * true.

+ *

Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

+ *

(a = b) is not true.

+ *
+ *
< >
+ *
+ *

Checks whether the values of two operands are equal; if the values are not equal, + * then the condition becomes true.

+ *

Example: (a < > b) is true.

+ *
+ *
>
+ *
+ *

Checks whether the value of the left operand is greater than the value of the right + * operand; if yes, then the condition becomes true.

+ *

Example: (a > b) is not true.

+ *
+ *
<
+ *
+ *

Checks whether the value of the left operand is less than the value of the right + * operand; if yes, then the condition becomes true.

+ *

Example: (a < b) is true.

+ *
+ *
>=
+ *
+ *

Checks whether the value of the left operand is greater than or equal to the value + * of the right operand; if yes, then the condition becomes true.

+ *

Example: (a >= b) is not true.

+ *
+ *
<=
+ *
+ *

Checks whether the value of the left operand is less than or equal to the value of + * the right operand; if yes, then the condition becomes true.

+ *

Example: (a <= b) is true.

+ *
+ *
AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
+ *
+ *

Logical operators.

+ *
+ *
+ *

+ * Supported Partition Key Types: The following are the supported + * partition keys.

+ *
    + *
  • + *

    + * string + *

    + *
  • + *
  • + *

    + * date + *

    + *
  • + *
  • + *

    + * timestamp + *

    + *
  • + *
  • + *

    + * int + *

    + *
  • + *
  • + *

    + * bigint + *

    + *
  • + *
  • + *

    + * long + *

    + *
  • + *
  • + *

    + * tinyint + *

    + *
  • + *
  • + *

    + * smallint + *

    + *
  • + *
  • + *

    + * decimal + *

    + *
  • + *
+ *

If an type is encountered that is not valid, an exception is thrown.

+ *

The following list shows the valid operators on each type. When you define a crawler, the + * partitionKey type is created as a STRING, to be compatible with the catalog + * partitions.

+ *

+ * Sample API Call:

+ * @public + */ + Expression?: string; + + /** + *

A continuation token, if this is not the first call to retrieve + * these partitions.

+ * @public + */ + NextToken?: string; + + /** + *

The segment of the table's partitions to scan in this request.

+ * @public + */ + Segment?: Segment; + + /** + *

The maximum number of partitions to return in a single response.

+ * @public + */ + MaxResults?: number; + + /** + *

When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.

+ * @public + */ + ExcludeColumnSchema?: boolean; + + /** + *

The transaction ID at which to read the partition contents.

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

The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

+ * @public + */ + QueryAsOfTime?: Date; +} + +/** + * @public + */ +export interface GetPartitionsResponse { + /** + *

A list of requested partitions.

+ * @public + */ + Partitions?: Partition[]; + + /** + *

A continuation token, if the returned list of partitions does not include the last + * one.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + */ +export interface GetPlanRequest { + /** + *

The list of mappings from a source table to target tables.

+ * @public + */ + Mapping: MappingEntry[] | undefined; + + /** + *

The source table.

+ * @public + */ + Source: CatalogEntry | undefined; + + /** + *

The target tables.

+ * @public + */ + Sinks?: CatalogEntry[]; + + /** + *

The parameters for the mapping.

+ * @public + */ + Location?: Location; + + /** + *

The programming language of the code to perform the mapping.

+ * @public + */ + Language?: Language; + + /** + *

A map to hold additional optional key-value parameters.

+ *

Currently, these key-value pairs are supported:

+ *
    + *
  • + *

    + * inferSchema  —  Specifies whether to set inferSchema to true or false for the default script generated by an Glue job. For example, to set inferSchema to true, pass the following key value pair:

    + *

    + * --additional-plan-options-map '\{"inferSchema":"true"\}' + *

    + *
  • + *
+ * @public + */ + AdditionalPlanOptionsMap?: Record; +} + /** * @public */ diff --git a/clients/client-glue/src/protocols/Aws_json1_1.ts b/clients/client-glue/src/protocols/Aws_json1_1.ts index 5c3b5479ff9d6..f3bf4c93fddac 100644 --- a/clients/client-glue/src/protocols/Aws_json1_1.ts +++ b/clients/client-glue/src/protocols/Aws_json1_1.ts @@ -552,6 +552,7 @@ import { CheckSchemaVersionValidityInput, Column, Condition, + ConditionExpression, ConnectionsList, ConnectorDataSource, ConnectorDataTarget, @@ -560,11 +561,9 @@ import { CrawlerNodeDetails, CrawlerTargets, CreateBlueprintRequest, - CreateClassifierRequest, CreateCsvClassifierRequest, CreateGrokClassifierRequest, CreateJsonClassifierRequest, - CreateXMLClassifierRequest, CustomCode, DataQualityAnalyzerResult, DataQualityMetricValues, @@ -654,7 +653,9 @@ import { PostgreSQLCatalogTarget, Predicate, Recipe, + RecipeAction, RecipeReference, + RecipeStep, RecrawlPolicy, RedshiftSource, RedshiftTarget, @@ -734,6 +735,7 @@ import { ConnectionPropertyKey, CrawlerMetrics, CrawlerRunningException, + CreateClassifierRequest, CreateConnectionRequest, CreateCrawlerRequest, CreateCustomEntityTypeRequest, @@ -757,6 +759,7 @@ import { CreateUsageProfileRequest, CreateUserDefinedFunctionRequest, CreateWorkflowRequest, + CreateXMLClassifierRequest, CsvClassifier, Database, DatabaseAttributes, @@ -873,9 +876,6 @@ import { GetPartitionIndexesRequest, GetPartitionRequest, GetPartitionResponse, - GetPartitionsRequest, - GetPartitionsResponse, - GetPlanRequest, GrokClassifier, IcebergInput, IdempotentParameterMismatchException, @@ -942,6 +942,9 @@ import { DevEndpointCustomLibraries, GetJobResponse, GetJobsResponse, + GetPartitionsRequest, + GetPartitionsResponse, + GetPlanRequest, GetRegistryInput, GetResourcePoliciesRequest, GetResourcePoliciesResponse, @@ -9362,6 +9365,10 @@ const se_ColumnStatisticsData = (input: ColumnStatisticsData, context: __SerdeCo // se_Condition omitted. +// se_ConditionExpression omitted. + +// se_ConditionExpressionList omitted. + // se_ConditionList omitted. // se_ConfigurationMap omitted. @@ -10496,6 +10503,8 @@ const se_Mappings = (input: Mapping[], context: __SerdeContext): any => { // se_OrderList omitted. +// se_ParameterMap omitted. + // se_ParametersMap omitted. // se_PartitionIndex omitted. @@ -10593,8 +10602,14 @@ const se_QuerySessionContext = (input: QuerySessionContext, context: __SerdeCont // se_Recipe omitted. +// se_RecipeAction omitted. + // se_RecipeReference omitted. +// se_RecipeStep omitted. + +// se_RecipeSteps omitted. + // se_RecrawlPolicy omitted. // se_RedshiftSource omitted. @@ -11719,6 +11734,10 @@ const de_ColumnStatisticsTaskRunsList = (output: any, context: __SerdeContext): // de_ConditionCheckFailureException omitted. +// de_ConditionExpression omitted. + +// de_ConditionExpressionList omitted. + // de_ConditionList omitted. // de_ConfigurationMap omitted. @@ -13958,6 +13977,8 @@ const de_NodeList = (output: any, context: __SerdeContext): Node[] => { // de_OtherMetadataValueListItem omitted. +// de_ParameterMap omitted. + // de_ParametersMap omitted. /** @@ -14053,8 +14074,14 @@ const de_PIIDetection = (output: any, context: __SerdeContext): PIIDetection => // de_Recipe omitted. +// de_RecipeAction omitted. + // de_RecipeReference omitted. +// de_RecipeStep omitted. + +// de_RecipeSteps omitted. + // de_RecrawlPolicy omitted. // de_RedshiftSource omitted. diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index d882ab2e1b1be..897d47fa0e48a 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -6537,6 +6537,40 @@ "smithy.api#error": "client" } }, + "com.amazonaws.glue#ConditionExpression": { + "type": "structure", + "members": { + "Condition": { + "target": "com.amazonaws.glue#DatabrewCondition", + "traits": { + "smithy.api#documentation": "

The condition of the condition expression.

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

The value of the condition expression.

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

The target column of the condition expressions.

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

Condition expression defined in the Glue Studio data preparation recipe node.

" + } + }, + "com.amazonaws.glue#ConditionExpressionList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#ConditionExpression" + } + }, "com.amazonaws.glue#ConditionList": { "type": "list", "member": { @@ -11873,6 +11907,25 @@ "com.amazonaws.glue#DatabaseName": { "type": "string" }, + "com.amazonaws.glue#DatabrewCondition": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Z\\_]+$" + } + }, + "com.amazonaws.glue#DatabrewConditionValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, "com.amazonaws.glue#Datatype": { "type": "structure", "members": { @@ -14385,13 +14438,13 @@ "com.amazonaws.glue#EnclosedInStringProperty": { "type": "string", "traits": { - "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\S\\r\\n\"'])*$" + "smithy.api#pattern": "^([\\u0009\\u000B\\u000C\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF])*$" } }, "com.amazonaws.glue#EnclosedInStringPropertyWithQuote": { "type": "string", "traits": { - "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\S\\r\\n])*$" + "smithy.api#pattern": "^([\\u0009\\u000B\\u000C\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF])*$" } }, "com.amazonaws.glue#EncryptionAtRest": { @@ -26461,7 +26514,7 @@ "com.amazonaws.glue#NodeName": { "type": "string", "traits": { - "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\r\\n])*$" + "smithy.api#pattern": "^([^\\r\\n])*$" } }, "com.amazonaws.glue#NodeType": { @@ -26756,6 +26809,16 @@ "smithy.api#documentation": "

A structure representing an open format table.

" } }, + "com.amazonaws.glue#Operation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Z\\_]+$" + } + }, "com.amazonaws.glue#OperationNotSupportedException": { "type": "structure", "members": { @@ -27164,6 +27227,34 @@ } } }, + "com.amazonaws.glue#ParameterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#ParameterName" + }, + "value": { + "target": "com.amazonaws.glue#ParameterValue" + } + }, + "com.amazonaws.glue#ParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z0-9]+$" + } + }, + "com.amazonaws.glue#ParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32768 + } + } + }, "com.amazonaws.glue#ParametersMap": { "type": "map", "key": { @@ -28456,8 +28547,13 @@ "RecipeReference": { "target": "com.amazonaws.glue#RecipeReference", "traits": { - "smithy.api#documentation": "

A reference to the DataBrew recipe used by the node.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A reference to the DataBrew recipe used by the node.

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

Transform steps used in the recipe node.

" } } }, @@ -28465,6 +28561,27 @@ "smithy.api#documentation": "

A Glue Studio node that uses a Glue DataBrew recipe in Glue jobs.

" } }, + "com.amazonaws.glue#RecipeAction": { + "type": "structure", + "members": { + "Operation": { + "target": "com.amazonaws.glue#Operation", + "traits": { + "smithy.api#documentation": "

The operation of the recipe action.

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

The parameters of the recipe action.

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

Actions defined in the Glue Studio data preparation recipe node.

" + } + }, "com.amazonaws.glue#RecipeReference": { "type": "structure", "members": { @@ -28487,6 +28604,33 @@ "smithy.api#documentation": "

A reference to a Glue DataBrew recipe.

" } }, + "com.amazonaws.glue#RecipeStep": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.glue#RecipeAction", + "traits": { + "smithy.api#documentation": "

The transformation action of the recipe step.

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

The condition expressions for the recipe step.

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

A recipe step used in a Glue Studio data preparation recipe node.

" + } + }, + "com.amazonaws.glue#RecipeSteps": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#RecipeStep" + } + }, "com.amazonaws.glue#RecipeVersion": { "type": "string", "traits": { @@ -34341,6 +34485,15 @@ } } }, + "com.amazonaws.glue#TargetColumn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, "com.amazonaws.glue#TargetFormat": { "type": "enum", "members": {