

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS Glue
<a name="AWS_Glue"></a>

**Resource types**
+ [AWS::Glue::Catalog](aws-resource-glue-catalog.md)
+ [AWS::Glue::Classifier](aws-resource-glue-classifier.md)
+ [AWS::Glue::Connection](aws-resource-glue-connection.md)
+ [AWS::Glue::Crawler](aws-resource-glue-crawler.md)
+ [AWS::Glue::CustomEntityType](aws-resource-glue-customentitytype.md)
+ [AWS::Glue::Database](aws-resource-glue-database.md)
+ [AWS::Glue::DataCatalogEncryptionSettings](aws-resource-glue-datacatalogencryptionsettings.md)
+ [AWS::Glue::DataQualityRuleset](aws-resource-glue-dataqualityruleset.md)
+ [AWS::Glue::DevEndpoint](aws-resource-glue-devendpoint.md)
+ [AWS::Glue::IdentityCenterConfiguration](aws-resource-glue-identitycenterconfiguration.md)
+ [AWS::Glue::Integration](aws-resource-glue-integration.md)
+ [AWS::Glue::IntegrationResourceProperty](aws-resource-glue-integrationresourceproperty.md)
+ [AWS::Glue::Job](aws-resource-glue-job.md)
+ [AWS::Glue::MLTransform](aws-resource-glue-mltransform.md)
+ [AWS::Glue::Partition](aws-resource-glue-partition.md)
+ [AWS::Glue::Registry](aws-resource-glue-registry.md)
+ [AWS::Glue::Schema](aws-resource-glue-schema.md)
+ [AWS::Glue::SchemaVersion](aws-resource-glue-schemaversion.md)
+ [AWS::Glue::SchemaVersionMetadata](aws-resource-glue-schemaversionmetadata.md)
+ [AWS::Glue::SecurityConfiguration](aws-resource-glue-securityconfiguration.md)
+ [AWS::Glue::Table](aws-resource-glue-table.md)
+ [AWS::Glue::TableOptimizer](aws-resource-glue-tableoptimizer.md)
+ [AWS::Glue::Trigger](aws-resource-glue-trigger.md)
+ [AWS::Glue::UsageProfile](aws-resource-glue-usageprofile.md)
+ [AWS::Glue::Workflow](aws-resource-glue-workflow.md)

# AWS::Glue::Catalog
<a name="aws-resource-glue-catalog"></a>

The `AWS::Glue::Catalog` resource specifies a catalog object that represents a logical grouping of databases in the AWS Glue Data Catalog or a federated source. You can create a Redshift-federated catalog or a catalog containing resource links to Redshift databases in another account or region.

## Syntax
<a name="aws-resource-glue-catalog-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-catalog-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Catalog",
  "Properties" : {
      "[AllowFullTableExternalDataAccess](#cfn-glue-catalog-allowfulltableexternaldataaccess)" : String,
      "[CatalogProperties](#cfn-glue-catalog-catalogproperties)" : CatalogProperties,
      "[CreateDatabaseDefaultPermissions](#cfn-glue-catalog-createdatabasedefaultpermissions)" : [ PrincipalPermissions, ... ],
      "[CreateTableDefaultPermissions](#cfn-glue-catalog-createtabledefaultpermissions)" : [ PrincipalPermissions, ... ],
      "[Description](#cfn-glue-catalog-description)" : String,
      "[FederatedCatalog](#cfn-glue-catalog-federatedcatalog)" : FederatedCatalog,
      "[Name](#cfn-glue-catalog-name)" : String,
      "[OverwriteChildResourcePermissionsWithDefault](#cfn-glue-catalog-overwritechildresourcepermissionswithdefault)" : String,
      "[Parameters](#cfn-glue-catalog-parameters)" : {Key: Value, ...},
      "[Tags](#cfn-glue-catalog-tags)" : [ Tag, ... ],
      "[TargetRedshiftCatalog](#cfn-glue-catalog-targetredshiftcatalog)" : TargetRedshiftCatalog
    }
}
```

### YAML
<a name="aws-resource-glue-catalog-syntax.yaml"></a>

```
Type: AWS::Glue::Catalog
Properties:
  [AllowFullTableExternalDataAccess](#cfn-glue-catalog-allowfulltableexternaldataaccess): String
  [CatalogProperties](#cfn-glue-catalog-catalogproperties): 
    CatalogProperties
  [CreateDatabaseDefaultPermissions](#cfn-glue-catalog-createdatabasedefaultpermissions): 
    - PrincipalPermissions
  [CreateTableDefaultPermissions](#cfn-glue-catalog-createtabledefaultpermissions): 
    - PrincipalPermissions
  [Description](#cfn-glue-catalog-description): String
  [FederatedCatalog](#cfn-glue-catalog-federatedcatalog): 
    FederatedCatalog
  [Name](#cfn-glue-catalog-name): String
  [OverwriteChildResourcePermissionsWithDefault](#cfn-glue-catalog-overwritechildresourcepermissionswithdefault): String
  [Parameters](#cfn-glue-catalog-parameters): 
    Key: Value
  [Tags](#cfn-glue-catalog-tags): 
    - Tag
  [TargetRedshiftCatalog](#cfn-glue-catalog-targetredshiftcatalog): 
    TargetRedshiftCatalog
```

## Properties
<a name="aws-resource-glue-catalog-properties"></a>

`AllowFullTableExternalDataAccess`  <a name="cfn-glue-catalog-allowfulltableexternaldataaccess"></a>
Allows third-party engines to access data in Amazon S3 locations that are registered with AWS Lake Formation.  
This property is write-only. The value is not returned by `Fn::GetAtt` or `Ref`.
*Required*: No  
*Type*: String  
*Allowed values*: `True | False`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CatalogProperties`  <a name="cfn-glue-catalog-catalogproperties"></a>
A `CatalogProperties` object that specifies data lake access properties and other custom properties.  
*Required*: No  
*Type*: [CatalogProperties](aws-properties-glue-catalog-catalogproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CreateDatabaseDefaultPermissions`  <a name="cfn-glue-catalog-createdatabasedefaultpermissions"></a>
An array of `PrincipalPermissions` objects. Creates a set of default permissions on the database(s) for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.  
*Required*: No  
*Type*: Array of [PrincipalPermissions](aws-properties-glue-catalog-principalpermissions.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CreateTableDefaultPermissions`  <a name="cfn-glue-catalog-createtabledefaultpermissions"></a>
An array of `PrincipalPermissions` objects. Creates a set of default permissions on the table(s) for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.  
*Required*: No  
*Type*: Array of [PrincipalPermissions](aws-properties-glue-catalog-principalpermissions.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-catalog-description"></a>
A description of the catalog, not more than 2048 bytes long.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FederatedCatalog`  <a name="cfn-glue-catalog-federatedcatalog"></a>
A `FederatedCatalog` object that points to an entity outside the AWS Glue Data Catalog.  
*Required*: No  
*Type*: [FederatedCatalog](aws-properties-glue-catalog-federatedcatalog.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-catalog-name"></a>
The name of the catalog. Cannot be the same as the account ID.  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OverwriteChildResourcePermissionsWithDefault`  <a name="cfn-glue-catalog-overwritechildresourcepermissionswithdefault"></a>
Specifies whether to overwrite child resource permissions with the default permissions. Valid values are `Accept` and `Deny`.  
This property is write-only. The value is not returned by `Fn::GetAtt` or `Ref`.
*Required*: No  
*Type*: String  
*Allowed values*: `Accept | Deny`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-catalog-parameters"></a>
 A map array of key-value pairs that define parameters and properties of the catalog.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^.+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-catalog-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-catalog-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetRedshiftCatalog`  <a name="cfn-glue-catalog-targetredshiftcatalog"></a>
A `TargetRedshiftCatalog` object that describes a target catalog for database resource linking.  
*Required*: No  
*Type*: [TargetRedshiftCatalog](aws-properties-glue-catalog-targetredshiftcatalog.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-catalog-return-values"></a>

### Ref
<a name="aws-resource-glue-catalog-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Amazon Resource Name (ARN) of the catalog, such as `arn:aws:glue:us-east-1:123456789012:catalog/my-catalog`.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-catalog-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-glue-catalog-return-values-fn--getatt-fn--getatt"></a>

`CatalogId`  <a name="CatalogId-fn::getatt"></a>
The ID of the catalog.

`CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupName`  <a name="CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupName-fn::getatt"></a>
The name of the managed workgroup associated with the catalog.

`CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupStatus`  <a name="CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupStatus-fn::getatt"></a>
The status of the managed workgroup.

`CatalogProperties.DataLakeAccessProperties.RedshiftDatabaseName`  <a name="CatalogProperties.DataLakeAccessProperties.RedshiftDatabaseName-fn::getatt"></a>
The name of the Redshift database associated with the catalog.

`CreateTime`  <a name="CreateTime-fn::getatt"></a>
The time at which the catalog was created.

`ResourceArn`  <a name="ResourceArn-fn::getatt"></a>
The Amazon Resource Name (ARN) assigned to the catalog resource.

`UpdateTime`  <a name="UpdateTime-fn::getatt"></a>
The time at which the catalog was last updated.

# AWS::Glue::Catalog CatalogProperties
<a name="aws-properties-glue-catalog-catalogproperties"></a>

A structure that specifies data lake access properties and other custom properties.

## Syntax
<a name="aws-properties-glue-catalog-catalogproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-catalogproperties-syntax.json"></a>

```
{
  "[CustomProperties](#cfn-glue-catalog-catalogproperties-customproperties)" : {Key: Value, ...},
  "[DataLakeAccessProperties](#cfn-glue-catalog-catalogproperties-datalakeaccessproperties)" : DataLakeAccessProperties
}
```

### YAML
<a name="aws-properties-glue-catalog-catalogproperties-syntax.yaml"></a>

```
  [CustomProperties](#cfn-glue-catalog-catalogproperties-customproperties): 
    Key: Value
  [DataLakeAccessProperties](#cfn-glue-catalog-catalogproperties-datalakeaccessproperties): 
    DataLakeAccessProperties
```

## Properties
<a name="aws-properties-glue-catalog-catalogproperties-properties"></a>

`CustomProperties`  <a name="cfn-glue-catalog-catalogproperties-customproperties"></a>
Additional key-value properties for the catalog, such as column statistics optimizations.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^.+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataLakeAccessProperties`  <a name="cfn-glue-catalog-catalogproperties-datalakeaccessproperties"></a>
A `DataLakeAccessProperties` object that specifies properties to configure data lake access for your catalog resource in the AWS Glue Data Catalog.  
*Required*: No  
*Type*: [DataLakeAccessProperties](aws-properties-glue-catalog-datalakeaccessproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog DataLakeAccessProperties
<a name="aws-properties-glue-catalog-datalakeaccessproperties"></a>

Input properties to configure data lake access for your catalog resource in the AWS Glue Data Catalog.

## Syntax
<a name="aws-properties-glue-catalog-datalakeaccessproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-datalakeaccessproperties-syntax.json"></a>

```
{
  "[AllowFullTableExternalDataAccess](#cfn-glue-catalog-datalakeaccessproperties-allowfulltableexternaldataaccess)" : String,
  "[CatalogType](#cfn-glue-catalog-datalakeaccessproperties-catalogtype)" : String,
  "[DataLakeAccess](#cfn-glue-catalog-datalakeaccessproperties-datalakeaccess)" : Boolean,
  "[DataTransferRole](#cfn-glue-catalog-datalakeaccessproperties-datatransferrole)" : String,
  "[KmsKey](#cfn-glue-catalog-datalakeaccessproperties-kmskey)" : String,
  "[ManagedWorkgroupName](#cfn-glue-catalog-datalakeaccessproperties-managedworkgroupname)" : String,
  "[ManagedWorkgroupStatus](#cfn-glue-catalog-datalakeaccessproperties-managedworkgroupstatus)" : String,
  "[RedshiftDatabaseName](#cfn-glue-catalog-datalakeaccessproperties-redshiftdatabasename)" : String
}
```

### YAML
<a name="aws-properties-glue-catalog-datalakeaccessproperties-syntax.yaml"></a>

```
  [AllowFullTableExternalDataAccess](#cfn-glue-catalog-datalakeaccessproperties-allowfulltableexternaldataaccess): String
  [CatalogType](#cfn-glue-catalog-datalakeaccessproperties-catalogtype): String
  [DataLakeAccess](#cfn-glue-catalog-datalakeaccessproperties-datalakeaccess): Boolean
  [DataTransferRole](#cfn-glue-catalog-datalakeaccessproperties-datatransferrole): String
  [KmsKey](#cfn-glue-catalog-datalakeaccessproperties-kmskey): String
  [ManagedWorkgroupName](#cfn-glue-catalog-datalakeaccessproperties-managedworkgroupname): String
  [ManagedWorkgroupStatus](#cfn-glue-catalog-datalakeaccessproperties-managedworkgroupstatus): String
  [RedshiftDatabaseName](#cfn-glue-catalog-datalakeaccessproperties-redshiftdatabasename): String
```

## Properties
<a name="aws-properties-glue-catalog-datalakeaccessproperties-properties"></a>

`AllowFullTableExternalDataAccess`  <a name="cfn-glue-catalog-datalakeaccessproperties-allowfulltableexternaldataaccess"></a>
Allows third-party engines to access data in Amazon S3 locations that are registered with AWS Lake Formation.  
*Required*: No  
*Type*: String  
*Allowed values*: `True | False`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CatalogType`  <a name="cfn-glue-catalog-datalakeaccessproperties-catalogtype"></a>
Specifies a federated catalog type for the native catalog resource. The currently supported type is `aws:redshift`.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataLakeAccess`  <a name="cfn-glue-catalog-datalakeaccessproperties-datalakeaccess"></a>
Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog from any non-Redshift engine, such as Amazon Athena, Amazon EMR, or AWS Glue ETL.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataTransferRole`  <a name="cfn-glue-catalog-datalakeaccessproperties-datatransferrole"></a>
A role that will be assumed by AWS Glue for transferring data into/out of the staging bucket during a query.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKey`  <a name="cfn-glue-catalog-datalakeaccessproperties-kmskey"></a>
An encryption key that will be used for the staging bucket that will be created along with the catalog.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ManagedWorkgroupName`  <a name="cfn-glue-catalog-datalakeaccessproperties-managedworkgroupname"></a>
The name of the managed workgroup associated with the catalog.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ManagedWorkgroupStatus`  <a name="cfn-glue-catalog-datalakeaccessproperties-managedworkgroupstatus"></a>
The status of the managed workgroup.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RedshiftDatabaseName`  <a name="cfn-glue-catalog-datalakeaccessproperties-redshiftdatabasename"></a>
The name of the Redshift database.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog DataLakePrincipal
<a name="aws-properties-glue-catalog-datalakeprincipal"></a>

The AWS Lake Formation principal.

## Syntax
<a name="aws-properties-glue-catalog-datalakeprincipal-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-datalakeprincipal-syntax.json"></a>

```
{
  "[DataLakePrincipalIdentifier](#cfn-glue-catalog-datalakeprincipal-datalakeprincipalidentifier)" : String
}
```

### YAML
<a name="aws-properties-glue-catalog-datalakeprincipal-syntax.yaml"></a>

```
  [DataLakePrincipalIdentifier](#cfn-glue-catalog-datalakeprincipal-datalakeprincipalidentifier): String
```

## Properties
<a name="aws-properties-glue-catalog-datalakeprincipal-properties"></a>

`DataLakePrincipalIdentifier`  <a name="cfn-glue-catalog-datalakeprincipal-datalakeprincipalidentifier"></a>
An identifier for the AWS Lake Formation principal.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog FederatedCatalog
<a name="aws-properties-glue-catalog-federatedcatalog"></a>

A catalog that points to an entity outside the AWS Glue Data Catalog.

## Syntax
<a name="aws-properties-glue-catalog-federatedcatalog-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-federatedcatalog-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-catalog-federatedcatalog-connectionname)" : String,
  "[Identifier](#cfn-glue-catalog-federatedcatalog-identifier)" : String
}
```

### YAML
<a name="aws-properties-glue-catalog-federatedcatalog-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-catalog-federatedcatalog-connectionname): String
  [Identifier](#cfn-glue-catalog-federatedcatalog-identifier): String
```

## Properties
<a name="aws-properties-glue-catalog-federatedcatalog-properties"></a>

`ConnectionName`  <a name="cfn-glue-catalog-federatedcatalog-connectionname"></a>
The name of the connection to an external data source, for example a Redshift-federated catalog.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Identifier`  <a name="cfn-glue-catalog-federatedcatalog-identifier"></a>
A unique identifier for the federated catalog.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog PrincipalPermissions
<a name="aws-properties-glue-catalog-principalpermissions"></a>

Permissions granted to a principal.

## Syntax
<a name="aws-properties-glue-catalog-principalpermissions-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-principalpermissions-syntax.json"></a>

```
{
  "[Permissions](#cfn-glue-catalog-principalpermissions-permissions)" : [ String, ... ],
  "[Principal](#cfn-glue-catalog-principalpermissions-principal)" : DataLakePrincipal
}
```

### YAML
<a name="aws-properties-glue-catalog-principalpermissions-syntax.yaml"></a>

```
  [Permissions](#cfn-glue-catalog-principalpermissions-permissions): 
    - String
  [Principal](#cfn-glue-catalog-principalpermissions-principal): 
    DataLakePrincipal
```

## Properties
<a name="aws-properties-glue-catalog-principalpermissions-properties"></a>

`Permissions`  <a name="cfn-glue-catalog-principalpermissions-permissions"></a>
The permissions that are granted to the principal.  
*Required*: No  
*Type*: Array of String  
*Allowed values*: `ALL | SELECT | ALTER | DROP | DELETE | INSERT | CREATE_DATABASE | CREATE_TABLE | DATA_LOCATION_ACCESS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Principal`  <a name="cfn-glue-catalog-principalpermissions-principal"></a>
The principal who is granted permissions.  
*Required*: No  
*Type*: [DataLakePrincipal](aws-properties-glue-catalog-datalakeprincipal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog Tag
<a name="aws-properties-glue-catalog-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

For more information about tags, and controlling access to resources in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) and [Specifying AWS Glue Resource ARNs](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html) in the developer guide.

## Syntax
<a name="aws-properties-glue-catalog-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-catalog-tag-key)" : String,
  "[Value](#cfn-glue-catalog-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-catalog-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-catalog-tag-key): String
  [Value](#cfn-glue-catalog-tag-value): String
```

## Properties
<a name="aws-properties-glue-catalog-tag-properties"></a>

`Key`  <a name="cfn-glue-catalog-tag-key"></a>
The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with `aws:`.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-catalog-tag-value"></a>
The value for the tag. You can specify a value that's 0 to 256 characters in length.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Catalog TargetRedshiftCatalog
<a name="aws-properties-glue-catalog-targetredshiftcatalog"></a>

A structure that describes a target catalog for resource linking.

## Syntax
<a name="aws-properties-glue-catalog-targetredshiftcatalog-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-catalog-targetredshiftcatalog-syntax.json"></a>

```
{
  "[CatalogArn](#cfn-glue-catalog-targetredshiftcatalog-catalogarn)" : String
}
```

### YAML
<a name="aws-properties-glue-catalog-targetredshiftcatalog-syntax.yaml"></a>

```
  [CatalogArn](#cfn-glue-catalog-targetredshiftcatalog-catalogarn): String
```

## Properties
<a name="aws-properties-glue-catalog-targetredshiftcatalog-properties"></a>

`CatalogArn`  <a name="cfn-glue-catalog-targetredshiftcatalog-catalogarn"></a>
The Amazon Resource Name (ARN) of the catalog resource.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Classifier
<a name="aws-resource-glue-classifier"></a>

The `AWS::Glue::Classifier` resource creates an AWS Glue classifier that categorizes data sources and specifies schemas. For more information, see [Adding Classifiers to a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html) and [Classifier Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-Classifier) in the *AWS Glue Developer Guide*. 

## Syntax
<a name="aws-resource-glue-classifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-classifier-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Classifier",
  "Properties" : {
      "[CsvClassifier](#cfn-glue-classifier-csvclassifier)" : CsvClassifier,
      "[GrokClassifier](#cfn-glue-classifier-grokclassifier)" : GrokClassifier,
      "[JsonClassifier](#cfn-glue-classifier-jsonclassifier)" : JsonClassifier,
      "[XMLClassifier](#cfn-glue-classifier-xmlclassifier)" : XMLClassifier
    }
}
```

### YAML
<a name="aws-resource-glue-classifier-syntax.yaml"></a>

```
Type: AWS::Glue::Classifier
Properties:
  [CsvClassifier](#cfn-glue-classifier-csvclassifier): 
    CsvClassifier
  [GrokClassifier](#cfn-glue-classifier-grokclassifier): 
    GrokClassifier
  [JsonClassifier](#cfn-glue-classifier-jsonclassifier): 
    JsonClassifier
  [XMLClassifier](#cfn-glue-classifier-xmlclassifier): 
    XMLClassifier
```

## Properties
<a name="aws-resource-glue-classifier-properties"></a>

`CsvClassifier`  <a name="cfn-glue-classifier-csvclassifier"></a>
A classifier for comma-separated values (CSV).  
*Required*: Conditional  
*Type*: [CsvClassifier](aws-properties-glue-classifier-csvclassifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GrokClassifier`  <a name="cfn-glue-classifier-grokclassifier"></a>
A classifier that uses `grok`.  
*Required*: Conditional  
*Type*: [GrokClassifier](aws-properties-glue-classifier-grokclassifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JsonClassifier`  <a name="cfn-glue-classifier-jsonclassifier"></a>
A classifier for JSON content.  
*Required*: Conditional  
*Type*: [JsonClassifier](aws-properties-glue-classifier-jsonclassifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`XMLClassifier`  <a name="cfn-glue-classifier-xmlclassifier"></a>
A classifier for XML content.  
*Required*: Conditional  
*Type*: [XMLClassifier](aws-properties-glue-classifier-xmlclassifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-classifier-return-values"></a>

### Ref
<a name="aws-resource-glue-classifier-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the classifier name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-classifier-return-values-fn--getatt"></a>

# AWS::Glue::Classifier CsvClassifier
<a name="aws-properties-glue-classifier-csvclassifier"></a>

A classifier for custom `CSV` content.

## Syntax
<a name="aws-properties-glue-classifier-csvclassifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-classifier-csvclassifier-syntax.json"></a>

```
{
  "[AllowSingleColumn](#cfn-glue-classifier-csvclassifier-allowsinglecolumn)" : Boolean,
  "[ContainsCustomDatatype](#cfn-glue-classifier-csvclassifier-containscustomdatatype)" : [ String, ... ],
  "[ContainsHeader](#cfn-glue-classifier-csvclassifier-containsheader)" : String,
  "[CustomDatatypeConfigured](#cfn-glue-classifier-csvclassifier-customdatatypeconfigured)" : Boolean,
  "[Delimiter](#cfn-glue-classifier-csvclassifier-delimiter)" : String,
  "[DisableValueTrimming](#cfn-glue-classifier-csvclassifier-disablevaluetrimming)" : Boolean,
  "[Header](#cfn-glue-classifier-csvclassifier-header)" : [ String, ... ],
  "[Name](#cfn-glue-classifier-csvclassifier-name)" : String,
  "[QuoteSymbol](#cfn-glue-classifier-csvclassifier-quotesymbol)" : String
}
```

### YAML
<a name="aws-properties-glue-classifier-csvclassifier-syntax.yaml"></a>

```
  [AllowSingleColumn](#cfn-glue-classifier-csvclassifier-allowsinglecolumn): Boolean
  [ContainsCustomDatatype](#cfn-glue-classifier-csvclassifier-containscustomdatatype): 
    - String
  [ContainsHeader](#cfn-glue-classifier-csvclassifier-containsheader): String
  [CustomDatatypeConfigured](#cfn-glue-classifier-csvclassifier-customdatatypeconfigured): Boolean
  [Delimiter](#cfn-glue-classifier-csvclassifier-delimiter): String
  [DisableValueTrimming](#cfn-glue-classifier-csvclassifier-disablevaluetrimming): Boolean
  [Header](#cfn-glue-classifier-csvclassifier-header): 
    - String
  [Name](#cfn-glue-classifier-csvclassifier-name): String
  [QuoteSymbol](#cfn-glue-classifier-csvclassifier-quotesymbol): String
```

## Properties
<a name="aws-properties-glue-classifier-csvclassifier-properties"></a>

`AllowSingleColumn`  <a name="cfn-glue-classifier-csvclassifier-allowsinglecolumn"></a>
Enables the processing of files that contain only one column.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ContainsCustomDatatype`  <a name="cfn-glue-classifier-csvclassifier-containscustomdatatype"></a>
Indicates whether the CSV file contains custom data types.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ContainsHeader`  <a name="cfn-glue-classifier-csvclassifier-containsheader"></a>
Indicates whether the CSV file contains a header.  
A value of `UNKNOWN` specifies that the classifier will detect whether the CSV file contains headings.  
A value of `PRESENT` specifies that the CSV file contains headings.  
A value of `ABSENT` specifies that the CSV file does not contain headings.  
*Required*: No  
*Type*: String  
*Allowed values*: `UNKNOWN | PRESENT | ABSENT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomDatatypeConfigured`  <a name="cfn-glue-classifier-csvclassifier-customdatatypeconfigured"></a>
Enables the configuration of custom data types.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Delimiter`  <a name="cfn-glue-classifier-csvclassifier-delimiter"></a>
A custom symbol to denote what separates each column entry in the row.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\r\n]`  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DisableValueTrimming`  <a name="cfn-glue-classifier-csvclassifier-disablevaluetrimming"></a>
Specifies not to trim values before identifying the type of column values. The default value is `true`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Header`  <a name="cfn-glue-classifier-csvclassifier-header"></a>
A list of strings representing column names.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-classifier-csvclassifier-name"></a>
The name of the classifier.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QuoteSymbol`  <a name="cfn-glue-classifier-csvclassifier-quotesymbol"></a>
A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\r\n]`  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Examples
<a name="aws-properties-glue-classifier-csvclassifier--examples"></a>



### Create a custom classifier test
<a name="aws-properties-glue-classifier-csvclassifier--examples--Create_a_custom_classifier_test"></a>

With `AWS::Glue::Classifier` you can create a custom classifier test.

#### JSON
<a name="aws-properties-glue-classifier-csvclassifier--examples--Create_a_custom_classifier_test--json"></a>

```
{
    "Description": "AWS Glue custom classifier test",
    "Resources": {
        "MyCSVclassifier": {
            "Type": "AWS::Glue::Classifier",
            "Properties": {
                "CsvClassifier": {
                    "AllowSingleColumn": true,
                    "ContainsHeader": "PRESENT",
                    "Delimiter": ",",
                    "Header": [
                        "id",
                        "name"
                    ],
                    "Name": "csvclassify",
                    "QuoteSymbol": "\""
                }
            }
        }
    }
}
```

#### YAML
<a name="aws-properties-glue-classifier-csvclassifier--examples--Create_a_custom_classifier_test--yaml"></a>

```
Description: AWS Glue custom classifier test
Resources:
  MyCSVclassifier:
    Type: 'AWS::Glue::Classifier'
    Properties:
      CsvClassifier:
        AllowSingleColumn: true
        ContainsHeader: PRESENT
        Delimiter: ','
        Header:
          - id
          - name
        Name: csvclassify
        QuoteSymbol: '"'
```

# AWS::Glue::Classifier GrokClassifier
<a name="aws-properties-glue-classifier-grokclassifier"></a>

A classifier that uses `grok` patterns.

## Syntax
<a name="aws-properties-glue-classifier-grokclassifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-classifier-grokclassifier-syntax.json"></a>

```
{
  "[Classification](#cfn-glue-classifier-grokclassifier-classification)" : String,
  "[CustomPatterns](#cfn-glue-classifier-grokclassifier-custompatterns)" : String,
  "[GrokPattern](#cfn-glue-classifier-grokclassifier-grokpattern)" : String,
  "[Name](#cfn-glue-classifier-grokclassifier-name)" : String
}
```

### YAML
<a name="aws-properties-glue-classifier-grokclassifier-syntax.yaml"></a>

```
  [Classification](#cfn-glue-classifier-grokclassifier-classification): String
  [CustomPatterns](#cfn-glue-classifier-grokclassifier-custompatterns): String
  [GrokPattern](#cfn-glue-classifier-grokclassifier-grokpattern): String
  [Name](#cfn-glue-classifier-grokclassifier-name): String
```

## Properties
<a name="aws-properties-glue-classifier-grokclassifier-properties"></a>

`Classification`  <a name="cfn-glue-classifier-grokclassifier-classification"></a>
An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomPatterns`  <a name="cfn-glue-classifier-grokclassifier-custompatterns"></a>
Optional custom grok patterns defined by this classifier. For more information, see custom patterns in [Writing Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html).  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `16000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GrokPattern`  <a name="cfn-glue-classifier-grokclassifier-grokpattern"></a>
The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in [Writing Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html).  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\t]*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-classifier-grokclassifier-name"></a>
The name of the classifier.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Classifier JsonClassifier
<a name="aws-properties-glue-classifier-jsonclassifier"></a>

A classifier for `JSON` content.

## Syntax
<a name="aws-properties-glue-classifier-jsonclassifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-classifier-jsonclassifier-syntax.json"></a>

```
{
  "[JsonPath](#cfn-glue-classifier-jsonclassifier-jsonpath)" : String,
  "[Name](#cfn-glue-classifier-jsonclassifier-name)" : String
}
```

### YAML
<a name="aws-properties-glue-classifier-jsonclassifier-syntax.yaml"></a>

```
  [JsonPath](#cfn-glue-classifier-jsonclassifier-jsonpath): String
  [Name](#cfn-glue-classifier-jsonclassifier-name): String
```

## Properties
<a name="aws-properties-glue-classifier-jsonclassifier-properties"></a>

`JsonPath`  <a name="cfn-glue-classifier-jsonclassifier-jsonpath"></a>
A `JsonPath` string defining the JSON data for the classifier to classify. AWS Glue supports a subset of `JsonPath`, as described in [Writing JsonPath Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json).  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-classifier-jsonclassifier-name"></a>
The name of the classifier.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-classifier-jsonclassifier--seealso"></a>
+ [JsonClassifier Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-JsonClassifier) in the *AWS Glue Developer Guide*



# AWS::Glue::Classifier XMLClassifier
<a name="aws-properties-glue-classifier-xmlclassifier"></a>

A classifier for `XML` content.

## Syntax
<a name="aws-properties-glue-classifier-xmlclassifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-classifier-xmlclassifier-syntax.json"></a>

```
{
  "[Classification](#cfn-glue-classifier-xmlclassifier-classification)" : String,
  "[Name](#cfn-glue-classifier-xmlclassifier-name)" : String,
  "[RowTag](#cfn-glue-classifier-xmlclassifier-rowtag)" : String
}
```

### YAML
<a name="aws-properties-glue-classifier-xmlclassifier-syntax.yaml"></a>

```
  [Classification](#cfn-glue-classifier-xmlclassifier-classification): String
  [Name](#cfn-glue-classifier-xmlclassifier-name): String
  [RowTag](#cfn-glue-classifier-xmlclassifier-rowtag): String
```

## Properties
<a name="aws-properties-glue-classifier-xmlclassifier-properties"></a>

`Classification`  <a name="cfn-glue-classifier-xmlclassifier-classification"></a>
An identifier of the data format that the classifier matches.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-classifier-xmlclassifier-name"></a>
The name of the classifier.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RowTag`  <a name="cfn-glue-classifier-xmlclassifier-rowtag"></a>
The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by `/>`). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, `<row item_a="A" item_b="B"></row>` is okay, but `<row item_a="A" item_b="B" />` is not).  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-classifier-xmlclassifier--seealso"></a>
+ [XMLClassifier Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-XMLClassifier) in the *AWS Glue Developer Guide*



# AWS::Glue::Connection
<a name="aws-resource-glue-connection"></a>

The `AWS::Glue::Connection` resource specifies an AWS Glue connection to a data source. For more information, see [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) in the *AWS Glue Developer Guide*.

## Syntax
<a name="aws-resource-glue-connection-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-connection-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Connection",
  "Properties" : {
      "[CatalogId](#cfn-glue-connection-catalogid)" : String,
      "[ConnectionInput](#cfn-glue-connection-connectioninput)" : ConnectionInput
    }
}
```

### YAML
<a name="aws-resource-glue-connection-syntax.yaml"></a>

```
Type: AWS::Glue::Connection
Properties:
  [CatalogId](#cfn-glue-connection-catalogid): String
  [ConnectionInput](#cfn-glue-connection-connectioninput): 
    ConnectionInput
```

## Properties
<a name="aws-resource-glue-connection-properties"></a>

`CatalogId`  <a name="cfn-glue-connection-catalogid"></a>
The ID of the data catalog to create the catalog object in. Currently, this should be the AWS account ID.  
To specify the account ID, you can use the `Ref` intrinsic function with the `AWS::AccountId` pseudo parameter. For example: `!Ref AWS::AccountId`.
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConnectionInput`  <a name="cfn-glue-connection-connectioninput"></a>
The connection that you want to create.  
*Required*: Yes  
*Type*: [ConnectionInput](aws-properties-glue-connection-connectioninput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-connection-return-values"></a>

### Ref
<a name="aws-resource-glue-connection-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the connection name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-connection-return-values-fn--getatt"></a>

# AWS::Glue::Connection AuthenticationConfigurationInput
<a name="aws-properties-glue-connection-authenticationconfigurationinput"></a>

A structure containing the authentication configuration in the CreateConnection request.

## Syntax
<a name="aws-properties-glue-connection-authenticationconfigurationinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-authenticationconfigurationinput-syntax.json"></a>

```
{
  "[AuthenticationType](#cfn-glue-connection-authenticationconfigurationinput-authenticationtype)" : String,
  "[BasicAuthenticationCredentials](#cfn-glue-connection-authenticationconfigurationinput-basicauthenticationcredentials)" : BasicAuthenticationCredentials,
  "[CustomAuthenticationCredentials](#cfn-glue-connection-authenticationconfigurationinput-customauthenticationcredentials)" : Json,
  "[KmsKeyArn](#cfn-glue-connection-authenticationconfigurationinput-kmskeyarn)" : String,
  "[OAuth2Properties](#cfn-glue-connection-authenticationconfigurationinput-oauth2properties)" : OAuth2PropertiesInput,
  "[SecretArn](#cfn-glue-connection-authenticationconfigurationinput-secretarn)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-authenticationconfigurationinput-syntax.yaml"></a>

```
  [AuthenticationType](#cfn-glue-connection-authenticationconfigurationinput-authenticationtype): String
  [BasicAuthenticationCredentials](#cfn-glue-connection-authenticationconfigurationinput-basicauthenticationcredentials): 
    BasicAuthenticationCredentials
  [CustomAuthenticationCredentials](#cfn-glue-connection-authenticationconfigurationinput-customauthenticationcredentials): Json
  [KmsKeyArn](#cfn-glue-connection-authenticationconfigurationinput-kmskeyarn): String
  [OAuth2Properties](#cfn-glue-connection-authenticationconfigurationinput-oauth2properties): 
    OAuth2PropertiesInput
  [SecretArn](#cfn-glue-connection-authenticationconfigurationinput-secretarn): String
```

## Properties
<a name="aws-properties-glue-connection-authenticationconfigurationinput-properties"></a>

`AuthenticationType`  <a name="cfn-glue-connection-authenticationconfigurationinput-authenticationtype"></a>
A structure containing the authentication configuration in the CreateConnection request.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `BASIC | OAUTH2 | CUSTOM | IAM`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BasicAuthenticationCredentials`  <a name="cfn-glue-connection-authenticationconfigurationinput-basicauthenticationcredentials"></a>
The credentials used when the authentication type is basic authentication.  
*Required*: No  
*Type*: [BasicAuthenticationCredentials](aws-properties-glue-connection-basicauthenticationcredentials.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomAuthenticationCredentials`  <a name="cfn-glue-connection-authenticationconfigurationinput-customauthenticationcredentials"></a>
The credentials used when the authentication type is custom authentication.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyArn`  <a name="cfn-glue-connection-authenticationconfigurationinput-kmskeyarn"></a>
The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager.  
*Required*: No  
*Type*: String  
*Pattern*: `^$|arn:aws[a-z0-9-]*:kms:.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OAuth2Properties`  <a name="cfn-glue-connection-authenticationconfigurationinput-oauth2properties"></a>
The properties for OAuth2 authentication in the CreateConnection request.  
*Required*: No  
*Type*: [OAuth2PropertiesInput](aws-properties-glue-connection-oauth2propertiesinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecretArn`  <a name="cfn-glue-connection-authenticationconfigurationinput-secretarn"></a>
The secret manager ARN to store credentials in the CreateConnection request.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection AuthorizationCodeProperties
<a name="aws-properties-glue-connection-authorizationcodeproperties"></a>

The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type workflow.

## Syntax
<a name="aws-properties-glue-connection-authorizationcodeproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-authorizationcodeproperties-syntax.json"></a>

```
{
  "[AuthorizationCode](#cfn-glue-connection-authorizationcodeproperties-authorizationcode)" : String,
  "[RedirectUri](#cfn-glue-connection-authorizationcodeproperties-redirecturi)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-authorizationcodeproperties-syntax.yaml"></a>

```
  [AuthorizationCode](#cfn-glue-connection-authorizationcodeproperties-authorizationcode): String
  [RedirectUri](#cfn-glue-connection-authorizationcodeproperties-redirecturi): String
```

## Properties
<a name="aws-properties-glue-connection-authorizationcodeproperties-properties"></a>

`AuthorizationCode`  <a name="cfn-glue-connection-authorizationcodeproperties-authorizationcode"></a>
An authorization code to be used in the third leg of the `AUTHORIZATION_CODE` grant workflow. This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter.  
*Required*: No  
*Type*: String  
*Pattern*: `\S+`  
*Minimum*: `1`  
*Maximum*: `4096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RedirectUri`  <a name="cfn-glue-connection-authorizationcodeproperties-redirecturi"></a>
The redirect URI where the user gets redirected to by authorization server when issuing an authorization code. The URI is subsequently used when the authorization code is exchanged for an access token.  
*Required*: No  
*Type*: String  
*Pattern*: `^(https?):\/\/[^\s/$.?#].[^\s]*$`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection BasicAuthenticationCredentials
<a name="aws-properties-glue-connection-basicauthenticationcredentials"></a>

For supplying basic auth credentials when not providing a `SecretArn` value.

## Syntax
<a name="aws-properties-glue-connection-basicauthenticationcredentials-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-basicauthenticationcredentials-syntax.json"></a>

```
{
  "[Password](#cfn-glue-connection-basicauthenticationcredentials-password)" : String,
  "[Username](#cfn-glue-connection-basicauthenticationcredentials-username)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-basicauthenticationcredentials-syntax.yaml"></a>

```
  [Password](#cfn-glue-connection-basicauthenticationcredentials-password): String
  [Username](#cfn-glue-connection-basicauthenticationcredentials-username): String
```

## Properties
<a name="aws-properties-glue-connection-basicauthenticationcredentials-properties"></a>

`Password`  <a name="cfn-glue-connection-basicauthenticationcredentials-password"></a>
The password to connect to the data source.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Username`  <a name="cfn-glue-connection-basicauthenticationcredentials-username"></a>
The username to connect to the data source.  
*Required*: No  
*Type*: String  
*Pattern*: `\S+`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection ConnectionInput
<a name="aws-properties-glue-connection-connectioninput"></a>

A structure that is used to specify a connection to create or update.

## Syntax
<a name="aws-properties-glue-connection-connectioninput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-connectioninput-syntax.json"></a>

```
{
  "[AthenaProperties](#cfn-glue-connection-connectioninput-athenaproperties)" : Json,
  "[AuthenticationConfiguration](#cfn-glue-connection-connectioninput-authenticationconfiguration)" : AuthenticationConfigurationInput,
  "[ConnectionProperties](#cfn-glue-connection-connectioninput-connectionproperties)" : Json,
  "[ConnectionType](#cfn-glue-connection-connectioninput-connectiontype)" : String,
  "[Description](#cfn-glue-connection-connectioninput-description)" : String,
  "[MatchCriteria](#cfn-glue-connection-connectioninput-matchcriteria)" : [ String, ... ],
  "[Name](#cfn-glue-connection-connectioninput-name)" : String,
  "[PhysicalConnectionRequirements](#cfn-glue-connection-connectioninput-physicalconnectionrequirements)" : PhysicalConnectionRequirements,
  "[PythonProperties](#cfn-glue-connection-connectioninput-pythonproperties)" : Json,
  "[SparkProperties](#cfn-glue-connection-connectioninput-sparkproperties)" : Json,
  "[ValidateCredentials](#cfn-glue-connection-connectioninput-validatecredentials)" : Boolean,
  "[ValidateForComputeEnvironments](#cfn-glue-connection-connectioninput-validateforcomputeenvironments)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-connection-connectioninput-syntax.yaml"></a>

```
  [AthenaProperties](#cfn-glue-connection-connectioninput-athenaproperties): Json
  [AuthenticationConfiguration](#cfn-glue-connection-connectioninput-authenticationconfiguration): 
    AuthenticationConfigurationInput
  [ConnectionProperties](#cfn-glue-connection-connectioninput-connectionproperties): Json
  [ConnectionType](#cfn-glue-connection-connectioninput-connectiontype): String
  [Description](#cfn-glue-connection-connectioninput-description): String
  [MatchCriteria](#cfn-glue-connection-connectioninput-matchcriteria): 
    - String
  [Name](#cfn-glue-connection-connectioninput-name): String
  [PhysicalConnectionRequirements](#cfn-glue-connection-connectioninput-physicalconnectionrequirements): 
    PhysicalConnectionRequirements
  [PythonProperties](#cfn-glue-connection-connectioninput-pythonproperties): Json
  [SparkProperties](#cfn-glue-connection-connectioninput-sparkproperties): Json
  [ValidateCredentials](#cfn-glue-connection-connectioninput-validatecredentials): Boolean
  [ValidateForComputeEnvironments](#cfn-glue-connection-connectioninput-validateforcomputeenvironments): 
    - String
```

## Properties
<a name="aws-properties-glue-connection-connectioninput-properties"></a>

`AthenaProperties`  <a name="cfn-glue-connection-connectioninput-athenaproperties"></a>
Connection properties specific to the Athena compute environment.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AuthenticationConfiguration`  <a name="cfn-glue-connection-connectioninput-authenticationconfiguration"></a>
The authentication properties of the connection.  
*Required*: No  
*Type*: [AuthenticationConfigurationInput](aws-properties-glue-connection-authenticationconfigurationinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConnectionProperties`  <a name="cfn-glue-connection-connectioninput-connectionproperties"></a>
These key-value pairs define parameters for the connection.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConnectionType`  <a name="cfn-glue-connection-connectioninput-connectiontype"></a>
The type of the connection. Currently, these types are supported:  
+ `JDBC` - Designates a connection to a database through Java Database Connectivity (JDBC).

  `JDBC` Connections use the following ConnectionParameters.
  + Required: All of (`HOST`, `PORT`, `JDBC_ENGINE`) or `JDBC_CONNECTION_URL`.
  + Required: All of (`USERNAME`, `PASSWORD`) or `SECRET_ID`.
  + Optional: `JDBC_ENFORCE_SSL`, `CUSTOM_JDBC_CERT`, `CUSTOM_JDBC_CERT_STRING`, `SKIP_CUSTOM_JDBC_CERT_VALIDATION`. These parameters are used to configure SSL with JDBC.
+ `KAFKA` - Designates a connection to an Apache Kafka streaming platform.

  `KAFKA` Connections use the following ConnectionParameters.
  + Required: `KAFKA_BOOTSTRAP_SERVERS`.
  + Optional: `KAFKA_SSL_ENABLED`, `KAFKA_CUSTOM_CERT`, `KAFKA_SKIP_CUSTOM_CERT_VALIDATION`. These parameters are used to configure SSL with `KAFKA`.
  + Optional: `KAFKA_CLIENT_KEYSTORE`, `KAFKA_CLIENT_KEYSTORE_PASSWORD`, `KAFKA_CLIENT_KEY_PASSWORD`, `ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD`, `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD`. These parameters are used to configure TLS client configuration with SSL in `KAFKA`.
  + Optional: `KAFKA_SASL_MECHANISM`. Can be specified as `SCRAM-SHA-512`, `GSSAPI`, or `AWS_MSK_IAM`.
  + Optional: `KAFKA_SASL_SCRAM_USERNAME`, `KAFKA_SASL_SCRAM_PASSWORD`, `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD`. These parameters are used to configure SASL/SCRAM-SHA-512 authentication with `KAFKA`.
  + Optional: `KAFKA_SASL_GSSAPI_KEYTAB`, `KAFKA_SASL_GSSAPI_KRB5_CONF`, `KAFKA_SASL_GSSAPI_SERVICE`, `KAFKA_SASL_GSSAPI_PRINCIPAL`. These parameters are used to configure SASL/GSSAPI authentication with `KAFKA`.
+ `MONGODB` - Designates a connection to a MongoDB document database.

  `MONGODB` Connections use the following ConnectionParameters.
  + Required: `CONNECTION_URL`.
  + Required: All of (`USERNAME`, `PASSWORD`) or `SECRET_ID`.
+ `VIEW_VALIDATION_REDSHIFT` - Designates a connection used for view validation by Amazon Redshift.
+ `VIEW_VALIDATION_ATHENA` - Designates a connection used for view validation by Amazon Athena.
+ `NETWORK` - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC).

  `NETWORK` Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements.
+ `MARKETPLACE` - Uses configuration settings contained in a connector purchased from AWS Marketplace to read from and write to data stores that are not natively supported by AWS Glue.

  `MARKETPLACE` Connections use the following ConnectionParameters.
  + Required: `CONNECTOR_TYPE`, `CONNECTOR_URL`, `CONNECTOR_CLASS_NAME`, `CONNECTION_URL`.
  + Required for `JDBC``CONNECTOR_TYPE` connections: All of (`USERNAME`, `PASSWORD`) or `SECRET_ID`.
+ `CUSTOM` - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by AWS Glue.
For more information on the connection parameters needed for a particular connector, see the documentation for the connector in [Adding an AWS Glue connection](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html)in the AWS Glue User Guide.  
`SFTP` is not supported.  
For more information about how optional ConnectionProperties are used to configure features in AWS Glue, consult [AWS Glue connection properties](https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html).  
For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult [Using connectors and connections](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html).  
*Required*: Yes  
*Type*: String  
*Allowed values*: `JDBC | SFTP | MONGODB | KAFKA | NETWORK | MARKETPLACE | CUSTOM | SALESFORCE | VIEW_VALIDATION_REDSHIFT | VIEW_VALIDATION_ATHENA | GOOGLEADS | GOOGLESHEETS | GOOGLEANALYTICS4 | SERVICENOW | MARKETO | SAPODATA | ZENDESK | JIRACLOUD | NETSUITEERP | HUBSPOT | FACEBOOKADS | INSTAGRAMADS | ZOHOCRM | SALESFORCEPARDOT | SALESFORCEMARKETINGCLOUD | ADOBEANALYTICS | SLACK | LINKEDIN | MIXPANEL | ASANA | STRIPE | SMARTSHEET | DATADOG | WOOCOMMERCE | INTERCOM | SNAPCHATADS | PAYPAL | QUICKBOOKS | FACEBOOKPAGEINSIGHTS | FRESHDESK | TWILIO | DOCUSIGNMONITOR | FRESHSALES | ZOOM | GOOGLESEARCHCONSOLE | SALESFORCECOMMERCECLOUD | SAPCONCUR | DYNATRACE | MICROSOFTDYNAMIC365FINANCEANDOPS | MICROSOFTTEAMS | BLACKBAUDRAISEREDGENXT | MAILCHIMP | GITLAB | PENDO | PRODUCTBOARD | CIRCLECI | PIPEDIVE | SENDGRID | AZURECOSMOS | AZURESQL | BIGQUERY | BLACKBAUD | CLOUDERAHIVE | CLOUDERAIMPALA | CLOUDWATCH | CLOUDWATCHMETRICS | CMDB | DATALAKEGEN2 | DB2 | DB2AS400 | DOCUMENTDB | DOMO | DYNAMODB | GOOGLECLOUDSTORAGE | HBASE | KUSTOMER | MICROSOFTDYNAMICS365CRM | MONDAY | MYSQL | OKTA | OPENSEARCH | ORACLE | PIPEDRIVE | POSTGRESQL | SAPHANA | SQLSERVER | SYNAPSE | TERADATA | TERADATANOS | TIMESTREAM | TPCDS | VERTICA`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-connection-connectioninput-description"></a>
The description of the connection.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MatchCriteria`  <a name="cfn-glue-connection-connectioninput-matchcriteria"></a>
A list of criteria that can be used in selecting this connection.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-connection-connectioninput-name"></a>
The name of the connection.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PhysicalConnectionRequirements`  <a name="cfn-glue-connection-connectioninput-physicalconnectionrequirements"></a>
The physical connection requirements, such as virtual private cloud (VPC) and `SecurityGroup`, that are needed to successfully make this connection.  
*Required*: No  
*Type*: [PhysicalConnectionRequirements](aws-properties-glue-connection-physicalconnectionrequirements.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PythonProperties`  <a name="cfn-glue-connection-connectioninput-pythonproperties"></a>
Connection properties specific to the Python compute environment.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SparkProperties`  <a name="cfn-glue-connection-connectioninput-sparkproperties"></a>
Connection properties specific to the Spark compute environment.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ValidateCredentials`  <a name="cfn-glue-connection-connectioninput-validatecredentials"></a>
A flag to validate the credentials during create connection. Default is true.   
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ValidateForComputeEnvironments`  <a name="cfn-glue-connection-connectioninput-validateforcomputeenvironments"></a>
The compute environments that the specified connection properties are validated against.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection OAuth2ClientApplication
<a name="aws-properties-glue-connection-oauth2clientapplication"></a>

The OAuth2 client app used for the connection.

## Syntax
<a name="aws-properties-glue-connection-oauth2clientapplication-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-oauth2clientapplication-syntax.json"></a>

```
{
  "[AWSManagedClientApplicationReference](#cfn-glue-connection-oauth2clientapplication-awsmanagedclientapplicationreference)" : String,
  "[UserManagedClientApplicationClientId](#cfn-glue-connection-oauth2clientapplication-usermanagedclientapplicationclientid)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-oauth2clientapplication-syntax.yaml"></a>

```
  [AWSManagedClientApplicationReference](#cfn-glue-connection-oauth2clientapplication-awsmanagedclientapplicationreference): String
  [UserManagedClientApplicationClientId](#cfn-glue-connection-oauth2clientapplication-usermanagedclientapplicationclientid): String
```

## Properties
<a name="aws-properties-glue-connection-oauth2clientapplication-properties"></a>

`AWSManagedClientApplicationReference`  <a name="cfn-glue-connection-oauth2clientapplication-awsmanagedclientapplicationreference"></a>
The reference to the SaaS-side client app that is AWS managed.  
*Required*: No  
*Type*: String  
*Pattern*: `\S+`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserManagedClientApplicationClientId`  <a name="cfn-glue-connection-oauth2clientapplication-usermanagedclientapplicationclientid"></a>
The client application clientID if the ClientAppType is `USER_MANAGED`.  
*Required*: No  
*Type*: String  
*Pattern*: `\S+`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection OAuth2Credentials
<a name="aws-properties-glue-connection-oauth2credentials"></a>

The credentials used when the authentication type is OAuth2 authentication.

## Syntax
<a name="aws-properties-glue-connection-oauth2credentials-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-oauth2credentials-syntax.json"></a>

```
{
  "[AccessToken](#cfn-glue-connection-oauth2credentials-accesstoken)" : String,
  "[JwtToken](#cfn-glue-connection-oauth2credentials-jwttoken)" : String,
  "[RefreshToken](#cfn-glue-connection-oauth2credentials-refreshtoken)" : String,
  "[UserManagedClientApplicationClientSecret](#cfn-glue-connection-oauth2credentials-usermanagedclientapplicationclientsecret)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-oauth2credentials-syntax.yaml"></a>

```
  [AccessToken](#cfn-glue-connection-oauth2credentials-accesstoken): String
  [JwtToken](#cfn-glue-connection-oauth2credentials-jwttoken): String
  [RefreshToken](#cfn-glue-connection-oauth2credentials-refreshtoken): String
  [UserManagedClientApplicationClientSecret](#cfn-glue-connection-oauth2credentials-usermanagedclientapplicationclientsecret): String
```

## Properties
<a name="aws-properties-glue-connection-oauth2credentials-properties"></a>

`AccessToken`  <a name="cfn-glue-connection-oauth2credentials-accesstoken"></a>
The access token used when the authentication type is OAuth2.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\x20-\x7E]*$`  
*Maximum*: `4096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JwtToken`  <a name="cfn-glue-connection-oauth2credentials-jwttoken"></a>
The JSON Web Token (JWT) used when the authentication type is OAuth2.  
*Required*: No  
*Type*: String  
*Pattern*: `^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]*)`  
*Maximum*: `8000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RefreshToken`  <a name="cfn-glue-connection-oauth2credentials-refreshtoken"></a>
The refresh token used when the authentication type is OAuth2.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\x20-\x7E]*$`  
*Maximum*: `4096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserManagedClientApplicationClientSecret`  <a name="cfn-glue-connection-oauth2credentials-usermanagedclientapplicationclientsecret"></a>
The client application client secret if the client application is user managed.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\x20-\x7E]*$`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection OAuth2PropertiesInput
<a name="aws-properties-glue-connection-oauth2propertiesinput"></a>

A structure containing properties for OAuth2 in the CreateConnection request.

## Syntax
<a name="aws-properties-glue-connection-oauth2propertiesinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-oauth2propertiesinput-syntax.json"></a>

```
{
  "[AuthorizationCodeProperties](#cfn-glue-connection-oauth2propertiesinput-authorizationcodeproperties)" : AuthorizationCodeProperties,
  "[OAuth2ClientApplication](#cfn-glue-connection-oauth2propertiesinput-oauth2clientapplication)" : OAuth2ClientApplication,
  "[OAuth2Credentials](#cfn-glue-connection-oauth2propertiesinput-oauth2credentials)" : OAuth2Credentials,
  "[OAuth2GrantType](#cfn-glue-connection-oauth2propertiesinput-oauth2granttype)" : String,
  "[TokenUrl](#cfn-glue-connection-oauth2propertiesinput-tokenurl)" : String,
  "[TokenUrlParametersMap](#cfn-glue-connection-oauth2propertiesinput-tokenurlparametersmap)" : Json
}
```

### YAML
<a name="aws-properties-glue-connection-oauth2propertiesinput-syntax.yaml"></a>

```
  [AuthorizationCodeProperties](#cfn-glue-connection-oauth2propertiesinput-authorizationcodeproperties): 
    AuthorizationCodeProperties
  [OAuth2ClientApplication](#cfn-glue-connection-oauth2propertiesinput-oauth2clientapplication): 
    OAuth2ClientApplication
  [OAuth2Credentials](#cfn-glue-connection-oauth2propertiesinput-oauth2credentials): 
    OAuth2Credentials
  [OAuth2GrantType](#cfn-glue-connection-oauth2propertiesinput-oauth2granttype): String
  [TokenUrl](#cfn-glue-connection-oauth2propertiesinput-tokenurl): String
  [TokenUrlParametersMap](#cfn-glue-connection-oauth2propertiesinput-tokenurlparametersmap): Json
```

## Properties
<a name="aws-properties-glue-connection-oauth2propertiesinput-properties"></a>

`AuthorizationCodeProperties`  <a name="cfn-glue-connection-oauth2propertiesinput-authorizationcodeproperties"></a>
The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type.  
*Required*: No  
*Type*: [AuthorizationCodeProperties](aws-properties-glue-connection-authorizationcodeproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OAuth2ClientApplication`  <a name="cfn-glue-connection-oauth2propertiesinput-oauth2clientapplication"></a>
The client application type in the CreateConnection request. For example, `AWS_MANAGED` or `USER_MANAGED`.  
*Required*: No  
*Type*: [OAuth2ClientApplication](aws-properties-glue-connection-oauth2clientapplication.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OAuth2Credentials`  <a name="cfn-glue-connection-oauth2propertiesinput-oauth2credentials"></a>
The credentials used when the authentication type is OAuth2 authentication.  
*Required*: No  
*Type*: [OAuth2Credentials](aws-properties-glue-connection-oauth2credentials.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OAuth2GrantType`  <a name="cfn-glue-connection-oauth2propertiesinput-oauth2granttype"></a>
The OAuth2 grant type in the CreateConnection request. For example, `AUTHORIZATION_CODE`, `JWT_BEARER`, or `CLIENT_CREDENTIALS`.  
*Required*: No  
*Type*: String  
*Allowed values*: `AUTHORIZATION_CODE | CLIENT_CREDENTIALS | JWT_BEARER`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TokenUrl`  <a name="cfn-glue-connection-oauth2propertiesinput-tokenurl"></a>
The URL of the provider's authentication server, to exchange an authorization code for an access token.  
*Required*: No  
*Type*: String  
*Pattern*: `^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TokenUrlParametersMap`  <a name="cfn-glue-connection-oauth2propertiesinput-tokenurlparametersmap"></a>
A map of parameters that are added to the token `GET` request.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Connection PhysicalConnectionRequirements
<a name="aws-properties-glue-connection-physicalconnectionrequirements"></a>

The OAuth client app in GetConnection response.

## Syntax
<a name="aws-properties-glue-connection-physicalconnectionrequirements-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-connection-physicalconnectionrequirements-syntax.json"></a>

```
{
  "[AvailabilityZone](#cfn-glue-connection-physicalconnectionrequirements-availabilityzone)" : String,
  "[SecurityGroupIdList](#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist)" : [ String, ... ],
  "[SubnetId](#cfn-glue-connection-physicalconnectionrequirements-subnetid)" : String
}
```

### YAML
<a name="aws-properties-glue-connection-physicalconnectionrequirements-syntax.yaml"></a>

```
  [AvailabilityZone](#cfn-glue-connection-physicalconnectionrequirements-availabilityzone): String
  [SecurityGroupIdList](#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist): 
    - String
  [SubnetId](#cfn-glue-connection-physicalconnectionrequirements-subnetid): String
```

## Properties
<a name="aws-properties-glue-connection-physicalconnectionrequirements-properties"></a>

`AvailabilityZone`  <a name="cfn-glue-connection-physicalconnectionrequirements-availabilityzone"></a>
The connection's Availability Zone.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroupIdList`  <a name="cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist"></a>
The security group ID list used by the connection.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubnetId`  <a name="cfn-glue-connection-physicalconnectionrequirements-subnetid"></a>
The subnet ID used by the connection.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler
<a name="aws-resource-glue-crawler"></a>

The `AWS::Glue::Crawler` resource specifies an AWS Glue crawler. For more information, see [Cataloging Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) and [Crawler Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler) in the *AWS Glue Developer Guide*.

## Syntax
<a name="aws-resource-glue-crawler-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-crawler-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Crawler",
  "Properties" : {
      "[Classifiers](#cfn-glue-crawler-classifiers)" : [ String, ... ],
      "[Configuration](#cfn-glue-crawler-configuration)" : String,
      "[CrawlerSecurityConfiguration](#cfn-glue-crawler-crawlersecurityconfiguration)" : String,
      "[DatabaseName](#cfn-glue-crawler-databasename)" : String,
      "[Description](#cfn-glue-crawler-description)" : String,
      "[LakeFormationConfiguration](#cfn-glue-crawler-lakeformationconfiguration)" : LakeFormationConfiguration,
      "[Name](#cfn-glue-crawler-name)" : String,
      "[RecrawlPolicy](#cfn-glue-crawler-recrawlpolicy)" : RecrawlPolicy,
      "[Role](#cfn-glue-crawler-role)" : String,
      "[Schedule](#cfn-glue-crawler-schedule)" : Schedule,
      "[SchemaChangePolicy](#cfn-glue-crawler-schemachangepolicy)" : SchemaChangePolicy,
      "[TablePrefix](#cfn-glue-crawler-tableprefix)" : String,
      "[Tags](#cfn-glue-crawler-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[Targets](#cfn-glue-crawler-targets)" : Targets
    }
}
```

### YAML
<a name="aws-resource-glue-crawler-syntax.yaml"></a>

```
Type: AWS::Glue::Crawler
Properties:
  [Classifiers](#cfn-glue-crawler-classifiers): 
    - String
  [Configuration](#cfn-glue-crawler-configuration): String
  [CrawlerSecurityConfiguration](#cfn-glue-crawler-crawlersecurityconfiguration): String
  [DatabaseName](#cfn-glue-crawler-databasename): String
  [Description](#cfn-glue-crawler-description): String
  [LakeFormationConfiguration](#cfn-glue-crawler-lakeformationconfiguration): 
    LakeFormationConfiguration
  [Name](#cfn-glue-crawler-name): String
  [RecrawlPolicy](#cfn-glue-crawler-recrawlpolicy): 
    RecrawlPolicy
  [Role](#cfn-glue-crawler-role): String
  [Schedule](#cfn-glue-crawler-schedule): 
    Schedule
  [SchemaChangePolicy](#cfn-glue-crawler-schemachangepolicy): 
    SchemaChangePolicy
  [TablePrefix](#cfn-glue-crawler-tableprefix): String
  [Tags](#cfn-glue-crawler-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [Targets](#cfn-glue-crawler-targets): 
    Targets
```

## Properties
<a name="aws-resource-glue-crawler-properties"></a>

`Classifiers`  <a name="cfn-glue-crawler-classifiers"></a>
A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Configuration`  <a name="cfn-glue-crawler-configuration"></a>
Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see [Configuring a Crawler](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html).  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CrawlerSecurityConfiguration`  <a name="cfn-glue-crawler-crawlersecurityconfiguration"></a>
The name of the `SecurityConfiguration` structure to be used by this crawler.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseName`  <a name="cfn-glue-crawler-databasename"></a>
The name of the database in which the crawler's output is stored.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-crawler-description"></a>
A description of the crawler.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LakeFormationConfiguration`  <a name="cfn-glue-crawler-lakeformationconfiguration"></a>
Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.  
*Required*: No  
*Type*: [LakeFormationConfiguration](aws-properties-glue-crawler-lakeformationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-crawler-name"></a>
The name of the crawler.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RecrawlPolicy`  <a name="cfn-glue-crawler-recrawlpolicy"></a>
A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.  
*Required*: No  
*Type*: [RecrawlPolicy](aws-properties-glue-crawler-recrawlpolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Role`  <a name="cfn-glue-crawler-role"></a>
The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Schedule`  <a name="cfn-glue-crawler-schedule"></a>
For scheduled crawlers, the schedule when the crawler runs.  
*Required*: No  
*Type*: [Schedule](aws-properties-glue-crawler-schedule.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaChangePolicy`  <a name="cfn-glue-crawler-schemachangepolicy"></a>
The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The `SchemaChangePolicy` does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the `SchemaChangePolicy` on a crawler.  
The SchemaChangePolicy consists of two components, `UpdateBehavior` and `DeleteBehavior`.  
*Required*: No  
*Type*: [SchemaChangePolicy](aws-properties-glue-crawler-schemachangepolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TablePrefix`  <a name="cfn-glue-crawler-tableprefix"></a>
The prefix added to the names of tables that are created.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-crawler-tags"></a>
The tags to use with this crawler.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Targets`  <a name="cfn-glue-crawler-targets"></a>
A collection of targets to crawl.  
*Required*: Yes  
*Type*: [Targets](aws-properties-glue-crawler-targets.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-crawler-return-values"></a>

### Ref
<a name="aws-resource-glue-crawler-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the crawler name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-glue-crawler--examples"></a>



**Topics**
+ [Create a crawler](#aws-resource-glue-crawler--examples--Create_a_crawler)
+ [Crawler Configuration](#aws-resource-glue-crawler--examples--Crawler_Configuration)

### Create a crawler
<a name="aws-resource-glue-crawler--examples--Create_a_crawler"></a>

The following example creates a crawler for an Amazon S3 target. 

#### JSON
<a name="aws-resource-glue-crawler--examples--Create_a_crawler--json"></a>

```
{
    "Description": "AWS Glue crawler test",
    "Resources": {
        "MyRole": {
            "Type": "AWS::IAM::Role",
            "Properties": {
                "AssumeRolePolicyDocument": {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": [
                                    "glue.amazonaws.com"
                                ]
                            },
                            "Action": [
                                "sts:AssumeRole"
                            ]
                        }
                    ]
                },
                "Path": "/",
                "ManagedPolicyArns": ["arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole"],
                "Policies": [
                    {
                        "PolicyName": "S3BucketAccessPolicy",
                        "PolicyDocument": {
                            "Version": "2012-10-17",		 	 	 
                            "Statement": [
                                {
                                    "Effect": "Allow",
                                    "Action": [
                                        "s3:GetObject",
                                        "s3:PutObject"
                                    ],
                                    "Resource": {
                                        "Fn::Join": [
                                            "", 
                                            [
                                                {
                                                    "Fn::GetAtt": ["MyS3Bucket", "Arn"]
                                                },
                                                "*"
                                            ]
                                        ]
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        },
        "MyDatabase": {
            "Type": "AWS::Glue::Database",
            "Properties": {
                "CatalogId": {
                    "Ref": "AWS::AccountId"
                },
                "DatabaseInput": {
                    "Name": "dbcrawler",
                    "Description": "TestDatabaseDescription",
                    "LocationUri": "TestLocationUri",
                    "Parameters": {
                        "key1": "value1",
                        "key2": "value2"
                    }
                }
            }
        },
        "MyClassifier": {
            "Type": "AWS::Glue::Classifier",
            "Properties": {
                "GrokClassifier": {
                    "Name": "CrawlerClassifier",
                    "Classification": "wikiData",
                    "GrokPattern": "%{NOTSPACE:language} %{NOTSPACE:page_title} %{NUMBER:hits:long} %{NUMBER:retrieved_size:long}"
                }
            }
        },
        "MyS3Bucket": {
            "Type": "AWS::S3::Bucket",
            "Properties": {
                "BucketName": "crawlertesttarget",
                "AccessControl": "BucketOwnerFullControl"
            }
        },
        "MyCrawler2": {
            "Type": "AWS::Glue::Crawler",
            "Properties": {
                "Name": "testcrawler1",
                "Role": {
                    "Fn::GetAtt": [
                        "MyRole",
                        "Arn"
                    ]
                },
                "DatabaseName": {
                    "Ref": "MyDatabase"
                },
                "Classifiers": [
                    {
                        "Ref": "MyClassifier"
                    }
                ],
                "Targets": {
                    "S3Targets": [
                        {
                            "Path": {
                                "Ref": "MyS3Bucket"
                            }
                        }
                    ]
                },
                "SchemaChangePolicy": {
                    "UpdateBehavior": "UPDATE_IN_DATABASE",
                    "DeleteBehavior": "LOG"
                },
                "Tags": {
                    "key1": "value1"
                },
                "Schedule": {
                    "ScheduleExpression": "cron(0/10 * ? * MON-FRI *)"
                }
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-glue-crawler--examples--Create_a_crawler--yaml"></a>

```
Resources:
  MyRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          -
            Effect: "Allow"
            Principal:
              Service:
                - "glue.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      ManagedPolicyArns:
        ['arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole']
      Policies:
        -
          PolicyName: "S3BucketAccessPolicy"
          PolicyDocument:
            Version: "2012-10-17"		 	 	 
            Statement:
              -
                Effect: "Allow"
                Action: 
                  - "s3:GetObject"
                  - "s3:PutObject"
                Resource: 
                  !Join
                    - ''
                    - - !GetAtt MyS3Bucket.Arn
                      - "*"
 
  MyDatabase:
    Type: AWS::Glue::Database
    Properties:
      CatalogId: !Ref AWS::AccountId
      DatabaseInput:
        Name: "dbcrawler"
        Description: "TestDatabaseDescription"
        LocationUri: "TestLocationUri"
        Parameters:
          key1 : "value1"
          key2 : "value2"
 
  MyClassifier:
    Type: AWS::Glue::Classifier
    Properties:
      GrokClassifier:
        Name: "CrawlerClassifier"
        Classification: "wikiData"
        GrokPattern: "%{NOTSPACE:language} %{NOTSPACE:page_title} %{NUMBER:hits:long} %{NUMBER:retrieved_size:long}"
 
  MyS3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: "crawlertesttarget"
      AccessControl: "BucketOwnerFullControl"
 
  MyCrawler2:
    Type: AWS::Glue::Crawler
    Properties:
      Name: "testcrawler1"
      Role: !GetAtt MyRole.Arn
      DatabaseName: !Ref MyDatabase
      Classifiers:
        - !Ref MyClassifier
      Targets:
        S3Targets:
          - Path: !Ref MyS3Bucket
      SchemaChangePolicy:
        UpdateBehavior: "UPDATE_IN_DATABASE"
        DeleteBehavior: "LOG"
      Tags:
        "Key1": "Value1"
      Schedule:
        ScheduleExpression: "cron(0/10 * ? * MON-FRI *)"
```

### Crawler Configuration
<a name="aws-resource-glue-crawler--examples--Crawler_Configuration"></a>

The following example specifies a configuration that controls a crawler's behavior. 

#### JSON
<a name="aws-resource-glue-crawler--examples--Crawler_Configuration--json"></a>

```
{
    "Type": "AWS::Glue::Crawler",
    "Properties": {
        "Role": "role1",
        "Classifiers": [],
        "Description": "example classifier",
        "SchemaChangePolicy": "",
        "Schedule": "Schedule",
        "DatabaseName": "test",
        "Targets": [],
        "TablePrefix": "test-",
        "Name": "my-crawler",
        "Configuration": "{\"Version\":1.0,\"CrawlerOutput\":{\"Partitions\":{\"AddOrUpdateBehavior\":\"InheritFromTable\"},\"Tables\":{\"AddOrUpdateBehavior\":\"MergeNewColumns\"}}}"
    }
}
```

#### YAML
<a name="aws-resource-glue-crawler--examples--Crawler_Configuration--yaml"></a>

```
Type: AWS::Glue::Crawler
Properties:
  Role: role1
  Classifiers:
    - ''
  Description: example classifier
  SchemaChangePolicy: ''
  Schedule: Schedule
  DatabaseName: test
  Targets:
    - ''
  TablePrefix: test-
  Name: my-crawler
  Configuration: "{\"Version\":1.0,\"CrawlerOutput\":{\"Partitions\":{\"AddOrUpdateBehavior\":\"InheritFromTable\"},\"Tables\":{\"AddOrUpdateBehavior\":\"MergeNewColumns\"}}}"
```

# AWS::Glue::Crawler CatalogTarget
<a name="aws-properties-glue-crawler-catalogtarget"></a>

Specifies an AWS Glue Data Catalog target.

## Syntax
<a name="aws-properties-glue-crawler-catalogtarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-catalogtarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-catalogtarget-connectionname)" : String,
  "[DatabaseName](#cfn-glue-crawler-catalogtarget-databasename)" : String,
  "[DlqEventQueueArn](#cfn-glue-crawler-catalogtarget-dlqeventqueuearn)" : String,
  "[EventQueueArn](#cfn-glue-crawler-catalogtarget-eventqueuearn)" : String,
  "[Tables](#cfn-glue-crawler-catalogtarget-tables)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-crawler-catalogtarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-catalogtarget-connectionname): String
  [DatabaseName](#cfn-glue-crawler-catalogtarget-databasename): String
  [DlqEventQueueArn](#cfn-glue-crawler-catalogtarget-dlqeventqueuearn): String
  [EventQueueArn](#cfn-glue-crawler-catalogtarget-eventqueuearn): String
  [Tables](#cfn-glue-crawler-catalogtarget-tables): 
    - String
```

## Properties
<a name="aws-properties-glue-crawler-catalogtarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-catalogtarget-connectionname"></a>
The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a `Catalog` connection type paired with a `NETWORK` Connection type.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseName`  <a name="cfn-glue-crawler-catalogtarget-databasename"></a>
The name of the database to be synchronized.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DlqEventQueueArn`  <a name="cfn-glue-crawler-catalogtarget-dlqeventqueuearn"></a>
A valid Amazon dead-letter SQS ARN. For example, `arn:aws:sqs:region:account:deadLetterQueue`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EventQueueArn`  <a name="cfn-glue-crawler-catalogtarget-eventqueuearn"></a>
A valid Amazon SQS ARN. For example, `arn:aws:sqs:region:account:sqs`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tables`  <a name="cfn-glue-crawler-catalogtarget-tables"></a>
A list of the tables to be synchronized.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler DeltaTarget
<a name="aws-properties-glue-crawler-deltatarget"></a>

Specifies a Delta data store to crawl one or more Delta tables.

## Syntax
<a name="aws-properties-glue-crawler-deltatarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-deltatarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-deltatarget-connectionname)" : String,
  "[CreateNativeDeltaTable](#cfn-glue-crawler-deltatarget-createnativedeltatable)" : Boolean,
  "[DeltaTables](#cfn-glue-crawler-deltatarget-deltatables)" : [ String, ... ],
  "[WriteManifest](#cfn-glue-crawler-deltatarget-writemanifest)" : Boolean
}
```

### YAML
<a name="aws-properties-glue-crawler-deltatarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-deltatarget-connectionname): String
  [CreateNativeDeltaTable](#cfn-glue-crawler-deltatarget-createnativedeltatable): Boolean
  [DeltaTables](#cfn-glue-crawler-deltatarget-deltatables): 
    - String
  [WriteManifest](#cfn-glue-crawler-deltatarget-writemanifest): Boolean
```

## Properties
<a name="aws-properties-glue-crawler-deltatarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-deltatarget-connectionname"></a>
The name of the connection to use to connect to the Delta table target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CreateNativeDeltaTable`  <a name="cfn-glue-crawler-deltatarget-createnativedeltatable"></a>
Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeltaTables`  <a name="cfn-glue-crawler-deltatarget-deltatables"></a>
A list of the Amazon S3 paths to the Delta tables.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WriteManifest`  <a name="cfn-glue-crawler-deltatarget-writemanifest"></a>
Specifies whether to write the manifest files to the Delta table path.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler DynamoDBTarget
<a name="aws-properties-glue-crawler-dynamodbtarget"></a>

Specifies an Amazon DynamoDB table to crawl.

## Syntax
<a name="aws-properties-glue-crawler-dynamodbtarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-dynamodbtarget-syntax.json"></a>

```
{
  "[Path](#cfn-glue-crawler-dynamodbtarget-path)" : String,
  "[ScanAll](#cfn-glue-crawler-dynamodbtarget-scanall)" : Boolean,
  "[ScanRate](#cfn-glue-crawler-dynamodbtarget-scanrate)" : Number
}
```

### YAML
<a name="aws-properties-glue-crawler-dynamodbtarget-syntax.yaml"></a>

```
  [Path](#cfn-glue-crawler-dynamodbtarget-path): String
  [ScanAll](#cfn-glue-crawler-dynamodbtarget-scanall): Boolean
  [ScanRate](#cfn-glue-crawler-dynamodbtarget-scanrate): Number
```

## Properties
<a name="aws-properties-glue-crawler-dynamodbtarget-properties"></a>

`Path`  <a name="cfn-glue-crawler-dynamodbtarget-path"></a>
The name of the DynamoDB table to crawl.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScanAll`  <a name="cfn-glue-crawler-dynamodbtarget-scanall"></a>
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.  
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`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScanRate`  <a name="cfn-glue-crawler-dynamodbtarget-scanrate"></a>
The percentage of the configured read capacity units to use by the AWS Glue crawler. Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second.  
The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode).  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler HudiTarget
<a name="aws-properties-glue-crawler-huditarget"></a>

Specifies an Apache Hudi data source.

## Syntax
<a name="aws-properties-glue-crawler-huditarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-huditarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-huditarget-connectionname)" : String,
  "[Exclusions](#cfn-glue-crawler-huditarget-exclusions)" : [ String, ... ],
  "[MaximumTraversalDepth](#cfn-glue-crawler-huditarget-maximumtraversaldepth)" : Integer,
  "[Paths](#cfn-glue-crawler-huditarget-paths)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-crawler-huditarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-huditarget-connectionname): String
  [Exclusions](#cfn-glue-crawler-huditarget-exclusions): 
    - String
  [MaximumTraversalDepth](#cfn-glue-crawler-huditarget-maximumtraversaldepth): Integer
  [Paths](#cfn-glue-crawler-huditarget-paths): 
    - String
```

## Properties
<a name="aws-properties-glue-crawler-huditarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-huditarget-connectionname"></a>
The name of the connection to use to connect to the Hudi target. If your Hudi files are stored in buckets that require VPC authorization, you can set their connection properties here.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Exclusions`  <a name="cfn-glue-crawler-huditarget-exclusions"></a>
A list of glob patterns used to exclude from the crawl. For more information, see [Catalog Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html).  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumTraversalDepth`  <a name="cfn-glue-crawler-huditarget-maximumtraversaldepth"></a>
The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Paths`  <a name="cfn-glue-crawler-huditarget-paths"></a>
An array of Amazon S3 location strings for Hudi, each indicating the root folder with which the metadata files for a Hudi table resides. The Hudi folder may be located in a child folder of the root folder.  
The crawler will scan all folders underneath a path for a Hudi folder.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler IcebergTarget
<a name="aws-properties-glue-crawler-icebergtarget"></a>

Specifies Apache Iceberg data store targets.

## Syntax
<a name="aws-properties-glue-crawler-icebergtarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-icebergtarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-icebergtarget-connectionname)" : String,
  "[Exclusions](#cfn-glue-crawler-icebergtarget-exclusions)" : [ String, ... ],
  "[MaximumTraversalDepth](#cfn-glue-crawler-icebergtarget-maximumtraversaldepth)" : Integer,
  "[Paths](#cfn-glue-crawler-icebergtarget-paths)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-crawler-icebergtarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-icebergtarget-connectionname): String
  [Exclusions](#cfn-glue-crawler-icebergtarget-exclusions): 
    - String
  [MaximumTraversalDepth](#cfn-glue-crawler-icebergtarget-maximumtraversaldepth): Integer
  [Paths](#cfn-glue-crawler-icebergtarget-paths): 
    - String
```

## Properties
<a name="aws-properties-glue-crawler-icebergtarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-icebergtarget-connectionname"></a>
The name of the connection to use to connect to the Iceberg target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Exclusions`  <a name="cfn-glue-crawler-icebergtarget-exclusions"></a>
A list of global patterns used to exclude from the crawl.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumTraversalDepth`  <a name="cfn-glue-crawler-icebergtarget-maximumtraversaldepth"></a>
The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Paths`  <a name="cfn-glue-crawler-icebergtarget-paths"></a>
One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler JdbcTarget
<a name="aws-properties-glue-crawler-jdbctarget"></a>

Specifies a JDBC data store to crawl.

## Syntax
<a name="aws-properties-glue-crawler-jdbctarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-jdbctarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-jdbctarget-connectionname)" : String,
  "[EnableAdditionalMetadata](#cfn-glue-crawler-jdbctarget-enableadditionalmetadata)" : [ String, ... ],
  "[Exclusions](#cfn-glue-crawler-jdbctarget-exclusions)" : [ String, ... ],
  "[Path](#cfn-glue-crawler-jdbctarget-path)" : String
}
```

### YAML
<a name="aws-properties-glue-crawler-jdbctarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-jdbctarget-connectionname): String
  [EnableAdditionalMetadata](#cfn-glue-crawler-jdbctarget-enableadditionalmetadata): 
    - String
  [Exclusions](#cfn-glue-crawler-jdbctarget-exclusions): 
    - String
  [Path](#cfn-glue-crawler-jdbctarget-path): String
```

## Properties
<a name="aws-properties-glue-crawler-jdbctarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-jdbctarget-connectionname"></a>
The name of the connection to use to connect to the JDBC target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnableAdditionalMetadata`  <a name="cfn-glue-crawler-jdbctarget-enableadditionalmetadata"></a>
Specify a value of `RAWTYPES` or `COMMENTS` to enable additional metadata in table responses. `RAWTYPES` provides the native-level datatype. `COMMENTS` provides comments associated with a column or table in the database.  
If you do not need additional metadata, keep the field empty.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Exclusions`  <a name="cfn-glue-crawler-jdbctarget-exclusions"></a>
A list of glob patterns used to exclude from the crawl. For more information, see [Catalog Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html).  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-glue-crawler-jdbctarget-path"></a>
The path of the JDBC target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler LakeFormationConfiguration
<a name="aws-properties-glue-crawler-lakeformationconfiguration"></a>

Specifies AWS Lake Formation configuration settings for the crawler.

## Syntax
<a name="aws-properties-glue-crawler-lakeformationconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-lakeformationconfiguration-syntax.json"></a>

```
{
  "[AccountId](#cfn-glue-crawler-lakeformationconfiguration-accountid)" : String,
  "[UseLakeFormationCredentials](#cfn-glue-crawler-lakeformationconfiguration-uselakeformationcredentials)" : Boolean
}
```

### YAML
<a name="aws-properties-glue-crawler-lakeformationconfiguration-syntax.yaml"></a>

```
  [AccountId](#cfn-glue-crawler-lakeformationconfiguration-accountid): String
  [UseLakeFormationCredentials](#cfn-glue-crawler-lakeformationconfiguration-uselakeformationcredentials): Boolean
```

## Properties
<a name="aws-properties-glue-crawler-lakeformationconfiguration-properties"></a>

`AccountId`  <a name="cfn-glue-crawler-lakeformationconfiguration-accountid"></a>
Required for cross account crawls. For same account crawls as the target data, this can be left as null.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `12`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UseLakeFormationCredentials`  <a name="cfn-glue-crawler-lakeformationconfiguration-uselakeformationcredentials"></a>
Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler MongoDBTarget
<a name="aws-properties-glue-crawler-mongodbtarget"></a>

Specifies an Amazon DocumentDB or MongoDB data store to crawl.

## Syntax
<a name="aws-properties-glue-crawler-mongodbtarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-mongodbtarget-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-mongodbtarget-connectionname)" : String,
  "[Path](#cfn-glue-crawler-mongodbtarget-path)" : String
}
```

### YAML
<a name="aws-properties-glue-crawler-mongodbtarget-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-mongodbtarget-connectionname): String
  [Path](#cfn-glue-crawler-mongodbtarget-path): String
```

## Properties
<a name="aws-properties-glue-crawler-mongodbtarget-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-mongodbtarget-connectionname"></a>
The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-glue-crawler-mongodbtarget-path"></a>
The path of the Amazon DocumentDB or MongoDB target (database/collection).  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler RecrawlPolicy
<a name="aws-properties-glue-crawler-recrawlpolicy"></a>

When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see [Incremental Crawls in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/incremental-crawls.html) in the developer guide.

## Syntax
<a name="aws-properties-glue-crawler-recrawlpolicy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-recrawlpolicy-syntax.json"></a>

```
{
  "[RecrawlBehavior](#cfn-glue-crawler-recrawlpolicy-recrawlbehavior)" : String
}
```

### YAML
<a name="aws-properties-glue-crawler-recrawlpolicy-syntax.yaml"></a>

```
  [RecrawlBehavior](#cfn-glue-crawler-recrawlpolicy-recrawlbehavior): String
```

## Properties
<a name="aws-properties-glue-crawler-recrawlpolicy-properties"></a>

`RecrawlBehavior`  <a name="cfn-glue-crawler-recrawlpolicy-recrawlbehavior"></a>
Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.  
A value of `CRAWL_EVERYTHING` specifies crawling the entire dataset again.  
A value of `CRAWL_NEW_FOLDERS_ONLY` specifies crawling only folders that were added since the last crawler run.  
A value of `CRAWL_EVENT_MODE` specifies crawling only the changes identified by Amazon S3 events.  
*Required*: No  
*Type*: String  
*Allowed values*: `CRAWL_EVERYTHING | CRAWL_NEW_FOLDERS_ONLY | CRAWL_EVENT_MODE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler S3Target
<a name="aws-properties-glue-crawler-s3target"></a>

Specifies a data store in Amazon Simple Storage Service (Amazon S3).

## Syntax
<a name="aws-properties-glue-crawler-s3target-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-s3target-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-crawler-s3target-connectionname)" : String,
  "[DlqEventQueueArn](#cfn-glue-crawler-s3target-dlqeventqueuearn)" : String,
  "[EventQueueArn](#cfn-glue-crawler-s3target-eventqueuearn)" : String,
  "[Exclusions](#cfn-glue-crawler-s3target-exclusions)" : [ String, ... ],
  "[Path](#cfn-glue-crawler-s3target-path)" : String,
  "[SampleSize](#cfn-glue-crawler-s3target-samplesize)" : Integer
}
```

### YAML
<a name="aws-properties-glue-crawler-s3target-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-crawler-s3target-connectionname): String
  [DlqEventQueueArn](#cfn-glue-crawler-s3target-dlqeventqueuearn): String
  [EventQueueArn](#cfn-glue-crawler-s3target-eventqueuearn): String
  [Exclusions](#cfn-glue-crawler-s3target-exclusions): 
    - String
  [Path](#cfn-glue-crawler-s3target-path): String
  [SampleSize](#cfn-glue-crawler-s3target-samplesize): Integer
```

## Properties
<a name="aws-properties-glue-crawler-s3target-properties"></a>

`ConnectionName`  <a name="cfn-glue-crawler-s3target-connectionname"></a>
The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DlqEventQueueArn`  <a name="cfn-glue-crawler-s3target-dlqeventqueuearn"></a>
A valid Amazon dead-letter SQS ARN. For example, `arn:aws:sqs:region:account:deadLetterQueue`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EventQueueArn`  <a name="cfn-glue-crawler-s3target-eventqueuearn"></a>
A valid Amazon SQS ARN. For example, `arn:aws:sqs:region:account:sqs`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Exclusions`  <a name="cfn-glue-crawler-s3target-exclusions"></a>
A list of glob patterns used to exclude from the crawl. For more information, see [Catalog Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html).  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-glue-crawler-s3target-path"></a>
The path to the Amazon S3 target.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SampleSize`  <a name="cfn-glue-crawler-s3target-samplesize"></a>
Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler Schedule
<a name="aws-properties-glue-crawler-schedule"></a>

A scheduling object using a `cron` statement to schedule an event.

## Syntax
<a name="aws-properties-glue-crawler-schedule-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-schedule-syntax.json"></a>

```
{
  "[ScheduleExpression](#cfn-glue-crawler-schedule-scheduleexpression)" : String
}
```

### YAML
<a name="aws-properties-glue-crawler-schedule-syntax.yaml"></a>

```
  [ScheduleExpression](#cfn-glue-crawler-schedule-scheduleexpression): String
```

## Properties
<a name="aws-properties-glue-crawler-schedule-properties"></a>

`ScheduleExpression`  <a name="cfn-glue-crawler-schedule-scheduleexpression"></a>
A `cron` expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, specify `cron(15 12 * * ? *)`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler SchemaChangePolicy
<a name="aws-properties-glue-crawler-schemachangepolicy"></a>

The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The `SchemaChangePolicy` does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the `SchemaChangePolicy` on a crawler.

The SchemaChangePolicy consists of two components, `UpdateBehavior` and `DeleteBehavior`.

## Syntax
<a name="aws-properties-glue-crawler-schemachangepolicy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-schemachangepolicy-syntax.json"></a>

```
{
  "[DeleteBehavior](#cfn-glue-crawler-schemachangepolicy-deletebehavior)" : String,
  "[UpdateBehavior](#cfn-glue-crawler-schemachangepolicy-updatebehavior)" : String
}
```

### YAML
<a name="aws-properties-glue-crawler-schemachangepolicy-syntax.yaml"></a>

```
  [DeleteBehavior](#cfn-glue-crawler-schemachangepolicy-deletebehavior): String
  [UpdateBehavior](#cfn-glue-crawler-schemachangepolicy-updatebehavior): String
```

## Properties
<a name="aws-properties-glue-crawler-schemachangepolicy-properties"></a>

`DeleteBehavior`  <a name="cfn-glue-crawler-schemachangepolicy-deletebehavior"></a>
The deletion behavior when the crawler finds a deleted object.  
A value of `LOG` specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist.  
A value of `DELETE_FROM_DATABASE` specifies that if a table or partition is found to have been removed, delete it from the database.  
A value of `DEPRECATE_IN_DATABASE` specifies that if a table has been found to no longer exist, to add a property to the table that says "DEPRECATED" and includes a timestamp with the time of deprecation.  
*Required*: No  
*Type*: String  
*Allowed values*: `LOG | DELETE_FROM_DATABASE | DEPRECATE_IN_DATABASE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UpdateBehavior`  <a name="cfn-glue-crawler-schemachangepolicy-updatebehavior"></a>
The update behavior when the crawler finds a changed schema.  
A value of `LOG` specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables).  
A value of `UPDATE_IN_DATABASE` specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.  
*Required*: No  
*Type*: String  
*Allowed values*: `LOG | UPDATE_IN_DATABASE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Crawler Targets
<a name="aws-properties-glue-crawler-targets"></a>

Specifies data stores to crawl.

## Syntax
<a name="aws-properties-glue-crawler-targets-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-crawler-targets-syntax.json"></a>

```
{
  "[CatalogTargets](#cfn-glue-crawler-targets-catalogtargets)" : [ CatalogTarget, ... ],
  "[DeltaTargets](#cfn-glue-crawler-targets-deltatargets)" : [ DeltaTarget, ... ],
  "[DynamoDBTargets](#cfn-glue-crawler-targets-dynamodbtargets)" : [ DynamoDBTarget, ... ],
  "[HudiTargets](#cfn-glue-crawler-targets-huditargets)" : [ HudiTarget, ... ],
  "[IcebergTargets](#cfn-glue-crawler-targets-icebergtargets)" : [ IcebergTarget, ... ],
  "[JdbcTargets](#cfn-glue-crawler-targets-jdbctargets)" : [ JdbcTarget, ... ],
  "[MongoDBTargets](#cfn-glue-crawler-targets-mongodbtargets)" : [ MongoDBTarget, ... ],
  "[S3Targets](#cfn-glue-crawler-targets-s3targets)" : [ S3Target, ... ]
}
```

### YAML
<a name="aws-properties-glue-crawler-targets-syntax.yaml"></a>

```
  [CatalogTargets](#cfn-glue-crawler-targets-catalogtargets): 
    - CatalogTarget
  [DeltaTargets](#cfn-glue-crawler-targets-deltatargets): 
    - DeltaTarget
  [DynamoDBTargets](#cfn-glue-crawler-targets-dynamodbtargets): 
    - DynamoDBTarget
  [HudiTargets](#cfn-glue-crawler-targets-huditargets): 
    - HudiTarget
  [IcebergTargets](#cfn-glue-crawler-targets-icebergtargets): 
    - IcebergTarget
  [JdbcTargets](#cfn-glue-crawler-targets-jdbctargets): 
    - JdbcTarget
  [MongoDBTargets](#cfn-glue-crawler-targets-mongodbtargets): 
    - MongoDBTarget
  [S3Targets](#cfn-glue-crawler-targets-s3targets): 
    - S3Target
```

## Properties
<a name="aws-properties-glue-crawler-targets-properties"></a>

`CatalogTargets`  <a name="cfn-glue-crawler-targets-catalogtargets"></a>
Specifies AWS Glue Data Catalog targets.  
*Required*: No  
*Type*: Array of [CatalogTarget](aws-properties-glue-crawler-catalogtarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeltaTargets`  <a name="cfn-glue-crawler-targets-deltatargets"></a>
Specifies an array of Delta data store targets.  
*Required*: No  
*Type*: Array of [DeltaTarget](aws-properties-glue-crawler-deltatarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DynamoDBTargets`  <a name="cfn-glue-crawler-targets-dynamodbtargets"></a>
Specifies Amazon DynamoDB targets.  
*Required*: No  
*Type*: Array of [DynamoDBTarget](aws-properties-glue-crawler-dynamodbtarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HudiTargets`  <a name="cfn-glue-crawler-targets-huditargets"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [HudiTarget](aws-properties-glue-crawler-huditarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IcebergTargets`  <a name="cfn-glue-crawler-targets-icebergtargets"></a>
Specifies Apache Iceberg data store targets.  
*Required*: No  
*Type*: Array of [IcebergTarget](aws-properties-glue-crawler-icebergtarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JdbcTargets`  <a name="cfn-glue-crawler-targets-jdbctargets"></a>
Specifies JDBC targets.  
*Required*: No  
*Type*: Array of [JdbcTarget](aws-properties-glue-crawler-jdbctarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MongoDBTargets`  <a name="cfn-glue-crawler-targets-mongodbtargets"></a>
A list of Mongo DB targets.  
*Required*: No  
*Type*: Array of [MongoDBTarget](aws-properties-glue-crawler-mongodbtarget.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3Targets`  <a name="cfn-glue-crawler-targets-s3targets"></a>
Specifies Amazon Simple Storage Service (Amazon S3) targets.  
*Required*: No  
*Type*: Array of [S3Target](aws-properties-glue-crawler-s3target.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::CustomEntityType
<a name="aws-resource-glue-customentitytype"></a>

Creates a custom pattern that is used to detect sensitive data across the columns and rows of your structured data.

Each custom pattern you create specifies a regular expression and an optional list of context words. If no context words are passed only a regular expression is checked.

## Syntax
<a name="aws-resource-glue-customentitytype-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-customentitytype-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::CustomEntityType",
  "Properties" : {
      "[ContextWords](#cfn-glue-customentitytype-contextwords)" : [ String, ... ],
      "[Name](#cfn-glue-customentitytype-name)" : String,
      "[RegexString](#cfn-glue-customentitytype-regexstring)" : String,
      "[Tags](#cfn-glue-customentitytype-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ]
    }
}
```

### YAML
<a name="aws-resource-glue-customentitytype-syntax.yaml"></a>

```
Type: AWS::Glue::CustomEntityType
Properties:
  [ContextWords](#cfn-glue-customentitytype-contextwords): 
    - String
  [Name](#cfn-glue-customentitytype-name): String
  [RegexString](#cfn-glue-customentitytype-regexstring): 
    String
  [Tags](#cfn-glue-customentitytype-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
```

## Properties
<a name="aws-resource-glue-customentitytype-properties"></a>

`ContextWords`  <a name="cfn-glue-customentitytype-contextwords"></a>
A list of context words. If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data.  
If no context words are passed only a regular expression is checked.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-customentitytype-name"></a>
A name for the custom pattern that allows it to be retrieved or deleted later. This name must be unique per AWS account.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RegexString`  <a name="cfn-glue-customentitytype-regexstring"></a>
A regular expression string that is used for detecting sensitive data in a custom pattern.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-customentitytype-tags"></a>
AWS tags that contain a key value pair and may be searched by console, command line, or API.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-customentitytype-return-values"></a>

### Ref
<a name="aws-resource-glue-customentitytype-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-customentitytype-return-values-fn--getatt"></a>

# AWS::Glue::Database
<a name="aws-resource-glue-database"></a>

The `AWS::Glue::Database` resource specifies a logical grouping of tables in AWS Glue. For more information, see [Defining a Database in Your Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/define-database.html) and [Database Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html#aws-glue-api-catalog-databases-Database) in the *AWS Glue Developer Guide*.

## Syntax
<a name="aws-resource-glue-database-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-database-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Database",
  "Properties" : {
      "[CatalogId](#cfn-glue-database-catalogid)" : String,
      "[DatabaseInput](#cfn-glue-database-databaseinput)" : DatabaseInput,
      "[DatabaseName](#cfn-glue-database-databasename)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-database-syntax.yaml"></a>

```
Type: AWS::Glue::Database
Properties:
  [CatalogId](#cfn-glue-database-catalogid): String
  [DatabaseInput](#cfn-glue-database-databaseinput): 
    DatabaseInput
  [DatabaseName](#cfn-glue-database-databasename): String
```

## Properties
<a name="aws-resource-glue-database-properties"></a>

`CatalogId`  <a name="cfn-glue-database-catalogid"></a>
The AWS account ID for the account in which to create the catalog object.  
 To specify the account ID, you can use the `Ref` intrinsic function with the `AWS::AccountId` pseudo parameter. For example: `!Ref AWS::AccountId`
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseInput`  <a name="cfn-glue-database-databaseinput"></a>
The metadata for the database.  
*Required*: Yes  
*Type*: [DatabaseInput](aws-properties-glue-database-databaseinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseName`  <a name="cfn-glue-database-databasename"></a>
The name of the catalog database.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-database-return-values"></a>

### Ref
<a name="aws-resource-glue-database-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the database name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::Glue::Database DatabaseIdentifier
<a name="aws-properties-glue-database-databaseidentifier"></a>

A structure that describes a target database for resource linking.

## Syntax
<a name="aws-properties-glue-database-databaseidentifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-database-databaseidentifier-syntax.json"></a>

```
{
  "[CatalogId](#cfn-glue-database-databaseidentifier-catalogid)" : String,
  "[DatabaseName](#cfn-glue-database-databaseidentifier-databasename)" : String,
  "[Region](#cfn-glue-database-databaseidentifier-region)" : String
}
```

### YAML
<a name="aws-properties-glue-database-databaseidentifier-syntax.yaml"></a>

```
  [CatalogId](#cfn-glue-database-databaseidentifier-catalogid): String
  [DatabaseName](#cfn-glue-database-databaseidentifier-databasename): String
  [Region](#cfn-glue-database-databaseidentifier-region): String
```

## Properties
<a name="aws-properties-glue-database-databaseidentifier-properties"></a>

`CatalogId`  <a name="cfn-glue-database-databaseidentifier-catalogid"></a>
The ID of the Data Catalog in which the database resides.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseName`  <a name="cfn-glue-database-databaseidentifier-databasename"></a>
The name of the catalog database.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Region`  <a name="cfn-glue-database-databaseidentifier-region"></a>
The Region of the database.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Database DatabaseInput
<a name="aws-properties-glue-database-databaseinput"></a>

The structure used to create or update a database.

## Syntax
<a name="aws-properties-glue-database-databaseinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-database-databaseinput-syntax.json"></a>

```
{
  "[CreateTableDefaultPermissions](#cfn-glue-database-databaseinput-createtabledefaultpermissions)" : [ PrincipalPrivileges, ... ],
  "[Description](#cfn-glue-database-databaseinput-description)" : String,
  "[FederatedDatabase](#cfn-glue-database-databaseinput-federateddatabase)" : FederatedDatabase,
  "[LocationUri](#cfn-glue-database-databaseinput-locationuri)" : String,
  "[Name](#cfn-glue-database-databaseinput-name)" : String,
  "[Parameters](#cfn-glue-database-databaseinput-parameters)" : Json,
  "[TargetDatabase](#cfn-glue-database-databaseinput-targetdatabase)" : DatabaseIdentifier
}
```

### YAML
<a name="aws-properties-glue-database-databaseinput-syntax.yaml"></a>

```
  [CreateTableDefaultPermissions](#cfn-glue-database-databaseinput-createtabledefaultpermissions): 
    - PrincipalPrivileges
  [Description](#cfn-glue-database-databaseinput-description): String
  [FederatedDatabase](#cfn-glue-database-databaseinput-federateddatabase): 
    FederatedDatabase
  [LocationUri](#cfn-glue-database-databaseinput-locationuri): String
  [Name](#cfn-glue-database-databaseinput-name): String
  [Parameters](#cfn-glue-database-databaseinput-parameters): Json
  [TargetDatabase](#cfn-glue-database-databaseinput-targetdatabase): 
    DatabaseIdentifier
```

## Properties
<a name="aws-properties-glue-database-databaseinput-properties"></a>

`CreateTableDefaultPermissions`  <a name="cfn-glue-database-databaseinput-createtabledefaultpermissions"></a>
Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.  
*Required*: No  
*Type*: Array of [PrincipalPrivileges](aws-properties-glue-database-principalprivileges.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-database-databaseinput-description"></a>
A description of the database.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FederatedDatabase`  <a name="cfn-glue-database-databaseinput-federateddatabase"></a>
A `FederatedDatabase` structure that references an entity outside the AWS Glue Data Catalog.  
*Required*: No  
*Type*: [FederatedDatabase](aws-properties-glue-database-federateddatabase.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocationUri`  <a name="cfn-glue-database-databaseinput-locationuri"></a>
The location of the database (for example, an HDFS path).   
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-database-databaseinput-name"></a>
The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-database-databaseinput-parameters"></a>
These key-value pairs define parameters and properties of the database.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetDatabase`  <a name="cfn-glue-database-databaseinput-targetdatabase"></a>
A `DatabaseIdentifier` structure that describes a target database for resource linking.  
*Required*: No  
*Type*: [DatabaseIdentifier](aws-properties-glue-database-databaseidentifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Database DataLakePrincipal
<a name="aws-properties-glue-database-datalakeprincipal"></a>

The AWS Lake Formation principal.

## Syntax
<a name="aws-properties-glue-database-datalakeprincipal-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-database-datalakeprincipal-syntax.json"></a>

```
{
  "[DataLakePrincipalIdentifier](#cfn-glue-database-datalakeprincipal-datalakeprincipalidentifier)" : String
}
```

### YAML
<a name="aws-properties-glue-database-datalakeprincipal-syntax.yaml"></a>

```
  [DataLakePrincipalIdentifier](#cfn-glue-database-datalakeprincipal-datalakeprincipalidentifier): String
```

## Properties
<a name="aws-properties-glue-database-datalakeprincipal-properties"></a>

`DataLakePrincipalIdentifier`  <a name="cfn-glue-database-datalakeprincipal-datalakeprincipalidentifier"></a>
An identifier for the AWS Lake Formation principal.  
*Required*: Conditional  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Database FederatedDatabase
<a name="aws-properties-glue-database-federateddatabase"></a>

A `FederatedDatabase` structure that references an entity outside the AWS Glue Data Catalog.

## Syntax
<a name="aws-properties-glue-database-federateddatabase-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-database-federateddatabase-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-database-federateddatabase-connectionname)" : String,
  "[Identifier](#cfn-glue-database-federateddatabase-identifier)" : String
}
```

### YAML
<a name="aws-properties-glue-database-federateddatabase-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-database-federateddatabase-connectionname): String
  [Identifier](#cfn-glue-database-federateddatabase-identifier): String
```

## Properties
<a name="aws-properties-glue-database-federateddatabase-properties"></a>

`ConnectionName`  <a name="cfn-glue-database-federateddatabase-connectionname"></a>
The name of the connection to the external metastore.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Identifier`  <a name="cfn-glue-database-federateddatabase-identifier"></a>
A unique identifier for the federated database.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Database PrincipalPrivileges
<a name="aws-properties-glue-database-principalprivileges"></a>

the permissions granted to a principal

## Syntax
<a name="aws-properties-glue-database-principalprivileges-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-database-principalprivileges-syntax.json"></a>

```
{
  "[Permissions](#cfn-glue-database-principalprivileges-permissions)" : [ String, ... ],
  "[Principal](#cfn-glue-database-principalprivileges-principal)" : DataLakePrincipal
}
```

### YAML
<a name="aws-properties-glue-database-principalprivileges-syntax.yaml"></a>

```
  [Permissions](#cfn-glue-database-principalprivileges-permissions): 
    - String
  [Principal](#cfn-glue-database-principalprivileges-principal): 
    DataLakePrincipal
```

## Properties
<a name="aws-properties-glue-database-principalprivileges-properties"></a>

`Permissions`  <a name="cfn-glue-database-principalprivileges-permissions"></a>
The permissions that are granted to the principal.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Principal`  <a name="cfn-glue-database-principalprivileges-principal"></a>
The principal who is granted permissions.  
*Required*: No  
*Type*: [DataLakePrincipal](aws-properties-glue-database-datalakeprincipal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::DataCatalogEncryptionSettings
<a name="aws-resource-glue-datacatalogencryptionsettings"></a>

Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.

## Syntax
<a name="aws-resource-glue-datacatalogencryptionsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-datacatalogencryptionsettings-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::DataCatalogEncryptionSettings",
  "Properties" : {
      "[CatalogId](#cfn-glue-datacatalogencryptionsettings-catalogid)" : String,
      "[DataCatalogEncryptionSettings](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings)" : DataCatalogEncryptionSettings
    }
}
```

### YAML
<a name="aws-resource-glue-datacatalogencryptionsettings-syntax.yaml"></a>

```
Type: AWS::Glue::DataCatalogEncryptionSettings
Properties:
  [CatalogId](#cfn-glue-datacatalogencryptionsettings-catalogid): String
  [DataCatalogEncryptionSettings](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings): 
    DataCatalogEncryptionSettings
```

## Properties
<a name="aws-resource-glue-datacatalogencryptionsettings-properties"></a>

`CatalogId`  <a name="cfn-glue-datacatalogencryptionsettings-catalogid"></a>
The ID of the Data Catalog in which the settings are created.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataCatalogEncryptionSettings`  <a name="cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings"></a>
Contains configuration information for maintaining Data Catalog security.  
*Required*: Yes  
*Type*: [DataCatalogEncryptionSettings](aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-datacatalogencryptionsettings-return-values"></a>

### Ref
<a name="aws-resource-glue-datacatalogencryptionsettings-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-datacatalogencryptionsettings-return-values-fn--getatt"></a>

# AWS::Glue::DataCatalogEncryptionSettings ConnectionPasswordEncryption
<a name="aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption"></a>

The data structure used by the Data Catalog to encrypt the password as part of `CreateConnection` or `UpdateConnection` and store it in the `ENCRYPTED_PASSWORD` field in the connection properties. You can enable catalog encryption or only password encryption.

When a `CreationConnection` request arrives containing a password, the Data Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole connection object again if catalog encryption is also enabled.

This encryption requires that you set AWS KMS key permissions to enable or restrict access on the password key according to your security requirements. For example, you might want only administrators to have decrypt permission on the password key.

## Syntax
<a name="aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid)" : String,
  "[ReturnConnectionPasswordEncrypted](#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted)" : Boolean
}
```

### YAML
<a name="aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid): String
  [ReturnConnectionPasswordEncrypted](#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted): Boolean
```

## Properties
<a name="aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption-properties"></a>

`KmsKeyId`  <a name="cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid"></a>
An AWS KMS key that is used to encrypt the connection password.  
If connection password protection is enabled, the caller of `CreateConnection` and `UpdateConnection` needs at least `kms:Encrypt` permission on the specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog. You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ReturnConnectionPasswordEncrypted`  <a name="cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted"></a>
When the `ReturnConnectionPasswordEncrypted` flag is set to "true", passwords remain encrypted in the responses of `GetConnection` and `GetConnections`. This encryption takes effect independently from catalog encryption.   
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::DataCatalogEncryptionSettings DataCatalogEncryptionSettings
<a name="aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings"></a>

Contains configuration information for maintaining Data Catalog security.

## Syntax
<a name="aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-syntax.json"></a>

```
{
  "[ConnectionPasswordEncryption](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption)" : ConnectionPasswordEncryption,
  "[EncryptionAtRest](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest)" : EncryptionAtRest
}
```

### YAML
<a name="aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-syntax.yaml"></a>

```
  [ConnectionPasswordEncryption](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption): 
    ConnectionPasswordEncryption
  [EncryptionAtRest](#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest): 
    EncryptionAtRest
```

## Properties
<a name="aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-properties"></a>

`ConnectionPasswordEncryption`  <a name="cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption"></a>
When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of `CreateConnection` or `UpdateConnection` and store it in the `ENCRYPTED_PASSWORD` field in the connection properties. You can enable catalog encryption or only password encryption.  
*Required*: No  
*Type*: [ConnectionPasswordEncryption](aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EncryptionAtRest`  <a name="cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest"></a>
Specifies the encryption-at-rest configuration for the Data Catalog.  
*Required*: No  
*Type*: [EncryptionAtRest](aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::DataCatalogEncryptionSettings EncryptionAtRest
<a name="aws-properties-glue-datacatalogencryptionsettings-encryptionatrest"></a>

Specifies the encryption-at-rest configuration for the Data Catalog.

## Syntax
<a name="aws-properties-glue-datacatalogencryptionsettings-encryptionatrest-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-datacatalogencryptionsettings-encryptionatrest-syntax.json"></a>

```
{
  "[CatalogEncryptionMode](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode)" : String,
  "[CatalogEncryptionServiceRole](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionservicerole)" : String,
  "[SseAwsKmsKeyId](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid)" : String
}
```

### YAML
<a name="aws-properties-glue-datacatalogencryptionsettings-encryptionatrest-syntax.yaml"></a>

```
  [CatalogEncryptionMode](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode): String
  [CatalogEncryptionServiceRole](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionservicerole): String
  [SseAwsKmsKeyId](#cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid): String
```

## Properties
<a name="aws-properties-glue-datacatalogencryptionsettings-encryptionatrest-properties"></a>

`CatalogEncryptionMode`  <a name="cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode"></a>
The encryption-at-rest mode for encrypting Data Catalog data.  
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | SSE-KMS | SSE-KMS-WITH-SERVICE-ROLE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CatalogEncryptionServiceRole`  <a name="cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionservicerole"></a>
The role that AWS Glue assumes to encrypt and decrypt the Data Catalog objects on the caller's behalf.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SseAwsKmsKeyId`  <a name="cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid"></a>
The ID of the AWS KMS key to use for encryption at rest.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::DataQualityRuleset
<a name="aws-resource-glue-dataqualityruleset"></a>

The `AWS::Glue::DataQualityRuleset` resource specifies a data quality ruleset with DQDL rules applied to a specified AWS Glue table. For more information, see AWS Glue Data Quality in the AWS Glue Developer Guide.

## Syntax
<a name="aws-resource-glue-dataqualityruleset-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-dataqualityruleset-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::DataQualityRuleset",
  "Properties" : {
      "[ClientToken](#cfn-glue-dataqualityruleset-clienttoken)" : String,
      "[Description](#cfn-glue-dataqualityruleset-description)" : String,
      "[Name](#cfn-glue-dataqualityruleset-name)" : String,
      "[Ruleset](#cfn-glue-dataqualityruleset-ruleset)" : String,
      "[Tags](#cfn-glue-dataqualityruleset-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[TargetTable](#cfn-glue-dataqualityruleset-targettable)" : DataQualityTargetTable
    }
}
```

### YAML
<a name="aws-resource-glue-dataqualityruleset-syntax.yaml"></a>

```
Type: AWS::Glue::DataQualityRuleset
Properties:
  [ClientToken](#cfn-glue-dataqualityruleset-clienttoken): String
  [Description](#cfn-glue-dataqualityruleset-description): String
  [Name](#cfn-glue-dataqualityruleset-name): String
  [Ruleset](#cfn-glue-dataqualityruleset-ruleset): String
  [Tags](#cfn-glue-dataqualityruleset-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [TargetTable](#cfn-glue-dataqualityruleset-targettable): 
    DataQualityTargetTable
```

## Properties
<a name="aws-resource-glue-dataqualityruleset-properties"></a>

`ClientToken`  <a name="cfn-glue-dataqualityruleset-clienttoken"></a>
Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-dataqualityruleset-description"></a>
A description of the data quality ruleset.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-dataqualityruleset-name"></a>
The name of the data quality ruleset.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Ruleset`  <a name="cfn-glue-dataqualityruleset-ruleset"></a>
A Data Quality Definition Language (DQDL) ruleset. For more information see the AWS Glue Developer Guide.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-dataqualityruleset-tags"></a>
A list of tags applied to the data quality ruleset.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetTable`  <a name="cfn-glue-dataqualityruleset-targettable"></a>
An object representing an AWS Glue table.  
*Required*: No  
*Type*: [DataQualityTargetTable](aws-properties-glue-dataqualityruleset-dataqualitytargettable.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-dataqualityruleset-return-values"></a>

### Ref
<a name="aws-resource-glue-dataqualityruleset-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-dataqualityruleset-return-values-fn--getatt"></a>

# AWS::Glue::DataQualityRuleset DataQualityTargetTable
<a name="aws-properties-glue-dataqualityruleset-dataqualitytargettable"></a>

An object representing an AWS Glue table.

## Syntax
<a name="aws-properties-glue-dataqualityruleset-dataqualitytargettable-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-dataqualityruleset-dataqualitytargettable-syntax.json"></a>

```
{
  "[DatabaseName](#cfn-glue-dataqualityruleset-dataqualitytargettable-databasename)" : String,
  "[TableName](#cfn-glue-dataqualityruleset-dataqualitytargettable-tablename)" : String
}
```

### YAML
<a name="aws-properties-glue-dataqualityruleset-dataqualitytargettable-syntax.yaml"></a>

```
  [DatabaseName](#cfn-glue-dataqualityruleset-dataqualitytargettable-databasename): String
  [TableName](#cfn-glue-dataqualityruleset-dataqualitytargettable-tablename): String
```

## Properties
<a name="aws-properties-glue-dataqualityruleset-dataqualitytargettable-properties"></a>

`DatabaseName`  <a name="cfn-glue-dataqualityruleset-dataqualitytargettable-databasename"></a>
The name of the database where the AWS Glue table exists.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableName`  <a name="cfn-glue-dataqualityruleset-dataqualitytargettable-tablename"></a>
The name of the AWS Glue table.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::DevEndpoint
<a name="aws-resource-glue-devendpoint"></a>

The `AWS::Glue::DevEndpoint` resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see [DevEndpoint Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint) in the AWS Glue Developer Guide.

## Syntax
<a name="aws-resource-glue-devendpoint-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-devendpoint-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::DevEndpoint",
  "Properties" : {
      "[Arguments](#cfn-glue-devendpoint-arguments)" : Json,
      "[EndpointName](#cfn-glue-devendpoint-endpointname)" : String,
      "[ExtraJarsS3Path](#cfn-glue-devendpoint-extrajarss3path)" : String,
      "[ExtraPythonLibsS3Path](#cfn-glue-devendpoint-extrapythonlibss3path)" : String,
      "[GlueVersion](#cfn-glue-devendpoint-glueversion)" : String,
      "[NumberOfNodes](#cfn-glue-devendpoint-numberofnodes)" : Integer,
      "[NumberOfWorkers](#cfn-glue-devendpoint-numberofworkers)" : Integer,
      "[PublicKey](#cfn-glue-devendpoint-publickey)" : String,
      "[PublicKeys](#cfn-glue-devendpoint-publickeys)" : [ String, ... ],
      "[RoleArn](#cfn-glue-devendpoint-rolearn)" : String,
      "[SecurityConfiguration](#cfn-glue-devendpoint-securityconfiguration)" : String,
      "[SecurityGroupIds](#cfn-glue-devendpoint-securitygroupids)" : [ String, ... ],
      "[SubnetId](#cfn-glue-devendpoint-subnetid)" : String,
      "[Tags](#cfn-glue-devendpoint-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[WorkerType](#cfn-glue-devendpoint-workertype)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-devendpoint-syntax.yaml"></a>

```
Type: AWS::Glue::DevEndpoint
Properties:
  [Arguments](#cfn-glue-devendpoint-arguments): Json
  [EndpointName](#cfn-glue-devendpoint-endpointname): String
  [ExtraJarsS3Path](#cfn-glue-devendpoint-extrajarss3path): String
  [ExtraPythonLibsS3Path](#cfn-glue-devendpoint-extrapythonlibss3path): String
  [GlueVersion](#cfn-glue-devendpoint-glueversion): String
  [NumberOfNodes](#cfn-glue-devendpoint-numberofnodes): Integer
  [NumberOfWorkers](#cfn-glue-devendpoint-numberofworkers): Integer
  [PublicKey](#cfn-glue-devendpoint-publickey): String
  [PublicKeys](#cfn-glue-devendpoint-publickeys): 
    - String
  [RoleArn](#cfn-glue-devendpoint-rolearn): String
  [SecurityConfiguration](#cfn-glue-devendpoint-securityconfiguration): String
  [SecurityGroupIds](#cfn-glue-devendpoint-securitygroupids): 
    - String
  [SubnetId](#cfn-glue-devendpoint-subnetid): String
  [Tags](#cfn-glue-devendpoint-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [WorkerType](#cfn-glue-devendpoint-workertype): String
```

## Properties
<a name="aws-resource-glue-devendpoint-properties"></a>

`Arguments`  <a name="cfn-glue-devendpoint-arguments"></a>
A map of arguments used to configure the `DevEndpoint`.  
Valid arguments are:  
+  `"--enable-glue-datacatalog": ""` 
+  `"GLUE_PYTHON_VERSION": "3"` 
+  `"GLUE_PYTHON_VERSION": "2"` 
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.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-glue-devendpoint-endpointname"></a>
The name of the `DevEndpoint`.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExtraJarsS3Path`  <a name="cfn-glue-devendpoint-extrajarss3path"></a>
The path to one or more Java `.jar` files in an S3 bucket that should be loaded in your `DevEndpoint`.  
You can only use pure Java/Scala libraries with a `DevEndpoint`.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExtraPythonLibsS3Path`  <a name="cfn-glue-devendpoint-extrapythonlibss3path"></a>
The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your `DevEndpoint`. Multiple values must be complete paths separated by a comma.  
You can only use pure Python libraries with a `DevEndpoint`. Libraries that rely on C extensions, such as the [pandas](http://pandas.pydata.org/) Python data analysis library, are not currently supported.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GlueVersion`  <a name="cfn-glue-devendpoint-glueversion"></a>
The AWS Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.   
For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.  
Development endpoints that are created without specifying a Glue version default to Glue 0.9.  
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.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfNodes`  <a name="cfn-glue-devendpoint-numberofnodes"></a>
The number of AWS Glue Data Processing Units (DPUs) allocated to this `DevEndpoint`.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfWorkers`  <a name="cfn-glue-devendpoint-numberofworkers"></a>
The number of workers of a defined `workerType` that are allocated to the development endpoint.  
The maximum number of workers you can define are 299 for `G.1X`, and 149 for `G.2X`.   
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PublicKey`  <a name="cfn-glue-devendpoint-publickey"></a>
The public key to be used by this `DevEndpoint` for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PublicKeys`  <a name="cfn-glue-devendpoint-publickeys"></a>
A list of public keys to be used by the `DevEndpoints` for authentication. Using this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.  
If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the `UpdateDevEndpoint` API operation with the public key content in the `deletePublicKeys` attribute, and the list of new keys in the `addPublicKeys` attribute.
*Required*: No  
*Type*: Array of String  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-glue-devendpoint-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM role used in this `DevEndpoint`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws:iam::\d{12}:role/.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityConfiguration`  <a name="cfn-glue-devendpoint-securityconfiguration"></a>
The name of the `SecurityConfiguration` structure to be used with this `DevEndpoint`.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroupIds`  <a name="cfn-glue-devendpoint-securitygroupids"></a>
A list of security group identifiers used in this `DevEndpoint`.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubnetId`  <a name="cfn-glue-devendpoint-subnetid"></a>
The subnet ID for this `DevEndpoint`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-devendpoint-tags"></a>
The tags to use with this DevEndpoint.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WorkerType`  <a name="cfn-glue-devendpoint-workertype"></a>
The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.  
+ For the `Standard` worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.
+ For the `G.1X` worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.
+ For the `G.2X` worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.
Known issue: when a development endpoint is created with the `G.2X``WorkerType` configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.   
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-devendpoint-return-values"></a>

### Ref
<a name="aws-resource-glue-devendpoint-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the endpoint name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-devendpoint-return-values-fn--getatt"></a>

## See also
<a name="aws-resource-glue-devendpoint--seealso"></a>
+ [DevEndpoint Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint) in the *AWS Glue Developer Guide*



# AWS::Glue::IdentityCenterConfiguration
<a name="aws-resource-glue-identitycenterconfiguration"></a>

Creates a new AWS Glue Identity Center configuration to enable integration between AWS Glue and AWS IAM Identity Center for authentication and authorization.

## Syntax
<a name="aws-resource-glue-identitycenterconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-identitycenterconfiguration-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::IdentityCenterConfiguration",
  "Properties" : {
      "[InstanceArn](#cfn-glue-identitycenterconfiguration-instancearn)" : String,
      "[Scopes](#cfn-glue-identitycenterconfiguration-scopes)" : [ String, ... ],
      "[UserBackgroundSessionsEnabled](#cfn-glue-identitycenterconfiguration-userbackgroundsessionsenabled)" : Boolean
    }
}
```

### YAML
<a name="aws-resource-glue-identitycenterconfiguration-syntax.yaml"></a>

```
Type: AWS::Glue::IdentityCenterConfiguration
Properties:
  [InstanceArn](#cfn-glue-identitycenterconfiguration-instancearn): String
  [Scopes](#cfn-glue-identitycenterconfiguration-scopes): 
    - String
  [UserBackgroundSessionsEnabled](#cfn-glue-identitycenterconfiguration-userbackgroundsessionsenabled): Boolean
```

## Properties
<a name="aws-resource-glue-identitycenterconfiguration-properties"></a>

`InstanceArn`  <a name="cfn-glue-identitycenterconfiguration-instancearn"></a>
The Amazon Resource Name (ARN) of the Identity Center instance associated with the AWS Glue configuration.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$`  
*Minimum*: `10`  
*Maximum*: `1224`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Scopes`  <a name="cfn-glue-identitycenterconfiguration-scopes"></a>
A list of Identity Center scopes that define the permissions and access levels for the AWS Glue configuration.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserBackgroundSessionsEnabled`  <a name="cfn-glue-identitycenterconfiguration-userbackgroundsessionsenabled"></a>
Indicates whether users can run background sessions when using Identity Center authentication with AWS Glue services.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-identitycenterconfiguration-return-values"></a>

### Ref
<a name="aws-resource-glue-identitycenterconfiguration-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-identitycenterconfiguration-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-glue-identitycenterconfiguration-return-values-fn--getatt-fn--getatt"></a>

`AccountId`  <a name="AccountId-fn::getatt"></a>
Property description not available.

`ApplicationArn`  <a name="ApplicationArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the Identity Center application associated with the AWS Glue configuration.

# AWS::Glue::Integration
<a name="aws-resource-glue-integration"></a>

The `AWS::Glue::Integration` resource specifies an AWS Glue zero-ETL integration from a data source to a target. For more information, see [ zero-ETL integration supported by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-using.html) and [ integration structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-integrations.html) in the AWS Glue developer guide.

## Syntax
<a name="aws-resource-glue-integration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-integration-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Integration",
  "Properties" : {
      "[AdditionalEncryptionContext](#cfn-glue-integration-additionalencryptioncontext)" : {Key: Value, ...},
      "[DataFilter](#cfn-glue-integration-datafilter)" : String,
      "[Description](#cfn-glue-integration-description)" : String,
      "[IntegrationConfig](#cfn-glue-integration-integrationconfig)" : IntegrationConfig,
      "[IntegrationName](#cfn-glue-integration-integrationname)" : String,
      "[KmsKeyId](#cfn-glue-integration-kmskeyid)" : String,
      "[SourceArn](#cfn-glue-integration-sourcearn)" : String,
      "[Tags](#cfn-glue-integration-tags)" : [ Tag, ... ],
      "[TargetArn](#cfn-glue-integration-targetarn)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-integration-syntax.yaml"></a>

```
Type: AWS::Glue::Integration
Properties:
  [AdditionalEncryptionContext](#cfn-glue-integration-additionalencryptioncontext): 
    Key: Value
  [DataFilter](#cfn-glue-integration-datafilter): String
  [Description](#cfn-glue-integration-description): String
  [IntegrationConfig](#cfn-glue-integration-integrationconfig): 
    IntegrationConfig
  [IntegrationName](#cfn-glue-integration-integrationname): String
  [KmsKeyId](#cfn-glue-integration-kmskeyid): String
  [SourceArn](#cfn-glue-integration-sourcearn): String
  [Tags](#cfn-glue-integration-tags): 
    - Tag
  [TargetArn](#cfn-glue-integration-targetarn): String
```

## Properties
<a name="aws-resource-glue-integration-properties"></a>

`AdditionalEncryptionContext`  <a name="cfn-glue-integration-additionalencryptioncontext"></a>
An optional set of non-secret key–value pairs that contains additional contextual information for encryption. This can only be provided if `KMSKeyId` is provided.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^[\s\S]*$`  
*Minimum*: `0`  
*Maximum*: `131072`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataFilter`  <a name="cfn-glue-integration-datafilter"></a>
Selects source tables for the integration using Maxwell filter syntax.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-integration-description"></a>
A description for the integration.  
*Required*: No  
*Type*: String  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntegrationConfig`  <a name="cfn-glue-integration-integrationconfig"></a>
The structure used to define properties associated with the zero-ETL integration. For more information, see [IntegrationConfig structure.](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-integrations.html#aws-glue-api-integrations-IntegrationConfig)  
*Required*: No  
*Type*: [IntegrationConfig](aws-properties-glue-integration-integrationconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IntegrationName`  <a name="cfn-glue-integration-integrationname"></a>
A unique name for the integration.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KmsKeyId`  <a name="cfn-glue-integration-kmskeyid"></a>
The ARN of a KMS key used for encrypting the channel.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceArn`  <a name="cfn-glue-integration-sourcearn"></a>
The ARN for the source of the integration.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws:.*:.*:[0-9]+:.*`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-glue-integration-tags"></a>
Metadata assigned to the resource consisting of a list of key-value pairs.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-integration-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetArn`  <a name="cfn-glue-integration-targetarn"></a>
The ARN for the target of the integration.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws:.*:.*:[0-9]+:.*`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-integration-return-values"></a>

### Ref
<a name="aws-resource-glue-integration-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-integration-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-glue-integration-return-values-fn--getatt-fn--getatt"></a>

`CreateTime`  <a name="CreateTime-fn::getatt"></a>
The time when the integration was created, in UTC.

`IntegrationArn`  <a name="IntegrationArn-fn::getatt"></a>
The Amazon Resource Name (ARN) for the created integration.

`Status`  <a name="Status-fn::getatt"></a>
The status of the integration being created.  
The possible statuses are:  
+ CREATING: The integration is being created.
+ ACTIVE: The integration creation succeeds.
+ MODIFYING: The integration is being modified.
+ FAILED: The integration creation fails. 
+ DELETING: The integration is deleted.
+ SYNCING: The integration is synchronizing.
+ NEEDS\$1ATTENTION: The integration needs attention, such as synchronization.

# AWS::Glue::Integration IntegrationConfig
<a name="aws-properties-glue-integration-integrationconfig"></a>

Properties associated with the integration.

## Syntax
<a name="aws-properties-glue-integration-integrationconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-integration-integrationconfig-syntax.json"></a>

```
{
  "[ContinuousSync](#cfn-glue-integration-integrationconfig-continuoussync)" : Boolean,
  "[RefreshInterval](#cfn-glue-integration-integrationconfig-refreshinterval)" : String,
  "[SourceProperties](#cfn-glue-integration-integrationconfig-sourceproperties)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-glue-integration-integrationconfig-syntax.yaml"></a>

```
  [ContinuousSync](#cfn-glue-integration-integrationconfig-continuoussync): Boolean
  [RefreshInterval](#cfn-glue-integration-integrationconfig-refreshinterval): String
  [SourceProperties](#cfn-glue-integration-integrationconfig-sourceproperties): 
    Key: Value
```

## Properties
<a name="aws-properties-glue-integration-integrationconfig-properties"></a>

`ContinuousSync`  <a name="cfn-glue-integration-integrationconfig-continuoussync"></a>
Enables continuous synchronization for on-demand data extractions from SaaS applications to AWS data services like Amazon Redshift and Amazon S3.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RefreshInterval`  <a name="cfn-glue-integration-integrationconfig-refreshinterval"></a>
Specifies the frequency at which CDC (Change Data Capture) pulls or incremental loads should occur. This parameter provides flexibility to align the refresh rate with your specific data update patterns, system load considerations, and performance optimization goals. Time increment can be set from 15 minutes to 8640 minutes (six days).  
*Required*: No  
*Type*: String  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceProperties`  <a name="cfn-glue-integration-integrationconfig-sourceproperties"></a>
 A collection of key-value pairs that specify additional properties for the integration source. These properties provide configuration options that can be used to customize the behavior of the ODB source during data integration operations.   
*Required*: No  
*Type*: Object of String  
*Pattern*: `^[\s\S]*$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Glue::Integration Tag
<a name="aws-properties-glue-integration-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

## Syntax
<a name="aws-properties-glue-integration-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-integration-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-integration-tag-key)" : String,
  "[Value](#cfn-glue-integration-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-integration-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-integration-tag-key): String
  [Value](#cfn-glue-integration-tag-value): String
```

## Properties
<a name="aws-properties-glue-integration-tag-properties"></a>

`Key`  <a name="cfn-glue-integration-tag-key"></a>
The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-integration-tag-value"></a>
The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::IntegrationResourceProperty
<a name="aws-resource-glue-integrationresourceproperty"></a>

The `AWS::Glue::IntegrationResourceProperty` resource type can be used to setup `ResourceProperty` of the AWS Glue connection (for the SaaS source), DynamoDB Database (for DynamoDB source), or AWS Glue database ARN (for the target). ResourceProperty is used to define the properties requires to setup the integration, including the role to access the connection or database, KMS keys, event bus for event notifications and VPC connection. To set both source and target properties the same API needs to be invoked twice, once with the AWS Glue connection ARN as ResourceArn with SourceProcessingProperties and next, with the AWS Glue database ARN as ResourceArn with TargetProcessingProperties respectively.

## Syntax
<a name="aws-resource-glue-integrationresourceproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-integrationresourceproperty-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::IntegrationResourceProperty",
  "Properties" : {
      "[ResourceArn](#cfn-glue-integrationresourceproperty-resourcearn)" : String,
      "[SourceProcessingProperties](#cfn-glue-integrationresourceproperty-sourceprocessingproperties)" : SourceProcessingProperties,
      "[Tags](#cfn-glue-integrationresourceproperty-tags)" : [ Tag, ... ],
      "[TargetProcessingProperties](#cfn-glue-integrationresourceproperty-targetprocessingproperties)" : TargetProcessingProperties
    }
}
```

### YAML
<a name="aws-resource-glue-integrationresourceproperty-syntax.yaml"></a>

```
Type: AWS::Glue::IntegrationResourceProperty
Properties:
  [ResourceArn](#cfn-glue-integrationresourceproperty-resourcearn): String
  [SourceProcessingProperties](#cfn-glue-integrationresourceproperty-sourceprocessingproperties): 
    SourceProcessingProperties
  [Tags](#cfn-glue-integrationresourceproperty-tags): 
    - Tag
  [TargetProcessingProperties](#cfn-glue-integrationresourceproperty-targetprocessingproperties): 
    TargetProcessingProperties
```

## Properties
<a name="aws-resource-glue-integrationresourceproperty-properties"></a>

`ResourceArn`  <a name="cfn-glue-integrationresourceproperty-resourcearn"></a>
The connection ARN of the source, or the database ARN of the target.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws:.*:.*:[0-9]+:.*`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceProcessingProperties`  <a name="cfn-glue-integrationresourceproperty-sourceprocessingproperties"></a>
The resource properties associated with the integration source.  
*Required*: No  
*Type*: [SourceProcessingProperties](aws-properties-glue-integrationresourceproperty-sourceprocessingproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-integrationresourceproperty-tags"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-integrationresourceproperty-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetProcessingProperties`  <a name="cfn-glue-integrationresourceproperty-targetprocessingproperties"></a>
The structure used to define the resource properties associated with the integration target.  
*Required*: No  
*Type*: [TargetProcessingProperties](aws-properties-glue-integrationresourceproperty-targetprocessingproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-integrationresourceproperty-return-values"></a>

### Ref
<a name="aws-resource-glue-integrationresourceproperty-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns The resource property arn.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-integrationresourceproperty-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-glue-integrationresourceproperty-return-values-fn--getatt-fn--getatt"></a>

`ResourcePropertyArn`  <a name="ResourcePropertyArn-fn::getatt"></a>
Property description not available.

# AWS::Glue::IntegrationResourceProperty SourceProcessingProperties
<a name="aws-properties-glue-integrationresourceproperty-sourceprocessingproperties"></a>

The structure used to define the resource properties associated with the integration source.

## Syntax
<a name="aws-properties-glue-integrationresourceproperty-sourceprocessingproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-integrationresourceproperty-sourceprocessingproperties-syntax.json"></a>

```
{
  "[RoleArn](#cfn-glue-integrationresourceproperty-sourceprocessingproperties-rolearn)" : String
}
```

### YAML
<a name="aws-properties-glue-integrationresourceproperty-sourceprocessingproperties-syntax.yaml"></a>

```
  [RoleArn](#cfn-glue-integrationresourceproperty-sourceprocessingproperties-rolearn): String
```

## Properties
<a name="aws-properties-glue-integrationresourceproperty-sourceprocessingproperties-properties"></a>

`RoleArn`  <a name="cfn-glue-integrationresourceproperty-sourceprocessingproperties-rolearn"></a>
The IAM role to access the AWS Glue connection.  
*Required*: Yes  
*Type*: String  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::IntegrationResourceProperty Tag
<a name="aws-properties-glue-integrationresourceproperty-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

## Syntax
<a name="aws-properties-glue-integrationresourceproperty-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-integrationresourceproperty-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-integrationresourceproperty-tag-key)" : String,
  "[Value](#cfn-glue-integrationresourceproperty-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-integrationresourceproperty-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-integrationresourceproperty-tag-key): String
  [Value](#cfn-glue-integrationresourceproperty-tag-value): String
```

## Properties
<a name="aws-properties-glue-integrationresourceproperty-tag-properties"></a>

`Key`  <a name="cfn-glue-integrationresourceproperty-tag-key"></a>
The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-integrationresourceproperty-tag-value"></a>
The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::IntegrationResourceProperty TargetProcessingProperties
<a name="aws-properties-glue-integrationresourceproperty-targetprocessingproperties"></a>

The structure used to define the resource properties associated with the integration target.

## Syntax
<a name="aws-properties-glue-integrationresourceproperty-targetprocessingproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-integrationresourceproperty-targetprocessingproperties-syntax.json"></a>

```
{
  "[ConnectionName](#cfn-glue-integrationresourceproperty-targetprocessingproperties-connectionname)" : String,
  "[EventBusArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-eventbusarn)" : String,
  "[KmsArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-kmsarn)" : String,
  "[RoleArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-rolearn)" : String
}
```

### YAML
<a name="aws-properties-glue-integrationresourceproperty-targetprocessingproperties-syntax.yaml"></a>

```
  [ConnectionName](#cfn-glue-integrationresourceproperty-targetprocessingproperties-connectionname): String
  [EventBusArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-eventbusarn): String
  [KmsArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-kmsarn): String
  [RoleArn](#cfn-glue-integrationresourceproperty-targetprocessingproperties-rolearn): String
```

## Properties
<a name="aws-properties-glue-integrationresourceproperty-targetprocessingproperties-properties"></a>

`ConnectionName`  <a name="cfn-glue-integrationresourceproperty-targetprocessingproperties-connectionname"></a>
The AWS Glue network connection to configure the AWS Glue job running in the customer VPC.  
*Required*: No  
*Type*: String  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EventBusArn`  <a name="cfn-glue-integrationresourceproperty-targetprocessingproperties-eventbusarn"></a>
The ARN of an Eventbridge event bus to receive the integration status notification.  
*Required*: No  
*Type*: String  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsArn`  <a name="cfn-glue-integrationresourceproperty-targetprocessingproperties-kmsarn"></a>
The ARN of the KMS key used for encryption.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws:kms:.*:[0-9]+:.*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-glue-integrationresourceproperty-targetprocessingproperties-rolearn"></a>
The IAM role to access the AWS Glue database.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws:iam:.*:[0-9]+:.*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Job
<a name="aws-resource-glue-job"></a>

The `AWS::Glue::Job` resource specifies an AWS Glue job in the data catalog. For more information, see [Adding Jobs in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) and [Job Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job) in the *AWS Glue Developer Guide.*

## Syntax
<a name="aws-resource-glue-job-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-job-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Job",
  "Properties" : {
      "[AllocatedCapacity](#cfn-glue-job-allocatedcapacity)" : Number,
      "[Command](#cfn-glue-job-command)" : JobCommand,
      "[Connections](#cfn-glue-job-connections)" : ConnectionsList,
      "[DefaultArguments](#cfn-glue-job-defaultarguments)" : Json,
      "[Description](#cfn-glue-job-description)" : String,
      "[ExecutionClass](#cfn-glue-job-executionclass)" : String,
      "[ExecutionProperty](#cfn-glue-job-executionproperty)" : ExecutionProperty,
      "[GlueVersion](#cfn-glue-job-glueversion)" : String,
      "[JobMode](#cfn-glue-job-jobmode)" : String,
      "[JobRunQueuingEnabled](#cfn-glue-job-jobrunqueuingenabled)" : Boolean,
      "[LogUri](#cfn-glue-job-loguri)" : String,
      "[MaintenanceWindow](#cfn-glue-job-maintenancewindow)" : String,
      "[MaxCapacity](#cfn-glue-job-maxcapacity)" : Number,
      "[MaxRetries](#cfn-glue-job-maxretries)" : Number,
      "[Name](#cfn-glue-job-name)" : String,
      "[NonOverridableArguments](#cfn-glue-job-nonoverridablearguments)" : Json,
      "[NotificationProperty](#cfn-glue-job-notificationproperty)" : NotificationProperty,
      "[NumberOfWorkers](#cfn-glue-job-numberofworkers)" : Integer,
      "[Role](#cfn-glue-job-role)" : String,
      "[SecurityConfiguration](#cfn-glue-job-securityconfiguration)" : String,
      "[Tags](#cfn-glue-job-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[Timeout](#cfn-glue-job-timeout)" : Integer,
      "[WorkerType](#cfn-glue-job-workertype)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-job-syntax.yaml"></a>

```
Type: AWS::Glue::Job
Properties:
  [AllocatedCapacity](#cfn-glue-job-allocatedcapacity): Number
  [Command](#cfn-glue-job-command): 
    JobCommand
  [Connections](#cfn-glue-job-connections): 
    ConnectionsList
  [DefaultArguments](#cfn-glue-job-defaultarguments): Json
  [Description](#cfn-glue-job-description): String
  [ExecutionClass](#cfn-glue-job-executionclass): String
  [ExecutionProperty](#cfn-glue-job-executionproperty): 
    ExecutionProperty
  [GlueVersion](#cfn-glue-job-glueversion): String
  [JobMode](#cfn-glue-job-jobmode): String
  [JobRunQueuingEnabled](#cfn-glue-job-jobrunqueuingenabled): Boolean
  [LogUri](#cfn-glue-job-loguri): String
  [MaintenanceWindow](#cfn-glue-job-maintenancewindow): String
  [MaxCapacity](#cfn-glue-job-maxcapacity): Number
  [MaxRetries](#cfn-glue-job-maxretries): Number
  [Name](#cfn-glue-job-name): String
  [NonOverridableArguments](#cfn-glue-job-nonoverridablearguments): Json
  [NotificationProperty](#cfn-glue-job-notificationproperty): 
    NotificationProperty
  [NumberOfWorkers](#cfn-glue-job-numberofworkers): Integer
  [Role](#cfn-glue-job-role): String
  [SecurityConfiguration](#cfn-glue-job-securityconfiguration): String
  [Tags](#cfn-glue-job-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [Timeout](#cfn-glue-job-timeout): Integer
  [WorkerType](#cfn-glue-job-workertype): String
```

## Properties
<a name="aws-resource-glue-job-properties"></a>

`AllocatedCapacity`  <a name="cfn-glue-job-allocatedcapacity"></a>
This parameter is no longer supported. Use `MaxCapacity` instead.  
The number of capacity units that are allocated to this job.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Command`  <a name="cfn-glue-job-command"></a>
The code that executes a job.  
*Required*: Yes  
*Type*: [JobCommand](aws-properties-glue-job-jobcommand.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Connections`  <a name="cfn-glue-job-connections"></a>
The connections used for this job.  
*Required*: No  
*Type*: [ConnectionsList](aws-properties-glue-job-connectionslist.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultArguments`  <a name="cfn-glue-job-defaultarguments"></a>
The default arguments for this job, specified as name-value pairs.  
You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes.  
For information about how to specify and consume your own job arguments, see [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) in the *AWS Glue Developer Guide*.  
For information about the key-value pairs that AWS Glue consumes to set up your job, see [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) in the *AWS Glue Developer Guide*.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-job-description"></a>
A description of the job.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionClass`  <a name="cfn-glue-job-executionclass"></a>
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 AWS 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.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionProperty`  <a name="cfn-glue-job-executionproperty"></a>
The maximum number of concurrent runs that are allowed for this job.  
*Required*: No  
*Type*: [ExecutionProperty](aws-properties-glue-job-executionproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GlueVersion`  <a name="cfn-glue-job-glueversion"></a>
Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.   
For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.  
Jobs that are created without specifying a Glue version default to the latest Glue version available.  
*Required*: No  
*Type*: String  
*Pattern*: `^(\w+\.)+\w+$`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JobMode`  <a name="cfn-glue-job-jobmode"></a>
A mode that describes how a job was created. Valid values are:  
+ `SCRIPT` - The job was created using the AWS Glue Studio script editor.
+ `VISUAL` - The job was created using the AWS 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.  
*Required*: No  
*Type*: String  
*Allowed values*: `SCRIPT | VISUAL | NOTEBOOK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JobRunQueuingEnabled`  <a name="cfn-glue-job-jobrunqueuingenabled"></a>
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.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogUri`  <a name="cfn-glue-job-loguri"></a>
This field is reserved for future use.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaintenanceWindow`  <a name="cfn-glue-job-maintenancewindow"></a>
This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs.  
AWS 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.  
*Required*: No  
*Type*: String  
*Pattern*: `^(Sun|Mon|Tue|Wed|Thu|Fri|Sat):([01]?[0-9]|2[0-3])$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxCapacity`  <a name="cfn-glue-job-maxcapacity"></a>
The number of AWS 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.  
Do not set `Max Capacity` if using `WorkerType` and `NumberOfWorkers`.  
The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job or an Apache Spark 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"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxRetries`  <a name="cfn-glue-job-maxretries"></a>
The maximum number of times to retry this job after a JobRun fails.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-job-name"></a>
The name you assign to this job definition.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NonOverridableArguments`  <a name="cfn-glue-job-nonoverridablearguments"></a>
Non-overridable arguments for this job, specified as name-value pairs.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationProperty`  <a name="cfn-glue-job-notificationproperty"></a>
Specifies configuration properties of a notification.  
*Required*: No  
*Type*: [NotificationProperty](aws-properties-glue-job-notificationproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfWorkers`  <a name="cfn-glue-job-numberofworkers"></a>
The number of workers of a defined `workerType` that are allocated when a job runs.  
The maximum number of workers you can define are 299 for `G.1X`, and 149 for `G.2X`.   
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Role`  <a name="cfn-glue-job-role"></a>
The name or Amazon Resource Name (ARN) of the IAM role associated with this job.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityConfiguration`  <a name="cfn-glue-job-securityconfiguration"></a>
The name of the `SecurityConfiguration` structure to be used with this job.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-job-tags"></a>
The tags to use with this job.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Timeout`  <a name="cfn-glue-job-timeout"></a>
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. The default is 2,880 minutes (48 hours).  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WorkerType`  <a name="cfn-glue-job-workertype"></a>
The type of predefined worker that is allocated when a job runs.  
AWS 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)
*Required*: No  
*Type*: String  
*Allowed values*: `Standard | G.1X | G.2X | G.025X | G.4X | G.8X | Z.2X | G.12X | G.16X | R.1X | R.2X | R.4X | R.8X`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-job-return-values"></a>

### Ref
<a name="aws-resource-glue-job-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the job name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-glue-job--examples"></a>



### 
<a name="aws-resource-glue-job--examples--"></a>

The following example creates a job with an associated role. The ScriptLocation is an Amazon S3 location. The example provided below is a placeholder for your Amazon S3 location.

#### JSON
<a name="aws-resource-glue-job--examples----json"></a>

```
{
  "Description": "AWS Glue Job Test",
  "Resources": {
    "MyJobRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "glue.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17",		 	 	 
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    },
    "MyJob": {
      "Type": "AWS::Glue::Job",
      "Properties": {
        "Command": {
          "Name": "glueetl",
          "ScriptLocation": "s3://<your-S3-script-uri>"
        },
        "DefaultArguments": {
          "--job-bookmark-option": "job-bookmark-enable"
        },
        "ExecutionProperty": {
          "MaxConcurrentRuns": 2
        },
        "MaxRetries": 0,
        "Name": "cf-job1",
        "Role": {
          "Ref": "MyJobRole"
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-job--examples----yaml"></a>

```
---
Description: "AWS Glue Job Test"
Resources:
  MyJobRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          -
            Effect: "Allow"
            Principal:
              Service:
                - "glue.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        -
          PolicyName: "root"
          PolicyDocument:
            Version: "2012-10-17"		 	 	 
            Statement:
              -
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  MyJob:
    Type: AWS::Glue::Job
    Properties:
      Command:
        Name: glueetl
        ScriptLocation: "s3://<your-S3-script-uri>"
      DefaultArguments:
        "--job-bookmark-option": "job-bookmark-enable"
      ExecutionProperty:
        MaxConcurrentRuns: 2
      MaxRetries: 0
      Name: cf-job1
      Role: !Ref MyJobRole
```

# AWS::Glue::Job ConnectionsList
<a name="aws-properties-glue-job-connectionslist"></a>

Specifies the connections used by a job.

## Syntax
<a name="aws-properties-glue-job-connectionslist-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-job-connectionslist-syntax.json"></a>

```
{
  "[Connections](#cfn-glue-job-connectionslist-connections)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-job-connectionslist-syntax.yaml"></a>

```
  [Connections](#cfn-glue-job-connectionslist-connections): 
    - String
```

## Properties
<a name="aws-properties-glue-job-connectionslist-properties"></a>

`Connections`  <a name="cfn-glue-job-connectionslist-connections"></a>
A list of connections used by the job.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Job ExecutionProperty
<a name="aws-properties-glue-job-executionproperty"></a>

An execution property of a job.

## Syntax
<a name="aws-properties-glue-job-executionproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-job-executionproperty-syntax.json"></a>

```
{
  "[MaxConcurrentRuns](#cfn-glue-job-executionproperty-maxconcurrentruns)" : Number
}
```

### YAML
<a name="aws-properties-glue-job-executionproperty-syntax.yaml"></a>

```
  [MaxConcurrentRuns](#cfn-glue-job-executionproperty-maxconcurrentruns): Number
```

## Properties
<a name="aws-properties-glue-job-executionproperty-properties"></a>

`MaxConcurrentRuns`  <a name="cfn-glue-job-executionproperty-maxconcurrentruns"></a>
The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Job JobCommand
<a name="aws-properties-glue-job-jobcommand"></a>

Specifies code executed when a job is run.

## Syntax
<a name="aws-properties-glue-job-jobcommand-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-job-jobcommand-syntax.json"></a>

```
{
  "[Name](#cfn-glue-job-jobcommand-name)" : String,
  "[PythonVersion](#cfn-glue-job-jobcommand-pythonversion)" : String,
  "[Runtime](#cfn-glue-job-jobcommand-runtime)" : String,
  "[ScriptLocation](#cfn-glue-job-jobcommand-scriptlocation)" : String
}
```

### YAML
<a name="aws-properties-glue-job-jobcommand-syntax.yaml"></a>

```
  [Name](#cfn-glue-job-jobcommand-name): String
  [PythonVersion](#cfn-glue-job-jobcommand-pythonversion): String
  [Runtime](#cfn-glue-job-jobcommand-runtime): String
  [ScriptLocation](#cfn-glue-job-jobcommand-scriptlocation): String
```

## Properties
<a name="aws-properties-glue-job-jobcommand-properties"></a>

`Name`  <a name="cfn-glue-job-jobcommand-name"></a>
The name of the job command. For an Apache Spark ETL job, this must be `glueetl`. For a Python shell job, it must be `pythonshell`. For an Apache Spark streaming ETL job, this must be `gluestreaming`. For a Ray job, this must be `glueray`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PythonVersion`  <a name="cfn-glue-job-jobcommand-pythonversion"></a>
The Python version being used to execute a Python shell job. Allowed values are 3 or 3.9. Version 2 is deprecated.  
*Required*: No  
*Type*: String  
*Pattern*: `^([2-3]|3[.]9)$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Runtime`  <a name="cfn-glue-job-jobcommand-runtime"></a>
In Ray jobs, Runtime is used to specify the versions of Ray, Python and additional libraries available in your environment. This field is not used in other job types. For supported runtime environment values, see [Working with Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/ray-jobs-section.html) in the AWS Glue Developer Guide.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScriptLocation`  <a name="cfn-glue-job-jobcommand-scriptlocation"></a>
Specifies the Amazon Simple Storage Service (Amazon S3) path to a script that executes a job (required).  
*Required*: No  
*Type*: String  
*Maximum*: `400000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Job NotificationProperty
<a name="aws-properties-glue-job-notificationproperty"></a>

Specifies configuration properties of a notification.

## Syntax
<a name="aws-properties-glue-job-notificationproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-job-notificationproperty-syntax.json"></a>

```
{
  "[NotifyDelayAfter](#cfn-glue-job-notificationproperty-notifydelayafter)" : Integer
}
```

### YAML
<a name="aws-properties-glue-job-notificationproperty-syntax.yaml"></a>

```
  [NotifyDelayAfter](#cfn-glue-job-notificationproperty-notifydelayafter): Integer
```

## Properties
<a name="aws-properties-glue-job-notificationproperty-properties"></a>

`NotifyDelayAfter`  <a name="cfn-glue-job-notificationproperty-notifydelayafter"></a>
After a job run starts, the number of minutes to wait before sending a job run delay notification.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::MLTransform
<a name="aws-resource-glue-mltransform"></a>

The AWS::Glue::MLTransform is an AWS Glue resource type that manages machine learning transforms.

## Syntax
<a name="aws-resource-glue-mltransform-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-mltransform-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::MLTransform",
  "Properties" : {
      "[Description](#cfn-glue-mltransform-description)" : String,
      "[GlueVersion](#cfn-glue-mltransform-glueversion)" : String,
      "[InputRecordTables](#cfn-glue-mltransform-inputrecordtables)" : InputRecordTables,
      "[MaxCapacity](#cfn-glue-mltransform-maxcapacity)" : Number,
      "[MaxRetries](#cfn-glue-mltransform-maxretries)" : Integer,
      "[Name](#cfn-glue-mltransform-name)" : String,
      "[NumberOfWorkers](#cfn-glue-mltransform-numberofworkers)" : Integer,
      "[Role](#cfn-glue-mltransform-role)" : String,
      "[Tags](#cfn-glue-mltransform-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[Timeout](#cfn-glue-mltransform-timeout)" : Integer,
      "[TransformEncryption](#cfn-glue-mltransform-transformencryption)" : TransformEncryption,
      "[TransformParameters](#cfn-glue-mltransform-transformparameters)" : TransformParameters,
      "[WorkerType](#cfn-glue-mltransform-workertype)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-mltransform-syntax.yaml"></a>

```
Type: AWS::Glue::MLTransform
Properties:
  [Description](#cfn-glue-mltransform-description): String
  [GlueVersion](#cfn-glue-mltransform-glueversion): String
  [InputRecordTables](#cfn-glue-mltransform-inputrecordtables): 
    InputRecordTables
  [MaxCapacity](#cfn-glue-mltransform-maxcapacity): Number
  [MaxRetries](#cfn-glue-mltransform-maxretries): Integer
  [Name](#cfn-glue-mltransform-name): String
  [NumberOfWorkers](#cfn-glue-mltransform-numberofworkers): Integer
  [Role](#cfn-glue-mltransform-role): String
  [Tags](#cfn-glue-mltransform-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [Timeout](#cfn-glue-mltransform-timeout): Integer
  [TransformEncryption](#cfn-glue-mltransform-transformencryption): 
    TransformEncryption
  [TransformParameters](#cfn-glue-mltransform-transformparameters): 
    TransformParameters
  [WorkerType](#cfn-glue-mltransform-workertype): String
```

## Properties
<a name="aws-resource-glue-mltransform-properties"></a>

`Description`  <a name="cfn-glue-mltransform-description"></a>
A user-defined, long-form description text for the machine learning transform.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GlueVersion`  <a name="cfn-glue-mltransform-glueversion"></a>
This value determines which version of AWS 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 [AWS Glue Versions](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) in the developer guide.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputRecordTables`  <a name="cfn-glue-mltransform-inputrecordtables"></a>
A list of AWS Glue table definitions used by the transform.  
*Required*: Yes  
*Type*: [InputRecordTables](aws-properties-glue-mltransform-inputrecordtables.md)  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MaxCapacity`  <a name="cfn-glue-mltransform-maxcapacity"></a>
The number of AWS 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 [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).   
`MaxCapacity` is a mutually exclusive option with `NumberOfWorkers` and `WorkerType`.  
+ If either `NumberOfWorkers` or `WorkerType` is set, then `MaxCapacity` cannot be set.
+ If `MaxCapacity` is set then neither `NumberOfWorkers` or `WorkerType` can be set.
+ If `WorkerType` is set, then `NumberOfWorkers` is required (and vice versa).
+ `MaxCapacity` and `NumberOfWorkers` must both be at least 1.
When the `WorkerType` field is set to a value other than `Standard`, the `MaxCapacity` field is set automatically and becomes read-only.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxRetries`  <a name="cfn-glue-mltransform-maxretries"></a>
The maximum number of times to retry after an `MLTaskRun` of the machine learning transform fails.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-mltransform-name"></a>
A user-defined name for the machine learning transform. Names are required to be unique. `Name` is optional:  
+ If you supply `Name`, the stack cannot be repeatedly created.
+ If `Name` is not provided, a randomly generated name will be used instead.
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfWorkers`  <a name="cfn-glue-mltransform-numberofworkers"></a>
The number of workers of a defined `workerType` that are allocated when a task of the transform runs.  
If `WorkerType` is set, then `NumberOfWorkers` is required (and vice versa).  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Role`  <a name="cfn-glue-mltransform-role"></a>
The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.   
+ This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See [Attach a Policy to IAM Users That Access AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html).
+ This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-mltransform-tags"></a>
The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the developer guide.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Timeout`  <a name="cfn-glue-mltransform-timeout"></a>
The timeout in minutes of the machine learning transform.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TransformEncryption`  <a name="cfn-glue-mltransform-transformencryption"></a>
The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.  
Additionally, imported labels and trained transforms can now be encrypted using a customer provided KMS key.  
*Required*: No  
*Type*: [TransformEncryption](aws-properties-glue-mltransform-transformencryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TransformParameters`  <a name="cfn-glue-mltransform-transformparameters"></a>
The algorithm-specific parameters that are associated with the machine learning transform.  
*Required*: Yes  
*Type*: [TransformParameters](aws-properties-glue-mltransform-transformparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WorkerType`  <a name="cfn-glue-mltransform-workertype"></a>
The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.  
+ For the `Standard` worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.
+ For the `G.1X` worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.
+ For the `G.2X` worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.
`MaxCapacity` is a mutually exclusive option with `NumberOfWorkers` and `WorkerType`.  
+ If either `NumberOfWorkers` or `WorkerType` is set, then `MaxCapacity` cannot be set.
+ If `MaxCapacity` is set then neither `NumberOfWorkers` or `WorkerType` can be set.
+ If `WorkerType` is set, then `NumberOfWorkers` is required (and vice versa).
+ `MaxCapacity` and `NumberOfWorkers` must both be at least 1.
*Required*: No  
*Type*: String  
*Allowed values*: `Standard | G.1X | G.2X | G.025X | G.4X | G.8X | Z.2X`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-mltransform-return-values"></a>

### Ref
<a name="aws-resource-glue-mltransform-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the transform ID.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-mltransform-return-values-fn--getatt"></a>

# AWS::Glue::MLTransform FindMatchesParameters
<a name="aws-properties-glue-mltransform-findmatchesparameters"></a>

The parameters to configure the find matches transform.

## Syntax
<a name="aws-properties-glue-mltransform-findmatchesparameters-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-findmatchesparameters-syntax.json"></a>

```
{
  "[AccuracyCostTradeoff](#cfn-glue-mltransform-findmatchesparameters-accuracycosttradeoff)" : Number,
  "[EnforceProvidedLabels](#cfn-glue-mltransform-findmatchesparameters-enforceprovidedlabels)" : Boolean,
  "[PrecisionRecallTradeoff](#cfn-glue-mltransform-findmatchesparameters-precisionrecalltradeoff)" : Number,
  "[PrimaryKeyColumnName](#cfn-glue-mltransform-findmatchesparameters-primarykeycolumnname)" : String
}
```

### YAML
<a name="aws-properties-glue-mltransform-findmatchesparameters-syntax.yaml"></a>

```
  [AccuracyCostTradeoff](#cfn-glue-mltransform-findmatchesparameters-accuracycosttradeoff): Number
  [EnforceProvidedLabels](#cfn-glue-mltransform-findmatchesparameters-enforceprovidedlabels): Boolean
  [PrecisionRecallTradeoff](#cfn-glue-mltransform-findmatchesparameters-precisionrecalltradeoff): Number
  [PrimaryKeyColumnName](#cfn-glue-mltransform-findmatchesparameters-primarykeycolumnname): String
```

## Properties
<a name="aws-properties-glue-mltransform-findmatchesparameters-properties"></a>

`AccuracyCostTradeoff`  <a name="cfn-glue-mltransform-findmatchesparameters-accuracycosttradeoff"></a>
The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate `FindMatches` transform, sometimes with unacceptable accuracy.  
Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall.   
Cost measures how many compute resources, and thus money, are consumed to run the transform.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnforceProvidedLabels`  <a name="cfn-glue-mltransform-findmatchesparameters-enforceprovidedlabels"></a>
The value to switch on or off to force the output to match the provided labels from users. If the value is `True`, the `find matches` transform forces the output to match the provided labels. The results override the normal conflation results. If the value is `False`, the `find matches` transform does not ensure all the labels provided are respected, and the results rely on the trained model.  
Note that setting this value to true may increase the conflation execution time.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PrecisionRecallTradeoff`  <a name="cfn-glue-mltransform-findmatchesparameters-precisionrecalltradeoff"></a>
The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision.  
The precision metric indicates how often your model is correct when it predicts a match.   
The recall metric indicates that for an actual match, how often your model predicts the match.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PrimaryKeyColumnName`  <a name="cfn-glue-mltransform-findmatchesparameters-primarykeycolumnname"></a>
The name of a column that uniquely identifies rows in the source table. Used to help identify matching records.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::MLTransform GlueTables
<a name="aws-properties-glue-mltransform-gluetables"></a>

The database and table in the AWS Glue Data Catalog that is used for input or output data.

## Syntax
<a name="aws-properties-glue-mltransform-gluetables-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-gluetables-syntax.json"></a>

```
{
  "[CatalogId](#cfn-glue-mltransform-gluetables-catalogid)" : String,
  "[ConnectionName](#cfn-glue-mltransform-gluetables-connectionname)" : String,
  "[DatabaseName](#cfn-glue-mltransform-gluetables-databasename)" : String,
  "[TableName](#cfn-glue-mltransform-gluetables-tablename)" : String
}
```

### YAML
<a name="aws-properties-glue-mltransform-gluetables-syntax.yaml"></a>

```
  [CatalogId](#cfn-glue-mltransform-gluetables-catalogid): String
  [ConnectionName](#cfn-glue-mltransform-gluetables-connectionname): String
  [DatabaseName](#cfn-glue-mltransform-gluetables-databasename): String
  [TableName](#cfn-glue-mltransform-gluetables-tablename): String
```

## Properties
<a name="aws-properties-glue-mltransform-gluetables-properties"></a>

`CatalogId`  <a name="cfn-glue-mltransform-gluetables-catalogid"></a>
A unique identifier for the AWS Glue Data Catalog.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConnectionName`  <a name="cfn-glue-mltransform-gluetables-connectionname"></a>
The name of the connection to the AWS Glue Data Catalog.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatabaseName`  <a name="cfn-glue-mltransform-gluetables-databasename"></a>
A database name in the AWS Glue Data Catalog.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TableName`  <a name="cfn-glue-mltransform-gluetables-tablename"></a>
A table name in the AWS Glue Data Catalog.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Glue::MLTransform InputRecordTables
<a name="aws-properties-glue-mltransform-inputrecordtables"></a>

A list of AWS Glue table definitions used by the transform.

## Syntax
<a name="aws-properties-glue-mltransform-inputrecordtables-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-inputrecordtables-syntax.json"></a>

```
{
  "[GlueTables](#cfn-glue-mltransform-inputrecordtables-gluetables)" : [ GlueTables, ... ]
}
```

### YAML
<a name="aws-properties-glue-mltransform-inputrecordtables-syntax.yaml"></a>

```
  [GlueTables](#cfn-glue-mltransform-inputrecordtables-gluetables): 
    - GlueTables
```

## Properties
<a name="aws-properties-glue-mltransform-inputrecordtables-properties"></a>

`GlueTables`  <a name="cfn-glue-mltransform-inputrecordtables-gluetables"></a>
The database and table in the AWS Glue Data Catalog that is used for input or output data.  
*Required*: No  
*Type*: [Array](aws-properties-glue-mltransform-gluetables.md) of [GlueTables](aws-properties-glue-mltransform-gluetables.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Glue::MLTransform MLUserDataEncryption
<a name="aws-properties-glue-mltransform-mluserdataencryption"></a>

The encryption-at-rest settings of the transform that apply to accessing user data.

## Syntax
<a name="aws-properties-glue-mltransform-mluserdataencryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-mluserdataencryption-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-glue-mltransform-mluserdataencryption-kmskeyid)" : String,
  "[MLUserDataEncryptionMode](#cfn-glue-mltransform-mluserdataencryption-mluserdataencryptionmode)" : String
}
```

### YAML
<a name="aws-properties-glue-mltransform-mluserdataencryption-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-glue-mltransform-mluserdataencryption-kmskeyid): String
  [MLUserDataEncryptionMode](#cfn-glue-mltransform-mluserdataencryption-mluserdataencryptionmode): String
```

## Properties
<a name="aws-properties-glue-mltransform-mluserdataencryption-properties"></a>

`KmsKeyId`  <a name="cfn-glue-mltransform-mluserdataencryption-kmskeyid"></a>
The ID for the customer-provided KMS key.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MLUserDataEncryptionMode`  <a name="cfn-glue-mltransform-mluserdataencryption-mluserdataencryptionmode"></a>
The encryption mode applied to user data. Valid values are:  
+ DISABLED: encryption is disabled.
+ SSEKMS: use of server-side encryption with AWS Key Management Service (SSE-KMS) for user data stored in Amazon S3.
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::MLTransform TransformEncryption
<a name="aws-properties-glue-mltransform-transformencryption"></a>

The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

Additionally, imported labels and trained transforms can now be encrypted using a customer provided KMS key.

## Syntax
<a name="aws-properties-glue-mltransform-transformencryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-transformencryption-syntax.json"></a>

```
{
  "[MLUserDataEncryption](#cfn-glue-mltransform-transformencryption-mluserdataencryption)" : MLUserDataEncryption,
  "[TaskRunSecurityConfigurationName](#cfn-glue-mltransform-transformencryption-taskrunsecurityconfigurationname)" : String
}
```

### YAML
<a name="aws-properties-glue-mltransform-transformencryption-syntax.yaml"></a>

```
  [MLUserDataEncryption](#cfn-glue-mltransform-transformencryption-mluserdataencryption): 
    MLUserDataEncryption
  [TaskRunSecurityConfigurationName](#cfn-glue-mltransform-transformencryption-taskrunsecurityconfigurationname): String
```

## Properties
<a name="aws-properties-glue-mltransform-transformencryption-properties"></a>

`MLUserDataEncryption`  <a name="cfn-glue-mltransform-transformencryption-mluserdataencryption"></a>
The encryption-at-rest settings of the transform that apply to accessing user data.  
*Required*: No  
*Type*: [MLUserDataEncryption](aws-properties-glue-mltransform-mluserdataencryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TaskRunSecurityConfigurationName`  <a name="cfn-glue-mltransform-transformencryption-taskrunsecurityconfigurationname"></a>
The name of the security configuration.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::MLTransform TransformParameters
<a name="aws-properties-glue-mltransform-transformparameters"></a>

The algorithm-specific parameters that are associated with the machine learning transform.

## Syntax
<a name="aws-properties-glue-mltransform-transformparameters-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-mltransform-transformparameters-syntax.json"></a>

```
{
  "[FindMatchesParameters](#cfn-glue-mltransform-transformparameters-findmatchesparameters)" : FindMatchesParameters,
  "[TransformType](#cfn-glue-mltransform-transformparameters-transformtype)" : String
}
```

### YAML
<a name="aws-properties-glue-mltransform-transformparameters-syntax.yaml"></a>

```
  [FindMatchesParameters](#cfn-glue-mltransform-transformparameters-findmatchesparameters): 
    FindMatchesParameters
  [TransformType](#cfn-glue-mltransform-transformparameters-transformtype): String
```

## Properties
<a name="aws-properties-glue-mltransform-transformparameters-properties"></a>

`FindMatchesParameters`  <a name="cfn-glue-mltransform-transformparameters-findmatchesparameters"></a>
The parameters for the find matches algorithm.  
*Required*: No  
*Type*: [FindMatchesParameters](aws-properties-glue-mltransform-findmatchesparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TransformType`  <a name="cfn-glue-mltransform-transformparameters-transformtype"></a>
The type of machine learning transform. `FIND_MATCHES` is the only option.  
For information about the types of machine learning transforms, see [Working with machine learning transforms](https://docs.aws.amazon.com/glue/latest/dg/console-machine-learning-transforms.html).  
*Required*: Yes  
*Type*: String  
*Allowed values*: `FIND_MATCHES`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition
<a name="aws-resource-glue-partition"></a>

The `AWS::Glue::Partition` resource creates an AWS Glue partition, which represents a slice of table data. For more information, see [CreatePartition Action](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-CreatePartition) and [Partition Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Partition) in the *AWS Glue Developer Guide*.

## Syntax
<a name="aws-resource-glue-partition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-partition-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Partition",
  "Properties" : {
      "[CatalogId](#cfn-glue-partition-catalogid)" : String,
      "[DatabaseName](#cfn-glue-partition-databasename)" : String,
      "[PartitionInput](#cfn-glue-partition-partitioninput)" : PartitionInput,
      "[TableName](#cfn-glue-partition-tablename)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-partition-syntax.yaml"></a>

```
Type: AWS::Glue::Partition
Properties:
  [CatalogId](#cfn-glue-partition-catalogid): String
  [DatabaseName](#cfn-glue-partition-databasename): String
  [PartitionInput](#cfn-glue-partition-partitioninput): 
    PartitionInput
  [TableName](#cfn-glue-partition-tablename): String
```

## Properties
<a name="aws-resource-glue-partition-properties"></a>

`CatalogId`  <a name="cfn-glue-partition-catalogid"></a>
The AWS account ID of the catalog in which the partion is to be created.  
To specify the account ID, you can use the `Ref` intrinsic function with the `AWS::AccountId` pseudo parameter. For example: `!Ref AWS::AccountId`
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatabaseName`  <a name="cfn-glue-partition-databasename"></a>
The name of the catalog database in which to create the partition.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PartitionInput`  <a name="cfn-glue-partition-partitioninput"></a>
The structure used to create and update a partition.  
*Required*: Yes  
*Type*: [PartitionInput](aws-properties-glue-partition-partitioninput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableName`  <a name="cfn-glue-partition-tablename"></a>
The name of the metadata table in which the partition is to be created.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-partition-return-values"></a>

### Ref
<a name="aws-resource-glue-partition-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the partition name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-partition-return-values-fn--getatt"></a>

## See also
<a name="aws-resource-glue-partition--seealso"></a>
+ [CreatePartition Action](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-CreatePartition) in the *AWS Glue Developer Guide*
+ [Partition Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Partition) in the *AWS Glue Developer Guide*



# AWS::Glue::Partition Column
<a name="aws-properties-glue-partition-column"></a>

A column in a `Table`.

## Syntax
<a name="aws-properties-glue-partition-column-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-column-syntax.json"></a>

```
{
  "[Comment](#cfn-glue-partition-column-comment)" : String,
  "[Name](#cfn-glue-partition-column-name)" : String,
  "[Type](#cfn-glue-partition-column-type)" : String
}
```

### YAML
<a name="aws-properties-glue-partition-column-syntax.yaml"></a>

```
  [Comment](#cfn-glue-partition-column-comment): String
  [Name](#cfn-glue-partition-column-name): String
  [Type](#cfn-glue-partition-column-type): String
```

## Properties
<a name="aws-properties-glue-partition-column-properties"></a>

`Comment`  <a name="cfn-glue-partition-column-comment"></a>
A free-form text comment.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-partition-column-name"></a>
The name of the `Column`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-glue-partition-column-type"></a>
The data type of the `Column`.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `0`  
*Maximum*: `131072`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition Order
<a name="aws-properties-glue-partition-order"></a>

Specifies the sort order of a sorted column.

## Syntax
<a name="aws-properties-glue-partition-order-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-order-syntax.json"></a>

```
{
  "[Column](#cfn-glue-partition-order-column)" : String,
  "[SortOrder](#cfn-glue-partition-order-sortorder)" : Integer
}
```

### YAML
<a name="aws-properties-glue-partition-order-syntax.yaml"></a>

```
  [Column](#cfn-glue-partition-order-column): String
  [SortOrder](#cfn-glue-partition-order-sortorder): Integer
```

## Properties
<a name="aws-properties-glue-partition-order-properties"></a>

`Column`  <a name="cfn-glue-partition-order-column"></a>
The name of the column.  
*Required*: Yes  
*Type*: [String](aws-properties-glue-partition-column.md)  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SortOrder`  <a name="cfn-glue-partition-order-sortorder"></a>
Indicates that the column is sorted in ascending order (`== 1`), or in descending order (`==0`).  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition PartitionInput
<a name="aws-properties-glue-partition-partitioninput"></a>

The structure used to create and update a partition.

## Syntax
<a name="aws-properties-glue-partition-partitioninput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-partitioninput-syntax.json"></a>

```
{
  "[Parameters](#cfn-glue-partition-partitioninput-parameters)" : Json,
  "[StorageDescriptor](#cfn-glue-partition-partitioninput-storagedescriptor)" : StorageDescriptor,
  "[Values](#cfn-glue-partition-partitioninput-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-partition-partitioninput-syntax.yaml"></a>

```
  [Parameters](#cfn-glue-partition-partitioninput-parameters): Json
  [StorageDescriptor](#cfn-glue-partition-partitioninput-storagedescriptor): 
    StorageDescriptor
  [Values](#cfn-glue-partition-partitioninput-values): 
    - String
```

## Properties
<a name="aws-properties-glue-partition-partitioninput-properties"></a>

`Parameters`  <a name="cfn-glue-partition-partitioninput-parameters"></a>
These key-value pairs define partition parameters.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StorageDescriptor`  <a name="cfn-glue-partition-partitioninput-storagedescriptor"></a>
Provides information about the physical location where the partition is stored.  
*Required*: No  
*Type*: [StorageDescriptor](aws-properties-glue-partition-storagedescriptor.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-glue-partition-partitioninput-values"></a>
The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.  
The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-partition-partitioninput--seealso"></a>
+ [PartitionInput](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-PartitionInput) in the *AWS Glue Developer Guide*



# AWS::Glue::Partition SchemaId
<a name="aws-properties-glue-partition-schemaid"></a>

A structure that contains schema identity fields. Either this or the `SchemaVersionId` has to be provided.

## Syntax
<a name="aws-properties-glue-partition-schemaid-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-schemaid-syntax.json"></a>

```
{
  "[RegistryName](#cfn-glue-partition-schemaid-registryname)" : String,
  "[SchemaArn](#cfn-glue-partition-schemaid-schemaarn)" : String,
  "[SchemaName](#cfn-glue-partition-schemaid-schemaname)" : String
}
```

### YAML
<a name="aws-properties-glue-partition-schemaid-syntax.yaml"></a>

```
  [RegistryName](#cfn-glue-partition-schemaid-registryname): String
  [SchemaArn](#cfn-glue-partition-schemaid-schemaarn): String
  [SchemaName](#cfn-glue-partition-schemaid-schemaname): String
```

## Properties
<a name="aws-properties-glue-partition-schemaid-properties"></a>

`RegistryName`  <a name="cfn-glue-partition-schemaid-registryname"></a>
The name of the schema registry that contains the schema.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaArn`  <a name="cfn-glue-partition-schemaid-schemaarn"></a>
The Amazon Resource Name (ARN) of the schema. One of `SchemaArn` or `SchemaName` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaName`  <a name="cfn-glue-partition-schemaid-schemaname"></a>
The name of the schema. One of `SchemaArn` or `SchemaName` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition SchemaReference
<a name="aws-properties-glue-partition-schemareference"></a>

An object that references a schema stored in the AWS Glue Schema Registry.

## Syntax
<a name="aws-properties-glue-partition-schemareference-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-schemareference-syntax.json"></a>

```
{
  "[SchemaId](#cfn-glue-partition-schemareference-schemaid)" : SchemaId,
  "[SchemaVersionId](#cfn-glue-partition-schemareference-schemaversionid)" : String,
  "[SchemaVersionNumber](#cfn-glue-partition-schemareference-schemaversionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-glue-partition-schemareference-syntax.yaml"></a>

```
  [SchemaId](#cfn-glue-partition-schemareference-schemaid): 
    SchemaId
  [SchemaVersionId](#cfn-glue-partition-schemareference-schemaversionid): String
  [SchemaVersionNumber](#cfn-glue-partition-schemareference-schemaversionnumber): Integer
```

## Properties
<a name="aws-properties-glue-partition-schemareference-properties"></a>

`SchemaId`  <a name="cfn-glue-partition-schemareference-schemaid"></a>
A structure that contains schema identity fields. Either this or the `SchemaVersionId` has to be provided.  
*Required*: No  
*Type*: [SchemaId](aws-properties-glue-partition-schemaid.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaVersionId`  <a name="cfn-glue-partition-schemareference-schemaversionid"></a>
The unique ID assigned to a version of the schema. Either this or the `SchemaId` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaVersionNumber`  <a name="cfn-glue-partition-schemareference-schemaversionnumber"></a>
The version number of the schema.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition SerdeInfo
<a name="aws-properties-glue-partition-serdeinfo"></a>

Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader.

## Syntax
<a name="aws-properties-glue-partition-serdeinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-serdeinfo-syntax.json"></a>

```
{
  "[Name](#cfn-glue-partition-serdeinfo-name)" : String,
  "[Parameters](#cfn-glue-partition-serdeinfo-parameters)" : Json,
  "[SerializationLibrary](#cfn-glue-partition-serdeinfo-serializationlibrary)" : String
}
```

### YAML
<a name="aws-properties-glue-partition-serdeinfo-syntax.yaml"></a>

```
  [Name](#cfn-glue-partition-serdeinfo-name): String
  [Parameters](#cfn-glue-partition-serdeinfo-parameters): Json
  [SerializationLibrary](#cfn-glue-partition-serdeinfo-serializationlibrary): String
```

## Properties
<a name="aws-properties-glue-partition-serdeinfo-properties"></a>

`Name`  <a name="cfn-glue-partition-serdeinfo-name"></a>
Name of the SerDe.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-partition-serdeinfo-parameters"></a>
These key-value pairs define initialization parameters for the SerDe.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SerializationLibrary`  <a name="cfn-glue-partition-serdeinfo-serializationlibrary"></a>
Usually the class that implements the SerDe. An example is `org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition SkewedInfo
<a name="aws-properties-glue-partition-skewedinfo"></a>

Specifies skewed values in a table. Skewed values are those that occur with very high frequency.

## Syntax
<a name="aws-properties-glue-partition-skewedinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-skewedinfo-syntax.json"></a>

```
{
  "[SkewedColumnNames](#cfn-glue-partition-skewedinfo-skewedcolumnnames)" : [ String, ... ],
  "[SkewedColumnValueLocationMaps](#cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps)" : Json,
  "[SkewedColumnValues](#cfn-glue-partition-skewedinfo-skewedcolumnvalues)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-partition-skewedinfo-syntax.yaml"></a>

```
  [SkewedColumnNames](#cfn-glue-partition-skewedinfo-skewedcolumnnames): 
    - String
  [SkewedColumnValueLocationMaps](#cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps): Json
  [SkewedColumnValues](#cfn-glue-partition-skewedinfo-skewedcolumnvalues): 
    - String
```

## Properties
<a name="aws-properties-glue-partition-skewedinfo-properties"></a>

`SkewedColumnNames`  <a name="cfn-glue-partition-skewedinfo-skewedcolumnnames"></a>
A list of names of columns that contain skewed values.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedColumnValueLocationMaps`  <a name="cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps"></a>
A mapping of skewed values to the columns that contain them.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedColumnValues`  <a name="cfn-glue-partition-skewedinfo-skewedcolumnvalues"></a>
A list of values that appear so frequently as to be considered skewed.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Partition StorageDescriptor
<a name="aws-properties-glue-partition-storagedescriptor"></a>

Describes the physical storage of table data.

## Syntax
<a name="aws-properties-glue-partition-storagedescriptor-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-partition-storagedescriptor-syntax.json"></a>

```
{
  "[BucketColumns](#cfn-glue-partition-storagedescriptor-bucketcolumns)" : [ String, ... ],
  "[Columns](#cfn-glue-partition-storagedescriptor-columns)" : [ Column, ... ],
  "[Compressed](#cfn-glue-partition-storagedescriptor-compressed)" : Boolean,
  "[InputFormat](#cfn-glue-partition-storagedescriptor-inputformat)" : String,
  "[Location](#cfn-glue-partition-storagedescriptor-location)" : String,
  "[NumberOfBuckets](#cfn-glue-partition-storagedescriptor-numberofbuckets)" : Integer,
  "[OutputFormat](#cfn-glue-partition-storagedescriptor-outputformat)" : String,
  "[Parameters](#cfn-glue-partition-storagedescriptor-parameters)" : Json,
  "[SchemaReference](#cfn-glue-partition-storagedescriptor-schemareference)" : SchemaReference,
  "[SerdeInfo](#cfn-glue-partition-storagedescriptor-serdeinfo)" : SerdeInfo,
  "[SkewedInfo](#cfn-glue-partition-storagedescriptor-skewedinfo)" : SkewedInfo,
  "[SortColumns](#cfn-glue-partition-storagedescriptor-sortcolumns)" : [ Order, ... ],
  "[StoredAsSubDirectories](#cfn-glue-partition-storagedescriptor-storedassubdirectories)" : Boolean
}
```

### YAML
<a name="aws-properties-glue-partition-storagedescriptor-syntax.yaml"></a>

```
  [BucketColumns](#cfn-glue-partition-storagedescriptor-bucketcolumns): 
    - String
  [Columns](#cfn-glue-partition-storagedescriptor-columns): 
    - Column
  [Compressed](#cfn-glue-partition-storagedescriptor-compressed): Boolean
  [InputFormat](#cfn-glue-partition-storagedescriptor-inputformat): String
  [Location](#cfn-glue-partition-storagedescriptor-location): String
  [NumberOfBuckets](#cfn-glue-partition-storagedescriptor-numberofbuckets): Integer
  [OutputFormat](#cfn-glue-partition-storagedescriptor-outputformat): String
  [Parameters](#cfn-glue-partition-storagedescriptor-parameters): Json
  [SchemaReference](#cfn-glue-partition-storagedescriptor-schemareference): 
    SchemaReference
  [SerdeInfo](#cfn-glue-partition-storagedescriptor-serdeinfo): 
    SerdeInfo
  [SkewedInfo](#cfn-glue-partition-storagedescriptor-skewedinfo): 
    SkewedInfo
  [SortColumns](#cfn-glue-partition-storagedescriptor-sortcolumns): 
    - Order
  [StoredAsSubDirectories](#cfn-glue-partition-storagedescriptor-storedassubdirectories): Boolean
```

## Properties
<a name="aws-properties-glue-partition-storagedescriptor-properties"></a>

`BucketColumns`  <a name="cfn-glue-partition-storagedescriptor-bucketcolumns"></a>
A list of reducer grouping columns, clustering columns, and bucketing columns in the table.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Columns`  <a name="cfn-glue-partition-storagedescriptor-columns"></a>
A list of the `Columns` in the table.  
*Required*: No  
*Type*: Array of [Column](aws-properties-glue-partition-column.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Compressed`  <a name="cfn-glue-partition-storagedescriptor-compressed"></a>
`True` if the data in the table is compressed, or `False` if not.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputFormat`  <a name="cfn-glue-partition-storagedescriptor-inputformat"></a>
The input format: `SequenceFileInputFormat` (binary), or `TextInputFormat`, or a custom format.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Location`  <a name="cfn-glue-partition-storagedescriptor-location"></a>
The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Maximum*: `2056`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfBuckets`  <a name="cfn-glue-partition-storagedescriptor-numberofbuckets"></a>
The number of buckets.  
You must specify this property if the partition contains any dimension columns.  
*Required*: Conditional  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OutputFormat`  <a name="cfn-glue-partition-storagedescriptor-outputformat"></a>
The output format: `SequenceFileOutputFormat` (binary), or `IgnoreKeyTextOutputFormat`, or a custom format.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-partition-storagedescriptor-parameters"></a>
The user-supplied properties in key-value form.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaReference`  <a name="cfn-glue-partition-storagedescriptor-schemareference"></a>
An object that references a schema stored in the AWS Glue Schema Registry.  
*Required*: No  
*Type*: [SchemaReference](aws-properties-glue-partition-schemareference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SerdeInfo`  <a name="cfn-glue-partition-storagedescriptor-serdeinfo"></a>
The serialization/deserialization (SerDe) information.  
*Required*: No  
*Type*: [SerdeInfo](aws-properties-glue-partition-serdeinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedInfo`  <a name="cfn-glue-partition-storagedescriptor-skewedinfo"></a>
The information about values that appear frequently in a column (skewed values).  
*Required*: No  
*Type*: [SkewedInfo](aws-properties-glue-partition-skewedinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SortColumns`  <a name="cfn-glue-partition-storagedescriptor-sortcolumns"></a>
A list specifying the sort order of each bucket in the table.  
*Required*: No  
*Type*: Array of [Order](aws-properties-glue-partition-order.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StoredAsSubDirectories`  <a name="cfn-glue-partition-storagedescriptor-storedassubdirectories"></a>
`True` if the table data is stored in subdirectories, or `False` if not.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Registry
<a name="aws-resource-glue-registry"></a>

The AWS::Glue::Registry is an AWS Glue resource type that manages registries of schemas in the AWS Glue Schema Registry.

## Syntax
<a name="aws-resource-glue-registry-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-registry-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Registry",
  "Properties" : {
      "[Description](#cfn-glue-registry-description)" : String,
      "[Name](#cfn-glue-registry-name)" : String,
      "[Tags](#cfn-glue-registry-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-glue-registry-syntax.yaml"></a>

```
Type: AWS::Glue::Registry
Properties:
  [Description](#cfn-glue-registry-description): String
  [Name](#cfn-glue-registry-name): String
  [Tags](#cfn-glue-registry-tags): 
    - Tag
```

## Properties
<a name="aws-resource-glue-registry-properties"></a>

`Description`  <a name="cfn-glue-registry-description"></a>
A description of the registry.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-registry-name"></a>
The name of the registry.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-glue-registry-tags"></a>
AWS tags that contain a key value pair and may be searched by console, command line, or API.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-registry-tag.md)  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-registry-return-values"></a>

### Ref
<a name="aws-resource-glue-registry-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns a combination of "VersionId\$1Key\$1Value" as a string.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-registry-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-glue-registry-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
Property description not available.

# AWS::Glue::Registry Tag
<a name="aws-properties-glue-registry-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

For more information about tags, and controlling access to resources in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) and [Specifying AWS Glue Resource ARNs](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html) in the developer guide.

## Syntax
<a name="aws-properties-glue-registry-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-registry-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-registry-tag-key)" : String,
  "[Value](#cfn-glue-registry-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-registry-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-registry-tag-key): String
  [Value](#cfn-glue-registry-tag-value): String
```

## Properties
<a name="aws-properties-glue-registry-tag-properties"></a>

`Key`  <a name="cfn-glue-registry-tag-key"></a>
The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-registry-tag-value"></a>
The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Schema
<a name="aws-resource-glue-schema"></a>

The `AWS::Glue::Schema` is an AWS Glue resource type that manages schemas in the AWS Glue Schema Registry.

## Syntax
<a name="aws-resource-glue-schema-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-schema-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Schema",
  "Properties" : {
      "[CheckpointVersion](#cfn-glue-schema-checkpointversion)" : SchemaVersion,
      "[Compatibility](#cfn-glue-schema-compatibility)" : String,
      "[DataFormat](#cfn-glue-schema-dataformat)" : String,
      "[Description](#cfn-glue-schema-description)" : String,
      "[Name](#cfn-glue-schema-name)" : String,
      "[Registry](#cfn-glue-schema-registry)" : Registry,
      "[SchemaDefinition](#cfn-glue-schema-schemadefinition)" : String,
      "[Tags](#cfn-glue-schema-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-glue-schema-syntax.yaml"></a>

```
Type: AWS::Glue::Schema
Properties:
  [CheckpointVersion](#cfn-glue-schema-checkpointversion): 
    SchemaVersion
  [Compatibility](#cfn-glue-schema-compatibility): String
  [DataFormat](#cfn-glue-schema-dataformat): String
  [Description](#cfn-glue-schema-description): String
  [Name](#cfn-glue-schema-name): String
  [Registry](#cfn-glue-schema-registry): 
    Registry
  [SchemaDefinition](#cfn-glue-schema-schemadefinition): String
  [Tags](#cfn-glue-schema-tags): 
    - Tag
```

## Properties
<a name="aws-resource-glue-schema-properties"></a>

`CheckpointVersion`  <a name="cfn-glue-schema-checkpointversion"></a>
Specify the `VersionNumber` or the `IsLatest` for setting the checkpoint for the schema. This is only required for updating a checkpoint.  
*Required*: No  
*Type*: [SchemaVersion](aws-properties-glue-schema-schemaversion.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Compatibility`  <a name="cfn-glue-schema-compatibility"></a>
The compatibility mode of the schema.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `NONE | DISABLED | BACKWARD | BACKWARD_ALL | FORWARD | FORWARD_ALL | FULL | FULL_ALL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataFormat`  <a name="cfn-glue-schema-dataformat"></a>
The data format of the schema definition. Currently only `AVRO` is supported.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `AVRO | JSON | PROTOBUF`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-glue-schema-description"></a>
A description of the schema if specified when created.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-schema-name"></a>
Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Registry`  <a name="cfn-glue-schema-registry"></a>
The registry where a schema is stored.  
*Required*: No  
*Type*: [Registry](aws-properties-glue-schema-registry.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SchemaDefinition`  <a name="cfn-glue-schema-schemadefinition"></a>
The schema definition using the `DataFormat` setting for `SchemaName`.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `170000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-glue-schema-tags"></a>
AWS tags that contain a key value pair and may be searched by console, command line, or API.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-schema-tag.md)  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-schema-return-values"></a>

### Ref
<a name="aws-resource-glue-schema-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-schema-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-glue-schema-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the schema.

`InitialSchemaVersionId`  <a name="InitialSchemaVersionId-fn::getatt"></a>
Property description not available.

# AWS::Glue::Schema Registry
<a name="aws-properties-glue-schema-registry"></a>

Specifies a registry in the AWS Glue Schema Registry.

## Syntax
<a name="aws-properties-glue-schema-registry-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-schema-registry-syntax.json"></a>

```
{
  "[Arn](#cfn-glue-schema-registry-arn)" : String,
  "[Name](#cfn-glue-schema-registry-name)" : String
}
```

### YAML
<a name="aws-properties-glue-schema-registry-syntax.yaml"></a>

```
  [Arn](#cfn-glue-schema-registry-arn): String
  [Name](#cfn-glue-schema-registry-name): String
```

## Properties
<a name="aws-properties-glue-schema-registry-properties"></a>

`Arn`  <a name="cfn-glue-schema-registry-arn"></a>
The Amazon Resource Name (ARN) of the registry.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws(-(cn|us-gov|iso(-[bef])?))?:glue:.*`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-glue-schema-registry-name"></a>
The name of the registry.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Glue::Schema SchemaVersion
<a name="aws-properties-glue-schema-schemaversion"></a>

Specifies the version of a schema.

## Syntax
<a name="aws-properties-glue-schema-schemaversion-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-schema-schemaversion-syntax.json"></a>

```
{
  "[IsLatest](#cfn-glue-schema-schemaversion-islatest)" : Boolean,
  "[VersionNumber](#cfn-glue-schema-schemaversion-versionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-glue-schema-schemaversion-syntax.yaml"></a>

```
  [IsLatest](#cfn-glue-schema-schemaversion-islatest): Boolean
  [VersionNumber](#cfn-glue-schema-schemaversion-versionnumber): Integer
```

## Properties
<a name="aws-properties-glue-schema-schemaversion-properties"></a>

`IsLatest`  <a name="cfn-glue-schema-schemaversion-islatest"></a>
Indicates if this version is the latest version of the schema.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VersionNumber`  <a name="cfn-glue-schema-schemaversion-versionnumber"></a>
The version number of the schema.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Schema Tag
<a name="aws-properties-glue-schema-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

For more information about tags, and controlling access to resources in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) and [Specifying AWS Glue Resource ARNs](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html) in the developer guide.

## Syntax
<a name="aws-properties-glue-schema-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-schema-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-schema-tag-key)" : String,
  "[Value](#cfn-glue-schema-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-schema-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-schema-tag-key): String
  [Value](#cfn-glue-schema-tag-value): String
```

## Properties
<a name="aws-properties-glue-schema-tag-properties"></a>

`Key`  <a name="cfn-glue-schema-tag-key"></a>
The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-schema-tag-value"></a>
The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::SchemaVersion
<a name="aws-resource-glue-schemaversion"></a>

The `AWS::Glue::SchemaVersion` is an AWS Glue resource type that manages schema versions of schemas in the AWS Glue Schema Registry.

## Syntax
<a name="aws-resource-glue-schemaversion-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-schemaversion-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::SchemaVersion",
  "Properties" : {
      "[Schema](#cfn-glue-schemaversion-schema)" : Schema,
      "[SchemaDefinition](#cfn-glue-schemaversion-schemadefinition)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-schemaversion-syntax.yaml"></a>

```
Type: AWS::Glue::SchemaVersion
Properties:
  [Schema](#cfn-glue-schemaversion-schema): 
    Schema
  [SchemaDefinition](#cfn-glue-schemaversion-schemadefinition): String
```

## Properties
<a name="aws-resource-glue-schemaversion-properties"></a>

`Schema`  <a name="cfn-glue-schemaversion-schema"></a>
The schema that includes the schema version.  
*Required*: Yes  
*Type*: [Schema](aws-properties-glue-schemaversion-schema.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SchemaDefinition`  <a name="cfn-glue-schemaversion-schemadefinition"></a>
The schema definition for the schema version.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `170000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-schemaversion-return-values"></a>

### Ref
<a name="aws-resource-glue-schemaversion-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-schemaversion-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-glue-schemaversion-return-values-fn--getatt-fn--getatt"></a>

`VersionId`  <a name="VersionId-fn::getatt"></a>
Property description not available.

# AWS::Glue::SchemaVersion Schema
<a name="aws-properties-glue-schemaversion-schema"></a>

A wrapper structure to contain schema identity fields. Either `SchemaArn`, or `SchemaName` and `RegistryName` has to be provided.

## Syntax
<a name="aws-properties-glue-schemaversion-schema-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-schemaversion-schema-syntax.json"></a>

```
{
  "[RegistryName](#cfn-glue-schemaversion-schema-registryname)" : String,
  "[SchemaArn](#cfn-glue-schemaversion-schema-schemaarn)" : String,
  "[SchemaName](#cfn-glue-schemaversion-schema-schemaname)" : String
}
```

### YAML
<a name="aws-properties-glue-schemaversion-schema-syntax.yaml"></a>

```
  [RegistryName](#cfn-glue-schemaversion-schema-registryname): String
  [SchemaArn](#cfn-glue-schemaversion-schema-schemaarn): String
  [SchemaName](#cfn-glue-schemaversion-schema-schemaname): String
```

## Properties
<a name="aws-properties-glue-schemaversion-schema-properties"></a>

`RegistryName`  <a name="cfn-glue-schemaversion-schema-registryname"></a>
The name of the registry where the schema is stored. Either `SchemaArn`, or `SchemaName` and `RegistryName` has to be provided.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SchemaArn`  <a name="cfn-glue-schemaversion-schema-schemaarn"></a>
The Amazon Resource Name (ARN) of the schema. Either `SchemaArn`, or `SchemaName` and `RegistryName` has to be provided.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:(aws|aws-us-gov|aws-cn):glue:.*`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SchemaName`  <a name="cfn-glue-schemaversion-schema-schemaname"></a>
The name of the schema. Either `SchemaArn`, or `SchemaName` and `RegistryName` has to be provided.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Glue::SchemaVersionMetadata
<a name="aws-resource-glue-schemaversionmetadata"></a>

The `AWS::Glue::SchemaVersionMetadata` is an AWS Glue resource type that defines the metadata key-value pairs for a schema version in AWS Glue Schema Registry.

## Syntax
<a name="aws-resource-glue-schemaversionmetadata-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-schemaversionmetadata-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::SchemaVersionMetadata",
  "Properties" : {
      "[Key](#cfn-glue-schemaversionmetadata-key)" : String,
      "[SchemaVersionId](#cfn-glue-schemaversionmetadata-schemaversionid)" : String,
      "[Value](#cfn-glue-schemaversionmetadata-value)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-schemaversionmetadata-syntax.yaml"></a>

```
Type: AWS::Glue::SchemaVersionMetadata
Properties:
  [Key](#cfn-glue-schemaversionmetadata-key): String
  [SchemaVersionId](#cfn-glue-schemaversionmetadata-schemaversionid): String
  [Value](#cfn-glue-schemaversionmetadata-value): String
```

## Properties
<a name="aws-resource-glue-schemaversionmetadata-properties"></a>

`Key`  <a name="cfn-glue-schemaversionmetadata-key"></a>
A metadata key in a key-value pair for metadata.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SchemaVersionId`  <a name="cfn-glue-schemaversionmetadata-schemaversionid"></a>
The version number of the schema.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-glue-schemaversionmetadata-value"></a>
A metadata key's corresponding value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-schemaversionmetadata-return-values"></a>

### Ref
<a name="aws-resource-glue-schemaversionmetadata-return-values-ref"></a>

# AWS::Glue::SecurityConfiguration
<a name="aws-resource-glue-securityconfiguration"></a>

Creates a new security configuration. A security configuration is a set of security properties that can be used by AWS Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in AWS Glue, see [Encrypting Data Written by Crawlers, Jobs, and Development Endpoints](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html).

## Syntax
<a name="aws-resource-glue-securityconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-securityconfiguration-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::SecurityConfiguration",
  "Properties" : {
      "[EncryptionConfiguration](#cfn-glue-securityconfiguration-encryptionconfiguration)" : EncryptionConfiguration,
      "[Name](#cfn-glue-securityconfiguration-name)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-securityconfiguration-syntax.yaml"></a>

```
Type: AWS::Glue::SecurityConfiguration
Properties:
  [EncryptionConfiguration](#cfn-glue-securityconfiguration-encryptionconfiguration): 
    EncryptionConfiguration
  [Name](#cfn-glue-securityconfiguration-name): String
```

## Properties
<a name="aws-resource-glue-securityconfiguration-properties"></a>

`EncryptionConfiguration`  <a name="cfn-glue-securityconfiguration-encryptionconfiguration"></a>
The encryption configuration associated with this security configuration.  
*Required*: Yes  
*Type*: [EncryptionConfiguration](aws-properties-glue-securityconfiguration-encryptionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-securityconfiguration-name"></a>
The name of the security configuration.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-securityconfiguration-return-values"></a>

### Ref
<a name="aws-resource-glue-securityconfiguration-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-securityconfiguration-return-values-fn--getatt"></a>

# AWS::Glue::SecurityConfiguration CloudWatchEncryption
<a name="aws-properties-glue-securityconfiguration-cloudwatchencryption"></a>

Specifies how Amazon CloudWatch data should be encrypted.

## Syntax
<a name="aws-properties-glue-securityconfiguration-cloudwatchencryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-securityconfiguration-cloudwatchencryption-syntax.json"></a>

```
{
  "[CloudWatchEncryptionMode](#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode)" : String,
  "[KmsKeyArn](#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn)" : String
}
```

### YAML
<a name="aws-properties-glue-securityconfiguration-cloudwatchencryption-syntax.yaml"></a>

```
  [CloudWatchEncryptionMode](#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode): String
  [KmsKeyArn](#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn): String
```

## Properties
<a name="aws-properties-glue-securityconfiguration-cloudwatchencryption-properties"></a>

`CloudWatchEncryptionMode`  <a name="cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode"></a>
The encryption mode to use for CloudWatch data.  
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | SSE-KMS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyArn`  <a name="cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn"></a>
The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.  
*Required*: No  
*Type*: String  
*Pattern*: `^$|arn:aws[a-z0-9-]*:kms:.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::SecurityConfiguration EncryptionConfiguration
<a name="aws-properties-glue-securityconfiguration-encryptionconfiguration"></a>

Specifies an encryption configuration.

## Syntax
<a name="aws-properties-glue-securityconfiguration-encryptionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-securityconfiguration-encryptionconfiguration-syntax.json"></a>

```
{
  "[CloudWatchEncryption](#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption)" : CloudWatchEncryption,
  "[JobBookmarksEncryption](#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption)" : JobBookmarksEncryption,
  "[S3Encryptions](#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions)" : [ S3Encryption, ... ]
}
```

### YAML
<a name="aws-properties-glue-securityconfiguration-encryptionconfiguration-syntax.yaml"></a>

```
  [CloudWatchEncryption](#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption): 
    CloudWatchEncryption
  [JobBookmarksEncryption](#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption): 
    JobBookmarksEncryption
  [S3Encryptions](#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions): 
    - S3Encryption
```

## Properties
<a name="aws-properties-glue-securityconfiguration-encryptionconfiguration-properties"></a>

`CloudWatchEncryption`  <a name="cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption"></a>
The encryption configuration for Amazon CloudWatch.  
*Required*: No  
*Type*: [CloudWatchEncryption](aws-properties-glue-securityconfiguration-cloudwatchencryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JobBookmarksEncryption`  <a name="cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption"></a>
The encryption configuration for job bookmarks.  
*Required*: No  
*Type*: [JobBookmarksEncryption](aws-properties-glue-securityconfiguration-jobbookmarksencryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3Encryptions`  <a name="cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions"></a>
The encyption configuration for Amazon Simple Storage Service (Amazon S3) data.  
*Required*: No  
*Type*: Array of [S3Encryption](aws-properties-glue-securityconfiguration-s3encryption.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::SecurityConfiguration JobBookmarksEncryption
<a name="aws-properties-glue-securityconfiguration-jobbookmarksencryption"></a>

Specifies how job bookmark data should be encrypted.

## Syntax
<a name="aws-properties-glue-securityconfiguration-jobbookmarksencryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-securityconfiguration-jobbookmarksencryption-syntax.json"></a>

```
{
  "[JobBookmarksEncryptionMode](#cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode)" : String,
  "[KmsKeyArn](#cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn)" : String
}
```

### YAML
<a name="aws-properties-glue-securityconfiguration-jobbookmarksencryption-syntax.yaml"></a>

```
  [JobBookmarksEncryptionMode](#cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode): String
  [KmsKeyArn](#cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn): String
```

## Properties
<a name="aws-properties-glue-securityconfiguration-jobbookmarksencryption-properties"></a>

`JobBookmarksEncryptionMode`  <a name="cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode"></a>
The encryption mode to use for job bookmarks data.  
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | CSE-KMS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyArn`  <a name="cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn"></a>
The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.  
*Required*: No  
*Type*: String  
*Pattern*: `^$|arn:aws[a-z0-9-]*:kms:.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::SecurityConfiguration S3Encryption
<a name="aws-properties-glue-securityconfiguration-s3encryption"></a>

Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted.

## Syntax
<a name="aws-properties-glue-securityconfiguration-s3encryption-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-securityconfiguration-s3encryption-syntax.json"></a>

```
{
  "[KmsKeyArn](#cfn-glue-securityconfiguration-s3encryption-kmskeyarn)" : String,
  "[S3EncryptionMode](#cfn-glue-securityconfiguration-s3encryption-s3encryptionmode)" : String
}
```

### YAML
<a name="aws-properties-glue-securityconfiguration-s3encryption-syntax.yaml"></a>

```
  [KmsKeyArn](#cfn-glue-securityconfiguration-s3encryption-kmskeyarn): String
  [S3EncryptionMode](#cfn-glue-securityconfiguration-s3encryption-s3encryptionmode): String
```

## Properties
<a name="aws-properties-glue-securityconfiguration-s3encryption-properties"></a>

`KmsKeyArn`  <a name="cfn-glue-securityconfiguration-s3encryption-kmskeyarn"></a>
The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.  
*Required*: No  
*Type*: String  
*Pattern*: `^$|arn:aws[a-z0-9-]*:kms:.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3EncryptionMode`  <a name="cfn-glue-securityconfiguration-s3encryption-s3encryptionmode"></a>
The encryption mode to use for Amazon S3 data.  
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | SSE-KMS | SSE-S3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table
<a name="aws-resource-glue-table"></a>

The `AWS::Glue::Table` resource specifies tabular data in the AWS Glue data catalog. For more information, see [Defining Tables in the AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html) and [Table Structure ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table) in the *AWS Glue Developer Guide*.

## Syntax
<a name="aws-resource-glue-table-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-table-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Table",
  "Properties" : {
      "[CatalogId](#cfn-glue-table-catalogid)" : String,
      "[DatabaseName](#cfn-glue-table-databasename)" : String,
      "[OpenTableFormatInput](#cfn-glue-table-opentableformatinput)" : OpenTableFormatInput,
      "[TableInput](#cfn-glue-table-tableinput)" : TableInput
    }
}
```

### YAML
<a name="aws-resource-glue-table-syntax.yaml"></a>

```
Type: AWS::Glue::Table
Properties:
  [CatalogId](#cfn-glue-table-catalogid): String
  [DatabaseName](#cfn-glue-table-databasename): String
  [OpenTableFormatInput](#cfn-glue-table-opentableformatinput): 
    OpenTableFormatInput
  [TableInput](#cfn-glue-table-tableinput): 
    TableInput
```

## Properties
<a name="aws-resource-glue-table-properties"></a>

`CatalogId`  <a name="cfn-glue-table-catalogid"></a>
The ID of the Data Catalog in which to create the `Table`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatabaseName`  <a name="cfn-glue-table-databasename"></a>
The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OpenTableFormatInput`  <a name="cfn-glue-table-opentableformatinput"></a>
Specifies an `OpenTableFormatInput` structure when creating an open format table.  
*Required*: No  
*Type*: [OpenTableFormatInput](aws-properties-glue-table-opentableformatinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableInput`  <a name="cfn-glue-table-tableinput"></a>
A structure used to define a table.  
*Required*: Yes  
*Type*: [TableInput](aws-properties-glue-table-tableinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-table-return-values"></a>

### Ref
<a name="aws-resource-glue-table-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the table name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-table-return-values-fn--getatt"></a>

# AWS::Glue::Table Column
<a name="aws-properties-glue-table-column"></a>

A column in a `Table`.

## Syntax
<a name="aws-properties-glue-table-column-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-column-syntax.json"></a>

```
{
  "[Comment](#cfn-glue-table-column-comment)" : String,
  "[Name](#cfn-glue-table-column-name)" : String,
  "[Type](#cfn-glue-table-column-type)" : String
}
```

### YAML
<a name="aws-properties-glue-table-column-syntax.yaml"></a>

```
  [Comment](#cfn-glue-table-column-comment): String
  [Name](#cfn-glue-table-column-name): String
  [Type](#cfn-glue-table-column-type): String
```

## Properties
<a name="aws-properties-glue-table-column-properties"></a>

`Comment`  <a name="cfn-glue-table-column-comment"></a>
A free-form text comment.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-table-column-name"></a>
The name of the `Column`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-glue-table-column-type"></a>
The data type of the `Column`.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `0`  
*Maximum*: `131072`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-table-column--seealso"></a>
+ [Column Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Column) in the *AWS Glue Developer Guide*



# AWS::Glue::Table IcebergInput
<a name="aws-properties-glue-table-iceberginput"></a>

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

## Syntax
<a name="aws-properties-glue-table-iceberginput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-iceberginput-syntax.json"></a>

```
{
  "[MetadataOperation](#cfn-glue-table-iceberginput-metadataoperation)" : String,
  "[Version](#cfn-glue-table-iceberginput-version)" : String
}
```

### YAML
<a name="aws-properties-glue-table-iceberginput-syntax.yaml"></a>

```
  [MetadataOperation](#cfn-glue-table-iceberginput-metadataoperation): String
  [Version](#cfn-glue-table-iceberginput-version): String
```

## Properties
<a name="aws-properties-glue-table-iceberginput-properties"></a>

`MetadataOperation`  <a name="cfn-glue-table-iceberginput-metadataoperation"></a>
A required metadata operation. Can only be set to CREATE.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Version`  <a name="cfn-glue-table-iceberginput-version"></a>
The table version for the Iceberg table. Defaults to 2.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table OpenTableFormatInput
<a name="aws-properties-glue-table-opentableformatinput"></a>

Specifies an `OpenTableFormatInput` structure when creating an open format table.

## Syntax
<a name="aws-properties-glue-table-opentableformatinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-opentableformatinput-syntax.json"></a>

```
{
  "[IcebergInput](#cfn-glue-table-opentableformatinput-iceberginput)" : IcebergInput
}
```

### YAML
<a name="aws-properties-glue-table-opentableformatinput-syntax.yaml"></a>

```
  [IcebergInput](#cfn-glue-table-opentableformatinput-iceberginput): 
    IcebergInput
```

## Properties
<a name="aws-properties-glue-table-opentableformatinput-properties"></a>

`IcebergInput`  <a name="cfn-glue-table-opentableformatinput-iceberginput"></a>
Specifies an `IcebergInput` structure that defines an Apache Iceberg metadata table.  
*Required*: No  
*Type*: [IcebergInput](aws-properties-glue-table-iceberginput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table Order
<a name="aws-properties-glue-table-order"></a>

Specifies the sort order of a sorted column.

## Syntax
<a name="aws-properties-glue-table-order-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-order-syntax.json"></a>

```
{
  "[Column](#cfn-glue-table-order-column)" : String,
  "[SortOrder](#cfn-glue-table-order-sortorder)" : Integer
}
```

### YAML
<a name="aws-properties-glue-table-order-syntax.yaml"></a>

```
  [Column](#cfn-glue-table-order-column): String
  [SortOrder](#cfn-glue-table-order-sortorder): Integer
```

## Properties
<a name="aws-properties-glue-table-order-properties"></a>

`Column`  <a name="cfn-glue-table-order-column"></a>
The name of the column.  
*Required*: Yes  
*Type*: [String](aws-properties-glue-table-column.md)  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SortOrder`  <a name="cfn-glue-table-order-sortorder"></a>
Indicates that the column is sorted in ascending order (`== 1`), or in descending order (`==0`).  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-table-order--seealso"></a>
+ [Order Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Order) in the *AWS Glue Developer Guide*



# AWS::Glue::Table SchemaId
<a name="aws-properties-glue-table-schemaid"></a>

A structure that contains schema identity fields. Either this or the `SchemaVersionId` has to be provided.

## Syntax
<a name="aws-properties-glue-table-schemaid-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-schemaid-syntax.json"></a>

```
{
  "[RegistryName](#cfn-glue-table-schemaid-registryname)" : String,
  "[SchemaArn](#cfn-glue-table-schemaid-schemaarn)" : String,
  "[SchemaName](#cfn-glue-table-schemaid-schemaname)" : String
}
```

### YAML
<a name="aws-properties-glue-table-schemaid-syntax.yaml"></a>

```
  [RegistryName](#cfn-glue-table-schemaid-registryname): String
  [SchemaArn](#cfn-glue-table-schemaid-schemaarn): String
  [SchemaName](#cfn-glue-table-schemaid-schemaname): String
```

## Properties
<a name="aws-properties-glue-table-schemaid-properties"></a>

`RegistryName`  <a name="cfn-glue-table-schemaid-registryname"></a>
The name of the schema registry that contains the schema.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaArn`  <a name="cfn-glue-table-schemaid-schemaarn"></a>
The Amazon Resource Name (ARN) of the schema. One of `SchemaArn` or `SchemaName` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaName`  <a name="cfn-glue-table-schemaid-schemaname"></a>
The name of the schema. One of `SchemaArn` or `SchemaName` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table SchemaReference
<a name="aws-properties-glue-table-schemareference"></a>

An object that references a schema stored in the AWS Glue Schema Registry.

## Syntax
<a name="aws-properties-glue-table-schemareference-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-schemareference-syntax.json"></a>

```
{
  "[SchemaId](#cfn-glue-table-schemareference-schemaid)" : SchemaId,
  "[SchemaVersionId](#cfn-glue-table-schemareference-schemaversionid)" : String,
  "[SchemaVersionNumber](#cfn-glue-table-schemareference-schemaversionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-glue-table-schemareference-syntax.yaml"></a>

```
  [SchemaId](#cfn-glue-table-schemareference-schemaid): 
    SchemaId
  [SchemaVersionId](#cfn-glue-table-schemareference-schemaversionid): String
  [SchemaVersionNumber](#cfn-glue-table-schemareference-schemaversionnumber): Integer
```

## Properties
<a name="aws-properties-glue-table-schemareference-properties"></a>

`SchemaId`  <a name="cfn-glue-table-schemareference-schemaid"></a>
A structure that contains schema identity fields. Either this or the `SchemaVersionId` has to be provided.  
*Required*: No  
*Type*: [SchemaId](aws-properties-glue-table-schemaid.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaVersionId`  <a name="cfn-glue-table-schemareference-schemaversionid"></a>
The unique ID assigned to a version of the schema. Either this or the `SchemaId` has to be provided.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaVersionNumber`  <a name="cfn-glue-table-schemareference-schemaversionnumber"></a>
The version number of the schema.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table SerdeInfo
<a name="aws-properties-glue-table-serdeinfo"></a>

Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader.

## Syntax
<a name="aws-properties-glue-table-serdeinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-serdeinfo-syntax.json"></a>

```
{
  "[Name](#cfn-glue-table-serdeinfo-name)" : String,
  "[Parameters](#cfn-glue-table-serdeinfo-parameters)" : Json,
  "[SerializationLibrary](#cfn-glue-table-serdeinfo-serializationlibrary)" : String
}
```

### YAML
<a name="aws-properties-glue-table-serdeinfo-syntax.yaml"></a>

```
  [Name](#cfn-glue-table-serdeinfo-name): String
  [Parameters](#cfn-glue-table-serdeinfo-parameters): Json
  [SerializationLibrary](#cfn-glue-table-serdeinfo-serializationlibrary): String
```

## Properties
<a name="aws-properties-glue-table-serdeinfo-properties"></a>

`Name`  <a name="cfn-glue-table-serdeinfo-name"></a>
Name of the SerDe.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-table-serdeinfo-parameters"></a>
These key-value pairs define initialization parameters for the SerDe.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SerializationLibrary`  <a name="cfn-glue-table-serdeinfo-serializationlibrary"></a>
Usually the class that implements the SerDe. An example is `org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-table-serdeinfo--seealso"></a>
+ [SerDeInfo Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-SerDeInfo) in the *AWS Glue Developer Guide*



# AWS::Glue::Table SkewedInfo
<a name="aws-properties-glue-table-skewedinfo"></a>

Specifies skewed values in a table. Skewed values are those that occur with very high frequency.

## Syntax
<a name="aws-properties-glue-table-skewedinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-skewedinfo-syntax.json"></a>

```
{
  "[SkewedColumnNames](#cfn-glue-table-skewedinfo-skewedcolumnnames)" : [ String, ... ],
  "[SkewedColumnValueLocationMaps](#cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps)" : Json,
  "[SkewedColumnValues](#cfn-glue-table-skewedinfo-skewedcolumnvalues)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-glue-table-skewedinfo-syntax.yaml"></a>

```
  [SkewedColumnNames](#cfn-glue-table-skewedinfo-skewedcolumnnames): 
    - String
  [SkewedColumnValueLocationMaps](#cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps): Json
  [SkewedColumnValues](#cfn-glue-table-skewedinfo-skewedcolumnvalues): 
    - String
```

## Properties
<a name="aws-properties-glue-table-skewedinfo-properties"></a>

`SkewedColumnNames`  <a name="cfn-glue-table-skewedinfo-skewedcolumnnames"></a>
A list of names of columns that contain skewed values.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedColumnValueLocationMaps`  <a name="cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps"></a>
A mapping of skewed values to the columns that contain them.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedColumnValues`  <a name="cfn-glue-table-skewedinfo-skewedcolumnvalues"></a>
A list of values that appear so frequently as to be considered skewed.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table StorageDescriptor
<a name="aws-properties-glue-table-storagedescriptor"></a>

Describes the physical storage of table data.

## Syntax
<a name="aws-properties-glue-table-storagedescriptor-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-storagedescriptor-syntax.json"></a>

```
{
  "[BucketColumns](#cfn-glue-table-storagedescriptor-bucketcolumns)" : [ String, ... ],
  "[Columns](#cfn-glue-table-storagedescriptor-columns)" : [ Column, ... ],
  "[Compressed](#cfn-glue-table-storagedescriptor-compressed)" : Boolean,
  "[InputFormat](#cfn-glue-table-storagedescriptor-inputformat)" : String,
  "[Location](#cfn-glue-table-storagedescriptor-location)" : String,
  "[NumberOfBuckets](#cfn-glue-table-storagedescriptor-numberofbuckets)" : Integer,
  "[OutputFormat](#cfn-glue-table-storagedescriptor-outputformat)" : String,
  "[Parameters](#cfn-glue-table-storagedescriptor-parameters)" : Json,
  "[SchemaReference](#cfn-glue-table-storagedescriptor-schemareference)" : SchemaReference,
  "[SerdeInfo](#cfn-glue-table-storagedescriptor-serdeinfo)" : SerdeInfo,
  "[SkewedInfo](#cfn-glue-table-storagedescriptor-skewedinfo)" : SkewedInfo,
  "[SortColumns](#cfn-glue-table-storagedescriptor-sortcolumns)" : [ Order, ... ],
  "[StoredAsSubDirectories](#cfn-glue-table-storagedescriptor-storedassubdirectories)" : Boolean
}
```

### YAML
<a name="aws-properties-glue-table-storagedescriptor-syntax.yaml"></a>

```
  [BucketColumns](#cfn-glue-table-storagedescriptor-bucketcolumns): 
    - String
  [Columns](#cfn-glue-table-storagedescriptor-columns): 
    - Column
  [Compressed](#cfn-glue-table-storagedescriptor-compressed): Boolean
  [InputFormat](#cfn-glue-table-storagedescriptor-inputformat): String
  [Location](#cfn-glue-table-storagedescriptor-location): String
  [NumberOfBuckets](#cfn-glue-table-storagedescriptor-numberofbuckets): Integer
  [OutputFormat](#cfn-glue-table-storagedescriptor-outputformat): String
  [Parameters](#cfn-glue-table-storagedescriptor-parameters): Json
  [SchemaReference](#cfn-glue-table-storagedescriptor-schemareference): 
    SchemaReference
  [SerdeInfo](#cfn-glue-table-storagedescriptor-serdeinfo): 
    SerdeInfo
  [SkewedInfo](#cfn-glue-table-storagedescriptor-skewedinfo): 
    SkewedInfo
  [SortColumns](#cfn-glue-table-storagedescriptor-sortcolumns): 
    - Order
  [StoredAsSubDirectories](#cfn-glue-table-storagedescriptor-storedassubdirectories): Boolean
```

## Properties
<a name="aws-properties-glue-table-storagedescriptor-properties"></a>

`BucketColumns`  <a name="cfn-glue-table-storagedescriptor-bucketcolumns"></a>
A list of reducer grouping columns, clustering columns, and bucketing columns in the table.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Columns`  <a name="cfn-glue-table-storagedescriptor-columns"></a>
A list of the `Columns` in the table.  
*Required*: No  
*Type*: Array of [Column](aws-properties-glue-table-column.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Compressed`  <a name="cfn-glue-table-storagedescriptor-compressed"></a>
`True` if the data in the table is compressed, or `False` if not.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputFormat`  <a name="cfn-glue-table-storagedescriptor-inputformat"></a>
The input format: `SequenceFileInputFormat` (binary), or `TextInputFormat`, or a custom format.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Location`  <a name="cfn-glue-table-storagedescriptor-location"></a>
The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Maximum*: `2056`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfBuckets`  <a name="cfn-glue-table-storagedescriptor-numberofbuckets"></a>
Must be specified if the table contains any dimension columns.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OutputFormat`  <a name="cfn-glue-table-storagedescriptor-outputformat"></a>
The output format: `SequenceFileOutputFormat` (binary), or `IgnoreKeyTextOutputFormat`, or a custom format.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-table-storagedescriptor-parameters"></a>
The user-supplied properties in key-value form.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaReference`  <a name="cfn-glue-table-storagedescriptor-schemareference"></a>
An object that references a schema stored in the AWS Glue Schema Registry.  
*Required*: No  
*Type*: [SchemaReference](aws-properties-glue-table-schemareference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SerdeInfo`  <a name="cfn-glue-table-storagedescriptor-serdeinfo"></a>
The serialization/deserialization (SerDe) information.  
*Required*: No  
*Type*: [SerdeInfo](aws-properties-glue-table-serdeinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SkewedInfo`  <a name="cfn-glue-table-storagedescriptor-skewedinfo"></a>
The information about values that appear frequently in a column (skewed values).  
*Required*: No  
*Type*: [SkewedInfo](aws-properties-glue-table-skewedinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SortColumns`  <a name="cfn-glue-table-storagedescriptor-sortcolumns"></a>
A list specifying the sort order of each bucket in the table.  
*Required*: No  
*Type*: Array of [Order](aws-properties-glue-table-order.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StoredAsSubDirectories`  <a name="cfn-glue-table-storagedescriptor-storedassubdirectories"></a>
`True` if the table data is stored in subdirectories, or `False` if not.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-table-storagedescriptor--seealso"></a>
+ [StorageDescriptor Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor) in the *AWS Glue Developer Guide*



# AWS::Glue::Table TableIdentifier
<a name="aws-properties-glue-table-tableidentifier"></a>

A structure that describes a target table for resource linking.

## Syntax
<a name="aws-properties-glue-table-tableidentifier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-tableidentifier-syntax.json"></a>

```
{
  "[CatalogId](#cfn-glue-table-tableidentifier-catalogid)" : String,
  "[DatabaseName](#cfn-glue-table-tableidentifier-databasename)" : String,
  "[Name](#cfn-glue-table-tableidentifier-name)" : String,
  "[Region](#cfn-glue-table-tableidentifier-region)" : String
}
```

### YAML
<a name="aws-properties-glue-table-tableidentifier-syntax.yaml"></a>

```
  [CatalogId](#cfn-glue-table-tableidentifier-catalogid): String
  [DatabaseName](#cfn-glue-table-tableidentifier-databasename): String
  [Name](#cfn-glue-table-tableidentifier-name): String
  [Region](#cfn-glue-table-tableidentifier-region): String
```

## Properties
<a name="aws-properties-glue-table-tableidentifier-properties"></a>

`CatalogId`  <a name="cfn-glue-table-tableidentifier-catalogid"></a>
The ID of the Data Catalog in which the table resides.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatabaseName`  <a name="cfn-glue-table-tableidentifier-databasename"></a>
The name of the catalog database that contains the target table.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-table-tableidentifier-name"></a>
The name of the target table.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Region`  <a name="cfn-glue-table-tableidentifier-region"></a>
The Region of the table.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Table TableInput
<a name="aws-properties-glue-table-tableinput"></a>

A structure used to define a table.

## Syntax
<a name="aws-properties-glue-table-tableinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-table-tableinput-syntax.json"></a>

```
{
  "[Description](#cfn-glue-table-tableinput-description)" : String,
  "[Name](#cfn-glue-table-tableinput-name)" : String,
  "[Owner](#cfn-glue-table-tableinput-owner)" : String,
  "[Parameters](#cfn-glue-table-tableinput-parameters)" : Json,
  "[PartitionKeys](#cfn-glue-table-tableinput-partitionkeys)" : [ Column, ... ],
  "[Retention](#cfn-glue-table-tableinput-retention)" : Integer,
  "[StorageDescriptor](#cfn-glue-table-tableinput-storagedescriptor)" : StorageDescriptor,
  "[TableType](#cfn-glue-table-tableinput-tabletype)" : String,
  "[TargetTable](#cfn-glue-table-tableinput-targettable)" : TableIdentifier,
  "[ViewExpandedText](#cfn-glue-table-tableinput-viewexpandedtext)" : String,
  "[ViewOriginalText](#cfn-glue-table-tableinput-vieworiginaltext)" : String
}
```

### YAML
<a name="aws-properties-glue-table-tableinput-syntax.yaml"></a>

```
  [Description](#cfn-glue-table-tableinput-description): String
  [Name](#cfn-glue-table-tableinput-name): String
  [Owner](#cfn-glue-table-tableinput-owner): String
  [Parameters](#cfn-glue-table-tableinput-parameters): Json
  [PartitionKeys](#cfn-glue-table-tableinput-partitionkeys): 
    - Column
  [Retention](#cfn-glue-table-tableinput-retention): Integer
  [StorageDescriptor](#cfn-glue-table-tableinput-storagedescriptor): 
    StorageDescriptor
  [TableType](#cfn-glue-table-tableinput-tabletype): String
  [TargetTable](#cfn-glue-table-tableinput-targettable): 
    TableIdentifier
  [ViewExpandedText](#cfn-glue-table-tableinput-viewexpandedtext): String
  [ViewOriginalText](#cfn-glue-table-tableinput-vieworiginaltext): String
```

## Properties
<a name="aws-properties-glue-table-tableinput-properties"></a>

`Description`  <a name="cfn-glue-table-tableinput-description"></a>
A description of the table.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-table-tableinput-name"></a>
The table name. For Hive compatibility, this is folded to lowercase when it is stored.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Owner`  <a name="cfn-glue-table-tableinput-owner"></a>
The table owner. Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-glue-table-tableinput-parameters"></a>
These key-value pairs define properties associated with the table.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PartitionKeys`  <a name="cfn-glue-table-tableinput-partitionkeys"></a>
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": []`   
*Required*: No  
*Type*: Array of [Column](aws-properties-glue-table-column.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Retention`  <a name="cfn-glue-table-tableinput-retention"></a>
The retention time for this table.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StorageDescriptor`  <a name="cfn-glue-table-tableinput-storagedescriptor"></a>
A storage descriptor containing information about the physical storage of this table.  
*Required*: No  
*Type*: [StorageDescriptor](aws-properties-glue-table-storagedescriptor.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableType`  <a name="cfn-glue-table-tableinput-tabletype"></a>
The type of this table. AWS Glue will create tables with the `EXTERNAL_TABLE` type. Other services, such as Athena, may create tables with additional table types.   
AWS Glue related table types:    
EXTERNAL\$1TABLE  
Hive compatible attribute - indicates a non-Hive managed table.  
GOVERNED  
Used by AWS Lake Formation. The AWS Glue Data Catalog understands `GOVERNED`.
*Required*: No  
*Type*: String  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetTable`  <a name="cfn-glue-table-tableinput-targettable"></a>
A `TableIdentifier` structure that describes a target table for resource linking.  
*Required*: No  
*Type*: [TableIdentifier](aws-properties-glue-table-tableidentifier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ViewExpandedText`  <a name="cfn-glue-table-tableinput-viewexpandedtext"></a>
Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.  
*Required*: No  
*Type*: String  
*Maximum*: `409600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ViewOriginalText`  <a name="cfn-glue-table-tableinput-vieworiginaltext"></a>
Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations. If the table is a `VIRTUAL_VIEW`, certain Athena configuration encoded in base64.  
*Required*: No  
*Type*: String  
*Maximum*: `409600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer
<a name="aws-resource-glue-tableoptimizer"></a>

An AWS Glue resource for enabling table optimizers to improve read performance for open table formats.

## Syntax
<a name="aws-resource-glue-tableoptimizer-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-tableoptimizer-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::TableOptimizer",
  "Properties" : {
      "[CatalogId](#cfn-glue-tableoptimizer-catalogid)" : String,
      "[DatabaseName](#cfn-glue-tableoptimizer-databasename)" : String,
      "[TableName](#cfn-glue-tableoptimizer-tablename)" : String,
      "[TableOptimizerConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration)" : TableOptimizerConfiguration,
      "[Type](#cfn-glue-tableoptimizer-type)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-tableoptimizer-syntax.yaml"></a>

```
Type: AWS::Glue::TableOptimizer
Properties:
  [CatalogId](#cfn-glue-tableoptimizer-catalogid): String
  [DatabaseName](#cfn-glue-tableoptimizer-databasename): String
  [TableName](#cfn-glue-tableoptimizer-tablename): String
  [TableOptimizerConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration): 
    TableOptimizerConfiguration
  [Type](#cfn-glue-tableoptimizer-type): String
```

## Properties
<a name="aws-resource-glue-tableoptimizer-properties"></a>

`CatalogId`  <a name="cfn-glue-tableoptimizer-catalogid"></a>
The catalog ID of the table.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatabaseName`  <a name="cfn-glue-tableoptimizer-databasename"></a>
The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TableName`  <a name="cfn-glue-tableoptimizer-tablename"></a>
The table name. For Hive compatibility, this must be entirely lowercase.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TableOptimizerConfiguration`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration"></a>
Specifies configuration details of a table optimizer.  
*Required*: Yes  
*Type*: [TableOptimizerConfiguration](aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-glue-tableoptimizer-type"></a>
The type of table optimizer. The valid values are:  
+ compaction - for managing compaction with a table optimizer.
+ retention - for managing the retention of snapshot with a table optimizer.
+  orphan\$1file\$1deletion - for managing the deletion of orphan files with a table optimizer.
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-tableoptimizer-return-values"></a>

### Ref
<a name="aws-resource-glue-tableoptimizer-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-tableoptimizer-return-values-fn--getatt"></a>

## Examples
<a name="aws-resource-glue-tableoptimizer--examples"></a>

**Topics**
+ [Compaction table optimizer example](#aws-resource-glue-tableoptimizer--examples--Compaction_table_optimizer_example)
+ [Snapshot retention table optimizer example](#aws-resource-glue-tableoptimizer--examples--Snapshot_retention_table_optimizer_example)
+ [Orphan file deletion table optimizer example](#aws-resource-glue-tableoptimizer--examples--Orphan_file_deletion_table_optimizer_example)

### Compaction table optimizer example
<a name="aws-resource-glue-tableoptimizer--examples--Compaction_table_optimizer_example"></a>

#### JSON
<a name="aws-resource-glue-tableoptimizer--examples--Compaction_table_optimizer_example--json"></a>

```
{
  "GlueTableOptimizer": {
    "Type": "AWS::Glue::TableOptimizer",
    "Properties": {
      "CatalogId": {"Ref": "AWS::AccountId"},
      "DatabaseName": {"Ref": "GlueDatabase"},
      "TableName": {"Ref": "GlueTable"},
      "Type": "compaction",
      "TableOptimizerConfiguration": {
        "RoleArn": {"Fn:: GetAtt": ["CompactionRole", "Arn"]},
        "Enabled": true
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-tableoptimizer--examples--Compaction_table_optimizer_example--yaml"></a>

```
GlueTableOptimizer:
  Type: AWS::Glue::TableOptimizer
  Properties:
    CatalogId: !Ref AWS::AccountId
    DatabaseName: !Ref GlueDatabase
    TableName: !Ref GlueTable
    Type: "compaction"
    TableOptimizerConfiguration:
      RoleArn: !GetAtt CompactionRole.Arn
      Enabled: True
```

### Snapshot retention table optimizer example
<a name="aws-resource-glue-tableoptimizer--examples--Snapshot_retention_table_optimizer_example"></a>

#### JSON
<a name="aws-resource-glue-tableoptimizer--examples--Snapshot_retention_table_optimizer_example--json"></a>

```
{
  "GlueTableOptimizer": {
    "Type": "AWS::Glue::TableOptimizer",
    "Properties": {
      "CatalogId": {"Ref": "AWS::AccountId"},
      "DatabaseName": {"Ref": "GlueDatabase"},
      "TableName": {"Ref": "GlueTable"},
      "Type": "retention",
      "TableOptimizerConfiguration": {
        "RoleArn": {"Fn::GetAtt": ["RetentionRole", "Arn"]},
        "Enabled": true,
        "RetentionConfiguration": {
          "icebergConfiguration": {
            "snapshotRetentionPeriodInDays": 7,
            "numberOfSnapshotsToRetain": 2,
            "cleanExpiredFiles": true
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-tableoptimizer--examples--Snapshot_retention_table_optimizer_example--yaml"></a>

```
GlueTableOptimizer:
    Type: AWS::Glue::TableOptimizer
    Properties:
        CatalogId: !Ref AWS::AccountId
        DatabaseName: !Ref GlueDatabase
        TableName: !Ref GlueTable
        Type: "retention"
        TableOptimizerConfiguration:
            RoleArn: !GetAtt TableOptimizerRole.Arn
            Enabled: False
            RetentionConfiguration:
              IcebergConfiguration:
                SnapshotRetentionPeriodInDays: 7
                NumberOfSnapshotsToRetain: 5
                CleanExpiredFiles: True
```

### Orphan file deletion table optimizer example
<a name="aws-resource-glue-tableoptimizer--examples--Orphan_file_deletion_table_optimizer_example"></a>

#### JSON
<a name="aws-resource-glue-tableoptimizer--examples--Orphan_file_deletion_table_optimizer_example--json"></a>

```
{
  "OrphanFileDeletionOptimizer": {
    "Type": "AWS::Glue::TableOptimizer",
    "Properties": {
      "CatalogId": {"Ref": "AWS::AccountId"},
      "DatabaseName": {"Ref": "GlueDatabase"},
      "TableName": {"Ref": "GlueTable"},
      "Type": "orphan_file_deletion",
      "TableOptimizerConfiguration": {
        "RoleArn": {"Fn::GetAtt": ["OrphanFileDeletionRole", "Arn"]},
        "Enabled": true,
        "OrphanFileDeletionConfiguration": {
          "icebergConfiguration": {
            "orphanFileRetentionPeriodInDays": 5,
            "location": "s3://my-bucket/table-location/"
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-tableoptimizer--examples--Orphan_file_deletion_table_optimizer_example--yaml"></a>

```
GlueTableOptimizer:
    Type: AWS::Glue::TableOptimizer
    Properties:
      CatalogId: !Ref AWS::AccountId
      DatabaseName: !Ref GlueDatabase
      TableName: !Ref GlueTable
      Type: "orphan_file_deletion"
      TableOptimizerConfiguration:
        RoleArn: !GetAtt TableOptimizerRole.Arn
        Enabled: False
        OrphanFileDeletionConfiguration:
          IcebergConfiguration:
            OrphanFileRetentionPeriodInDays: 10
            Location: !Join ['', ['s3://', !ImportValue TestIcebergS3Bucket, '/orphan-files/']]
```

# AWS::Glue::TableOptimizer IcebergConfiguration
<a name="aws-properties-glue-tableoptimizer-icebergconfiguration"></a>

 IcebergConfiguration is a property type within the `AWS::Glue::TableOptimizer` resource in AWS CloudFormation. This configuration is used when setting up table optimization for Iceberg tables in AWS Glue. 

## Syntax
<a name="aws-properties-glue-tableoptimizer-icebergconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-icebergconfiguration-syntax.json"></a>

```
{
  "[Location](#cfn-glue-tableoptimizer-icebergconfiguration-location)" : String,
  "[OrphanFileRetentionPeriodInDays](#cfn-glue-tableoptimizer-icebergconfiguration-orphanfileretentionperiodindays)" : Integer
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-icebergconfiguration-syntax.yaml"></a>

```
  [Location](#cfn-glue-tableoptimizer-icebergconfiguration-location): String
  [OrphanFileRetentionPeriodInDays](#cfn-glue-tableoptimizer-icebergconfiguration-orphanfileretentionperiodindays): Integer
```

## Properties
<a name="aws-properties-glue-tableoptimizer-icebergconfiguration-properties"></a>

`Location`  <a name="cfn-glue-tableoptimizer-icebergconfiguration-location"></a>
Specifies a directory in which to look for orphan files (defaults to the table's location). You may choose a sub-directory rather than the top-level table location.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OrphanFileRetentionPeriodInDays`  <a name="cfn-glue-tableoptimizer-icebergconfiguration-orphanfileretentionperiodindays"></a>
The specific number of days you want to keep the orphan files.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer IcebergRetentionConfiguration
<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration"></a>

<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration-description"></a>The `IcebergRetentionConfiguration` property type specifies Property description not available. for an [AWS::Glue::TableOptimizer](aws-resource-glue-tableoptimizer.md).

## Syntax
<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration-syntax.json"></a>

```
{
  "[CleanExpiredFiles](#cfn-glue-tableoptimizer-icebergretentionconfiguration-cleanexpiredfiles)" : Boolean,
  "[NumberOfSnapshotsToRetain](#cfn-glue-tableoptimizer-icebergretentionconfiguration-numberofsnapshotstoretain)" : Integer,
  "[SnapshotRetentionPeriodInDays](#cfn-glue-tableoptimizer-icebergretentionconfiguration-snapshotretentionperiodindays)" : Integer
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration-syntax.yaml"></a>

```
  [CleanExpiredFiles](#cfn-glue-tableoptimizer-icebergretentionconfiguration-cleanexpiredfiles): Boolean
  [NumberOfSnapshotsToRetain](#cfn-glue-tableoptimizer-icebergretentionconfiguration-numberofsnapshotstoretain): Integer
  [SnapshotRetentionPeriodInDays](#cfn-glue-tableoptimizer-icebergretentionconfiguration-snapshotretentionperiodindays): Integer
```

## Properties
<a name="aws-properties-glue-tableoptimizer-icebergretentionconfiguration-properties"></a>

`CleanExpiredFiles`  <a name="cfn-glue-tableoptimizer-icebergretentionconfiguration-cleanexpiredfiles"></a>
Property description not available.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfSnapshotsToRetain`  <a name="cfn-glue-tableoptimizer-icebergretentionconfiguration-numberofsnapshotstoretain"></a>
Property description not available.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SnapshotRetentionPeriodInDays`  <a name="cfn-glue-tableoptimizer-icebergretentionconfiguration-snapshotretentionperiodindays"></a>
Property description not available.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer OrphanFileDeletionConfiguration
<a name="aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration"></a>

Configuration for removing files that are are not tracked by the Iceberg table metadata, and are older than your configured age limit. This configuration helps optimize storage usage and costs by automatically cleaning up files that are no longer needed by the table. 

## Syntax
<a name="aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration-syntax.json"></a>

```
{
  "[IcebergConfiguration](#cfn-glue-tableoptimizer-orphanfiledeletionconfiguration-icebergconfiguration)" : IcebergConfiguration
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration-syntax.yaml"></a>

```
  [IcebergConfiguration](#cfn-glue-tableoptimizer-orphanfiledeletionconfiguration-icebergconfiguration): 
    IcebergConfiguration
```

## Properties
<a name="aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration-properties"></a>

`IcebergConfiguration`  <a name="cfn-glue-tableoptimizer-orphanfiledeletionconfiguration-icebergconfiguration"></a>
The `IcebergConfiguration` property helps optimize your Iceberg tables in AWS Glue by allowing you to specify format-specific settings that control how data is stored, compressed, and managed.  
*Required*: No  
*Type*: [IcebergConfiguration](aws-properties-glue-tableoptimizer-icebergconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer RetentionConfiguration
<a name="aws-properties-glue-tableoptimizer-retentionconfiguration"></a>

The configuration for a snapshot retention optimizer for Apache Iceberg tables.

## Syntax
<a name="aws-properties-glue-tableoptimizer-retentionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-retentionconfiguration-syntax.json"></a>

```
{
  "[IcebergConfiguration](#cfn-glue-tableoptimizer-retentionconfiguration-icebergconfiguration)" : IcebergRetentionConfiguration
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-retentionconfiguration-syntax.yaml"></a>

```
  [IcebergConfiguration](#cfn-glue-tableoptimizer-retentionconfiguration-icebergconfiguration): 
    IcebergRetentionConfiguration
```

## Properties
<a name="aws-properties-glue-tableoptimizer-retentionconfiguration-properties"></a>

`IcebergConfiguration`  <a name="cfn-glue-tableoptimizer-retentionconfiguration-icebergconfiguration"></a>
The configuration for an Iceberg snapshot retention optimizer.   
*Required*: No  
*Type*: [IcebergRetentionConfiguration](aws-properties-glue-tableoptimizer-icebergretentionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer TableOptimizerConfiguration
<a name="aws-properties-glue-tableoptimizer-tableoptimizerconfiguration"></a>

Specifies configuration details of a table optimizer.

## Syntax
<a name="aws-properties-glue-tableoptimizer-tableoptimizerconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-tableoptimizerconfiguration-syntax.json"></a>

```
{
  "[Enabled](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-enabled)" : Boolean,
  "[OrphanFileDeletionConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-orphanfiledeletionconfiguration)" : OrphanFileDeletionConfiguration,
  "[RetentionConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-retentionconfiguration)" : RetentionConfiguration,
  "[RoleArn](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-rolearn)" : String,
  "[VpcConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-vpcconfiguration)" : VpcConfiguration
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-tableoptimizerconfiguration-syntax.yaml"></a>

```
  [Enabled](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-enabled): Boolean
  [OrphanFileDeletionConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-orphanfiledeletionconfiguration): 
    OrphanFileDeletionConfiguration
  [RetentionConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-retentionconfiguration): 
    RetentionConfiguration
  [RoleArn](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-rolearn): String
  [VpcConfiguration](#cfn-glue-tableoptimizer-tableoptimizerconfiguration-vpcconfiguration): 
    VpcConfiguration
```

## Properties
<a name="aws-properties-glue-tableoptimizer-tableoptimizerconfiguration-properties"></a>

`Enabled`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration-enabled"></a>
Whether the table optimization is enabled.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OrphanFileDeletionConfiguration`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration-orphanfiledeletionconfiguration"></a>
`OrphanFileDeletionConfiguration` is a property that can be included within the TableOptimizer resource. It controls the automatic deletion of orphaned files - files that are not tracked by the table metadata, and older than the configured age limit.  
*Required*: No  
*Type*: [OrphanFileDeletionConfiguration](aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RetentionConfiguration`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration-retentionconfiguration"></a>
The configuration for a snapshot retention optimizer for Apache Iceberg tables.  
*Required*: No  
*Type*: [RetentionConfiguration](aws-properties-glue-tableoptimizer-retentionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration-rolearn"></a>
A role passed by the caller which gives the service permission to update the resources associated with the optimizer on the caller's behalf.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConfiguration`  <a name="cfn-glue-tableoptimizer-tableoptimizerconfiguration-vpcconfiguration"></a>
An object that describes the VPC configuration for a table optimizer. This configuration is necessary to perform optimization on tables that are in a customer VPC.  
*Required*: No  
*Type*: [VpcConfiguration](aws-properties-glue-tableoptimizer-vpcconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::TableOptimizer VpcConfiguration
<a name="aws-properties-glue-tableoptimizer-vpcconfiguration"></a>

 An object that describes the VPC configuration for a table optimizer. This configuration is necessary to perform optimization on tables that are in a customer VPC. 

## Syntax
<a name="aws-properties-glue-tableoptimizer-vpcconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-tableoptimizer-vpcconfiguration-syntax.json"></a>

```
{
  "[GlueConnectionName](#cfn-glue-tableoptimizer-vpcconfiguration-glueconnectionname)" : String
}
```

### YAML
<a name="aws-properties-glue-tableoptimizer-vpcconfiguration-syntax.yaml"></a>

```
  [GlueConnectionName](#cfn-glue-tableoptimizer-vpcconfiguration-glueconnectionname): String
```

## Properties
<a name="aws-properties-glue-tableoptimizer-vpcconfiguration-properties"></a>

`GlueConnectionName`  <a name="cfn-glue-tableoptimizer-vpcconfiguration-glueconnectionname"></a>
The name of the AWS Glue connection used for the VPC for the table optimizer.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Trigger
<a name="aws-resource-glue-trigger"></a>

The `AWS::Glue::Trigger` resource specifies triggers that run AWS Glue jobs. For more information, see [Triggering Jobs in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) and [Trigger Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Trigger) in the *AWS Glue Developer Guide*. 

## Syntax
<a name="aws-resource-glue-trigger-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-trigger-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Trigger",
  "Properties" : {
      "[Actions](#cfn-glue-trigger-actions)" : [ Action, ... ],
      "[Description](#cfn-glue-trigger-description)" : String,
      "[EventBatchingCondition](#cfn-glue-trigger-eventbatchingcondition)" : EventBatchingCondition,
      "[Name](#cfn-glue-trigger-name)" : String,
      "[Predicate](#cfn-glue-trigger-predicate)" : Predicate,
      "[Schedule](#cfn-glue-trigger-schedule)" : String,
      "[StartOnCreation](#cfn-glue-trigger-startoncreation)" : Boolean,
      "[Tags](#cfn-glue-trigger-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ],
      "[Type](#cfn-glue-trigger-type)" : String,
      "[WorkflowName](#cfn-glue-trigger-workflowname)" : String
    }
}
```

### YAML
<a name="aws-resource-glue-trigger-syntax.yaml"></a>

```
Type: AWS::Glue::Trigger
Properties:
  [Actions](#cfn-glue-trigger-actions): 
    - Action
  [Description](#cfn-glue-trigger-description): String
  [EventBatchingCondition](#cfn-glue-trigger-eventbatchingcondition): 
    EventBatchingCondition
  [Name](#cfn-glue-trigger-name): String
  [Predicate](#cfn-glue-trigger-predicate): 
    Predicate
  [Schedule](#cfn-glue-trigger-schedule): String
  [StartOnCreation](#cfn-glue-trigger-startoncreation): Boolean
  [Tags](#cfn-glue-trigger-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
  [Type](#cfn-glue-trigger-type): String
  [WorkflowName](#cfn-glue-trigger-workflowname): String
```

## Properties
<a name="aws-resource-glue-trigger-properties"></a>

`Actions`  <a name="cfn-glue-trigger-actions"></a>
The actions initiated by this trigger.  
*Required*: Yes  
*Type*: Array of [Action](aws-properties-glue-trigger-action.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-trigger-description"></a>
A description of this trigger.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EventBatchingCondition`  <a name="cfn-glue-trigger-eventbatchingcondition"></a>
Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.  
*Required*: No  
*Type*: [EventBatchingCondition](aws-properties-glue-trigger-eventbatchingcondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-trigger-name"></a>
The name of the trigger.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Predicate`  <a name="cfn-glue-trigger-predicate"></a>
The predicate of this trigger, which defines when it will fire.  
*Required*: No  
*Type*: [Predicate](aws-properties-glue-trigger-predicate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Schedule`  <a name="cfn-glue-trigger-schedule"></a>
A `cron` expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html) in the *AWS Glue Developer Guide*. For example, to run something every day at 12:15 UTC, specify `cron(15 12 * * ? *)`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartOnCreation`  <a name="cfn-glue-trigger-startoncreation"></a>
Set to true to start `SCHEDULED` and `CONDITIONAL` triggers when created. True is not supported for `ON_DEMAND` triggers.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-glue-trigger-tags"></a>
The tags to use with this trigger.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-glue-trigger-type"></a>
The type of trigger that this is.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SCHEDULED | CONDITIONAL | ON_DEMAND | EVENT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`WorkflowName`  <a name="cfn-glue-trigger-workflowname"></a>
The name of the workflow associated with the trigger.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-glue-trigger-return-values"></a>

### Ref
<a name="aws-resource-glue-trigger-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the trigger name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-glue-trigger--examples"></a>



**Topics**
+ [On-Demand Trigger](#aws-resource-glue-trigger--examples--On-Demand_Trigger)
+ [Scheduled Trigger](#aws-resource-glue-trigger--examples--Scheduled_Trigger)
+ [Conditional Trigger](#aws-resource-glue-trigger--examples--Conditional_Trigger)

### On-Demand Trigger
<a name="aws-resource-glue-trigger--examples--On-Demand_Trigger"></a>

The following example creates an on-demand trigger that triggers one job.

#### JSON
<a name="aws-resource-glue-trigger--examples--On-Demand_Trigger--json"></a>

```
{
  "Resources": {
    "OnDemandJobTrigger": {
      "Type": "AWS::Glue::Trigger",
      "Properties": {
        "Type": "ON_DEMAND",
        "Description": "DESCRIPTION_ON_DEMAND",
        "Actions": [
          {
            "JobName": "prod-job2"
          }
        ],
        "Name": "prod-trigger1-ondemand"
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-trigger--examples--On-Demand_Trigger--yaml"></a>

```
Resources:
  OnDemandJobTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Type: ON_DEMAND
      Description: DESCRIPTION_ON_DEMAND
      Actions:
        - JobName: prod-job2
      Name: prod-trigger1-ondemand
```

### Scheduled Trigger
<a name="aws-resource-glue-trigger--examples--Scheduled_Trigger"></a>

The following example creates a scheduled trigger that runs every two hours and triggers two jobs. Note that it declares an argument for `prod-job3`.

#### JSON
<a name="aws-resource-glue-trigger--examples--Scheduled_Trigger--json"></a>

```
{
  "Resources": {
    "ScheduledJobTrigger": {
      "Type": "AWS::Glue::Trigger",
      "Properties": {
        "Type": "SCHEDULED",
        "Description": "DESCRIPTION_SCHEDULED",
        "Schedule": "cron(0 */2 * * ? *)",
        "Actions": [
          {
            "JobName": "prod-job2"
          },
          {
            "JobName": "prod-job3",
            "Arguments": {
              "--job-bookmark-option": "job-bookmark-enable"
            }
          }
        ],
        "Name": "prod-trigger1-scheduled"
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-trigger--examples--Scheduled_Trigger--yaml"></a>

```
Resources:
  ScheduledJobTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Type: SCHEDULED
      Description: DESCRIPTION_SCHEDULED
      Schedule: cron(0 */2 * * ? *)
      Actions:
        - JobName: prod-job2
        - JobName: prod-job3
          Arguments:
            '--job-bookmark-option': job-bookmark-enable
      Name: prod-trigger1-scheduled
```

### Conditional Trigger
<a name="aws-resource-glue-trigger--examples--Conditional_Trigger"></a>

The following example creates a conditional trigger that starts a job based on the successful completion of the job run.

#### JSON
<a name="aws-resource-glue-trigger--examples--Conditional_Trigger--json"></a>

```
{
  "Description": "AWS Glue trigger test",
  "Resources": {
    "MyJobTriggerRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "glue.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17",		 	 	 
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    },
    "MyJob": {
      "Type": "AWS::Glue::Job",
      "Properties": {
        "Name": "MyJobTriggerJob",
        "LogUri": "wikiData",
        "Role": {
          "Ref": "MyJobTriggerRole"
        },
        "Command": {
          "Name": "glueetl",
          "ScriptLocation": "s3://testdata-bucket/s3-target/create-delete-job-xtf-ETL-s3-json-to-csv.py"
        },
        "DefaultArguments": {
          "--job-bookmark-option": "job-bookmark-enable"
        },
        "MaxRetries": 0
      }
    },
    "MyJobTrigger": {
      "Type": "AWS::Glue::Trigger",
      "Properties": {
        "Name": "MyJobTrigger",
        "Type": "CONDITIONAL",
        "Description": "Description for a conditional job trigger",
        "Actions": [
          {
            "JobName": {
              "Ref": "MyJob"
            },
            "Arguments": {
              "--job-bookmark-option": "job-bookmark-enable"
            }
          }
        ],
        "Predicate": {
          "Conditions": [
            {
              "LogicalOperator": "EQUALS",
              "JobName": {
                "Ref": "MyJob"
              },
              "State": "SUCCEEDED"
            }
          ]
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-glue-trigger--examples--Conditional_Trigger--yaml"></a>

```
---
Description: "AWS Glue trigger test"
Resources:
  MyJobTriggerRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          -
            Effect: "Allow"
            Principal:
              Service:
                - "glue.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        -
          PolicyName: "root"
          PolicyDocument:
            Version: "2012-10-17"		 	 	 
            Statement:
              -
                Effect: "Allow"
                Action: "*"
                Resource: "*"
  MyJob:
    Type: AWS::Glue::Job
    Properties:
      Name: "MyJobTriggerJob"
      LogUri: "wikiData"
      Role: !Ref MyJobTriggerRole
      Command:
        Name: "glueetl"
        ScriptLocation: "s3://testdata-bucket/s3-target/create-delete-job-xtf-ETL-s3-json-to-csv.py"
      DefaultArguments:
        "--job-bookmark-option": "job-bookmark-enable"
      MaxRetries: 0
  MyJobTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Name: "MyJobTrigger"
      Type: "CONDITIONAL"
      Description: "Description for a conditional job trigger"											
      Actions:
        - JobName: !Ref MyJob
          Arguments:
            "--job-bookmark-option": "job-bookmark-enable"
      Predicate:
        Conditions:
          - LogicalOperator: EQUALS
            JobName: !Ref MyJob
            State: SUCCEEDED
```

# AWS::Glue::Trigger Action
<a name="aws-properties-glue-trigger-action"></a>

Defines an action to be initiated by a trigger.

## Syntax
<a name="aws-properties-glue-trigger-action-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-trigger-action-syntax.json"></a>

```
{
  "[Arguments](#cfn-glue-trigger-action-arguments)" : Json,
  "[CrawlerName](#cfn-glue-trigger-action-crawlername)" : String,
  "[JobName](#cfn-glue-trigger-action-jobname)" : String,
  "[NotificationProperty](#cfn-glue-trigger-action-notificationproperty)" : NotificationProperty,
  "[SecurityConfiguration](#cfn-glue-trigger-action-securityconfiguration)" : String,
  "[Timeout](#cfn-glue-trigger-action-timeout)" : Integer
}
```

### YAML
<a name="aws-properties-glue-trigger-action-syntax.yaml"></a>

```
  [Arguments](#cfn-glue-trigger-action-arguments): Json
  [CrawlerName](#cfn-glue-trigger-action-crawlername): String
  [JobName](#cfn-glue-trigger-action-jobname): String
  [NotificationProperty](#cfn-glue-trigger-action-notificationproperty): 
    NotificationProperty
  [SecurityConfiguration](#cfn-glue-trigger-action-securityconfiguration): String
  [Timeout](#cfn-glue-trigger-action-timeout): Integer
```

## Properties
<a name="aws-properties-glue-trigger-action-properties"></a>

`Arguments`  <a name="cfn-glue-trigger-action-arguments"></a>
The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.  
You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes.  
For information about how to specify and consume your own job arguments, see [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) in the *AWS Glue Developer Guide*.  
For information about the key-value pairs that AWS Glue consumes to set up your job, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CrawlerName`  <a name="cfn-glue-trigger-action-crawlername"></a>
The name of the crawler to be used with this action.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JobName`  <a name="cfn-glue-trigger-action-jobname"></a>
The name of a job to be executed.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationProperty`  <a name="cfn-glue-trigger-action-notificationproperty"></a>
Specifies configuration properties of a job run notification.  
*Required*: No  
*Type*: [NotificationProperty](aws-properties-glue-trigger-notificationproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityConfiguration`  <a name="cfn-glue-trigger-action-securityconfiguration"></a>
The name of the `SecurityConfiguration` structure to be used with this action.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Timeout`  <a name="cfn-glue-trigger-action-timeout"></a>
The `JobRun` timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-trigger-action--seealso"></a>
+ [Action Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Action) in the *AWS Glue Developer Guide*



# AWS::Glue::Trigger Condition
<a name="aws-properties-glue-trigger-condition"></a>

Defines a condition under which a trigger fires.

## Syntax
<a name="aws-properties-glue-trigger-condition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-trigger-condition-syntax.json"></a>

```
{
  "[CrawlerName](#cfn-glue-trigger-condition-crawlername)" : String,
  "[CrawlState](#cfn-glue-trigger-condition-crawlstate)" : String,
  "[JobName](#cfn-glue-trigger-condition-jobname)" : String,
  "[LogicalOperator](#cfn-glue-trigger-condition-logicaloperator)" : String,
  "[State](#cfn-glue-trigger-condition-state)" : String
}
```

### YAML
<a name="aws-properties-glue-trigger-condition-syntax.yaml"></a>

```
  [CrawlerName](#cfn-glue-trigger-condition-crawlername): String
  [CrawlState](#cfn-glue-trigger-condition-crawlstate): String
  [JobName](#cfn-glue-trigger-condition-jobname): String
  [LogicalOperator](#cfn-glue-trigger-condition-logicaloperator): String
  [State](#cfn-glue-trigger-condition-state): String
```

## Properties
<a name="aws-properties-glue-trigger-condition-properties"></a>

`CrawlerName`  <a name="cfn-glue-trigger-condition-crawlername"></a>
The name of the crawler to which this condition applies.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CrawlState`  <a name="cfn-glue-trigger-condition-crawlstate"></a>
The state of the crawler to which this condition applies.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JobName`  <a name="cfn-glue-trigger-condition-jobname"></a>
The name of the job whose `JobRuns` this condition applies to, and on which this trigger waits.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogicalOperator`  <a name="cfn-glue-trigger-condition-logicaloperator"></a>
A logical operator.  
*Required*: No  
*Type*: String  
*Allowed values*: `EQUALS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`State`  <a name="cfn-glue-trigger-condition-state"></a>
The condition state. Currently, the values supported are `SUCCEEDED`, `STOPPED`, `TIMEOUT`, and `FAILED`.  
*Required*: No  
*Type*: String  
*Allowed values*: `STARTING | RUNNING | STOPPING | STOPPED | SUCCEEDED | FAILED | TIMEOUT | ERROR | WAITING | EXPIRED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-trigger-condition--seealso"></a>
+ [Condition Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Condition) in the *AWS Glue Developer Guide*



# AWS::Glue::Trigger EventBatchingCondition
<a name="aws-properties-glue-trigger-eventbatchingcondition"></a>

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

## Syntax
<a name="aws-properties-glue-trigger-eventbatchingcondition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-trigger-eventbatchingcondition-syntax.json"></a>

```
{
  "[BatchSize](#cfn-glue-trigger-eventbatchingcondition-batchsize)" : Integer,
  "[BatchWindow](#cfn-glue-trigger-eventbatchingcondition-batchwindow)" : Integer
}
```

### YAML
<a name="aws-properties-glue-trigger-eventbatchingcondition-syntax.yaml"></a>

```
  [BatchSize](#cfn-glue-trigger-eventbatchingcondition-batchsize): Integer
  [BatchWindow](#cfn-glue-trigger-eventbatchingcondition-batchwindow): Integer
```

## Properties
<a name="aws-properties-glue-trigger-eventbatchingcondition-properties"></a>

`BatchSize`  <a name="cfn-glue-trigger-eventbatchingcondition-batchsize"></a>
Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BatchWindow`  <a name="cfn-glue-trigger-eventbatchingcondition-batchwindow"></a>
Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Trigger NotificationProperty
<a name="aws-properties-glue-trigger-notificationproperty"></a>

Specifies configuration properties of a job run notification.

## Syntax
<a name="aws-properties-glue-trigger-notificationproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-trigger-notificationproperty-syntax.json"></a>

```
{
  "[NotifyDelayAfter](#cfn-glue-trigger-notificationproperty-notifydelayafter)" : Integer
}
```

### YAML
<a name="aws-properties-glue-trigger-notificationproperty-syntax.yaml"></a>

```
  [NotifyDelayAfter](#cfn-glue-trigger-notificationproperty-notifydelayafter): Integer
```

## Properties
<a name="aws-properties-glue-trigger-notificationproperty-properties"></a>

`NotifyDelayAfter`  <a name="cfn-glue-trigger-notificationproperty-notifydelayafter"></a>
After a job run starts, the number of minutes to wait before sending a job run delay notification  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Trigger Predicate
<a name="aws-properties-glue-trigger-predicate"></a>

Defines the predicate of the trigger, which determines when it fires.

## Syntax
<a name="aws-properties-glue-trigger-predicate-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-trigger-predicate-syntax.json"></a>

```
{
  "[Conditions](#cfn-glue-trigger-predicate-conditions)" : [ Condition, ... ],
  "[Logical](#cfn-glue-trigger-predicate-logical)" : String
}
```

### YAML
<a name="aws-properties-glue-trigger-predicate-syntax.yaml"></a>

```
  [Conditions](#cfn-glue-trigger-predicate-conditions): 
    - Condition
  [Logical](#cfn-glue-trigger-predicate-logical): String
```

## Properties
<a name="aws-properties-glue-trigger-predicate-properties"></a>

`Conditions`  <a name="cfn-glue-trigger-predicate-conditions"></a>
A list of the conditions that determine when the trigger will fire.  
*Required*: No  
*Type*: Array of [Condition](aws-properties-glue-trigger-condition.md)  
*Maximum*: `500`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Logical`  <a name="cfn-glue-trigger-predicate-logical"></a>
An optional field if only one condition is listed. If multiple conditions are listed, then this field is required.  
*Required*: No  
*Type*: String  
*Allowed values*: `AND | ANY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-glue-trigger-predicate--seealso"></a>
+ [Predicate Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Predicate) in the *AWS Glue Developer Guide*



# AWS::Glue::UsageProfile
<a name="aws-resource-glue-usageprofile"></a>

Creates an AWS Glue usage profile.

## Syntax
<a name="aws-resource-glue-usageprofile-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-usageprofile-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::UsageProfile",
  "Properties" : {
      "[Configuration](#cfn-glue-usageprofile-configuration)" : ProfileConfiguration,
      "[Description](#cfn-glue-usageprofile-description)" : String,
      "[Name](#cfn-glue-usageprofile-name)" : String,
      "[Tags](#cfn-glue-usageprofile-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-glue-usageprofile-syntax.yaml"></a>

```
Type: AWS::Glue::UsageProfile
Properties:
  [Configuration](#cfn-glue-usageprofile-configuration): 
    ProfileConfiguration
  [Description](#cfn-glue-usageprofile-description): String
  [Name](#cfn-glue-usageprofile-name): String
  [Tags](#cfn-glue-usageprofile-tags): 
    - Tag
```

## Properties
<a name="aws-resource-glue-usageprofile-properties"></a>

`Configuration`  <a name="cfn-glue-usageprofile-configuration"></a>
Property description not available.  
*Required*: No  
*Type*: [ProfileConfiguration](aws-properties-glue-usageprofile-profileconfiguration.md)  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-usageprofile-description"></a>
A description of the usage profile.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9\-\:\_]{1,64}`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-usageprofile-name"></a>
The name of the usage profile.  
*Required*: Yes  
*Type*: String  
*Minimum*: `5`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-glue-usageprofile-tags"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-glue-usageprofile-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-usageprofile-return-values"></a>

### Ref
<a name="aws-resource-glue-usageprofile-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-glue-usageprofile-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-glue-usageprofile-return-values-fn--getatt-fn--getatt"></a>

`CreatedOn`  <a name="CreatedOn-fn::getatt"></a>
The date and time when the usage profile was created.

# AWS::Glue::UsageProfile ConfigurationObject
<a name="aws-properties-glue-usageprofile-configurationobject"></a>

Specifies the values that an admin sets for each job or session parameter configured in a AWS Glue usage profile.

## Syntax
<a name="aws-properties-glue-usageprofile-configurationobject-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-usageprofile-configurationobject-syntax.json"></a>

```
{
  "[AllowedValues](#cfn-glue-usageprofile-configurationobject-allowedvalues)" : [ String, ... ],
  "[DefaultValue](#cfn-glue-usageprofile-configurationobject-defaultvalue)" : String,
  "[MaxValue](#cfn-glue-usageprofile-configurationobject-maxvalue)" : String,
  "[MinValue](#cfn-glue-usageprofile-configurationobject-minvalue)" : String
}
```

### YAML
<a name="aws-properties-glue-usageprofile-configurationobject-syntax.yaml"></a>

```
  [AllowedValues](#cfn-glue-usageprofile-configurationobject-allowedvalues): 
    - String
  [DefaultValue](#cfn-glue-usageprofile-configurationobject-defaultvalue): String
  [MaxValue](#cfn-glue-usageprofile-configurationobject-maxvalue): String
  [MinValue](#cfn-glue-usageprofile-configurationobject-minvalue): String
```

## Properties
<a name="aws-properties-glue-usageprofile-configurationobject-properties"></a>

`AllowedValues`  <a name="cfn-glue-usageprofile-configurationobject-allowedvalues"></a>
A list of allowed values for the parameter.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-glue-usageprofile-configurationobject-defaultvalue"></a>
A default value for the parameter.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_.-]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxValue`  <a name="cfn-glue-usageprofile-configurationobject-maxvalue"></a>
A maximum allowed value for the parameter.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_.-]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinValue`  <a name="cfn-glue-usageprofile-configurationobject-minvalue"></a>
A minimum allowed value for the parameter.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_.-]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::UsageProfile ProfileConfiguration
<a name="aws-properties-glue-usageprofile-profileconfiguration"></a>

Specifies the job and session values that an admin configures in an AWS Glue usage profile.

## Syntax
<a name="aws-properties-glue-usageprofile-profileconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-usageprofile-profileconfiguration-syntax.json"></a>

```
{
  "[JobConfiguration](#cfn-glue-usageprofile-profileconfiguration-jobconfiguration)" : ConfigurationObject,
  "[SessionConfiguration](#cfn-glue-usageprofile-profileconfiguration-sessionconfiguration)" : ConfigurationObject
}
```

### YAML
<a name="aws-properties-glue-usageprofile-profileconfiguration-syntax.yaml"></a>

```
  [JobConfiguration](#cfn-glue-usageprofile-profileconfiguration-jobconfiguration): 
    ConfigurationObject
  [SessionConfiguration](#cfn-glue-usageprofile-profileconfiguration-sessionconfiguration): 
    ConfigurationObject
```

## Properties
<a name="aws-properties-glue-usageprofile-profileconfiguration-properties"></a>

`JobConfiguration`  <a name="cfn-glue-usageprofile-profileconfiguration-jobconfiguration"></a>
A key-value map of configuration parameters for AWS Glue jobs.   
*Required*: No  
*Type*: [ConfigurationObject](aws-properties-glue-usageprofile-configurationobject.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SessionConfiguration`  <a name="cfn-glue-usageprofile-profileconfiguration-sessionconfiguration"></a>
A key-value map of configuration parameters for AWS Glue sessions.   
*Required*: No  
*Type*: [ConfigurationObject](aws-properties-glue-usageprofile-configurationobject.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::UsageProfile Tag
<a name="aws-properties-glue-usageprofile-tag"></a>

The `Tag` object represents a label that you can assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.

For more information about tags, and controlling access to resources in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) and [Specifying AWS Glue Resource ARNs](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html) in the developer guide.

## Syntax
<a name="aws-properties-glue-usageprofile-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-glue-usageprofile-tag-syntax.json"></a>

```
{
  "[Key](#cfn-glue-usageprofile-tag-key)" : String,
  "[Value](#cfn-glue-usageprofile-tag-value)" : String
}
```

### YAML
<a name="aws-properties-glue-usageprofile-tag-syntax.yaml"></a>

```
  [Key](#cfn-glue-usageprofile-tag-key): String
  [Value](#cfn-glue-usageprofile-tag-value): String
```

## Properties
<a name="aws-properties-glue-usageprofile-tag-properties"></a>

`Key`  <a name="cfn-glue-usageprofile-tag-key"></a>
The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-glue-usageprofile-tag-value"></a>
The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Glue::Workflow
<a name="aws-resource-glue-workflow"></a>

The `AWS::Glue::Workflow` is an AWS Glue resource type that manages AWS Glue workflows. A workflow is a container for a set of related jobs, crawlers, and triggers in AWS Glue. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL) activity that AWS Glue can execute and track as single entity.

## Syntax
<a name="aws-resource-glue-workflow-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-glue-workflow-syntax.json"></a>

```
{
  "Type" : "AWS::Glue::Workflow",
  "Properties" : {
      "[DefaultRunProperties](#cfn-glue-workflow-defaultrunproperties)" : Json,
      "[Description](#cfn-glue-workflow-description)" : String,
      "[MaxConcurrentRuns](#cfn-glue-workflow-maxconcurrentruns)" : Integer,
      "[Name](#cfn-glue-workflow-name)" : String,
      "[Tags](#cfn-glue-workflow-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ]
    }
}
```

### YAML
<a name="aws-resource-glue-workflow-syntax.yaml"></a>

```
Type: AWS::Glue::Workflow
Properties:
  [DefaultRunProperties](#cfn-glue-workflow-defaultrunproperties): Json
  [Description](#cfn-glue-workflow-description): String
  [MaxConcurrentRuns](#cfn-glue-workflow-maxconcurrentruns): Integer
  [Name](#cfn-glue-workflow-name): String
  [Tags](#cfn-glue-workflow-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
```

## Properties
<a name="aws-resource-glue-workflow-properties"></a>

`DefaultRunProperties`  <a name="cfn-glue-workflow-defaultrunproperties"></a>
A collection of properties to be used as part of each execution of the workflow  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-glue-workflow-description"></a>
A description of the workflow  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxConcurrentRuns`  <a name="cfn-glue-workflow-maxconcurrentruns"></a>
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.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-glue-workflow-name"></a>
The name of the workflow representing the flow  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-glue-workflow-tags"></a>
The tags to use with this workflow.  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-glue-workflow-return-values"></a>

### Ref
<a name="aws-resource-glue-workflow-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the workflow name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-glue-workflow-return-values-fn--getatt"></a>