import type { Compatibility, ExecutionClass, IcebergUpdateAction, JobMode, Permission, ResourceAction, ResourceState, SourceControlAuthStrategy, SourceControlProvider, TableOptimizerType, ViewUpdateAction, WorkerType } from "./enums"; import type { Action, Aggregate, AmazonRedshiftSource, AmazonRedshiftTarget, AthenaConnectorSource, BasicCatalogTarget, CatalogDeltaSource, CatalogHudiSource, CatalogIcebergSource, CatalogKafkaSource, CatalogKinesisSource, CatalogSource, Column, ConnectionsList, ConnectorDataSource, ConnectorDataTarget, CustomCode, DirectJDBCSource, DirectKafkaSource, DirectKinesisSource, DropDuplicates, DropFields, DropNullFields, DynamicTransform, DynamoDBCatalogSource, DynamoDBELTConnectorSource, ErrorDetail, EvaluateDataQuality, EvaluateDataQualityMultiFrame, EventBatchingCondition, ExecutionProperty, FillMissingValues, Filter, GovernedCatalogSource, GovernedCatalogTarget, JDBCConnectorSource, JDBCConnectorTarget, JobCommand, Join, Merge, MicrosoftSQLServerCatalogSource, MicrosoftSQLServerCatalogTarget, MySQLCatalogSource, MySQLCatalogTarget, NotificationProperty, OracleSQLCatalogSource, OracleSQLCatalogTarget, PartitionInput, PIIDetection, PostgreSQLCatalogSource, PostgreSQLCatalogTarget, Predicate, Recipe, RedshiftSource, RedshiftTarget, RelationalCatalogSource, RenameField, Route, S3CatalogDeltaSource, S3CatalogHudiSource, S3CatalogIcebergSource, S3CatalogSource, S3CatalogTarget, S3CsvSource, S3DeltaCatalogTarget, S3DeltaDirectTarget, S3DeltaSource, S3DirectTarget, S3ExcelSource, S3GlueParquetTarget, S3HudiCatalogTarget, S3HudiDirectTarget, S3HudiSource, S3HyperDirectTarget, S3IcebergCatalogTarget, S3IcebergDirectTarget, S3JsonSource, S3ParquetSource, SchemaId, SelectFields, SelectFromCollection, SnowflakeSource, SnowflakeTarget, SourceControlDetails, SparkConnectorSource, SparkConnectorTarget, SparkSQL, Spigot, SplitFields, StorageDescriptor, TableOptimizerConfiguration, Trigger, Union } from "./models_0"; import type { IcebergPartitionSpec, IcebergSchema, IcebergSortOrder, ProfileConfiguration, RegistryId, SourceProcessingProperties, SourceTableConfig, TableIdentifier, TableInput, TargetProcessingProperties, TargetTableConfig, TransformParameters, UserDefinedFunctionInput } from "./models_1"; import type { ColumnRowFilter, DevEndpointCustomLibraries, FederatedTable, SchemaVersionNumber, ViewDefinition, ViewValidation } from "./models_2"; /** * @public */ export interface UpdateDevEndpointRequest { /** *

The name of the DevEndpoint to be updated.

* @public */ EndpointName: string | undefined; /** *

The public key for the DevEndpoint to use.

* @public */ PublicKey?: string | undefined; /** *

The list of public keys for the DevEndpoint to use.

* @public */ AddPublicKeys?: string[] | undefined; /** *

The list of public keys to be deleted from the DevEndpoint.

* @public */ DeletePublicKeys?: string[] | undefined; /** *

Custom Python or Java libraries to be loaded in the DevEndpoint.

* @public */ CustomLibraries?: DevEndpointCustomLibraries | undefined; /** *

* True if the list of custom libraries to be loaded in the development endpoint * needs to be updated, or False if otherwise.

* @public */ UpdateEtlLibraries?: boolean | undefined; /** *

The list of argument keys to be deleted from the map of arguments used to configure the * DevEndpoint.

* @public */ DeleteArguments?: string[] | undefined; /** *

The map of arguments to add the map of arguments used to configure the * DevEndpoint.

*

Valid arguments are:

* *

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.

* @public */ AddArguments?: Record | undefined; } /** * @public */ export interface UpdateDevEndpointResponse { } /** *

Request to update an existing Glue Identity Center configuration.

* @public */ export interface UpdateGlueIdentityCenterConfigurationRequest { /** *

A list of Identity Center scopes that define the updated permissions and access levels for the Glue configuration.

* @public */ Scopes?: string[] | undefined; /** *

Specifies whether users can run background sessions when using Identity Center authentication with Glue services.

* @public */ UserBackgroundSessionsEnabled?: boolean | undefined; } /** *

Response from updating an existing Glue Identity Center configuration.

* @public */ export interface UpdateGlueIdentityCenterConfigurationResponse { } /** * @public */ export interface UpdateIntegrationResourcePropertyRequest { /** *

The connection ARN of the source, or the database ARN of the target.

* @public */ ResourceArn: string | undefined; /** *

The resource properties associated with the integration source.

* @public */ SourceProcessingProperties?: SourceProcessingProperties | undefined; /** *

The resource properties associated with the integration target.

* @public */ TargetProcessingProperties?: TargetProcessingProperties | undefined; } /** * @public */ export interface UpdateIntegrationResourcePropertyResponse { /** *

The connection ARN of the source, or the database ARN of the target.

* @public */ ResourceArn?: string | undefined; /** *

The resource ARN created through this create API. The format is something like arn:aws:glue:::integrationresourceproperty/*

* @public */ ResourcePropertyArn?: string | undefined; /** *

The resource properties associated with the integration source.

* @public */ SourceProcessingProperties?: SourceProcessingProperties | undefined; /** *

The resource properties associated with the integration target.

* @public */ TargetProcessingProperties?: TargetProcessingProperties | undefined; } /** * @public */ export interface UpdateIntegrationTablePropertiesRequest { /** *

The connection ARN of the source, or the database ARN of the target.

* @public */ ResourceArn: string | undefined; /** *

The name of the table to be replicated.

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

A structure for the source table configuration.

* @public */ SourceTableConfig?: SourceTableConfig | undefined; /** *

A structure for the target table configuration.

* @public */ TargetTableConfig?: TargetTableConfig | undefined; } /** * @public */ export interface UpdateIntegrationTablePropertiesResponse { } /** * @public */ export interface UpdateJobResponse { /** *

Returns the name of the updated job definition.

* @public */ JobName?: string | undefined; } /** * @public */ export interface UpdateJobFromSourceControlRequest { /** *

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

* @public */ JobName?: string | undefined; /** *

* The provider for the remote repository. Possible values: GITHUB, AWS_CODE_COMMIT, GITLAB, BITBUCKET. *

* @public */ Provider?: SourceControlProvider | undefined; /** *

The name of the remote repository that contains the job artifacts. * For BitBucket providers, RepositoryName should include WorkspaceName. * Use the format /. *

* @public */ RepositoryName?: string | undefined; /** *

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

* @public */ RepositoryOwner?: string | undefined; /** *

An optional branch in the remote repository.

* @public */ BranchName?: string | undefined; /** *

An optional folder in the remote repository.

* @public */ Folder?: string | undefined; /** *

A commit ID for a commit in the remote repository.

* @public */ CommitId?: string | undefined; /** *

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

* @public */ AuthStrategy?: SourceControlAuthStrategy | undefined; /** *

The value of the authorization token.

* @public */ AuthToken?: string | undefined; } /** * @public */ export interface UpdateJobFromSourceControlResponse { /** *

The name of the Glue job.

* @public */ JobName?: string | undefined; } /** * @public */ export interface UpdateMLTransformRequest { /** *

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

* @public */ TransformId: string | undefined; /** *

The unique name that you gave the transform when you created it.

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

A description of the transform. The default is an empty string.

* @public */ Description?: string | undefined; /** *

The configuration parameters that are specific to the transform type (algorithm) used. * Conditionally dependent on the transform type.

* @public */ Parameters?: TransformParameters | undefined; /** *

The name or Amazon Resource Name (ARN) of the IAM role with the required * permissions.

* @public */ Role?: string | undefined; /** *

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.

* @public */ GlueVersion?: string | undefined; /** *

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 * processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more * information, see the Glue pricing * page.

*

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

* @public */ MaxCapacity?: number | undefined; /** *

The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

* * @public */ WorkerType?: WorkerType | undefined; /** *

The number of workers of a defined workerType that are allocated when this task runs.

* @public */ NumberOfWorkers?: number | undefined; /** *

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).

* @public */ Timeout?: number | undefined; /** *

The maximum number of times to retry a task for this transform after a task run fails.

* @public */ MaxRetries?: number | undefined; } /** * @public */ export interface UpdateMLTransformResponse { /** *

The unique identifier for the transform that was updated.

* @public */ TransformId?: string | undefined; } /** * @public */ export interface UpdatePartitionRequest { /** *

The ID of the Data Catalog where the partition to be updated resides. If none is provided, * the Amazon Web Services account ID is used by default.

* @public */ CatalogId?: string | undefined; /** *

The name of the catalog database in which the table in question * resides.

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

The name of the table in which the partition to be updated is located.

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

List of partition key values that define the partition to update.

* @public */ PartitionValueList: string[] | undefined; /** *

The new partition object to update the partition to.

*

The Values property can't be changed. If you want to change the partition key values for a partition, delete and recreate the partition.

* @public */ PartitionInput: PartitionInput | undefined; } /** * @public */ export interface UpdatePartitionResponse { } /** * @public */ export interface UpdateRegistryInput { /** *

This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

* @public */ RegistryId: RegistryId | undefined; /** *

A description of the registry. If description is not provided, this field will not be updated.

* @public */ Description: string | undefined; } /** * @public */ export interface UpdateRegistryResponse { /** *

The name of the updated registry.

* @public */ RegistryName?: string | undefined; /** *

The Amazon Resource name (ARN) of the updated registry.

* @public */ RegistryArn?: string | undefined; } /** * @public */ export interface UpdateSchemaInput { /** *

This is a wrapper structure to contain schema identity fields. The structure contains:

* * @public */ SchemaId: SchemaId | undefined; /** *

Version number required for check pointing. One of VersionNumber or Compatibility has to be provided.

* @public */ SchemaVersionNumber?: SchemaVersionNumber | undefined; /** *

The new compatibility setting for the schema.

* @public */ Compatibility?: Compatibility | undefined; /** *

The new description for the schema.

* @public */ Description?: string | undefined; } /** * @public */ export interface UpdateSchemaResponse { /** *

The Amazon Resource Name (ARN) of the schema.

* @public */ SchemaArn?: string | undefined; /** *

The name of the schema.

* @public */ SchemaName?: string | undefined; /** *

The name of the registry that contains the schema.

* @public */ RegistryName?: string | undefined; } /** * @public */ export interface UpdateSourceControlFromJobRequest { /** *

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

* @public */ JobName?: string | undefined; /** *

* The provider for the remote repository. Possible values: GITHUB, AWS_CODE_COMMIT, GITLAB, BITBUCKET. *

* @public */ Provider?: SourceControlProvider | undefined; /** *

The name of the remote repository that contains the job artifacts. * For BitBucket providers, RepositoryName should include WorkspaceName. * Use the format /. *

* @public */ RepositoryName?: string | undefined; /** *

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

* @public */ RepositoryOwner?: string | undefined; /** *

An optional branch in the remote repository.

* @public */ BranchName?: string | undefined; /** *

An optional folder in the remote repository.

* @public */ Folder?: string | undefined; /** *

A commit ID for a commit in the remote repository.

* @public */ CommitId?: string | undefined; /** *

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

* @public */ AuthStrategy?: SourceControlAuthStrategy | undefined; /** *

The value of the authorization token.

* @public */ AuthToken?: string | undefined; } /** * @public */ export interface UpdateSourceControlFromJobResponse { /** *

The name of the Glue job.

* @public */ JobName?: string | undefined; } /** *

Encryption key structure used for Iceberg table encryption. Contains the key ID, encrypted key metadata, optional reference to the encrypting key, and additional properties for the table's encryption scheme.

* @public */ export interface IcebergEncryptedKey { /** *

Unique identifier of the encryption key used for Iceberg table encryption. This ID is used to reference the key in table metadata and track which key was used to encrypt specific data.

* @public */ KeyId: string | undefined; /** *

Encrypted key and metadata, base64 encoded. The format of encrypted key metadata is determined by the table's encryption scheme and can be a wrapped format specific to the table's KMS provider.

* @public */ EncryptedKeyMetadata: string | undefined; /** *

Optional ID of the key used to encrypt or wrap the key metadata in Iceberg table encryption. This field references another encryption key that was used to encrypt the current key's metadata.

* @public */ EncryptedById?: string | undefined; /** *

A string to string map of additional metadata used by the table's encryption scheme. These properties provide additional context and configuration for the encryption key implementation.

* @public */ Properties?: Record | undefined; } /** *

Defines a complete set of updates to be applied to an Iceberg table, including schema changes, partitioning modifications, sort order * adjustments, location updates, and property changes.

* @public */ export interface IcebergTableUpdate { /** *

The updated schema definition for the Iceberg table, specifying any changes to field structure, data types, or schema metadata.

* @public */ Schema: IcebergSchema | undefined; /** *

The updated partitioning specification that defines how the table data should be reorganized and partitioned.

* @public */ PartitionSpec?: IcebergPartitionSpec | undefined; /** *

The updated sort order specification that defines how data should be ordered within partitions for optimal query performance.

* @public */ SortOrder?: IcebergSortOrder | undefined; /** *

The updated S3 location where the Iceberg table data will be stored.

* @public */ Location: string | undefined; /** *

Updated key-value pairs of table properties and configuration settings for the Iceberg table.

* @public */ Properties?: Record | undefined; /** *

The type of update action to be performed on the Iceberg table. Defines the specific operation such as adding schema, setting current schema, adding partition spec, or managing encryption keys.

* @public */ Action?: IcebergUpdateAction | undefined; /** *

Encryption key information associated with an Iceberg table update operation. Used when adding or removing encryption keys from the table metadata during table evolution.

* @public */ EncryptionKey?: IcebergEncryptedKey | undefined; /** *

Identifier of the encryption key involved in an Iceberg table update operation. References the specific key being added to or removed from the table's encryption configuration.

* @public */ KeyId?: string | undefined; } /** *

Contains the update operations to be applied to an existing Iceberg table inGlue Data Catalog, defining the new state of the table metadata. *

* @public */ export interface UpdateIcebergTableInput { /** *

The list of table update operations that specify the changes to be made to the Iceberg table, including schema modifications, partition * specifications, and table properties.

* @public */ Updates: IcebergTableUpdate[] | undefined; } /** *

Input parameters specific to updating Apache Iceberg tables in Glue Data * Catalog, containing the update operations to be applied to an existing Iceberg * table.

* @public */ export interface UpdateIcebergInput { /** *

The specific update operations to be applied to the Iceberg table, containing a * list of updates that define the new state of the table including schema, * partitions, and properties.

* @public */ UpdateIcebergTableInput: UpdateIcebergTableInput | undefined; } /** *

Input parameters for updating open table format tables in GlueData Catalog, * serving as a wrapper for format-specific update operations such as Apache Iceberg.

* @public */ export interface UpdateOpenTableFormatInput { /** *

Apache Iceberg-specific update parameters that define the table modifications to * be applied, including schema changes, partition specifications, and table * properties.

* @public */ UpdateIcebergInput?: UpdateIcebergInput | undefined; } /** * @public */ export interface UpdateTableRequest { /** *

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account * ID is used by default.

* @public */ CatalogId?: string | undefined; /** *

The name of the catalog database in which the table resides. For Hive * compatibility, this name is entirely lowercase.

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

The unique identifier for the table within the specified database that will be * created in the Glue Data Catalog.

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

An updated TableInput object to define the metadata table * in the catalog.

* @public */ TableInput?: TableInput | undefined; /** *

By default, UpdateTable always creates an archived version of the table * before updating it. However, if skipArchive is set to true, * UpdateTable does not create the archived version.

* @public */ SkipArchive?: boolean | undefined; /** *

The transaction ID at which to update the table contents.

* @public */ TransactionId?: string | undefined; /** *

The version ID at which to update the table contents.

* @public */ VersionId?: string | undefined; /** *

The operation to be performed when updating the view.

* @public */ ViewUpdateAction?: ViewUpdateAction | undefined; /** *

A flag that can be set to true to ignore matching storage descriptor and subobject matching requirements.

* @public */ Force?: boolean | undefined; /** *

Input parameters for updating open table format tables in GlueData Catalog, serving as a wrapper for format-specific update operations such as Apache Iceberg.

* @public */ UpdateOpenTableFormatInput?: UpdateOpenTableFormatInput | undefined; } /** * @public */ export interface UpdateTableResponse { } /** * @public */ export interface UpdateTableOptimizerRequest { /** *

The Catalog ID of the table.

* @public */ CatalogId: string | undefined; /** *

The name of the database in the catalog in which the table resides.

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

The name of the table.

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

The type of table optimizer.

* @public */ Type: TableOptimizerType | undefined; /** *

A TableOptimizerConfiguration object representing the configuration of a table optimizer.

* @public */ TableOptimizerConfiguration: TableOptimizerConfiguration | undefined; } /** * @public */ export interface UpdateTableOptimizerResponse { } /** *

A structure used to provide information used to update a trigger. This object updates the * previous trigger definition by overwriting it completely.

* @public */ export interface TriggerUpdate { /** *

Reserved for future use.

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

A description of this trigger.

* @public */ Description?: string | undefined; /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run * something every day at 12:15 UTC, you would specify: * cron(15 12 * * ? *).

* @public */ Schedule?: string | undefined; /** *

The actions initiated by this trigger.

* @public */ Actions?: Action[] | undefined; /** *

The predicate of this trigger, which defines when it will fire.

* @public */ Predicate?: Predicate | undefined; /** *

Batch condition that must be met (specified number of events received or batch time window expired) * before EventBridge event trigger fires.

* @public */ EventBatchingCondition?: EventBatchingCondition | undefined; } /** * @public */ export interface UpdateTriggerRequest { /** *

The name of the trigger to update.

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

The new values with which to update the trigger.

* @public */ TriggerUpdate: TriggerUpdate | undefined; } /** * @public */ export interface UpdateTriggerResponse { /** *

The resulting trigger definition.

* @public */ Trigger?: Trigger | undefined; } /** * @public */ export interface UpdateUsageProfileRequest { /** *

The name of the usage profile.

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

A description of the usage profile.

* @public */ Description?: string | undefined; /** *

A ProfileConfiguration object specifying the job and session values for the profile.

* @public */ Configuration: ProfileConfiguration | undefined; } /** * @public */ export interface UpdateUsageProfileResponse { /** *

The name of the usage profile that was updated.

* @public */ Name?: string | undefined; } /** * @public */ export interface UpdateUserDefinedFunctionRequest { /** *

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

* @public */ CatalogId?: string | undefined; /** *

The name of the catalog database where the function to be updated is * located.

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

The name of the function.

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

A FunctionInput object that redefines the function in the Data * Catalog.

* @public */ FunctionInput: UserDefinedFunctionInput | undefined; } /** * @public */ export interface UpdateUserDefinedFunctionResponse { } /** * @public */ export interface UpdateWorkflowRequest { /** *

Name of the workflow to be updated.

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

The description of the workflow.

* @public */ Description?: string | undefined; /** *

A collection of properties to be used as part of each execution of the workflow.

*

Run properties may be logged. Do not pass plaintext secrets as properties. Retrieve secrets from a Glue Connection, Amazon Web Services Secrets Manager or other secret management mechanism if you intend to use them within the workflow run.

* @public */ DefaultRunProperties?: Record | undefined; /** *

You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

* @public */ MaxConcurrentRuns?: number | undefined; } /** * @public */ export interface UpdateWorkflowResponse { /** *

The name of the workflow which was specified in input.

* @public */ Name?: string | undefined; } /** *

Specifies the mapping of data property keys.

* @public */ export interface Mapping { /** *

After the apply mapping, what the name of the column should be. Can be the same as FromPath.

* @public */ ToKey?: string | undefined; /** *

The table or column to be modified.

* @public */ FromPath?: string[] | undefined; /** *

The type of the data to be modified.

* @public */ FromType?: string | undefined; /** *

The data type that the data is to be modified to.

* @public */ ToType?: string | undefined; /** *

If true, then the column is removed.

* @public */ Dropped?: boolean | undefined; /** *

Only applicable to nested data structures. If you want to change the parent structure, but also one of its children, you can fill out this data strucutre. It is also Mapping, but its FromPath will be the parent's FromPath plus the FromPath from this structure.

*

For the children part, suppose you have the structure:

*

* \{ * "FromPath": "OuterStructure", * "ToKey": "OuterStructure", * "ToType": "Struct", * "Dropped": false, * "Chidlren": [\{ * "FromPath": "inner", * "ToKey": "inner", * "ToType": "Double", * "Dropped": false, * \}] * \} *

*

You can specify a Mapping that looks like:

*

* \{ * "FromPath": "OuterStructure", * "ToKey": "OuterStructure", * "ToType": "Struct", * "Dropped": false, * "Chidlren": [\{ * "FromPath": "inner", * "ToKey": "inner", * "ToType": "Double", * "Dropped": false, * \}] * \} *

* @public */ Children?: Mapping[] | undefined; } /** *

Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.

* @public */ export interface ApplyMapping { /** *

The name of the transform node.

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

The data inputs identified by their node names.

* @public */ Inputs: string[] | undefined; /** *

Specifies the mapping of data property keys in the data source to data property keys in the data target.

* @public */ Mapping: Mapping[] | undefined; } /** *

A structure containing information about an asynchronous change to a table.

* @public */ export interface StatusDetails { /** *

A Table object representing the requested changes.

* @public */ RequestedChange?: Table | undefined; /** *

A list of ViewValidation objects that contain information for an analytical engine to validate a view.

* @public */ ViewValidations?: ViewValidation[] | undefined; } /** *

Represents a collection of related data organized in columns and rows.

* @public */ export interface Table { /** *

The table name. For Hive compatibility, this must be entirely * lowercase.

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

The name of the database where the table metadata resides. * For Hive compatibility, this must be all lowercase.

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

A description of the table.

* @public */ Description?: string | undefined; /** *

The owner of the table.

* @public */ Owner?: string | undefined; /** *

The time when the table definition was created in the Data Catalog.

* @public */ CreateTime?: Date | undefined; /** *

The last time that the table was updated.

* @public */ UpdateTime?: Date | undefined; /** *

The last time that the table was accessed. This is usually taken from HDFS, and might not * be reliable.

* @public */ LastAccessTime?: Date | undefined; /** *

The last time that column statistics were computed for this table.

* @public */ LastAnalyzedTime?: Date | undefined; /** *

The retention time for this table.

* @public */ Retention?: number | undefined; /** *

A storage descriptor containing information about the physical storage * of this table.

* @public */ StorageDescriptor?: StorageDescriptor | undefined; /** *

A list of columns by which the table is partitioned. Only primitive * types are supported as partition keys.

*

When you create a table used by Amazon Athena, and you do not specify any * partitionKeys, you must at least set the value of partitionKeys to * an empty list. For example:

*

* "PartitionKeys": [] *

* @public */ PartitionKeys?: Column[] | undefined; /** *

Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * If the table is a VIRTUAL_VIEW, certain Athena configuration encoded in base64.

* @public */ ViewOriginalText?: string | undefined; /** *

Included for Apache Hive compatibility. Not used in the normal course of Glue operations.

* @public */ ViewExpandedText?: string | undefined; /** *

The type of this table. * Glue will create tables with the EXTERNAL_TABLE type. * Other services, such as Athena, may create tables with additional table types. *

*

Glue related table types:

*
*
EXTERNAL_TABLE
*
*

Hive compatible attribute - indicates a non-Hive managed table.

*
*
GOVERNED
*
*

Used by Lake Formation. * The Glue Data Catalog understands GOVERNED.

*
*
* @public */ TableType?: string | undefined; /** *

These key-value pairs define properties associated with the table.

* @public */ Parameters?: Record | undefined; /** *

The person or entity who created the table.

* @public */ CreatedBy?: string | undefined; /** *

Indicates whether the table has been registered with Lake Formation.

* @public */ IsRegisteredWithLakeFormation?: boolean | undefined; /** *

A TableIdentifier structure that describes a target table for resource linking.

* @public */ TargetTable?: TableIdentifier | undefined; /** *

The ID of the Data Catalog in which the table resides.

* @public */ CatalogId?: string | undefined; /** *

The ID of the table version.

* @public */ VersionId?: string | undefined; /** *

A FederatedTable structure that references an entity outside the Glue Data Catalog.

* @public */ FederatedTable?: FederatedTable | undefined; /** *

A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query.

* @public */ ViewDefinition?: ViewDefinition | undefined; /** *

Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines.

* @public */ IsMultiDialectView?: boolean | undefined; /** *

Indicates a table is a MaterializedView.

* @public */ IsMaterializedView?: boolean | undefined; /** *

Indicates the the state of an asynchronous change to a table.

* @public */ Status?: TableStatus | undefined; } /** *

A structure containing information about the state of an asynchronous change to a table.

* @public */ export interface TableStatus { /** *

The ARN of the user who requested the asynchronous change.

* @public */ RequestedBy?: string | undefined; /** *

The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc).

* @public */ UpdatedBy?: string | undefined; /** *

An ISO 8601 formatted date string indicating the time that the change was initiated.

* @public */ RequestTime?: Date | undefined; /** *

An ISO 8601 formatted date string indicating the time that the state was last updated.

* @public */ UpdateTime?: Date | undefined; /** *

Indicates which action was called on the table, currently only CREATE or UPDATE.

* @public */ Action?: ResourceAction | undefined; /** *

A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED.

* @public */ State?: ResourceState | undefined; /** *

An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different Errors for each dialect.

* @public */ Error?: ErrorDetail | undefined; /** *

A StatusDetails object with information about the requested change.

* @public */ Details?: StatusDetails | undefined; } /** *

* CodeGenConfigurationNode enumerates all valid Node types. One and only one of its member variables can be populated.

* @public */ export interface CodeGenConfigurationNode { /** *

Specifies a connector to an Amazon Athena data source.

* @public */ AthenaConnectorSource?: AthenaConnectorSource | undefined; /** *

Specifies a connector to a JDBC data source.

* @public */ JDBCConnectorSource?: JDBCConnectorSource | undefined; /** *

Specifies a connector to an Apache Spark data source.

* @public */ SparkConnectorSource?: SparkConnectorSource | undefined; /** *

Specifies a data store in the Glue Data Catalog.

* @public */ CatalogSource?: CatalogSource | undefined; /** *

Specifies an Amazon Redshift data store.

* @public */ RedshiftSource?: RedshiftSource | undefined; /** *

Specifies an Amazon S3 data store in the Glue Data Catalog.

* @public */ S3CatalogSource?: S3CatalogSource | undefined; /** *

Specifies a command-separated value (CSV) data store stored in Amazon S3.

* @public */ S3CsvSource?: S3CsvSource | undefined; /** *

Specifies a JSON data store stored in Amazon S3.

* @public */ S3JsonSource?: S3JsonSource | undefined; /** *

Specifies an Apache Parquet data store stored in Amazon S3.

* @public */ S3ParquetSource?: S3ParquetSource | undefined; /** *

Specifies a relational catalog data store in the Glue Data Catalog.

* @public */ RelationalCatalogSource?: RelationalCatalogSource | undefined; /** *

Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.

* @public */ DynamoDBCatalogSource?: DynamoDBCatalogSource | undefined; /** *

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

* @public */ JDBCConnectorTarget?: JDBCConnectorTarget | undefined; /** *

Specifies a target that uses an Apache Spark connector.

* @public */ SparkConnectorTarget?: SparkConnectorTarget | undefined; /** *

Specifies a target that uses a Glue Data Catalog table.

* @public */ CatalogTarget?: BasicCatalogTarget | undefined; /** *

Specifies a target that uses Amazon Redshift.

* @public */ RedshiftTarget?: RedshiftTarget | undefined; /** *

Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.

* @public */ S3CatalogTarget?: S3CatalogTarget | undefined; /** *

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

* @public */ S3GlueParquetTarget?: S3GlueParquetTarget | undefined; /** *

Specifies a data target that writes to Amazon S3.

* @public */ S3DirectTarget?: S3DirectTarget | undefined; /** *

Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.

* @public */ ApplyMapping?: ApplyMapping | undefined; /** *

Specifies a transform that chooses the data property keys that you want to keep.

* @public */ SelectFields?: SelectFields | undefined; /** *

Specifies a transform that chooses the data property keys that you want to drop.

* @public */ DropFields?: DropFields | undefined; /** *

Specifies a transform that renames a single data property key.

* @public */ RenameField?: RenameField | undefined; /** *

Specifies a transform that writes samples of the data to an Amazon S3 bucket.

* @public */ Spigot?: Spigot | undefined; /** *

Specifies a transform that joins two datasets into one dataset using a comparison phrase on the specified data property keys. You can use inner, outer, left, right, left semi, and left anti joins.

* @public */ Join?: Join | undefined; /** *

Specifies a transform that splits data property keys into two DynamicFrames. The output is a collection of DynamicFrames: one with selected data property keys, and one with the remaining data property keys.

* @public */ SplitFields?: SplitFields | undefined; /** *

Specifies a transform that chooses one DynamicFrame from a collection of DynamicFrames. The output is the selected DynamicFrame *

* @public */ SelectFromCollection?: SelectFromCollection | undefined; /** *

Specifies a transform that locates records in the dataset that have missing values and adds a new field with a value determined by imputation. The input data set is used to train the machine learning model that determines what the missing value should be.

* @public */ FillMissingValues?: FillMissingValues | undefined; /** *

Specifies a transform that splits a dataset into two, based on a filter condition.

* @public */ Filter?: Filter | undefined; /** *

Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.

* @public */ CustomCode?: CustomCode | undefined; /** *

Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single DynamicFrame.

* @public */ SparkSQL?: SparkSQL | undefined; /** *

Specifies a direct Amazon Kinesis data source.

* @public */ DirectKinesisSource?: DirectKinesisSource | undefined; /** *

Specifies an Apache Kafka data store.

* @public */ DirectKafkaSource?: DirectKafkaSource | undefined; /** *

Specifies a Kinesis data source in the Glue Data Catalog.

* @public */ CatalogKinesisSource?: CatalogKinesisSource | undefined; /** *

Specifies an Apache Kafka data store in the Data Catalog.

* @public */ CatalogKafkaSource?: CatalogKafkaSource | undefined; /** *

Specifies a transform that removes columns from the dataset if all values in the column are 'null'. By default, Glue Studio will recognize null objects, but some values such as empty strings, strings that are "null", -1 integers or other placeholders such as zeros, are not automatically recognized as nulls.

* @public */ DropNullFields?: DropNullFields | undefined; /** *

Specifies a transform that merges a DynamicFrame with a staging DynamicFrame based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.

* @public */ Merge?: Merge | undefined; /** *

Specifies a transform that combines the rows from two or more datasets into a single result.

* @public */ Union?: Union | undefined; /** *

Specifies a transform that identifies, removes or masks PII data.

* @public */ PIIDetection?: PIIDetection | undefined; /** *

Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.

* @public */ Aggregate?: Aggregate | undefined; /** *

Specifies a transform that removes rows of repeating data from a data set.

* @public */ DropDuplicates?: DropDuplicates | undefined; /** *

Specifies a data target that writes to a goverened catalog.

* @public */ GovernedCatalogTarget?: GovernedCatalogTarget | undefined; /** *

Specifies a data source in a goverened Data Catalog.

* @public */ GovernedCatalogSource?: GovernedCatalogSource | undefined; /** *

Specifies a Microsoft SQL server data source in the Glue Data Catalog.

* @public */ MicrosoftSQLServerCatalogSource?: MicrosoftSQLServerCatalogSource | undefined; /** *

Specifies a MySQL data source in the Glue Data Catalog.

* @public */ MySQLCatalogSource?: MySQLCatalogSource | undefined; /** *

Specifies an Oracle data source in the Glue Data Catalog.

* @public */ OracleSQLCatalogSource?: OracleSQLCatalogSource | undefined; /** *

Specifies a PostgresSQL data source in the Glue Data Catalog.

* @public */ PostgreSQLCatalogSource?: PostgreSQLCatalogSource | undefined; /** *

Specifies a target that uses Microsoft SQL.

* @public */ MicrosoftSQLServerCatalogTarget?: MicrosoftSQLServerCatalogTarget | undefined; /** *

Specifies a target that uses MySQL.

* @public */ MySQLCatalogTarget?: MySQLCatalogTarget | undefined; /** *

Specifies a target that uses Oracle SQL.

* @public */ OracleSQLCatalogTarget?: OracleSQLCatalogTarget | undefined; /** *

Specifies a target that uses Postgres SQL.

* @public */ PostgreSQLCatalogTarget?: PostgreSQLCatalogTarget | undefined; /** *

Specifies a route node that directs data to different output paths based on defined filtering conditions.

* @public */ Route?: Route | undefined; /** *

Specifies a custom visual transform created by a user.

* @public */ DynamicTransform?: DynamicTransform | undefined; /** *

Specifies your data quality evaluation criteria.

* @public */ EvaluateDataQuality?: EvaluateDataQuality | undefined; /** *

Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.

* @public */ S3CatalogHudiSource?: S3CatalogHudiSource | undefined; /** *

Specifies a Hudi data source that is registered in the Glue Data Catalog.

* @public */ CatalogHudiSource?: CatalogHudiSource | undefined; /** *

Specifies a Hudi data source stored in Amazon S3.

* @public */ S3HudiSource?: S3HudiSource | undefined; /** *

Specifies a target that writes to a Hudi data source in the Glue Data Catalog.

* @public */ S3HudiCatalogTarget?: S3HudiCatalogTarget | undefined; /** *

Specifies a target that writes to a Hudi data source in Amazon S3.

* @public */ S3HudiDirectTarget?: S3HudiDirectTarget | undefined; /** *

Specifies the direct JDBC source connection.

* @public */ DirectJDBCSource?: DirectJDBCSource | undefined; /** *

Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.

* @public */ S3CatalogDeltaSource?: S3CatalogDeltaSource | undefined; /** *

Specifies a Delta Lake data source that is registered in the Glue Data Catalog.

* @public */ CatalogDeltaSource?: CatalogDeltaSource | undefined; /** *

Specifies a Delta Lake data source stored in Amazon S3.

* @public */ S3DeltaSource?: S3DeltaSource | undefined; /** *

Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.

* @public */ S3DeltaCatalogTarget?: S3DeltaCatalogTarget | undefined; /** *

Specifies a target that writes to a Delta Lake data source in Amazon S3.

* @public */ S3DeltaDirectTarget?: S3DeltaDirectTarget | undefined; /** *

Specifies a target that writes to a data source in Amazon Redshift.

* @public */ AmazonRedshiftSource?: AmazonRedshiftSource | undefined; /** *

Specifies a target that writes to a data target in Amazon Redshift.

* @public */ AmazonRedshiftTarget?: AmazonRedshiftTarget | undefined; /** *

Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.

* @public */ EvaluateDataQualityMultiFrame?: EvaluateDataQualityMultiFrame | undefined; /** *

Specifies a Glue DataBrew recipe node.

* @public */ Recipe?: Recipe | undefined; /** *

Specifies a Snowflake data source.

* @public */ SnowflakeSource?: SnowflakeSource | undefined; /** *

Specifies a target that writes to a Snowflake data source.

* @public */ SnowflakeTarget?: SnowflakeTarget | undefined; /** *

Specifies a source generated with standard connection options.

* @public */ ConnectorDataSource?: ConnectorDataSource | undefined; /** *

Specifies a target generated with standard connection options.

* @public */ ConnectorDataTarget?: ConnectorDataTarget | undefined; /** *

Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.

* @public */ S3CatalogIcebergSource?: S3CatalogIcebergSource | undefined; /** *

Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.

* @public */ CatalogIcebergSource?: CatalogIcebergSource | undefined; /** *

Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.

* @public */ S3IcebergCatalogTarget?: S3IcebergCatalogTarget | undefined; /** *

Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.

* @public */ S3IcebergDirectTarget?: S3IcebergDirectTarget | undefined; /** *

Defines configuration parameters for reading Excel files from Amazon S3.

* @public */ S3ExcelSource?: S3ExcelSource | undefined; /** *

Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.

* @public */ S3HyperDirectTarget?: S3HyperDirectTarget | undefined; /** *

Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.

* @public */ DynamoDBELTConnectorSource?: DynamoDBELTConnectorSource | undefined; } /** * @public */ export interface GetTableResponse { /** *

The Table object that defines the specified table.

* @public */ Table?: Table | undefined; } /** * @public */ export interface GetUnfilteredTableMetadataResponse { /** *

A Table object containing the table metadata.

* @public */ Table?: Table | undefined; /** *

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

* @public */ AuthorizedColumns?: string[] | undefined; /** *

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

* @public */ IsRegisteredWithLakeFormation?: boolean | undefined; /** *

A list of column row filters.

* @public */ CellFilters?: ColumnRowFilter[] | undefined; /** *

A cryptographically generated query identifier generated by Glue or Lake Formation.

* @public */ QueryAuthorizationId?: string | undefined; /** *

Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines.

* @public */ IsMultiDialectView?: boolean | undefined; /** *

Indicates if a table is a materialized view.

* @public */ IsMaterializedView?: boolean | undefined; /** *

The resource ARN of the parent resource extracted from the request.

* @public */ ResourceArn?: string | undefined; /** *

A flag that instructs the engine not to push user-provided operations into the logical plan of the view during query planning. However, if set this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any.

* @public */ IsProtected?: boolean | undefined; /** *

The Lake Formation data permissions of the caller on the table. Used to authorize the call when no view context is found.

* @public */ Permissions?: Permission[] | undefined; /** *

The filter that applies to the table. For example when applying the filter in SQL, it would go in the WHERE clause and can be evaluated by using an AND operator with any other predicates applied by the user querying the table.

* @public */ RowFilter?: string | undefined; } /** *

Specifies a version of a table.

* @public */ export interface TableVersion { /** *

The table in question.

* @public */ Table?: Table | undefined; /** *

The ID value that identifies this table version. A VersionId is a string representation of an integer. Each version is incremented by 1.

* @public */ VersionId?: string | undefined; } /** * @public */ export interface GetTablesResponse { /** *

A list of the requested Table objects.

* @public */ TableList?: Table[] | undefined; /** *

A continuation token, present if the current list segment is not the last.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetTableVersionResponse { /** *

The requested table version.

* @public */ TableVersion?: TableVersion | undefined; } /** * @public */ export interface SearchTablesResponse { /** *

A continuation token, present if the current list segment is not the last.

* @public */ NextToken?: string | undefined; /** *

A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

* @public */ TableList?: Table[] | undefined; } /** * @public */ export interface CreateJobRequest { /** *

The name you assign to this job definition. It must be unique in your account.

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

A mode that describes how a job was created. Valid values are:

*
    *
  • *

    * SCRIPT - The job was created using the Glue Studio script editor.

    *
  • *
  • *

    * VISUAL - The job was created using the Glue Studio visual editor.

    *
  • *
  • *

    * NOTEBOOK - The job was created using an interactive sessions notebook.

    *
  • *
*

When the JobMode field is missing or null, SCRIPT is assigned as the default value.

* @public */ JobMode?: JobMode | undefined; /** *

Specifies whether job run queuing is enabled for the job runs for this job.

*

A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

*

If this field does not match the value set in the job run, then the value from the job run field will be used.

* @public */ JobRunQueuingEnabled?: boolean | undefined; /** *

Description of the job being defined.

* @public */ Description?: string | undefined; /** *

This field is reserved for future use.

* @public */ LogUri?: string | undefined; /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

* @public */ Role: string | undefined; /** *

An ExecutionProperty specifying the maximum number of concurrent runs allowed * for this job.

* @public */ ExecutionProperty?: ExecutionProperty | undefined; /** *

The JobCommand that runs this job.

* @public */ Command: JobCommand | undefined; /** *

The default arguments for every run of this job, specified as name-value pairs.

*

You can specify arguments here that your own job-execution script * consumes, as well as arguments that Glue itself consumes.

*

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets * from a Glue Connection, Secrets Manager or other secret management * mechanism if you intend to keep them within the Job.

*

For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Spark jobs, * see the Special Parameters Used by Glue topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Ray * jobs, see Using * job parameters in Ray jobs in the developer guide.

* @public */ DefaultArguments?: Record | undefined; /** *

Arguments for this job that are not overridden when providing job arguments * in a job run, specified as name-value pairs.

* @public */ NonOverridableArguments?: Record | undefined; /** *

The connections used for this job.

* @public */ Connections?: ConnectionsList | undefined; /** *

The maximum number of times to retry this job if it fails.

* @public */ MaxRetries?: number | undefined; /** *

This parameter is deprecated. Use MaxCapacity instead.

*

The number of Glue data processing units (DPUs) to allocate to this Job. You can * allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, * see the Glue pricing * page.

* * @deprecated This property is deprecated, use MaxCapacity instead. * @public */ AllocatedCapacity?: number | undefined; /** *

The job timeout in minutes. This is the maximum time that a job run * can consume resources before it is terminated and enters TIMEOUT * status.

*

Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

*

When the value is left blank, the timeout is defaulted to 2,880 minutes for Glue version 4.0 and earlier, or 480 minutes for Glue version 5.0 and later.

*

Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

*

For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.

* @public */ Timeout?: number | undefined; /** *

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB * of memory. For more information, see the * Glue pricing page.

*

For Glue version 2.0+ jobs, you cannot specify a Maximum capacity. * Instead, you should specify a Worker type and the Number of workers.

*

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

*

The value that can be allocated for MaxCapacity depends on whether you are * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL * job:

*
    *
  • *

    When you specify a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

    *
  • *
  • *

    When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") or Apache * Spark streaming ETL job (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 DPUs. * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

    *
  • *
* @public */ MaxCapacity?: number | undefined; /** *

The name of the SecurityConfiguration structure to be used with this * job.

* @public */ SecurityConfiguration?: string | undefined; /** *

The tags to use with this job. You may use tags to limit access to the job. For more information about tags in Glue, see Amazon Web Services Tags in Glue in the developer guide.

* @public */ Tags?: Record | undefined; /** *

Specifies configuration properties of a job notification.

* @public */ NotificationProperty?: NotificationProperty | undefined; /** *

In Spark jobs, GlueVersion determines the versions of Apache Spark and Python * that Glue available in a job. The Python version indicates the version * supported for jobs of type Spark.

*

Ray jobs should set GlueVersion to 4.0 or greater. However, * the versions of Ray, Python and additional libraries available in your Ray job are determined * by the Runtime parameter of the Job command.

*

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

*

Jobs that are created without specifying a Glue version default to Glue 5.1.

* @public */ GlueVersion?: string | undefined; /** *

The number of workers of a defined workerType that are allocated when a job runs.

* @public */ NumberOfWorkers?: number | undefined; /** *

The type of predefined worker that is allocated when a job runs. Accepts a value of * G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.

*
    *
  • *

    For the G.1X worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

    *
  • *
  • *

    For the G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

    *
  • *
  • *

    For the G.4X worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (London), Europe (Spain), Europe (Stockholm), and South America (São Paulo).

    *
  • *
  • *

    For the G.8X worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the G.4X worker type.

    *
  • *
  • *

    For the G.025X worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 or later streaming jobs.

    *
  • *
  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.

    *
  • *
* @public */ WorkerType?: WorkerType | undefined; /** *

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

* @public */ CodeGenConfigurationNodes?: Record | undefined; /** *

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.

*

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

*

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.

* @public */ ExecutionClass?: ExecutionClass | undefined; /** *

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

* @public */ SourceControlDetails?: SourceControlDetails | undefined; /** *

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

*

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

* @public */ MaintenanceWindow?: string | undefined; } /** * @public */ export interface GetTableVersionsResponse { /** *

A list of strings identifying available versions of the * specified table.

* @public */ TableVersions?: TableVersion[] | undefined; /** *

A continuation token, if the list of available versions does * not include the last one.

* @public */ NextToken?: string | undefined; } /** *

Specifies a job definition.

* @public */ export interface Job { /** *

The name you assign to this job definition.

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

A mode that describes how a job was created. Valid values are:

*
    *
  • *

    * SCRIPT - The job was created using the Glue Studio script editor.

    *
  • *
  • *

    * VISUAL - The job was created using the Glue Studio visual editor.

    *
  • *
  • *

    * NOTEBOOK - The job was created using an interactive sessions notebook.

    *
  • *
*

When the JobMode field is missing or null, SCRIPT is assigned as the default value.

* @public */ JobMode?: JobMode | undefined; /** *

Specifies whether job run queuing is enabled for the job runs for this job.

*

A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

*

If this field does not match the value set in the job run, then the value from the job run field will be used.

* @public */ JobRunQueuingEnabled?: boolean | undefined; /** *

A description of the job.

* @public */ Description?: string | undefined; /** *

This field is reserved for future use.

* @public */ LogUri?: string | undefined; /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

* @public */ Role?: string | undefined; /** *

The time and date that this job definition was created.

* @public */ CreatedOn?: Date | undefined; /** *

The last point in time when this job definition was modified.

* @public */ LastModifiedOn?: Date | undefined; /** *

An ExecutionProperty specifying the maximum number of concurrent runs allowed * for this job.

* @public */ ExecutionProperty?: ExecutionProperty | undefined; /** *

The JobCommand that runs this job.

* @public */ Command?: JobCommand | undefined; /** *

The default arguments for every run of this job, specified as name-value pairs.

*

You can specify arguments here that your own job-execution script * consumes, as well as arguments that Glue itself consumes.

*

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets * from a Glue Connection, Secrets Manager or other secret management * mechanism if you intend to keep them within the Job.

*

For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Spark jobs, * see the Special Parameters Used by Glue topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Ray * jobs, see Using * job parameters in Ray jobs in the developer guide.

* @public */ DefaultArguments?: Record | undefined; /** *

Arguments for this job that are not overridden when providing job arguments * in a job run, specified as name-value pairs.

* @public */ NonOverridableArguments?: Record | undefined; /** *

The connections used for this job.

* @public */ Connections?: ConnectionsList | undefined; /** *

The maximum number of times to retry this job after a JobRun fails.

* @public */ MaxRetries?: number | undefined; /** *

This field is deprecated. Use MaxCapacity instead.

*

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

*

* * @deprecated This property is deprecated, use MaxCapacity instead. * @public */ AllocatedCapacity?: number | undefined; /** *

The job timeout in minutes. This is the maximum time that a job run * can consume resources before it is terminated and enters TIMEOUT * status.

*

Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

*

When the value is left blank, the timeout is defaulted to 2,880 minutes for Glue version 4.0 and earlier, or 480 minutes for Glue version 5.0 and later.

*

Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

*

For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.

* @public */ Timeout?: number | undefined; /** *

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB * of memory. For more information, see the * Glue pricing page.

*

For Glue version 2.0 or later jobs, you cannot specify a Maximum capacity. * Instead, you should specify a Worker type and the Number of workers.

*

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

*

The value that can be allocated for MaxCapacity depends on whether you are * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL * job:

*
    *
  • *

    When you specify a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

    *
  • *
  • *

    When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") or Apache * Spark streaming ETL job (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 DPUs. * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

    *
  • *
* @public */ MaxCapacity?: number | undefined; /** *

The type of predefined worker that is allocated when a job runs.

*

Glue provides multiple worker types to accommodate different workload requirements:

*

G Worker Types (General-purpose compute workers):

*
    *
  • *

    G.1X: 1 DPU (4 vCPUs, 16 GB memory, 94GB disk)

    *
  • *
  • *

    G.2X: 2 DPU (8 vCPUs, 32 GB memory, 138GB disk)

    *
  • *
  • *

    G.4X: 4 DPU (16 vCPUs, 64 GB memory, 256GB disk)

    *
  • *
  • *

    G.8X: 8 DPU (32 vCPUs, 128 GB memory, 512GB disk)

    *
  • *
  • *

    G.12X: 12 DPU (48 vCPUs, 192 GB memory, 768GB disk)

    *
  • *
  • *

    G.16X: 16 DPU (64 vCPUs, 256 GB memory, 1024GB disk)

    *
  • *
*

R Worker Types (Memory-optimized workers):

*
    *
  • *

    R.1X: 1 M-DPU (4 vCPUs, 32 GB memory)

    *
  • *
  • *

    R.2X: 2 M-DPU (8 vCPUs, 64 GB memory)

    *
  • *
  • *

    R.4X: 4 M-DPU (16 vCPUs, 128 GB memory)

    *
  • *
  • *

    R.8X: 8 M-DPU (32 vCPUs, 256 GB memory)

    *
  • *
* @public */ WorkerType?: WorkerType | undefined; /** *

The number of workers of a defined workerType that are allocated when a job runs.

* @public */ NumberOfWorkers?: number | undefined; /** *

The name of the SecurityConfiguration structure to be used with this * job.

* @public */ SecurityConfiguration?: string | undefined; /** *

Specifies configuration properties of a job notification.

* @public */ NotificationProperty?: NotificationProperty | undefined; /** *

In Spark jobs, GlueVersion determines the versions of Apache Spark and Python * that Glue available in a job. The Python version indicates the version * supported for jobs of type Spark.

*

Ray jobs should set GlueVersion to 4.0 or greater. However, * the versions of Ray, Python and additional libraries available in your Ray job are determined * by the Runtime parameter of the Job command.

*

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

*

Jobs that are created without specifying a Glue version default to Glue 5.1.

* @public */ GlueVersion?: string | undefined; /** *

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

* @public */ CodeGenConfigurationNodes?: Record | undefined; /** *

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.

*

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

*

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.

* @public */ ExecutionClass?: ExecutionClass | undefined; /** *

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

* @public */ SourceControlDetails?: SourceControlDetails | undefined; /** *

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

*

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

* @public */ MaintenanceWindow?: string | undefined; /** *

The name of an Glue usage profile associated with the job.

* @public */ ProfileName?: string | undefined; } /** *

Specifies information used to update an existing job definition. The previous job * definition is completely overwritten by this information.

* @public */ export interface JobUpdate { /** *

A mode that describes how a job was created. Valid values are:

*
    *
  • *

    * SCRIPT - The job was created using the Glue Studio script editor.

    *
  • *
  • *

    * VISUAL - The job was created using the Glue Studio visual editor.

    *
  • *
  • *

    * NOTEBOOK - The job was created using an interactive sessions notebook.

    *
  • *
*

When the JobMode field is missing or null, SCRIPT is assigned as the default value.

* @public */ JobMode?: JobMode | undefined; /** *

Specifies whether job run queuing is enabled for the job runs for this job.

*

A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

*

If this field does not match the value set in the job run, then the value from the job run field will be used.

* @public */ JobRunQueuingEnabled?: boolean | undefined; /** *

Description of the job being defined.

* @public */ Description?: string | undefined; /** *

This field is reserved for future use.

* @public */ LogUri?: string | undefined; /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this job * (required).

* @public */ Role?: string | undefined; /** *

An ExecutionProperty specifying the maximum number of concurrent runs allowed * for this job.

* @public */ ExecutionProperty?: ExecutionProperty | undefined; /** *

The JobCommand that runs this job (required).

* @public */ Command?: JobCommand | undefined; /** *

The default arguments for every run of this job, specified as name-value pairs.

*

You can specify arguments here that your own job-execution script * consumes, as well as arguments that Glue itself consumes.

*

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets * from a Glue Connection, Secrets Manager or other secret management * mechanism if you intend to keep them within the Job.

*

For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Spark jobs, * see the Special Parameters Used by Glue topic in the developer guide.

*

For information about the arguments you can provide to this field when configuring Ray * jobs, see Using * job parameters in Ray jobs in the developer guide.

* @public */ DefaultArguments?: Record | undefined; /** *

Arguments for this job that are not overridden when providing job arguments * in a job run, specified as name-value pairs.

* @public */ NonOverridableArguments?: Record | undefined; /** *

The connections used for this job.

* @public */ Connections?: ConnectionsList | undefined; /** *

The maximum number of times to retry this job if it fails.

* @public */ MaxRetries?: number | undefined; /** *

This field is deprecated. Use MaxCapacity instead.

*

The number of Glue data processing units (DPUs) to allocate to this job. You can * allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, * see the Glue pricing * page.

* * @deprecated This property is deprecated, use MaxCapacity instead. * @public */ AllocatedCapacity?: number | undefined; /** *

The job timeout in minutes. This is the maximum time that a job run * can consume resources before it is terminated and enters TIMEOUT * status.

*

Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

*

When the value is left blank, the timeout is defaulted to 2,880 minutes for Glue version 4.0 and earlier, or 480 minutes for Glue version 5.0 and later.

*

Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

*

For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.

* @public */ Timeout?: number | undefined; /** *

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB * of memory. For more information, see the * Glue pricing page.

*

For Glue version 2.0+ jobs, you cannot specify a Maximum capacity. * Instead, you should specify a Worker type and the Number of workers.

*

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

*

The value that can be allocated for MaxCapacity depends on whether you are * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL * job:

*
    *
  • *

    When you specify a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

    *
  • *
  • *

    When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") or Apache * Spark streaming ETL job (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 DPUs. * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

    *
  • *
* @public */ MaxCapacity?: number | undefined; /** *

The type of predefined worker that is allocated when a job runs. Accepts a value of * G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs. For more information, see * Defining job properties for Spark jobs * *

* @public */ WorkerType?: WorkerType | undefined; /** *

The number of workers of a defined workerType that are allocated when a job runs.

* @public */ NumberOfWorkers?: number | undefined; /** *

The name of the SecurityConfiguration structure to be used with this * job.

* @public */ SecurityConfiguration?: string | undefined; /** *

Specifies the configuration properties of a job notification.

* @public */ NotificationProperty?: NotificationProperty | undefined; /** *

In Spark jobs, GlueVersion determines the versions of Apache Spark and Python * that Glue available in a job. The Python version indicates the version * supported for jobs of type Spark.

*

Ray jobs should set GlueVersion to 4.0 or greater. However, * the versions of Ray, Python and additional libraries available in your Ray job are determined * by the Runtime parameter of the Job command.

*

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

*

If not provided in the update request, the Glue version retains the value from the existing job definition.

* @public */ GlueVersion?: string | undefined; /** *

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

* @public */ CodeGenConfigurationNodes?: Record | undefined; /** *

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.

*

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

*

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.

* @public */ ExecutionClass?: ExecutionClass | undefined; /** *

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

* @public */ SourceControlDetails?: SourceControlDetails | undefined; /** *

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

*

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

* @public */ MaintenanceWindow?: string | undefined; } /** * @public */ export interface GetJobResponse { /** *

The requested job definition.

* @public */ Job?: Job | undefined; } /** * @public */ export interface UpdateJobRequest { /** *

The name of the job definition to update.

* @public */ JobName: string | undefined; /** *

Specifies the values with which to update the job definition. Unspecified configuration is removed or reset to default values.

* @public */ JobUpdate: JobUpdate | undefined; } /** * @public */ export interface BatchGetJobsResponse { /** *

A list of job definitions.

* @public */ Jobs?: Job[] | undefined; /** *

A list of names of jobs not found.

* @public */ JobsNotFound?: string[] | undefined; } /** * @public */ export interface GetJobsResponse { /** *

A list of job definitions.

* @public */ Jobs?: Job[] | undefined; /** *

A continuation token, if not all job definitions have yet been returned.

* @public */ NextToken?: string | undefined; }