

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::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*

