

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::CleanRooms::ConfiguredTable
<a name="aws-resource-cleanrooms-configuredtable"></a>

Creates a new configured table resource.

## Syntax
<a name="aws-resource-cleanrooms-configuredtable-syntax"></a>

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

### JSON
<a name="aws-resource-cleanrooms-configuredtable-syntax.json"></a>

```
{
  "Type" : "AWS::CleanRooms::ConfiguredTable",
  "Properties" : {
      "[AllowedColumns](#cfn-cleanrooms-configuredtable-allowedcolumns)" : [ String, ... ],
      "[AnalysisMethod](#cfn-cleanrooms-configuredtable-analysismethod)" : String,
      "[AnalysisRules](#cfn-cleanrooms-configuredtable-analysisrules)" : [ AnalysisRule, ... ],
      "[Description](#cfn-cleanrooms-configuredtable-description)" : String,
      "[Name](#cfn-cleanrooms-configuredtable-name)" : String,
      "[SelectedAnalysisMethods](#cfn-cleanrooms-configuredtable-selectedanalysismethods)" : [ String, ... ],
      "[TableReference](#cfn-cleanrooms-configuredtable-tablereference)" : TableReference,
      "[Tags](#cfn-cleanrooms-configuredtable-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-cleanrooms-configuredtable-syntax.yaml"></a>

```
Type: AWS::CleanRooms::ConfiguredTable
Properties:
  [AllowedColumns](#cfn-cleanrooms-configuredtable-allowedcolumns): 
    - String
  [AnalysisMethod](#cfn-cleanrooms-configuredtable-analysismethod): String
  [AnalysisRules](#cfn-cleanrooms-configuredtable-analysisrules): 
    - AnalysisRule
  [Description](#cfn-cleanrooms-configuredtable-description): String
  [Name](#cfn-cleanrooms-configuredtable-name): String
  [SelectedAnalysisMethods](#cfn-cleanrooms-configuredtable-selectedanalysismethods): 
    - String
  [TableReference](#cfn-cleanrooms-configuredtable-tablereference): 
    TableReference
  [Tags](#cfn-cleanrooms-configuredtable-tags): 
    - Tag
```

## Properties
<a name="aws-resource-cleanrooms-configuredtable-properties"></a>

`AllowedColumns`  <a name="cfn-cleanrooms-configuredtable-allowedcolumns"></a>
The columns within the underlying AWS Glue table that can be used within collaborations.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `128 | 100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AnalysisMethod`  <a name="cfn-cleanrooms-configuredtable-analysismethod"></a>
The analysis method for the configured table.  
`DIRECT_QUERY` allows SQL queries to be run directly on this table.  
`DIRECT_JOB` allows PySpark jobs to be run directly on this table.  
`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DIRECT_QUERY | DIRECT_JOB | MULTIPLE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AnalysisRules`  <a name="cfn-cleanrooms-configuredtable-analysisrules"></a>
The analysis rule that was created for the configured table.  
*Required*: No  
*Type*: Array of [AnalysisRule](aws-properties-cleanrooms-configuredtable-analysisrule.md)  
*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)

`Description`  <a name="cfn-cleanrooms-configuredtable-description"></a>
A description for the configured table.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t\r\n]*$`  
*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-cleanrooms-configuredtable-name"></a>
A name for the configured table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$)[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t]*$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SelectedAnalysisMethods`  <a name="cfn-cleanrooms-configuredtable-selectedanalysismethods"></a>
 The selected analysis methods for the configured 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)

`TableReference`  <a name="cfn-cleanrooms-configuredtable-tablereference"></a>
The table that this configured table represents.  
*Required*: Yes  
*Type*: [TableReference](aws-properties-cleanrooms-configuredtable-tablereference.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-cleanrooms-configuredtable-tags"></a>
An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-cleanrooms-configuredtable-tag.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-cleanrooms-configuredtable-return-values"></a>

### Ref
<a name="aws-resource-cleanrooms-configuredtable-return-values-ref"></a>

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

 `{"Ref": "MyConfiguredTable"}` 

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

### Fn::GetAtt
<a name="aws-resource-cleanrooms-configuredtable-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-cleanrooms-configuredtable-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
Returns the Amazon Resource Name (ARN) of the specified configured table.  
Example: `arn:aws:cleanrooms:us-east-1:111122223333:configuredtable/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`

`ConfiguredTableIdentifier`  <a name="ConfiguredTableIdentifier-fn::getatt"></a>
Returns the unique identifier of the specified configured table.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE33333`

## Examples
<a name="aws-resource-cleanrooms-configuredtable--examples"></a>



### A configured table using a list analysis rule
<a name="aws-resource-cleanrooms-configuredtable--examples--A_configured_table_using_a_list_analysis_rule"></a>

The following is an example of a configured table with a list analysis rule applied.

#### JSON
<a name="aws-resource-cleanrooms-configuredtable--examples--A_configured_table_using_a_list_analysis_rule--json"></a>

```
"ListConfiguredTable": {
  {
    "Type" : "AWS::CleanRooms::ConfiguredTable",
    "Properties" : {
        "Name" : "List Table",
        "Description" : "Example configured table with list AR",
        "AllowedColumns" : ["column1", "column2", "column4"],
        "AnalysisMethod" : "DIRECT_QUERY",
        "AnalysisRules" : [
          "Type": "LIST",
          "Policy": {
            "V1": {
              "List": {
                "JoinColumns": [
                  "column1"
                ],
                "ListColumns": [
                  "column2"
                ]
              }
            }
          }
        ],
        "TableReference" : {
          "Glue": {
            "DatabaseName": "ExampleDB",
            "TableName": "ExampleTable"
          }
        }
      }
  }
}
```

#### YAML
<a name="aws-resource-cleanrooms-configuredtable--examples--A_configured_table_using_a_list_analysis_rule--yaml"></a>

```
ListConfiguredTable:
  Type: AWS::CleanRooms::ConfiguredTable
  Properties:
    Name: List Table
    Description: Example configured table with list AR
    AllowedColumns:
      - column1
      - column2
      - column4
    AnalysisMethod: DIRECT_QUERY
    AnalysisRules:
      - Type: LIST
        Policy:
          V1:
            List:
              JoinColumns:
                - column1
              ListColumns:
                - column2
    TableReference:
      Glue:
        DatabaseName: ExampleDB
        TableName: ExampleTable
```

# AWS::CleanRooms::ConfiguredTable AggregateColumn
<a name="aws-properties-cleanrooms-configuredtable-aggregatecolumn"></a>

Column in configured table that can be used in aggregate function in query.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-aggregatecolumn-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-aggregatecolumn-syntax.json"></a>

```
{
  "[ColumnNames](#cfn-cleanrooms-configuredtable-aggregatecolumn-columnnames)" : [ String, ... ],
  "[Function](#cfn-cleanrooms-configuredtable-aggregatecolumn-function)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-aggregatecolumn-syntax.yaml"></a>

```
  [ColumnNames](#cfn-cleanrooms-configuredtable-aggregatecolumn-columnnames): 
    - String
  [Function](#cfn-cleanrooms-configuredtable-aggregatecolumn-function): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-aggregatecolumn-properties"></a>

`ColumnNames`  <a name="cfn-cleanrooms-configuredtable-aggregatecolumn-columnnames"></a>
Column names in configured table of aggregate columns.  
*Required*: Yes  
*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)

`Function`  <a name="cfn-cleanrooms-configuredtable-aggregatecolumn-function"></a>
Aggregation function that can be applied to aggregate column in query.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SUM | SUM_DISTINCT | COUNT | COUNT_DISTINCT | AVG`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable AggregationConstraint
<a name="aws-properties-cleanrooms-configuredtable-aggregationconstraint"></a>

Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-aggregationconstraint-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-aggregationconstraint-syntax.json"></a>

```
{
  "[ColumnName](#cfn-cleanrooms-configuredtable-aggregationconstraint-columnname)" : String,
  "[Minimum](#cfn-cleanrooms-configuredtable-aggregationconstraint-minimum)" : Number,
  "[Type](#cfn-cleanrooms-configuredtable-aggregationconstraint-type)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-aggregationconstraint-syntax.yaml"></a>

```
  [ColumnName](#cfn-cleanrooms-configuredtable-aggregationconstraint-columnname): String
  [Minimum](#cfn-cleanrooms-configuredtable-aggregationconstraint-minimum): Number
  [Type](#cfn-cleanrooms-configuredtable-aggregationconstraint-type): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-aggregationconstraint-properties"></a>

`ColumnName`  <a name="cfn-cleanrooms-configuredtable-aggregationconstraint-columnname"></a>
Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$`  
*Minimum*: `1`  
*Maximum*: `127`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Minimum`  <a name="cfn-cleanrooms-configuredtable-aggregationconstraint-minimum"></a>
The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `2`  
*Maximum*: `100000`  
*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-cleanrooms-configuredtable-aggregationconstraint-type"></a>
The type of aggregation the constraint allows. The only valid value is currently `COUNT\$1DISTINCT`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `COUNT_DISTINCT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable AnalysisRule
<a name="aws-properties-cleanrooms-configuredtable-analysisrule"></a>

A specification about how data from the configured table can be used in a query.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-analysisrule-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-analysisrule-syntax.json"></a>

```
{
  "[Policy](#cfn-cleanrooms-configuredtable-analysisrule-policy)" : ConfiguredTableAnalysisRulePolicy,
  "[Type](#cfn-cleanrooms-configuredtable-analysisrule-type)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-analysisrule-syntax.yaml"></a>

```
  [Policy](#cfn-cleanrooms-configuredtable-analysisrule-policy): 
    ConfiguredTableAnalysisRulePolicy
  [Type](#cfn-cleanrooms-configuredtable-analysisrule-type): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-analysisrule-properties"></a>

`Policy`  <a name="cfn-cleanrooms-configuredtable-analysisrule-policy"></a>
A policy that describes the associated data usage limitations.  
*Required*: Yes  
*Type*: [ConfiguredTableAnalysisRulePolicy](aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy.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-cleanrooms-configuredtable-analysisrule-type"></a>
The type of analysis rule.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `AGGREGATION | LIST | CUSTOM`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable AnalysisRuleAggregation
<a name="aws-properties-cleanrooms-configuredtable-analysisruleaggregation"></a>

A type of analysis rule that enables query structure and specified queries that produce aggregate statistics.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-analysisruleaggregation-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-analysisruleaggregation-syntax.json"></a>

```
{
  "[AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisruleaggregation-additionalanalyses)" : String,
  "[AggregateColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-aggregatecolumns)" : [ AggregateColumn, ... ],
  "[AllowedJoinOperators](#cfn-cleanrooms-configuredtable-analysisruleaggregation-allowedjoinoperators)" : [ String, ... ],
  "[DimensionColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-dimensioncolumns)" : [ String, ... ],
  "[JoinColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-joincolumns)" : [ String, ... ],
  "[JoinRequired](#cfn-cleanrooms-configuredtable-analysisruleaggregation-joinrequired)" : String,
  "[OutputConstraints](#cfn-cleanrooms-configuredtable-analysisruleaggregation-outputconstraints)" : [ AggregationConstraint, ... ],
  "[ScalarFunctions](#cfn-cleanrooms-configuredtable-analysisruleaggregation-scalarfunctions)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-analysisruleaggregation-syntax.yaml"></a>

```
  [AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisruleaggregation-additionalanalyses): String
  [AggregateColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-aggregatecolumns): 
    - AggregateColumn
  [AllowedJoinOperators](#cfn-cleanrooms-configuredtable-analysisruleaggregation-allowedjoinoperators): 
    - String
  [DimensionColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-dimensioncolumns): 
    - String
  [JoinColumns](#cfn-cleanrooms-configuredtable-analysisruleaggregation-joincolumns): 
    - String
  [JoinRequired](#cfn-cleanrooms-configuredtable-analysisruleaggregation-joinrequired): String
  [OutputConstraints](#cfn-cleanrooms-configuredtable-analysisruleaggregation-outputconstraints): 
    - AggregationConstraint
  [ScalarFunctions](#cfn-cleanrooms-configuredtable-analysisruleaggregation-scalarfunctions): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-analysisruleaggregation-properties"></a>

`AdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-additionalanalyses"></a>
 An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.   
The `additionalAnalyses` parameter is currently supported for the list analysis rule (`AnalysisRuleList`) and the custom analysis rule (`AnalysisRuleCustom`).  
*Required*: No  
*Type*: String  
*Allowed values*: `ALLOWED | REQUIRED | NOT_ALLOWED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AggregateColumns`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-aggregatecolumns"></a>
The columns that query runners are allowed to use in aggregation queries.  
*Required*: Yes  
*Type*: Array of [AggregateColumn](aws-properties-cleanrooms-configuredtable-aggregatecolumn.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)

`AllowedJoinOperators`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-allowedjoinoperators"></a>
Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is `AND`.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DimensionColumns`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-dimensioncolumns"></a>
The columns that query runners are allowed to select, group by, or filter by.  
*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)

`JoinColumns`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-joincolumns"></a>
Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.  
*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)

`JoinRequired`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-joinrequired"></a>
Control that requires member who runs query to do a join with their configured table and/or other configured table in query.  
*Required*: No  
*Type*: String  
*Allowed values*: `QUERY_RUNNER`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OutputConstraints`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-outputconstraints"></a>
Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.  
*Required*: Yes  
*Type*: Array of [AggregationConstraint](aws-properties-cleanrooms-configuredtable-aggregationconstraint.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)

`ScalarFunctions`  <a name="cfn-cleanrooms-configuredtable-analysisruleaggregation-scalarfunctions"></a>
Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.  
*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)

# AWS::CleanRooms::ConfiguredTable AnalysisRuleCustom
<a name="aws-properties-cleanrooms-configuredtable-analysisrulecustom"></a>

A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-analysisrulecustom-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-analysisrulecustom-syntax.json"></a>

```
{
  "[AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisrulecustom-additionalanalyses)" : String,
  "[AllowedAnalyses](#cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalyses)" : [ String, ... ],
  "[AllowedAnalysisProviders](#cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalysisproviders)" : [ String, ... ],
  "[DifferentialPrivacy](#cfn-cleanrooms-configuredtable-analysisrulecustom-differentialprivacy)" : DifferentialPrivacy,
  "[DisallowedOutputColumns](#cfn-cleanrooms-configuredtable-analysisrulecustom-disallowedoutputcolumns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-analysisrulecustom-syntax.yaml"></a>

```
  [AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisrulecustom-additionalanalyses): String
  [AllowedAnalyses](#cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalyses): 
    - String
  [AllowedAnalysisProviders](#cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalysisproviders): 
    - String
  [DifferentialPrivacy](#cfn-cleanrooms-configuredtable-analysisrulecustom-differentialprivacy): 
    DifferentialPrivacy
  [DisallowedOutputColumns](#cfn-cleanrooms-configuredtable-analysisrulecustom-disallowedoutputcolumns): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-analysisrulecustom-properties"></a>

`AdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtable-analysisrulecustom-additionalanalyses"></a>
 An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.  
*Required*: No  
*Type*: String  
*Allowed values*: `ALLOWED | REQUIRED | NOT_ALLOWED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedAnalyses`  <a name="cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalyses"></a>
The ARN of the analysis templates that are allowed by the custom analysis rule.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedAnalysisProviders`  <a name="cfn-cleanrooms-configuredtable-analysisrulecustom-allowedanalysisproviders"></a>
The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when `allowedAnalyses` is `ANY_QUERY`.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DifferentialPrivacy`  <a name="cfn-cleanrooms-configuredtable-analysisrulecustom-differentialprivacy"></a>
The differential privacy configuration.  
*Required*: No  
*Type*: [DifferentialPrivacy](aws-properties-cleanrooms-configuredtable-differentialprivacy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DisallowedOutputColumns`  <a name="cfn-cleanrooms-configuredtable-analysisrulecustom-disallowedoutputcolumns"></a>
 A list of columns that aren't allowed to be shown in the query output.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable AnalysisRuleList
<a name="aws-properties-cleanrooms-configuredtable-analysisrulelist"></a>

A type of analysis rule that enables row-level analysis.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-analysisrulelist-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-analysisrulelist-syntax.json"></a>

```
{
  "[AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisrulelist-additionalanalyses)" : String,
  "[AllowedJoinOperators](#cfn-cleanrooms-configuredtable-analysisrulelist-allowedjoinoperators)" : [ String, ... ],
  "[JoinColumns](#cfn-cleanrooms-configuredtable-analysisrulelist-joincolumns)" : [ String, ... ],
  "[ListColumns](#cfn-cleanrooms-configuredtable-analysisrulelist-listcolumns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-analysisrulelist-syntax.yaml"></a>

```
  [AdditionalAnalyses](#cfn-cleanrooms-configuredtable-analysisrulelist-additionalanalyses): String
  [AllowedJoinOperators](#cfn-cleanrooms-configuredtable-analysisrulelist-allowedjoinoperators): 
    - String
  [JoinColumns](#cfn-cleanrooms-configuredtable-analysisrulelist-joincolumns): 
    - String
  [ListColumns](#cfn-cleanrooms-configuredtable-analysisrulelist-listcolumns): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-analysisrulelist-properties"></a>

`AdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtable-analysisrulelist-additionalanalyses"></a>
 An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.  
*Required*: No  
*Type*: String  
*Allowed values*: `ALLOWED | REQUIRED | NOT_ALLOWED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedJoinOperators`  <a name="cfn-cleanrooms-configuredtable-analysisrulelist-allowedjoinoperators"></a>
The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is `AND`.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JoinColumns`  <a name="cfn-cleanrooms-configuredtable-analysisrulelist-joincolumns"></a>
Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.  
*Required*: Yes  
*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)

`ListColumns`  <a name="cfn-cleanrooms-configuredtable-analysisrulelist-listcolumns"></a>
Columns that can be listed in the output.  
*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)

# AWS::CleanRooms::ConfiguredTable AthenaTableReference
<a name="aws-properties-cleanrooms-configuredtable-athenatablereference"></a>

 A reference to a table within Athena.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-athenatablereference-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-athenatablereference-syntax.json"></a>

```
{
  "[CatalogName](#cfn-cleanrooms-configuredtable-athenatablereference-catalogname)" : String,
  "[DatabaseName](#cfn-cleanrooms-configuredtable-athenatablereference-databasename)" : String,
  "[OutputLocation](#cfn-cleanrooms-configuredtable-athenatablereference-outputlocation)" : String,
  "[Region](#cfn-cleanrooms-configuredtable-athenatablereference-region)" : String,
  "[TableName](#cfn-cleanrooms-configuredtable-athenatablereference-tablename)" : String,
  "[WorkGroup](#cfn-cleanrooms-configuredtable-athenatablereference-workgroup)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-athenatablereference-syntax.yaml"></a>

```
  [CatalogName](#cfn-cleanrooms-configuredtable-athenatablereference-catalogname): String
  [DatabaseName](#cfn-cleanrooms-configuredtable-athenatablereference-databasename): String
  [OutputLocation](#cfn-cleanrooms-configuredtable-athenatablereference-outputlocation): String
  [Region](#cfn-cleanrooms-configuredtable-athenatablereference-region): String
  [TableName](#cfn-cleanrooms-configuredtable-athenatablereference-tablename): String
  [WorkGroup](#cfn-cleanrooms-configuredtable-athenatablereference-workgroup): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-athenatablereference-properties"></a>

`CatalogName`  <a name="cfn-cleanrooms-configuredtable-athenatablereference-catalogname"></a>
 The catalog name.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]+$`  
*Minimum*: `1`  
*Maximum*: `64`  
*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-cleanrooms-configuredtable-athenatablereference-databasename"></a>
 The database name.  
*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)

`OutputLocation`  <a name="cfn-cleanrooms-configuredtable-athenatablereference-outputlocation"></a>
 The output location for the Athena table.  
*Required*: No  
*Type*: String  
*Minimum*: `8`  
*Maximum*: `1024`  
*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-cleanrooms-configuredtable-athenatablereference-region"></a>
The AWS Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.  
*Required*: No  
*Type*: String  
*Allowed values*: `us-west-1 | us-west-2 | us-east-1 | us-east-2 | af-south-1 | ap-east-1 | ap-south-2 | ap-southeast-1 | ap-southeast-2 | ap-southeast-5 | ap-southeast-4 | ap-southeast-7 | ap-south-1 | ap-northeast-3 | ap-northeast-1 | ap-northeast-2 | ca-central-1 | ca-west-1 | eu-south-1 | eu-west-3 | eu-south-2 | eu-central-2 | eu-central-1 | eu-north-1 | eu-west-1 | eu-west-2 | me-south-1 | me-central-1 | il-central-1 | sa-east-1 | mx-central-1 | ap-east-2`  
*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-cleanrooms-configuredtable-athenatablereference-tablename"></a>
 The table reference.  
*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)

`WorkGroup`  <a name="cfn-cleanrooms-configuredtable-athenatablereference-workgroup"></a>
 The workgroup of the Athena table reference.  
*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)

# AWS::CleanRooms::ConfiguredTable ConfiguredTableAnalysisRulePolicy
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy"></a>

Controls on the query specifications that can be run on a configured table.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-syntax.json"></a>

```
{
  "[V1](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-v1)" : ConfiguredTableAnalysisRulePolicyV1
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-syntax.yaml"></a>

```
  [V1](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-v1): 
    ConfiguredTableAnalysisRulePolicyV1
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-properties"></a>

`V1`  <a name="cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-v1"></a>
Controls on the query specifications that can be run on a configured table.  
*Required*: Yes  
*Type*: [ConfiguredTableAnalysisRulePolicyV1](aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable ConfiguredTableAnalysisRulePolicyV1
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1"></a>

Controls on the query specifications that can be run on a configured table.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-syntax.json"></a>

```
{
  "[Aggregation](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-aggregation)" : AnalysisRuleAggregation,
  "[Custom](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-custom)" : AnalysisRuleCustom,
  "[List](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-list)" : AnalysisRuleList
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-syntax.yaml"></a>

```
  [Aggregation](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-aggregation): 
    AnalysisRuleAggregation
  [Custom](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-custom): 
    AnalysisRuleCustom
  [List](#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-list): 
    AnalysisRuleList
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-properties"></a>

`Aggregation`  <a name="cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-aggregation"></a>
Analysis rule type that enables only aggregation queries on a configured table.  
*Required*: No  
*Type*: [AnalysisRuleAggregation](aws-properties-cleanrooms-configuredtable-analysisruleaggregation.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Custom`  <a name="cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-custom"></a>
Analysis rule type that enables custom SQL queries on a configured table.  
*Required*: No  
*Type*: [AnalysisRuleCustom](aws-properties-cleanrooms-configuredtable-analysisrulecustom.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`List`  <a name="cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-list"></a>
Analysis rule type that enables only list queries on a configured table.  
*Required*: No  
*Type*: [AnalysisRuleList](aws-properties-cleanrooms-configuredtable-analysisrulelist.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable DifferentialPrivacy
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacy"></a>

The analysis method allowed for the configured tables.

`DIRECT_QUERY` allows SQL queries to be run directly on this table.

`DIRECT_JOB` allows PySpark jobs to be run directly on this table.

`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacy-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacy-syntax.json"></a>

```
{
  "[Columns](#cfn-cleanrooms-configuredtable-differentialprivacy-columns)" : [ DifferentialPrivacyColumn, ... ]
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacy-syntax.yaml"></a>

```
  [Columns](#cfn-cleanrooms-configuredtable-differentialprivacy-columns): 
    - DifferentialPrivacyColumn
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacy-properties"></a>

`Columns`  <a name="cfn-cleanrooms-configuredtable-differentialprivacy-columns"></a>
The name of the column, such as user\$1id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.  
*Required*: Yes  
*Type*: Array of [DifferentialPrivacyColumn](aws-properties-cleanrooms-configuredtable-differentialprivacycolumn.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)

# AWS::CleanRooms::ConfiguredTable DifferentialPrivacyColumn
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacycolumn"></a>

Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacycolumn-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacycolumn-syntax.json"></a>

```
{
  "[Name](#cfn-cleanrooms-configuredtable-differentialprivacycolumn-name)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacycolumn-syntax.yaml"></a>

```
  [Name](#cfn-cleanrooms-configuredtable-differentialprivacycolumn-name): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-differentialprivacycolumn-properties"></a>

`Name`  <a name="cfn-cleanrooms-configuredtable-differentialprivacycolumn-name"></a>
The name of the column, such as user\$1id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?`  
*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)

# AWS::CleanRooms::ConfiguredTable GlueTableReference
<a name="aws-properties-cleanrooms-configuredtable-gluetablereference"></a>

A reference to a table within an AWS Glue data catalog.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-gluetablereference-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-gluetablereference-syntax.json"></a>

```
{
  "[DatabaseName](#cfn-cleanrooms-configuredtable-gluetablereference-databasename)" : String,
  "[Region](#cfn-cleanrooms-configuredtable-gluetablereference-region)" : String,
  "[TableName](#cfn-cleanrooms-configuredtable-gluetablereference-tablename)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-gluetablereference-syntax.yaml"></a>

```
  [DatabaseName](#cfn-cleanrooms-configuredtable-gluetablereference-databasename): String
  [Region](#cfn-cleanrooms-configuredtable-gluetablereference-region): String
  [TableName](#cfn-cleanrooms-configuredtable-gluetablereference-tablename): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-gluetablereference-properties"></a>

`DatabaseName`  <a name="cfn-cleanrooms-configuredtable-gluetablereference-databasename"></a>
The name of the database the AWS Glue table belongs to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-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)

`Region`  <a name="cfn-cleanrooms-configuredtable-gluetablereference-region"></a>
The AWS Region where the AWS Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.  
*Required*: No  
*Type*: String  
*Allowed values*: `us-west-1 | us-west-2 | us-east-1 | us-east-2 | af-south-1 | ap-east-1 | ap-south-2 | ap-southeast-1 | ap-southeast-2 | ap-southeast-5 | ap-southeast-4 | ap-southeast-7 | ap-south-1 | ap-northeast-3 | ap-northeast-1 | ap-northeast-2 | ca-central-1 | ca-west-1 | eu-south-1 | eu-west-3 | eu-south-2 | eu-central-2 | eu-central-1 | eu-north-1 | eu-west-1 | eu-west-2 | me-south-1 | me-central-1 | il-central-1 | sa-east-1 | mx-central-1 | ap-east-2`  
*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-cleanrooms-configuredtable-gluetablereference-tablename"></a>
The name of the AWS Glue table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-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::CleanRooms::ConfiguredTable SnowflakeTableReference
<a name="aws-properties-cleanrooms-configuredtable-snowflaketablereference"></a>

 A reference to a table within Snowflake.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-snowflaketablereference-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-snowflaketablereference-syntax.json"></a>

```
{
  "[AccountIdentifier](#cfn-cleanrooms-configuredtable-snowflaketablereference-accountidentifier)" : String,
  "[DatabaseName](#cfn-cleanrooms-configuredtable-snowflaketablereference-databasename)" : String,
  "[SchemaName](#cfn-cleanrooms-configuredtable-snowflaketablereference-schemaname)" : String,
  "[SecretArn](#cfn-cleanrooms-configuredtable-snowflaketablereference-secretarn)" : String,
  "[TableName](#cfn-cleanrooms-configuredtable-snowflaketablereference-tablename)" : String,
  "[TableSchema](#cfn-cleanrooms-configuredtable-snowflaketablereference-tableschema)" : SnowflakeTableSchema
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-snowflaketablereference-syntax.yaml"></a>

```
  [AccountIdentifier](#cfn-cleanrooms-configuredtable-snowflaketablereference-accountidentifier): String
  [DatabaseName](#cfn-cleanrooms-configuredtable-snowflaketablereference-databasename): String
  [SchemaName](#cfn-cleanrooms-configuredtable-snowflaketablereference-schemaname): String
  [SecretArn](#cfn-cleanrooms-configuredtable-snowflaketablereference-secretarn): String
  [TableName](#cfn-cleanrooms-configuredtable-snowflaketablereference-tablename): String
  [TableSchema](#cfn-cleanrooms-configuredtable-snowflaketablereference-tableschema): 
    SnowflakeTableSchema
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-snowflaketablereference-properties"></a>

`AccountIdentifier`  <a name="cfn-cleanrooms-configuredtable-snowflaketablereference-accountidentifier"></a>
 The account identifier for the Snowflake table reference.  
*Required*: Yes  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `256`  
*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-cleanrooms-configuredtable-snowflaketablereference-databasename"></a>
 The name of the database the Snowflake table belongs to.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*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-cleanrooms-configuredtable-snowflaketablereference-schemaname"></a>
 The schema name of the Snowflake table reference.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*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-cleanrooms-configuredtable-snowflaketablereference-secretarn"></a>
 The secret ARN of the Snowflake table reference.  
*Required*: Yes  
*Type*: String  
*Maximum*: `256`  
*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-cleanrooms-configuredtable-snowflaketablereference-tablename"></a>
 The name of the Snowflake table.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableSchema`  <a name="cfn-cleanrooms-configuredtable-snowflaketablereference-tableschema"></a>
 The schema of the Snowflake table.  
*Required*: Yes  
*Type*: [SnowflakeTableSchema](aws-properties-cleanrooms-configuredtable-snowflaketableschema.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable SnowflakeTableSchema
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschema"></a>

 The schema of a Snowflake table.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschema-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschema-syntax.json"></a>

```
{
  "[V1](#cfn-cleanrooms-configuredtable-snowflaketableschema-v1)" : [ SnowflakeTableSchemaV1, ... ]
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschema-syntax.yaml"></a>

```
  [V1](#cfn-cleanrooms-configuredtable-snowflaketableschema-v1): 
    - SnowflakeTableSchemaV1
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschema-properties"></a>

`V1`  <a name="cfn-cleanrooms-configuredtable-snowflaketableschema-v1"></a>
 The schema of a Snowflake table.  
*Required*: Yes  
*Type*: Array of [SnowflakeTableSchemaV1](aws-properties-cleanrooms-configuredtable-snowflaketableschemav1.md)  
*Minimum*: `1`  
*Maximum*: `250`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable SnowflakeTableSchemaV1
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschemav1"></a>

 The Snowflake table schema.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschemav1-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschemav1-syntax.json"></a>

```
{
  "[ColumnName](#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columnname)" : String,
  "[ColumnType](#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columntype)" : String
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschemav1-syntax.yaml"></a>

```
  [ColumnName](#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columnname): String
  [ColumnType](#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columntype): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-snowflaketableschemav1-properties"></a>

`ColumnName`  <a name="cfn-cleanrooms-configuredtable-snowflaketableschemav1-columnname"></a>
 The column name.  
*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)

`ColumnType`  <a name="cfn-cleanrooms-configuredtable-snowflaketableschemav1-columntype"></a>
 The column's data type. Supported data types: `ARRAY`, `BIGINT`, `BOOLEAN`, `CHAR`, `DATE`, `DECIMAL`, `DOUBLE`, `DOUBLE PRECISION`, `FLOAT`, `FLOAT4`, `INT`, `INTEGER`, `MAP`, `NUMERIC`, `NUMBER`, `REAL`, `SMALLINT`, `STRING`, `TIMESTAMP`, `TIMESTAMP_LTZ`, `TIMESTAMP_NTZ`, `DATETIME`, `TINYINT`, `VARCHAR`, `TEXT`, `CHARACTER`.  
*Required*: Yes  
*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)

# AWS::CleanRooms::ConfiguredTable TableReference
<a name="aws-properties-cleanrooms-configuredtable-tablereference"></a>

A pointer to the dataset that underlies this table.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-tablereference-syntax"></a>

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

### JSON
<a name="aws-properties-cleanrooms-configuredtable-tablereference-syntax.json"></a>

```
{
  "[Athena](#cfn-cleanrooms-configuredtable-tablereference-athena)" : AthenaTableReference,
  "[Glue](#cfn-cleanrooms-configuredtable-tablereference-glue)" : GlueTableReference,
  "[Snowflake](#cfn-cleanrooms-configuredtable-tablereference-snowflake)" : SnowflakeTableReference
}
```

### YAML
<a name="aws-properties-cleanrooms-configuredtable-tablereference-syntax.yaml"></a>

```
  [Athena](#cfn-cleanrooms-configuredtable-tablereference-athena): 
    AthenaTableReference
  [Glue](#cfn-cleanrooms-configuredtable-tablereference-glue): 
    GlueTableReference
  [Snowflake](#cfn-cleanrooms-configuredtable-tablereference-snowflake): 
    SnowflakeTableReference
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-tablereference-properties"></a>

`Athena`  <a name="cfn-cleanrooms-configuredtable-tablereference-athena"></a>
 If present, a reference to the Athena table referred to by this table reference.  
*Required*: No  
*Type*: [AthenaTableReference](aws-properties-cleanrooms-configuredtable-athenatablereference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Glue`  <a name="cfn-cleanrooms-configuredtable-tablereference-glue"></a>
If present, a reference to the AWS Glue table referred to by this table reference.  
*Required*: No  
*Type*: [GlueTableReference](aws-properties-cleanrooms-configuredtable-gluetablereference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Snowflake`  <a name="cfn-cleanrooms-configuredtable-tablereference-snowflake"></a>
 If present, a reference to the Snowflake table referred to by this table reference.  
*Required*: No  
*Type*: [SnowflakeTableReference](aws-properties-cleanrooms-configuredtable-snowflaketablereference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::ConfiguredTable Tag
<a name="aws-properties-cleanrooms-configuredtable-tag"></a>

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

## Syntax
<a name="aws-properties-cleanrooms-configuredtable-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-cleanrooms-configuredtable-tag-key): String
  [Value](#cfn-cleanrooms-configuredtable-tag-value): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtable-tag-properties"></a>

`Key`  <a name="cfn-cleanrooms-configuredtable-tag-key"></a>
The key of the tag.  
*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-cleanrooms-configuredtable-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)