diff --git a/clients/client-glue/src/Glue.ts b/clients/client-glue/src/Glue.ts index 5d0ffb7cdf64f..a302152194a2b 100644 --- a/clients/client-glue/src/Glue.ts +++ b/clients/client-glue/src/Glue.ts @@ -757,6 +757,11 @@ import { UpdateDevEndpointCommandOutput, } from "./commands/UpdateDevEndpointCommand"; import { UpdateJobCommand, UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { + UpdateJobFromSourceControlCommand, + UpdateJobFromSourceControlCommandInput, + UpdateJobFromSourceControlCommandOutput, +} from "./commands/UpdateJobFromSourceControlCommand"; import { UpdateMLTransformCommand, UpdateMLTransformCommandInput, @@ -777,6 +782,11 @@ import { UpdateSchemaCommandInput, UpdateSchemaCommandOutput, } from "./commands/UpdateSchemaCommand"; +import { + UpdateSourceControlFromJobCommand, + UpdateSourceControlFromJobCommandInput, + UpdateSourceControlFromJobCommandOutput, +} from "./commands/UpdateSourceControlFromJobCommand"; import { UpdateTableCommand, UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; import { UpdateTriggerCommand, @@ -6419,6 +6429,40 @@ export class Glue extends GlueClient { } } + /** + *

Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in the remote repository and updates the Glue internal stores with these artifacts.

+ * + *

This API supports optional parameters which take in the repository information.

+ */ + public updateJobFromSourceControl( + args: UpdateJobFromSourceControlCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateJobFromSourceControl( + args: UpdateJobFromSourceControlCommandInput, + cb: (err: any, data?: UpdateJobFromSourceControlCommandOutput) => void + ): void; + public updateJobFromSourceControl( + args: UpdateJobFromSourceControlCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateJobFromSourceControlCommandOutput) => void + ): void; + public updateJobFromSourceControl( + args: UpdateJobFromSourceControlCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateJobFromSourceControlCommandOutput) => void), + cb?: (err: any, data?: UpdateJobFromSourceControlCommandOutput) => void + ): Promise | void { + const command = new UpdateJobFromSourceControlCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results.

* @@ -6551,6 +6595,40 @@ export class Glue extends GlueClient { } } + /** + *

Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue internal stores and makes a commit to the remote repository that is configured on the job.

+ * + *

This API supports optional parameters which take in the repository information.

+ */ + public updateSourceControlFromJob( + args: UpdateSourceControlFromJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateSourceControlFromJob( + args: UpdateSourceControlFromJobCommandInput, + cb: (err: any, data?: UpdateSourceControlFromJobCommandOutput) => void + ): void; + public updateSourceControlFromJob( + args: UpdateSourceControlFromJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateSourceControlFromJobCommandOutput) => void + ): void; + public updateSourceControlFromJob( + args: UpdateSourceControlFromJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateSourceControlFromJobCommandOutput) => void), + cb?: (err: any, data?: UpdateSourceControlFromJobCommandOutput) => void + ): Promise | void { + const command = new UpdateSourceControlFromJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Updates a metadata table in the Data Catalog.

*/ diff --git a/clients/client-glue/src/GlueClient.ts b/clients/client-glue/src/GlueClient.ts index 55102135e670a..824015fcb3f6f 100644 --- a/clients/client-glue/src/GlueClient.ts +++ b/clients/client-glue/src/GlueClient.ts @@ -391,10 +391,18 @@ import { import { UpdateDatabaseCommandInput, UpdateDatabaseCommandOutput } from "./commands/UpdateDatabaseCommand"; import { UpdateDevEndpointCommandInput, UpdateDevEndpointCommandOutput } from "./commands/UpdateDevEndpointCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { + UpdateJobFromSourceControlCommandInput, + UpdateJobFromSourceControlCommandOutput, +} from "./commands/UpdateJobFromSourceControlCommand"; import { UpdateMLTransformCommandInput, UpdateMLTransformCommandOutput } from "./commands/UpdateMLTransformCommand"; import { UpdatePartitionCommandInput, UpdatePartitionCommandOutput } from "./commands/UpdatePartitionCommand"; import { UpdateRegistryCommandInput, UpdateRegistryCommandOutput } from "./commands/UpdateRegistryCommand"; import { UpdateSchemaCommandInput, UpdateSchemaCommandOutput } from "./commands/UpdateSchemaCommand"; +import { + UpdateSourceControlFromJobCommandInput, + UpdateSourceControlFromJobCommandOutput, +} from "./commands/UpdateSourceControlFromJobCommand"; import { UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; import { UpdateTriggerCommandInput, UpdateTriggerCommandOutput } from "./commands/UpdateTriggerCommand"; import { @@ -581,10 +589,12 @@ export type ServiceInputTypes = | UpdateDatabaseCommandInput | UpdateDevEndpointCommandInput | UpdateJobCommandInput + | UpdateJobFromSourceControlCommandInput | UpdateMLTransformCommandInput | UpdatePartitionCommandInput | UpdateRegistryCommandInput | UpdateSchemaCommandInput + | UpdateSourceControlFromJobCommandInput | UpdateTableCommandInput | UpdateTriggerCommandInput | UpdateUserDefinedFunctionCommandInput @@ -767,10 +777,12 @@ export type ServiceOutputTypes = | UpdateDatabaseCommandOutput | UpdateDevEndpointCommandOutput | UpdateJobCommandOutput + | UpdateJobFromSourceControlCommandOutput | UpdateMLTransformCommandOutput | UpdatePartitionCommandOutput | UpdateRegistryCommandOutput | UpdateSchemaCommandOutput + | UpdateSourceControlFromJobCommandOutput | UpdateTableCommandOutput | UpdateTriggerCommandOutput | UpdateUserDefinedFunctionCommandOutput diff --git a/clients/client-glue/src/commands/CreateWorkflowCommand.ts b/clients/client-glue/src/commands/CreateWorkflowCommand.ts index 22cbeb6409ac1..71caa1f9d0d50 100644 --- a/clients/client-glue/src/commands/CreateWorkflowCommand.ts +++ b/clients/client-glue/src/commands/CreateWorkflowCommand.ts @@ -13,12 +13,8 @@ import { } from "@aws-sdk/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { - CreateWorkflowRequest, - CreateWorkflowRequestFilterSensitiveLog, - CreateWorkflowResponse, - CreateWorkflowResponseFilterSensitiveLog, -} from "../models/models_0"; +import { CreateWorkflowRequest, CreateWorkflowRequestFilterSensitiveLog } from "../models/models_0"; +import { CreateWorkflowResponse, CreateWorkflowResponseFilterSensitiveLog } from "../models/models_1"; import { deserializeAws_json1_1CreateWorkflowCommand, serializeAws_json1_1CreateWorkflowCommand, diff --git a/clients/client-glue/src/commands/DeleteBlueprintCommand.ts b/clients/client-glue/src/commands/DeleteBlueprintCommand.ts index 7af852730a261..decb8332c43d8 100644 --- a/clients/client-glue/src/commands/DeleteBlueprintCommand.ts +++ b/clients/client-glue/src/commands/DeleteBlueprintCommand.ts @@ -18,7 +18,7 @@ import { DeleteBlueprintRequestFilterSensitiveLog, DeleteBlueprintResponse, DeleteBlueprintResponseFilterSensitiveLog, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_json1_1DeleteBlueprintCommand, serializeAws_json1_1DeleteBlueprintCommand, diff --git a/clients/client-glue/src/commands/QuerySchemaVersionMetadataCommand.ts b/clients/client-glue/src/commands/QuerySchemaVersionMetadataCommand.ts index 4a38a15f4a006..cf5274b052198 100644 --- a/clients/client-glue/src/commands/QuerySchemaVersionMetadataCommand.ts +++ b/clients/client-glue/src/commands/QuerySchemaVersionMetadataCommand.ts @@ -13,8 +13,9 @@ import { } from "@aws-sdk/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { QuerySchemaVersionMetadataInput, QuerySchemaVersionMetadataInputFilterSensitiveLog } from "../models/models_1"; import { + QuerySchemaVersionMetadataInput, + QuerySchemaVersionMetadataInputFilterSensitiveLog, QuerySchemaVersionMetadataResponse, QuerySchemaVersionMetadataResponseFilterSensitiveLog, } from "../models/models_2"; diff --git a/clients/client-glue/src/commands/UpdateJobFromSourceControlCommand.ts b/clients/client-glue/src/commands/UpdateJobFromSourceControlCommand.ts new file mode 100644 index 0000000000000..56c1bdb8493b2 --- /dev/null +++ b/clients/client-glue/src/commands/UpdateJobFromSourceControlCommand.ts @@ -0,0 +1,106 @@ +// smithy-typescript generated code +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { + UpdateJobFromSourceControlRequest, + UpdateJobFromSourceControlRequestFilterSensitiveLog, + UpdateJobFromSourceControlResponse, + UpdateJobFromSourceControlResponseFilterSensitiveLog, +} from "../models/models_2"; +import { + deserializeAws_json1_1UpdateJobFromSourceControlCommand, + serializeAws_json1_1UpdateJobFromSourceControlCommand, +} from "../protocols/Aws_json1_1"; + +export interface UpdateJobFromSourceControlCommandInput extends UpdateJobFromSourceControlRequest {} +export interface UpdateJobFromSourceControlCommandOutput extends UpdateJobFromSourceControlResponse, __MetadataBearer {} + +/** + *

Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in the remote repository and updates the Glue internal stores with these artifacts.

+ * + *

This API supports optional parameters which take in the repository information.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { GlueClient, UpdateJobFromSourceControlCommand } from "@aws-sdk/client-glue"; // ES Modules import + * // const { GlueClient, UpdateJobFromSourceControlCommand } = require("@aws-sdk/client-glue"); // CommonJS import + * const client = new GlueClient(config); + * const command = new UpdateJobFromSourceControlCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateJobFromSourceControlCommandInput} for command's `input` shape. + * @see {@link UpdateJobFromSourceControlCommandOutput} for command's `response` shape. + * @see {@link GlueClientResolvedConfig | config} for GlueClient's `config` shape. + * + */ +export class UpdateJobFromSourceControlCommand extends $Command< + UpdateJobFromSourceControlCommandInput, + UpdateJobFromSourceControlCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateJobFromSourceControlCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "UpdateJobFromSourceControlCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateJobFromSourceControlRequestFilterSensitiveLog, + outputFilterSensitiveLog: UpdateJobFromSourceControlResponseFilterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateJobFromSourceControlCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateJobFromSourceControlCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateJobFromSourceControlCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/src/commands/UpdateSourceControlFromJobCommand.ts b/clients/client-glue/src/commands/UpdateSourceControlFromJobCommand.ts new file mode 100644 index 0000000000000..e3434114102e8 --- /dev/null +++ b/clients/client-glue/src/commands/UpdateSourceControlFromJobCommand.ts @@ -0,0 +1,106 @@ +// smithy-typescript generated code +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { + UpdateSourceControlFromJobRequest, + UpdateSourceControlFromJobRequestFilterSensitiveLog, + UpdateSourceControlFromJobResponse, + UpdateSourceControlFromJobResponseFilterSensitiveLog, +} from "../models/models_2"; +import { + deserializeAws_json1_1UpdateSourceControlFromJobCommand, + serializeAws_json1_1UpdateSourceControlFromJobCommand, +} from "../protocols/Aws_json1_1"; + +export interface UpdateSourceControlFromJobCommandInput extends UpdateSourceControlFromJobRequest {} +export interface UpdateSourceControlFromJobCommandOutput extends UpdateSourceControlFromJobResponse, __MetadataBearer {} + +/** + *

Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue internal stores and makes a commit to the remote repository that is configured on the job.

+ * + *

This API supports optional parameters which take in the repository information.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { GlueClient, UpdateSourceControlFromJobCommand } from "@aws-sdk/client-glue"; // ES Modules import + * // const { GlueClient, UpdateSourceControlFromJobCommand } = require("@aws-sdk/client-glue"); // CommonJS import + * const client = new GlueClient(config); + * const command = new UpdateSourceControlFromJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateSourceControlFromJobCommandInput} for command's `input` shape. + * @see {@link UpdateSourceControlFromJobCommandOutput} for command's `response` shape. + * @see {@link GlueClientResolvedConfig | config} for GlueClient's `config` shape. + * + */ +export class UpdateSourceControlFromJobCommand extends $Command< + UpdateSourceControlFromJobCommandInput, + UpdateSourceControlFromJobCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateSourceControlFromJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "UpdateSourceControlFromJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateSourceControlFromJobRequestFilterSensitiveLog, + outputFilterSensitiveLog: UpdateSourceControlFromJobResponseFilterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateSourceControlFromJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateSourceControlFromJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateSourceControlFromJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/src/commands/index.ts b/clients/client-glue/src/commands/index.ts index 0da239a8ca892..347921e467f18 100644 --- a/clients/client-glue/src/commands/index.ts +++ b/clients/client-glue/src/commands/index.ts @@ -175,10 +175,12 @@ export * from "./UpdateCrawlerScheduleCommand"; export * from "./UpdateDatabaseCommand"; export * from "./UpdateDevEndpointCommand"; export * from "./UpdateJobCommand"; +export * from "./UpdateJobFromSourceControlCommand"; export * from "./UpdateMLTransformCommand"; export * from "./UpdatePartitionCommand"; export * from "./UpdateRegistryCommand"; export * from "./UpdateSchemaCommand"; +export * from "./UpdateSourceControlFromJobCommand"; export * from "./UpdateTableCommand"; export * from "./UpdateTriggerCommand"; export * from "./UpdateUserDefinedFunctionCommand"; diff --git a/clients/client-glue/src/models/models_0.ts b/clients/client-glue/src/models/models_0.ts index 57122396123a0..0a30414e58659 100644 --- a/clients/client-glue/src/models/models_0.ts +++ b/clients/client-glue/src/models/models_0.ts @@ -3922,6 +3922,61 @@ export interface ExecutionProperty { MaxConcurrentRuns?: number; } +export enum SourceControlAuthStrategy { + AWS_SECRETS_MANAGER = "AWS_SECRETS_MANAGER", + PERSONAL_ACCESS_TOKEN = "PERSONAL_ACCESS_TOKEN", +} + +export enum SourceControlProvider { + AWS_CODE_COMMIT = "AWS_CODE_COMMIT", + GITHUB = "GITHUB", +} + +/** + *

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

+ */ +export interface SourceControlDetails { + /** + *

The provider for the remote repository.

+ */ + Provider?: SourceControlProvider | string; + + /** + *

The name of the remote repository that contains the job artifacts.

+ */ + Repository?: string; + + /** + *

The owner of the remote repository that contains the job artifacts.

+ */ + Owner?: string; + + /** + *

An optional branch in the remote repository.

+ */ + Branch?: string; + + /** + *

An optional folder in the remote repository.

+ */ + Folder?: string; + + /** + *

The last commit ID for a commit in the remote repository.

+ */ + LastCommitId?: string; + + /** + *

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

+ */ + AuthStrategy?: SourceControlAuthStrategy | string; + + /** + *

The value of an authorization token.

+ */ + AuthToken?: string; +} + export interface BatchGetPartitionRequest { /** *

The ID of the Data Catalog where the partitions in question reside. @@ -7152,27 +7207,6 @@ export interface CreateWorkflowRequest { MaxConcurrentRuns?: number; } -export interface CreateWorkflowResponse { - /** - *

The name of the workflow which was provided as part of the request.

- */ - Name?: string; -} - -export interface DeleteBlueprintRequest { - /** - *

The name of the blueprint to delete.

- */ - Name: string | undefined; -} - -export interface DeleteBlueprintResponse { - /** - *

Returns the name of the blueprint that was deleted.

- */ - Name?: string; -} - /** * @internal */ @@ -8041,6 +8075,13 @@ export const ExecutionPropertyFilterSensitiveLog = (obj: ExecutionProperty): any ...obj, }); +/** + * @internal + */ +export const SourceControlDetailsFilterSensitiveLog = (obj: SourceControlDetails): any => ({ + ...obj, +}); + /** * @internal */ @@ -8793,24 +8834,3 @@ export const CreateUserDefinedFunctionResponseFilterSensitiveLog = (obj: CreateU export const CreateWorkflowRequestFilterSensitiveLog = (obj: CreateWorkflowRequest): any => ({ ...obj, }); - -/** - * @internal - */ -export const CreateWorkflowResponseFilterSensitiveLog = (obj: CreateWorkflowResponse): any => ({ - ...obj, -}); - -/** - * @internal - */ -export const DeleteBlueprintRequestFilterSensitiveLog = (obj: DeleteBlueprintRequest): any => ({ - ...obj, -}); - -/** - * @internal - */ -export const DeleteBlueprintResponseFilterSensitiveLog = (obj: DeleteBlueprintResponse): any => ({ - ...obj, -}); diff --git a/clients/client-glue/src/models/models_1.ts b/clients/client-glue/src/models/models_1.ts index a8260b5cdbaaf..34444a0f5850f 100644 --- a/clients/client-glue/src/models/models_1.ts +++ b/clients/client-glue/src/models/models_1.ts @@ -45,6 +45,27 @@ import { WorkflowRun, } from "./models_0"; +export interface CreateWorkflowResponse { + /** + *

The name of the workflow which was provided as part of the request.

+ */ + Name?: string; +} + +export interface DeleteBlueprintRequest { + /** + *

The name of the blueprint to delete.

+ */ + Name: string | undefined; +} + +export interface DeleteBlueprintResponse { + /** + *

Returns the name of the blueprint that was deleted.

+ */ + Name?: string; +} + export interface DeleteClassifierRequest { /** *

Name of the classifier to remove.

@@ -5678,72 +5699,26 @@ export interface PutWorkflowRunPropertiesRequest { export interface PutWorkflowRunPropertiesResponse {} -export interface QuerySchemaVersionMetadataInput { - /** - *

A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

- */ - SchemaId?: SchemaId; - - /** - *

The version number of the schema.

- */ - SchemaVersionNumber?: SchemaVersionNumber; - - /** - *

The unique version ID of the schema version.

- */ - SchemaVersionId?: string; - - /** - *

Search key-value pairs for metadata, if they are not provided all the metadata information will be fetched.

- */ - MetadataList?: MetadataKeyValuePair[]; - - /** - *

Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

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

A continuation token, if this is a continuation call.

- */ - NextToken?: string; -} - /** - *

A structure containing other metadata for a schema version belonging to the same metadata key.

+ * @internal */ -export interface OtherMetadataValueListItem { - /** - *

The metadata key’s corresponding value for the other metadata belonging to the same metadata key.

- */ - MetadataValue?: string; - - /** - *

The time at which the entry was created.

- */ - CreatedTime?: string; -} +export const CreateWorkflowResponseFilterSensitiveLog = (obj: CreateWorkflowResponse): any => ({ + ...obj, +}); /** - *

A structure containing metadata information for a schema version.

+ * @internal */ -export interface MetadataInfo { - /** - *

The metadata key’s corresponding value.

- */ - MetadataValue?: string; - - /** - *

The time at which the entry was created.

- */ - CreatedTime?: string; +export const DeleteBlueprintRequestFilterSensitiveLog = (obj: DeleteBlueprintRequest): any => ({ + ...obj, +}); - /** - *

Other metadata belonging to the same metadata key.

- */ - OtherMetadataValueList?: OtherMetadataValueListItem[]; -} +/** + * @internal + */ +export const DeleteBlueprintResponseFilterSensitiveLog = (obj: DeleteBlueprintResponse): any => ({ + ...obj, +}); /** * @internal @@ -7682,24 +7657,3 @@ export const PutWorkflowRunPropertiesRequestFilterSensitiveLog = (obj: PutWorkfl export const PutWorkflowRunPropertiesResponseFilterSensitiveLog = (obj: PutWorkflowRunPropertiesResponse): any => ({ ...obj, }); - -/** - * @internal - */ -export const QuerySchemaVersionMetadataInputFilterSensitiveLog = (obj: QuerySchemaVersionMetadataInput): any => ({ - ...obj, -}); - -/** - * @internal - */ -export const OtherMetadataValueListItemFilterSensitiveLog = (obj: OtherMetadataValueListItem): any => ({ - ...obj, -}); - -/** - * @internal - */ -export const MetadataInfoFilterSensitiveLog = (obj: MetadataInfo): any => ({ - ...obj, -}); diff --git a/clients/client-glue/src/models/models_2.ts b/clients/client-glue/src/models/models_2.ts index 614111bd76e54..9a256408fcfc5 100644 --- a/clients/client-glue/src/models/models_2.ts +++ b/clients/client-glue/src/models/models_2.ts @@ -68,6 +68,9 @@ import { SchemaVersionStatus, SelectFields, SelectFromCollection, + SourceControlAuthStrategy, + SourceControlDetails, + SourceControlProvider, SparkConnectorSource, SparkConnectorTarget, SparkSQL, @@ -83,13 +86,79 @@ import { import { ColumnStatistics, JobBookmarkEntry, - MetadataInfo, MetadataKeyValuePair, ResourceShareType, SchemaVersionNumber, Table, } from "./models_1"; +export interface QuerySchemaVersionMetadataInput { + /** + *

A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

+ */ + SchemaId?: SchemaId; + + /** + *

The version number of the schema.

+ */ + SchemaVersionNumber?: SchemaVersionNumber; + + /** + *

The unique version ID of the schema version.

+ */ + SchemaVersionId?: string; + + /** + *

Search key-value pairs for metadata, if they are not provided all the metadata information will be fetched.

+ */ + MetadataList?: MetadataKeyValuePair[]; + + /** + *

Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

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

A continuation token, if this is a continuation call.

+ */ + NextToken?: string; +} + +/** + *

A structure containing other metadata for a schema version belonging to the same metadata key.

+ */ +export interface OtherMetadataValueListItem { + /** + *

The metadata key’s corresponding value for the other metadata belonging to the same metadata key.

+ */ + MetadataValue?: string; + + /** + *

The time at which the entry was created.

+ */ + CreatedTime?: string; +} + +/** + *

A structure containing metadata information for a schema version.

+ */ +export interface MetadataInfo { + /** + *

The metadata key’s corresponding value.

+ */ + MetadataValue?: string; + + /** + *

The time at which the entry was created.

+ */ + CreatedTime?: string; + + /** + *

Other metadata belonging to the same metadata key.

+ */ + OtherMetadataValueList?: OtherMetadataValueListItem[]; +} + export interface QuerySchemaVersionMetadataResponse { /** *

A map of a metadata key and associated values.

@@ -1468,6 +1537,60 @@ export interface UpdateJobResponse { JobName?: string; } +export interface UpdateJobFromSourceControlRequest { + /** + *

The name of the Glue job to be synchronized to or from the remote repository.

+ */ + JobName?: string; + + /** + *

The provider for the remote repository.

+ */ + Provider?: SourceControlProvider | string; + + /** + *

The name of the remote repository that contains the job artifacts.

+ */ + RepositoryName?: string; + + /** + *

The owner of the remote repository that contains the job artifacts.

+ */ + RepositoryOwner?: string; + + /** + *

An optional branch in the remote repository.

+ */ + BranchName?: string; + + /** + *

An optional folder in the remote repository.

+ */ + Folder?: string; + + /** + *

A commit ID for a commit in the remote repository.

+ */ + CommitId?: string; + + /** + *

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

+ */ + AuthStrategy?: SourceControlAuthStrategy | string; + + /** + *

The value of the authorization token.

+ */ + AuthToken?: string; +} + +export interface UpdateJobFromSourceControlResponse { + /** + *

The name of the Glue job.

+ */ + JobName?: string; +} + export interface UpdateMLTransformRequest { /** *

A unique identifier that was generated when the transform was created.

@@ -1654,6 +1777,60 @@ export interface UpdateSchemaResponse { RegistryName?: string; } +export interface UpdateSourceControlFromJobRequest { + /** + *

The name of the Glue job to be synchronized to or from the remote repository.

+ */ + JobName?: string; + + /** + *

The provider for the remote repository.

+ */ + Provider?: SourceControlProvider | string; + + /** + *

The name of the remote repository that contains the job artifacts.

+ */ + RepositoryName?: string; + + /** + *

The owner of the remote repository that contains the job artifacts.

+ */ + RepositoryOwner?: string; + + /** + *

An optional branch in the remote repository.

+ */ + BranchName?: string; + + /** + *

An optional folder in the remote repository.

+ */ + Folder?: string; + + /** + *

A commit ID for a commit in the remote repository.

+ */ + CommitId?: string; + + /** + *

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

+ */ + AuthStrategy?: SourceControlAuthStrategy | string; + + /** + *

The value of the authorization token.

+ */ + AuthToken?: string; +} + +export interface UpdateSourceControlFromJobResponse { + /** + *

The name of the Glue job.

+ */ + JobName?: string; +} + export interface UpdateTableRequest { /** *

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account @@ -2322,6 +2499,11 @@ export interface CreateJobRequest { *

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

*/ ExecutionClass?: ExecutionClass | string; + + /** + *

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

+ */ + SourceControlDetails?: SourceControlDetails; } /** @@ -2497,6 +2679,11 @@ export interface Job { *

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

*/ ExecutionClass?: ExecutionClass | string; + + /** + *

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

+ */ + SourceControlDetails?: SourceControlDetails; } /** @@ -2654,6 +2841,11 @@ export interface JobUpdate { *

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

*/ ExecutionClass?: ExecutionClass | string; + + /** + *

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

+ */ + SourceControlDetails?: SourceControlDetails; } export interface GetJobResponse { @@ -2699,6 +2891,27 @@ export interface GetJobsResponse { NextToken?: string; } +/** + * @internal + */ +export const QuerySchemaVersionMetadataInputFilterSensitiveLog = (obj: QuerySchemaVersionMetadataInput): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const OtherMetadataValueListItemFilterSensitiveLog = (obj: OtherMetadataValueListItem): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const MetadataInfoFilterSensitiveLog = (obj: MetadataInfo): any => ({ + ...obj, +}); + /** * @internal */ @@ -3231,6 +3444,20 @@ export const UpdateJobResponseFilterSensitiveLog = (obj: UpdateJobResponse): any ...obj, }); +/** + * @internal + */ +export const UpdateJobFromSourceControlRequestFilterSensitiveLog = (obj: UpdateJobFromSourceControlRequest): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const UpdateJobFromSourceControlResponseFilterSensitiveLog = (obj: UpdateJobFromSourceControlResponse): any => ({ + ...obj, +}); + /** * @internal */ @@ -3287,6 +3514,20 @@ export const UpdateSchemaResponseFilterSensitiveLog = (obj: UpdateSchemaResponse ...obj, }); +/** + * @internal + */ +export const UpdateSourceControlFromJobRequestFilterSensitiveLog = (obj: UpdateSourceControlFromJobRequest): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const UpdateSourceControlFromJobResponseFilterSensitiveLog = (obj: UpdateSourceControlFromJobResponse): any => ({ + ...obj, +}); + /** * @internal */ diff --git a/clients/client-glue/src/protocols/Aws_json1_1.ts b/clients/client-glue/src/protocols/Aws_json1_1.ts index 456a63b4b42e0..4a8a09e96f659 100644 --- a/clients/client-glue/src/protocols/Aws_json1_1.ts +++ b/clients/client-glue/src/protocols/Aws_json1_1.ts @@ -358,10 +358,18 @@ import { import { UpdateDatabaseCommandInput, UpdateDatabaseCommandOutput } from "../commands/UpdateDatabaseCommand"; import { UpdateDevEndpointCommandInput, UpdateDevEndpointCommandOutput } from "../commands/UpdateDevEndpointCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "../commands/UpdateJobCommand"; +import { + UpdateJobFromSourceControlCommandInput, + UpdateJobFromSourceControlCommandOutput, +} from "../commands/UpdateJobFromSourceControlCommand"; import { UpdateMLTransformCommandInput, UpdateMLTransformCommandOutput } from "../commands/UpdateMLTransformCommand"; import { UpdatePartitionCommandInput, UpdatePartitionCommandOutput } from "../commands/UpdatePartitionCommand"; import { UpdateRegistryCommandInput, UpdateRegistryCommandOutput } from "../commands/UpdateRegistryCommand"; import { UpdateSchemaCommandInput, UpdateSchemaCommandOutput } from "../commands/UpdateSchemaCommand"; +import { + UpdateSourceControlFromJobCommandInput, + UpdateSourceControlFromJobCommandOutput, +} from "../commands/UpdateSourceControlFromJobCommand"; import { UpdateTableCommandInput, UpdateTableCommandOutput } from "../commands/UpdateTableCommand"; import { UpdateTriggerCommandInput, UpdateTriggerCommandOutput } from "../commands/UpdateTriggerCommand"; import { @@ -480,7 +488,6 @@ import { CreateUserDefinedFunctionRequest, CreateUserDefinedFunctionResponse, CreateWorkflowRequest, - CreateWorkflowResponse, CreateXMLClassifierRequest, CustomCode, CustomEntityType, @@ -488,8 +495,6 @@ import { DatabaseInput, DataLakePrincipal, Datatype, - DeleteBlueprintRequest, - DeleteBlueprintResponse, DeltaTarget, DevEndpoint, DirectKafkaSource, @@ -598,6 +603,7 @@ import { Session, SessionCommand, SkewedInfo, + SourceControlDetails, SparkConnectorSource, SparkConnectorTarget, SparkSQL, @@ -646,12 +652,15 @@ import { CrawlerMetrics, CrawlerRunningException, CrawlsFilter, + CreateWorkflowResponse, CsvClassifier, Database, DataCatalogEncryptionSettings, DateColumnStatisticsData, DecimalColumnStatisticsData, DecimalNumber, + DeleteBlueprintRequest, + DeleteBlueprintResponse, DeleteClassifierRequest, DeleteClassifierResponse, DeleteColumnStatisticsForPartitionRequest, @@ -866,10 +875,8 @@ import { Location, LongColumnStatisticsData, MappingEntry, - MetadataInfo, MetadataKeyValuePair, MLTransform, - OtherMetadataValueListItem, PartitionIndexDescriptor, PermissionType, PermissionTypeMismatchException, @@ -881,7 +888,6 @@ import { PutSchemaVersionMetadataResponse, PutWorkflowRunPropertiesRequest, PutWorkflowRunPropertiesResponse, - QuerySchemaVersionMetadataInput, RegistryListItem, SchedulerTransitioningException, SchemaColumn, @@ -924,9 +930,12 @@ import { Job, JobUpdate, Mapping, + MetadataInfo, MLTransformNotReadyException, NoScheduleException, + OtherMetadataValueListItem, PropertyPredicate, + QuerySchemaVersionMetadataInput, QuerySchemaVersionMetadataResponse, RegisterSchemaVersionInput, RegisterSchemaVersionResponse, @@ -998,6 +1007,8 @@ import { UpdateDevEndpointRequest, UpdateDevEndpointResponse, UpdateGrokClassifierRequest, + UpdateJobFromSourceControlRequest, + UpdateJobFromSourceControlResponse, UpdateJobRequest, UpdateJobResponse, UpdateJsonClassifierRequest, @@ -1009,6 +1020,8 @@ import { UpdateRegistryResponse, UpdateSchemaInput, UpdateSchemaResponse, + UpdateSourceControlFromJobRequest, + UpdateSourceControlFromJobResponse, UpdateTableRequest, UpdateTableResponse, UpdateTriggerRequest, @@ -3309,6 +3322,19 @@ export const serializeAws_json1_1UpdateJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateJobFromSourceControlCommand = async ( + input: UpdateJobFromSourceControlCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSGlue.UpdateJobFromSourceControl", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateJobFromSourceControlRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateMLTransformCommand = async ( input: UpdateMLTransformCommandInput, context: __SerdeContext @@ -3361,6 +3387,19 @@ export const serializeAws_json1_1UpdateSchemaCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateSourceControlFromJobCommand = async ( + input: UpdateSourceControlFromJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSGlue.UpdateSourceControlFromJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateSourceControlFromJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateTableCommand = async ( input: UpdateTableCommandInput, context: __SerdeContext @@ -12465,6 +12504,65 @@ const deserializeAws_json1_1UpdateJobCommandError = async ( } }; +export const deserializeAws_json1_1UpdateJobFromSourceControlCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateJobFromSourceControlCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateJobFromSourceControlResponse(data, context); + const response: UpdateJobFromSourceControlCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateJobFromSourceControlCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + throw await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context); + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + throw await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context); + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + throw await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context); + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + throw await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context); + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context); + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + throw await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.glue#ValidationException": + throw await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + throwDefaultError({ + output, + parsedBody, + exceptionCtor: __BaseException, + errorCode, + }); + } +}; + export const deserializeAws_json1_1UpdateMLTransformCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -12677,6 +12775,65 @@ const deserializeAws_json1_1UpdateSchemaCommandError = async ( } }; +export const deserializeAws_json1_1UpdateSourceControlFromJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateSourceControlFromJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateSourceControlFromJobResponse(data, context); + const response: UpdateSourceControlFromJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateSourceControlFromJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + throw await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context); + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + throw await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context); + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + throw await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context); + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + throw await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context); + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context); + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + throw await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.glue#ValidationException": + throw await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + throwDefaultError({ + output, + parsedBody, + exceptionCtor: __BaseException, + errorCode, + }); + } +}; + export const deserializeAws_json1_1UpdateTableCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -14354,6 +14511,9 @@ const serializeAws_json1_1CreateJobRequest = (input: CreateJobRequest, context: ...(input.NumberOfWorkers != null && { NumberOfWorkers: input.NumberOfWorkers }), ...(input.Role != null && { Role: input.Role }), ...(input.SecurityConfiguration != null && { SecurityConfiguration: input.SecurityConfiguration }), + ...(input.SourceControlDetails != null && { + SourceControlDetails: serializeAws_json1_1SourceControlDetails(input.SourceControlDetails, context), + }), ...(input.Tags != null && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), ...(input.Timeout != null && { Timeout: input.Timeout }), ...(input.WorkerType != null && { WorkerType: input.WorkerType }), @@ -15974,6 +16134,9 @@ const serializeAws_json1_1JobUpdate = (input: JobUpdate, context: __SerdeContext ...(input.NumberOfWorkers != null && { NumberOfWorkers: input.NumberOfWorkers }), ...(input.Role != null && { Role: input.Role }), ...(input.SecurityConfiguration != null && { SecurityConfiguration: input.SecurityConfiguration }), + ...(input.SourceControlDetails != null && { + SourceControlDetails: serializeAws_json1_1SourceControlDetails(input.SourceControlDetails, context), + }), ...(input.Timeout != null && { Timeout: input.Timeout }), ...(input.WorkerType != null && { WorkerType: input.WorkerType }), }; @@ -17193,6 +17356,19 @@ const serializeAws_json1_1SortCriterion = (input: SortCriterion, context: __Serd }; }; +const serializeAws_json1_1SourceControlDetails = (input: SourceControlDetails, context: __SerdeContext): any => { + return { + ...(input.AuthStrategy != null && { AuthStrategy: input.AuthStrategy }), + ...(input.AuthToken != null && { AuthToken: input.AuthToken }), + ...(input.Branch != null && { Branch: input.Branch }), + ...(input.Folder != null && { Folder: input.Folder }), + ...(input.LastCommitId != null && { LastCommitId: input.LastCommitId }), + ...(input.Owner != null && { Owner: input.Owner }), + ...(input.Provider != null && { Provider: input.Provider }), + ...(input.Repository != null && { Repository: input.Repository }), + }; +}; + const serializeAws_json1_1SparkConnectorSource = (input: SparkConnectorSource, context: __SerdeContext): any => { return { ...(input.AdditionalOptions != null && { @@ -17803,6 +17979,23 @@ const serializeAws_json1_1UpdateGrokClassifierRequest = ( }; }; +const serializeAws_json1_1UpdateJobFromSourceControlRequest = ( + input: UpdateJobFromSourceControlRequest, + context: __SerdeContext +): any => { + return { + ...(input.AuthStrategy != null && { AuthStrategy: input.AuthStrategy }), + ...(input.AuthToken != null && { AuthToken: input.AuthToken }), + ...(input.BranchName != null && { BranchName: input.BranchName }), + ...(input.CommitId != null && { CommitId: input.CommitId }), + ...(input.Folder != null && { Folder: input.Folder }), + ...(input.JobName != null && { JobName: input.JobName }), + ...(input.Provider != null && { Provider: input.Provider }), + ...(input.RepositoryName != null && { RepositoryName: input.RepositoryName }), + ...(input.RepositoryOwner != null && { RepositoryOwner: input.RepositoryOwner }), + }; +}; + const serializeAws_json1_1UpdateJobRequest = (input: UpdateJobRequest, context: __SerdeContext): any => { return { ...(input.JobName != null && { JobName: input.JobName }), @@ -17871,6 +18064,23 @@ const serializeAws_json1_1UpdateSchemaInput = (input: UpdateSchemaInput, context }; }; +const serializeAws_json1_1UpdateSourceControlFromJobRequest = ( + input: UpdateSourceControlFromJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.AuthStrategy != null && { AuthStrategy: input.AuthStrategy }), + ...(input.AuthToken != null && { AuthToken: input.AuthToken }), + ...(input.BranchName != null && { BranchName: input.BranchName }), + ...(input.CommitId != null && { CommitId: input.CommitId }), + ...(input.Folder != null && { Folder: input.Folder }), + ...(input.JobName != null && { JobName: input.JobName }), + ...(input.Provider != null && { Provider: input.Provider }), + ...(input.RepositoryName != null && { RepositoryName: input.RepositoryName }), + ...(input.RepositoryOwner != null && { RepositoryOwner: input.RepositoryOwner }), + }; +}; + const serializeAws_json1_1UpdateTableRequest = (input: UpdateTableRequest, context: __SerdeContext): any => { return { ...(input.CatalogId != null && { CatalogId: input.CatalogId }), @@ -21409,6 +21619,10 @@ const deserializeAws_json1_1Job = (output: any, context: __SerdeContext): Job => NumberOfWorkers: __expectInt32(output.NumberOfWorkers), Role: __expectString(output.Role), SecurityConfiguration: __expectString(output.SecurityConfiguration), + SourceControlDetails: + output.SourceControlDetails != null + ? deserializeAws_json1_1SourceControlDetails(output.SourceControlDetails, context) + : undefined, Timeout: __expectInt32(output.Timeout), WorkerType: __expectString(output.WorkerType), } as any; @@ -23265,6 +23479,19 @@ const deserializeAws_json1_1SkewedInfo = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_json1_1SourceControlDetails = (output: any, context: __SerdeContext): SourceControlDetails => { + return { + AuthStrategy: __expectString(output.AuthStrategy), + AuthToken: __expectString(output.AuthToken), + Branch: __expectString(output.Branch), + Folder: __expectString(output.Folder), + LastCommitId: __expectString(output.LastCommitId), + Owner: __expectString(output.Owner), + Provider: __expectString(output.Provider), + Repository: __expectString(output.Repository), + } as any; +}; + const deserializeAws_json1_1SparkConnectorSource = (output: any, context: __SerdeContext): SparkConnectorSource => { return { AdditionalOptions: @@ -23959,6 +24186,15 @@ const deserializeAws_json1_1UpdateDevEndpointResponse = ( return {} as any; }; +const deserializeAws_json1_1UpdateJobFromSourceControlResponse = ( + output: any, + context: __SerdeContext +): UpdateJobFromSourceControlResponse => { + return { + JobName: __expectString(output.JobName), + } as any; +}; + const deserializeAws_json1_1UpdateJobResponse = (output: any, context: __SerdeContext): UpdateJobResponse => { return { JobName: __expectString(output.JobName), @@ -23996,6 +24232,15 @@ const deserializeAws_json1_1UpdateSchemaResponse = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1UpdateSourceControlFromJobResponse = ( + output: any, + context: __SerdeContext +): UpdateSourceControlFromJobResponse => { + return { + JobName: __expectString(output.JobName), + } as any; +}; + const deserializeAws_json1_1UpdateTableResponse = (output: any, context: __SerdeContext): UpdateTableResponse => { return {} as any; }; diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index 2b3340c52bb2a..a603215e9d1a0 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -561,6 +561,9 @@ { "target": "com.amazonaws.glue#UpdateJob" }, + { + "target": "com.amazonaws.glue#UpdateJobFromSourceControl" + }, { "target": "com.amazonaws.glue#UpdateMLTransform" }, @@ -573,6 +576,9 @@ { "target": "com.amazonaws.glue#UpdateSchema" }, + { + "target": "com.amazonaws.glue#UpdateSourceControlFromJob" + }, { "target": "com.amazonaws.glue#UpdateTable" }, @@ -1005,6 +1011,16 @@ } } }, + "com.amazonaws.glue#AuthTokenString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" + } + }, "com.amazonaws.glue#BackfillError": { "type": "structure", "members": { @@ -3979,6 +3995,16 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.glue#CommitIdString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 40 + }, + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" + } + }, "com.amazonaws.glue#Comparator": { "type": "enum", "members": { @@ -5584,8 +5610,6 @@ "DisableValueTrimming": { "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": true, "smithy.api#documentation": "

Specifies not to trim values before identifying the type of column values. The default value is true.

" } }, @@ -5829,8 +5853,6 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

Glue version determines the versions of Apache Spark and Python that Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

\n \n

For more information about the available Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

\n\t \n\t

Development endpoints that are created without specifying a Glue version default to Glue 0.9.

\n\t\n\t

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" } }, @@ -6143,8 +6165,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

" } }, @@ -6201,6 +6221,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

\n\n

The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.

\n\t\n\t

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

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

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

" + } } } }, @@ -6312,16 +6338,12 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

" } }, "MaxCapacity": { "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10, "smithy.api#documentation": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the Glue pricing\n page.

\n\t\t\n\t\t\t

\n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

\n
    \n
  • \n

    If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

    \n
  • \n
  • \n

    If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

    \n
  • \n
  • \n

    If WorkerType is set, then NumberOfWorkers is required (and vice versa).

    \n
  • \n
  • \n

    \n MaxCapacity and NumberOfWorkers must both be at least 1.

    \n
  • \n
\n\t\t\n\t

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

\t \n \n\t\t\n

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" } }, @@ -6340,8 +6362,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" } }, @@ -9417,8 +9437,6 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

Glue version determines the versions of Apache Spark and Python that Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

\n \n

For more information about the available Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

\n\t \n\t

Development endpoints that are created without specifying a Glue version default to Glue 0.9.

\n\t\n\t

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" } }, @@ -9848,8 +9866,6 @@ "scanAll": { "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": true, "smithy.api#documentation": "

Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

\n\t\n\t

A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

" } }, @@ -12499,16 +12515,12 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

" } }, "MaxCapacity": { "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10, "smithy.api#documentation": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the Glue pricing\n page.

\n\t\t\n

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" } }, @@ -12527,8 +12539,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" } }, @@ -16199,8 +16209,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

" } }, @@ -16251,6 +16259,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether the job is run with a standard or flexible execution class. The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

\n\n

The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.

\n\t\n\t

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

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

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

" + } } }, "traits": { @@ -16696,8 +16710,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

" } }, @@ -16748,6 +16760,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

\n\n

The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.

\n\t\n\t

Only jobs with Glue version 3.0 and above and command type glueetl will be allowed to set ExecutionClass to FLEX. The flexible execution class is available for Spark jobs.

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

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

" + } } }, "traits": { @@ -16966,8 +16984,6 @@ "StartingOffsets": { "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "latest", "smithy.api#documentation": "

The starting position in the Kafka topic to read data from. The possible values are \"earliest\" or \"latest\". The default value is \"latest\".

" } }, @@ -16980,24 +16996,18 @@ "PollTimeoutMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 512, "smithy.api#documentation": "

The timeout in milliseconds to poll data from Kafka in Spark job executors. The default value is 512.

" } }, "NumRetries": { "target": "com.amazonaws.glue#BoxedNonNegativeInt", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 3, "smithy.api#documentation": "

The number of times to retry before failing to fetch Kafka offsets. The default value is 3.

" } }, "RetryIntervalMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10, "smithy.api#documentation": "

The time in milliseconds to wait before retrying to fetch Kafka offsets. The default value is 10.

" } }, @@ -17102,88 +17112,66 @@ "StartingPosition": { "target": "com.amazonaws.glue#StartingPosition", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "latest", "smithy.api#documentation": "

The starting position in the Kinesis data stream to read data from. The possible values are \"latest\", \"trim_horizon\", or \"earliest\". The default value is \"latest\".

" } }, "MaxFetchTimeInMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 1000, "smithy.api#documentation": "

The maximum time spent in the job executor to fetch a record from the Kinesis data stream per shard, specified in milliseconds (ms). The default value is 1000.

" } }, "MaxFetchRecordsPerShard": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 100000, "smithy.api#documentation": "

The maximum number of records to fetch per shard in the Kinesis data stream. The default value is 100000.

" } }, "MaxRecordPerRead": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10000, "smithy.api#documentation": "

The maximum number of records to fetch from the Kinesis data stream in each getRecords operation. The default value is 10000.

" } }, "AddIdleTimeBetweenReads": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

Adds a time delay between two consecutive getRecords operations. The default value is \"False\". This option is only configurable for Glue version 2.0 and above.

" } }, "IdleTimeBetweenReadsInMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 1000, "smithy.api#documentation": "

The minimum time delay between two consecutive getRecords operations, specified in ms. The default value is 1000. This option is only configurable for Glue version 2.0 and above.

" } }, "DescribeShardInterval": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 1, "smithy.api#documentation": "

The minimum time interval between two ListShards API calls for your script to consider resharding. The default value is 1s.

" } }, "NumRetries": { "target": "com.amazonaws.glue#BoxedNonNegativeInt", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 3, "smithy.api#documentation": "

The maximum number of retries for Kinesis Data Streams API requests. The default value is 3.

" } }, "RetryIntervalMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 1000, "smithy.api#documentation": "

The cool-off time period (specified in ms) before retrying the Kinesis Data Streams API call. The default value is 1000.

" } }, "MaxRetryIntervalMs": { "target": "com.amazonaws.glue#BoxedNonNegativeLong", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10000, "smithy.api#documentation": "

The maximum cool-off time period (specified in ms) between two retries of a Kinesis Data Streams API call. The default value is 10000.

" } }, "AvoidEmptyBatches": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

Avoids creating an empty microbatch job by checking for unread data in the Kinesis data stream before the batch is started. The default value is \"False\".

" } }, @@ -17576,8 +17564,6 @@ "MaxResults": { "target": "com.amazonaws.glue#PageSize", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 20, "smithy.api#documentation": "

The maximum number of results to return. The default is 20, and maximum is 100.

" } }, @@ -18631,16 +18617,12 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

" } }, "MaxCapacity": { "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10, "smithy.api#documentation": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the Glue pricing\n page.

\n\t\t\n\t\t

\n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

\n
    \n
  • \n

    If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

    \n
  • \n
  • \n

    If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

    \n
  • \n
  • \n

    If WorkerType is set, then NumberOfWorkers is required (and vice versa).

    \n
  • \n
  • \n

    \n MaxCapacity and NumberOfWorkers must both be at least 1.

    \n
  • \n
\n\t\t\n\t

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" } }, @@ -19120,8 +19102,6 @@ "ScanAll": { "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": true, "smithy.api#documentation": "

Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

\n\t\n\t

A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

" } } @@ -21860,8 +21840,6 @@ "MaxBand": { "target": "com.amazonaws.glue#BoxedNonNegativeInt", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 900000, "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" } }, @@ -21880,8 +21858,6 @@ "Separator": { "target": "com.amazonaws.glue#Separator", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "comma", "smithy.api#documentation": "

Specifies the delimiter character. The default is a comma: \",\", but any other character can be specified.

", "smithy.api#required": {} } @@ -21889,16 +21865,12 @@ "Escaper": { "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "none", "smithy.api#documentation": "

Specifies a character to use for escaping. This option is used only when reading CSV files. The default value is none. If enabled, the character which immediately follows is used as-is, except for a small set of well-known escapes (\\n, \\r, \\t, and \\0).

" } }, "QuoteChar": { "target": "com.amazonaws.glue#QuoteChar", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "quote", "smithy.api#documentation": "

Specifies the character to use for quoting. The default is a double quote: '\"'. Set this to -1 to turn off quoting entirely.

", "smithy.api#required": {} } @@ -21906,32 +21878,24 @@ "Multiline": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

A Boolean value that specifies whether a single record can span multiple lines. This can occur when a field contains a quoted new-line character. You must set this option to True if any record spans multiple lines. The default value is False, which allows for more aggressive file-splitting during parsing.

" } }, "WithHeader": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

A Boolean value that specifies whether to treat the first line as a header. The default value is False.

" } }, "WriteHeader": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": true, "smithy.api#documentation": "

A Boolean value that specifies whether to write the header to output. The default value is True.

" } }, "SkipFirst": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

A Boolean value that specifies whether to skip the first data line. The default value is False.

" } }, @@ -22185,8 +22149,6 @@ "MaxBand": { "target": "com.amazonaws.glue#BoxedNonNegativeInt", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 900000, "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" } }, @@ -22211,8 +22173,6 @@ "Multiline": { "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": false, "smithy.api#documentation": "

A Boolean value that specifies whether a single record can span multiple lines. This can occur when a field contains a quoted new-line character. You must set this option to True if any record spans multiple lines. The default value is False, which allows for more aggressive file-splitting during parsing.

" } }, @@ -22277,8 +22237,6 @@ "MaxBand": { "target": "com.amazonaws.glue#BoxedNonNegativeInt", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 900000, "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" } }, @@ -23384,6 +23342,96 @@ } } }, + "com.amazonaws.glue#SourceControlAuthStrategy": { + "type": "enum", + "members": { + "PERSONAL_ACCESS_TOKEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERSONAL_ACCESS_TOKEN" + } + }, + "AWS_SECRETS_MANAGER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_SECRETS_MANAGER" + } + } + } + }, + "com.amazonaws.glue#SourceControlDetails": { + "type": "structure", + "members": { + "Provider": { + "target": "com.amazonaws.glue#SourceControlProvider", + "traits": { + "smithy.api#documentation": "

The provider for the remote repository.

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

The name of the remote repository that contains the job artifacts.

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

The owner of the remote repository that contains the job artifacts.

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

An optional branch in the remote repository.

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

An optional folder in the remote repository.

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

The last commit ID for a commit in the remote repository.

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

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

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

The value of an authorization token.

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

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

" + } + }, + "com.amazonaws.glue#SourceControlProvider": { + "type": "enum", + "members": { + "GITHUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GITHUB" + } + }, + "AWS_CODE_COMMIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_CODE_COMMIT" + } + } + } + }, "com.amazonaws.glue#SparkConnectorSource": { "type": "structure", "members": { @@ -25710,8 +25758,6 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

" } }, @@ -26846,8 +26892,6 @@ "DisableValueTrimming": { "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": true, "smithy.api#documentation": "

Specifies not to trim values before identifying the type of column values. The default value is true.

" } }, @@ -27073,6 +27117,111 @@ "smithy.api#documentation": "

Updates an existing job definition. The previous job definition is completely overwritten by this information.

" } }, + "com.amazonaws.glue#UpdateJobFromSourceControl": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#UpdateJobFromSourceControlRequest" + }, + "output": { + "target": "com.amazonaws.glue#UpdateJobFromSourceControlResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + }, + { + "target": "com.amazonaws.glue#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in the remote repository and updates the Glue internal stores with these artifacts.

\n\t\n\t

This API supports optional parameters which take in the repository information.

" + } + }, + "com.amazonaws.glue#UpdateJobFromSourceControlRequest": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the Glue job to be synchronized to or from the remote repository.

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

The provider for the remote repository.

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

The name of the remote repository that contains the job artifacts.

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

The owner of the remote repository that contains the job artifacts.

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

An optional branch in the remote repository.

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

An optional folder in the remote repository.

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

A commit ID for a commit in the remote repository.

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

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

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

The value of the authorization token.

" + } + } + } + }, + "com.amazonaws.glue#UpdateJobFromSourceControlResponse": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the Glue job.

" + } + } + } + }, "com.amazonaws.glue#UpdateJobRequest": { "type": "structure", "members": { @@ -27190,16 +27339,12 @@ "GlueVersion": { "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": "0.9", "smithy.api#documentation": "

This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

" } }, "MaxCapacity": { "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 10, "smithy.api#documentation": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the Glue pricing\n page.

\n\t\t\n

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" } }, @@ -27218,8 +27363,6 @@ "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#addedDefault": {}, - "smithy.api#default": 2880, "smithy.api#documentation": "

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" } }, @@ -27461,6 +27604,111 @@ } } }, + "com.amazonaws.glue#UpdateSourceControlFromJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#UpdateSourceControlFromJobRequest" + }, + "output": { + "target": "com.amazonaws.glue#UpdateSourceControlFromJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + }, + { + "target": "com.amazonaws.glue#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue internal stores and makes a commit to the remote repository that is configured on the job.

\n\n\t

This API supports optional parameters which take in the repository information.

" + } + }, + "com.amazonaws.glue#UpdateSourceControlFromJobRequest": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the Glue job to be synchronized to or from the remote repository.

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

The provider for the remote repository.

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

The name of the remote repository that contains the job artifacts.

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

The owner of the remote repository that contains the job artifacts.

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

An optional branch in the remote repository.

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

An optional folder in the remote repository.

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

A commit ID for a commit in the remote repository.

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

The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.

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

The value of the authorization token.

" + } + } + } + }, + "com.amazonaws.glue#UpdateSourceControlFromJobResponse": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the Glue job.

" + } + } + } + }, "com.amazonaws.glue#UpdateTable": { "type": "operation", "input": {