

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 Clean Rooms
<a name="AWS_CleanRooms"></a>

**Resource types**
+ [AWS::CleanRooms::AnalysisTemplate](aws-resource-cleanrooms-analysistemplate.md)
+ [AWS::CleanRooms::Collaboration](aws-resource-cleanrooms-collaboration.md)
+ [AWS::CleanRooms::ConfiguredTable](aws-resource-cleanrooms-configuredtable.md)
+ [AWS::CleanRooms::ConfiguredTableAssociation](aws-resource-cleanrooms-configuredtableassociation.md)
+ [AWS::CleanRooms::IdMappingTable](aws-resource-cleanrooms-idmappingtable.md)
+ [AWS::CleanRooms::IdNamespaceAssociation](aws-resource-cleanrooms-idnamespaceassociation.md)
+ [AWS::CleanRooms::Membership](aws-resource-cleanrooms-membership.md)
+ [AWS::CleanRooms::PrivacyBudgetTemplate](aws-resource-cleanrooms-privacybudgettemplate.md)

# AWS::CleanRooms::AnalysisTemplate
<a name="aws-resource-cleanrooms-analysistemplate"></a>

Creates a new analysis template.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::AnalysisTemplate",
  "Properties" : {
      "[AnalysisParameters](#cfn-cleanrooms-analysistemplate-analysisparameters)" : [ AnalysisParameter, ... ],
      "[Description](#cfn-cleanrooms-analysistemplate-description)" : String,
      "[ErrorMessageConfiguration](#cfn-cleanrooms-analysistemplate-errormessageconfiguration)" : ErrorMessageConfiguration,
      "[Format](#cfn-cleanrooms-analysistemplate-format)" : String,
      "[MembershipIdentifier](#cfn-cleanrooms-analysistemplate-membershipidentifier)" : String,
      "[Name](#cfn-cleanrooms-analysistemplate-name)" : String,
      "[Schema](#cfn-cleanrooms-analysistemplate-schema)" : AnalysisSchema,
      "[Source](#cfn-cleanrooms-analysistemplate-source)" : AnalysisSource,
      "[SourceMetadata](#cfn-cleanrooms-analysistemplate-sourcemetadata)" : AnalysisSourceMetadata,
      "[SyntheticDataParameters](#cfn-cleanrooms-analysistemplate-syntheticdataparameters)" : SyntheticDataParameters,
      "[Tags](#cfn-cleanrooms-analysistemplate-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::AnalysisTemplate
Properties:
  [AnalysisParameters](#cfn-cleanrooms-analysistemplate-analysisparameters): 
    - AnalysisParameter
  [Description](#cfn-cleanrooms-analysistemplate-description): String
  [ErrorMessageConfiguration](#cfn-cleanrooms-analysistemplate-errormessageconfiguration): 
    ErrorMessageConfiguration
  [Format](#cfn-cleanrooms-analysistemplate-format): String
  [MembershipIdentifier](#cfn-cleanrooms-analysistemplate-membershipidentifier): String
  [Name](#cfn-cleanrooms-analysistemplate-name): String
  [Schema](#cfn-cleanrooms-analysistemplate-schema): 
    AnalysisSchema
  [Source](#cfn-cleanrooms-analysistemplate-source): 
    AnalysisSource
  [SourceMetadata](#cfn-cleanrooms-analysistemplate-sourcemetadata): 
    AnalysisSourceMetadata
  [SyntheticDataParameters](#cfn-cleanrooms-analysistemplate-syntheticdataparameters): 
    SyntheticDataParameters
  [Tags](#cfn-cleanrooms-analysistemplate-tags): 
    - Tag
```

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

`AnalysisParameters`  <a name="cfn-cleanrooms-analysistemplate-analysisparameters"></a>
The parameters of the analysis template.  
*Required*: No  
*Type*: Array of [AnalysisParameter](aws-properties-cleanrooms-analysistemplate-analysisparameter.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-cleanrooms-analysistemplate-description"></a>
The description of the analysis template.  
*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)

`ErrorMessageConfiguration`  <a name="cfn-cleanrooms-analysistemplate-errormessageconfiguration"></a>
The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to `DETAILED`, error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.  
*Required*: No  
*Type*: [ErrorMessageConfiguration](aws-properties-cleanrooms-analysistemplate-errormessageconfiguration.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Format`  <a name="cfn-cleanrooms-analysistemplate-format"></a>
The format of the analysis template.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SQL | PYSPARK_1_0`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MembershipIdentifier`  <a name="cfn-cleanrooms-analysistemplate-membershipidentifier"></a>
The identifier for a membership resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-analysistemplate-name"></a>
The name of the analysis template.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Schema`  <a name="cfn-cleanrooms-analysistemplate-schema"></a>
The entire schema object.  
*Required*: No  
*Type*: [AnalysisSchema](aws-properties-cleanrooms-analysistemplate-analysisschema.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Source`  <a name="cfn-cleanrooms-analysistemplate-source"></a>
The source of the analysis template.  
*Required*: Yes  
*Type*: [AnalysisSource](aws-properties-cleanrooms-analysistemplate-analysissource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceMetadata`  <a name="cfn-cleanrooms-analysistemplate-sourcemetadata"></a>
 The source metadata for the analysis template.  
*Required*: No  
*Type*: [AnalysisSourceMetadata](aws-properties-cleanrooms-analysistemplate-analysissourcemetadata.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SyntheticDataParameters`  <a name="cfn-cleanrooms-analysistemplate-syntheticdataparameters"></a>
The parameters used to generate synthetic data for this analysis template.  
*Required*: No  
*Type*: [SyntheticDataParameters](aws-properties-cleanrooms-analysistemplate-syntheticdataparameters.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-cleanrooms-analysistemplate-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-analysistemplate-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-analysistemplate-return-values"></a>

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `AnalysisTemplateIdentifier`, such as `a1b2c3d4-5678-90ab-cdef-EXAMPLE2222`. For example:

 `{ "Ref": "myAnalysisTemplate" }` 

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-cleanrooms-analysistemplate-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-analysistemplate-return-values-fn--getatt-fn--getatt"></a>

`AnalysisTemplateIdentifier`  <a name="AnalysisTemplateIdentifier-fn::getatt"></a>
Returns the identifier for the analysis template.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE2222`

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

`CollaborationArn`  <a name="CollaborationArn-fn::getatt"></a>
Returns the unique ARN for the analysis template’s associated collaboration.  
Example: `arn:aws:cleanrooms:us-east-1:111122223333:collaboration/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333`

`CollaborationIdentifier`  <a name="CollaborationIdentifier-fn::getatt"></a>
Returns the unique ID for the associated collaboration of the analysis template.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE33333`

`MembershipArn`  <a name="MembershipArn-fn::getatt"></a>
Returns the Amazon Resource Name (ARN) of the member who created the analysis template.  
Example: `arn:aws:cleanrooms:us-east-1:111122223333:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`

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



### Create an analysis template
<a name="aws-resource-cleanrooms-analysistemplate--examples--Create_an_analysis_template"></a>

The following example creates an analysis template.

#### JSON
<a name="aws-resource-cleanrooms-analysistemplate--examples--Create_an_analysis_template--json"></a>

```
{
    "ExampleAnalysisTemplate": {
        "Type": "AWS::CleanRooms::AnalysisTemplate",
        "Properties": {
            "MembershipIdentifier": "a1b2c3d4-5678-90ab-cdef-EXAMPLE1111",
            "Name": "exampleAnalysisTemplate",
            "Description": "example description",
            "Source": {
                "Text": "SELECT * FROM cta1 WHERE cta1.column1 > :Param1 AND cta1.column2 like :Param2"
            },
            "Format": "SQL",
            "AnalysisParameters": [
                {
                    "Name": "Param1",
                    "Type": "SMALLINT",
                    "DefaultValue": 1
                },
                {
                    "Name": "Param2",
                    "Type": "CHAR"
                }
            ],
            "Tags": [
                {
                    "Key": "Hello",
                    "Value": "World"
                }
            ]
        }
    }
}
```

#### YAML
<a name="aws-resource-cleanrooms-analysistemplate--examples--Create_an_analysis_template--yaml"></a>

```
ExampleAnalysisTemplate:
    Type: 'AWS::CleanRooms::AnalysisTemplate'
    Properties:
      MembershipIdentifier: a1b2c3d4-5678-90ab-cdef-EXAMPLE1111
      Name: exampleAnalysisTemplate
      Description: example description
      Source:
        Text: SELECT * FROM cta1 WHERE cta1.column1 > :Param1 AND cta1.column2 like :Param2
      Format: SQL
      AnalysisParameters:
        - Name: Param1
          Type: SMALLINT
          DefaultValue: 1
        - Name: Param2
          Type: CHAR
      Tags:
        - Key: Hello
          Value: World
```

# AWS::CleanRooms::AnalysisTemplate AnalysisParameter
<a name="aws-properties-cleanrooms-analysistemplate-analysisparameter"></a>

Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysisparameter-syntax"></a>

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

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

```
{
  "[DefaultValue](#cfn-cleanrooms-analysistemplate-analysisparameter-defaultvalue)" : String,
  "[Name](#cfn-cleanrooms-analysistemplate-analysisparameter-name)" : String,
  "[Type](#cfn-cleanrooms-analysistemplate-analysisparameter-type)" : String
}
```

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

```
  [DefaultValue](#cfn-cleanrooms-analysistemplate-analysisparameter-defaultvalue): String
  [Name](#cfn-cleanrooms-analysistemplate-analysisparameter-name): String
  [Type](#cfn-cleanrooms-analysistemplate-analysisparameter-type): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysisparameter-properties"></a>

`DefaultValue`  <a name="cfn-cleanrooms-analysistemplate-analysisparameter-defaultvalue"></a>
Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-analysistemplate-analysisparameter-name"></a>
The name of the parameter. The name must use only alphanumeric or underscore (\$1) characters.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-zA-Z_]+`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Type`  <a name="cfn-cleanrooms-analysistemplate-analysisparameter-type"></a>
The type of parameter.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SMALLINT | INTEGER | BIGINT | DECIMAL | REAL | DOUBLE_PRECISION | BOOLEAN | CHAR | VARCHAR | DATE | TIMESTAMP | TIMESTAMPTZ | TIME | TIMETZ | VARBYTE | BINARY | BYTE | CHARACTER | DOUBLE | FLOAT | INT | LONG | NUMERIC | SHORT | STRING | TIMESTAMP_LTZ | TIMESTAMP_NTZ | TINYINT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate AnalysisSchema
<a name="aws-properties-cleanrooms-analysistemplate-analysisschema"></a>

A relation within an analysis.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysisschema-syntax"></a>

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

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

```
{
  "[ReferencedTables](#cfn-cleanrooms-analysistemplate-analysisschema-referencedtables)" : [ String, ... ]
}
```

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

```
  [ReferencedTables](#cfn-cleanrooms-analysistemplate-analysisschema-referencedtables): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysisschema-properties"></a>

`ReferencedTables`  <a name="cfn-cleanrooms-analysistemplate-analysisschema-referencedtables"></a>
The tables referenced in the analysis schema.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: Updates are not supported.

# AWS::CleanRooms::AnalysisTemplate AnalysisSource
<a name="aws-properties-cleanrooms-analysistemplate-analysissource"></a>

The structure that defines the body of the analysis template.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysissource-syntax"></a>

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

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

```
{
  "[Artifacts](#cfn-cleanrooms-analysistemplate-analysissource-artifacts)" : AnalysisTemplateArtifacts,
  "[Text](#cfn-cleanrooms-analysistemplate-analysissource-text)" : String
}
```

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

```
  [Artifacts](#cfn-cleanrooms-analysistemplate-analysissource-artifacts): 
    AnalysisTemplateArtifacts
  [Text](#cfn-cleanrooms-analysistemplate-analysissource-text): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysissource-properties"></a>

`Artifacts`  <a name="cfn-cleanrooms-analysistemplate-analysissource-artifacts"></a>
 The artifacts of the analysis source.  
*Required*: No  
*Type*: [AnalysisTemplateArtifacts](aws-properties-cleanrooms-analysistemplate-analysistemplateartifacts.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Text`  <a name="cfn-cleanrooms-analysistemplate-analysissource-text"></a>
The query text.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `90000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate AnalysisSourceMetadata
<a name="aws-properties-cleanrooms-analysistemplate-analysissourcemetadata"></a>

The analysis source metadata.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysissourcemetadata-syntax"></a>

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

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

```
{
  "[Artifacts](#cfn-cleanrooms-analysistemplate-analysissourcemetadata-artifacts)" : AnalysisTemplateArtifactMetadata
}
```

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

```
  [Artifacts](#cfn-cleanrooms-analysistemplate-analysissourcemetadata-artifacts): 
    AnalysisTemplateArtifactMetadata
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysissourcemetadata-properties"></a>

`Artifacts`  <a name="cfn-cleanrooms-analysistemplate-analysissourcemetadata-artifacts"></a>
 The artifacts of the analysis source metadata.  
*Required*: Yes  
*Type*: [AnalysisTemplateArtifactMetadata](aws-properties-cleanrooms-analysistemplate-analysistemplateartifactmetadata.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::AnalysisTemplate AnalysisTemplateArtifact
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifact"></a>

The analysis template artifact.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifact-syntax"></a>

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

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

```
{
  "[Location](#cfn-cleanrooms-analysistemplate-analysistemplateartifact-location)" : S3Location
}
```

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

```
  [Location](#cfn-cleanrooms-analysistemplate-analysistemplateartifact-location): 
    S3Location
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifact-properties"></a>

`Location`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifact-location"></a>
 The artifact location.  
*Required*: Yes  
*Type*: [S3Location](aws-properties-cleanrooms-analysistemplate-s3location.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate AnalysisTemplateArtifactMetadata
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifactmetadata"></a>

The analysis template artifact metadata.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifactmetadata-syntax"></a>

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

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

```
{
  "[AdditionalArtifactHashes](#cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-additionalartifacthashes)" : [ Hash, ... ],
  "[EntryPointHash](#cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-entrypointhash)" : Hash
}
```

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

```
  [AdditionalArtifactHashes](#cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-additionalartifacthashes): 
    - Hash
  [EntryPointHash](#cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-entrypointhash): 
    Hash
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifactmetadata-properties"></a>

`AdditionalArtifactHashes`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-additionalartifacthashes"></a>
 Additional artifact hashes for the analysis template.  
*Required*: No  
*Type*: Array of [Hash](aws-properties-cleanrooms-analysistemplate-hash.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EntryPointHash`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifactmetadata-entrypointhash"></a>
 The hash of the entry point for the analysis template artifact metadata.  
*Required*: Yes  
*Type*: [Hash](aws-properties-cleanrooms-analysistemplate-hash.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::AnalysisTemplate AnalysisTemplateArtifacts
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifacts"></a>

The analysis template artifacts.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifacts-syntax"></a>

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

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

```
{
  "[AdditionalArtifacts](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-additionalartifacts)" : [ AnalysisTemplateArtifact, ... ],
  "[EntryPoint](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-entrypoint)" : AnalysisTemplateArtifact,
  "[RoleArn](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-rolearn)" : String
}
```

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

```
  [AdditionalArtifacts](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-additionalartifacts): 
    - AnalysisTemplateArtifact
  [EntryPoint](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-entrypoint): 
    AnalysisTemplateArtifact
  [RoleArn](#cfn-cleanrooms-analysistemplate-analysistemplateartifacts-rolearn): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-analysistemplateartifacts-properties"></a>

`AdditionalArtifacts`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifacts-additionalartifacts"></a>
 Additional artifacts for the analysis template.  
*Required*: No  
*Type*: Array of [AnalysisTemplateArtifact](aws-properties-cleanrooms-analysistemplate-analysistemplateartifact.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EntryPoint`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifacts-entrypoint"></a>
 The entry point for the analysis template artifacts.  
*Required*: Yes  
*Type*: [AnalysisTemplateArtifact](aws-properties-cleanrooms-analysistemplate-analysistemplateartifact.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-cleanrooms-analysistemplate-analysistemplateartifacts-rolearn"></a>
 The role ARN for the analysis template artifacts.  
*Required*: Yes  
*Type*: String  
*Minimum*: `32`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate ColumnClassificationDetails
<a name="aws-properties-cleanrooms-analysistemplate-columnclassificationdetails"></a>

Contains classification information for data columns, including mappings that specify how columns should be handled during synthetic data generation and privacy analysis.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-columnclassificationdetails-syntax"></a>

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

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

```
{
  "[ColumnMapping](#cfn-cleanrooms-analysistemplate-columnclassificationdetails-columnmapping)" : [ SyntheticDataColumnProperties, ... ]
}
```

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

```
  [ColumnMapping](#cfn-cleanrooms-analysistemplate-columnclassificationdetails-columnmapping): 
    - SyntheticDataColumnProperties
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-columnclassificationdetails-properties"></a>

`ColumnMapping`  <a name="cfn-cleanrooms-analysistemplate-columnclassificationdetails-columnmapping"></a>
A mapping that defines the classification of data columns for synthetic data generation and specifies how each column should be handled during the privacy-preserving data synthesis process.  
*Required*: Yes  
*Type*: Array of [SyntheticDataColumnProperties](aws-properties-cleanrooms-analysistemplate-syntheticdatacolumnproperties.md)  
*Minimum*: `5`  
*Maximum*: `1000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate ErrorMessageConfiguration
<a name="aws-properties-cleanrooms-analysistemplate-errormessageconfiguration"></a>

A structure that defines the level of detail included in error messages returned by PySpark jobs. This configuration allows you to control the verbosity of error messages to help with troubleshooting PySpark jobs while maintaining appropriate security controls.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-errormessageconfiguration-syntax"></a>

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

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

```
{
  "[Type](#cfn-cleanrooms-analysistemplate-errormessageconfiguration-type)" : String
}
```

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

```
  [Type](#cfn-cleanrooms-analysistemplate-errormessageconfiguration-type): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-errormessageconfiguration-properties"></a>

`Type`  <a name="cfn-cleanrooms-analysistemplate-errormessageconfiguration-type"></a>
The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.  
Because this setting may expose sensitive data, it is recommended for development and testing environments.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DETAILED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate Hash
<a name="aws-properties-cleanrooms-analysistemplate-hash"></a>

 Hash

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-hash-syntax"></a>

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

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

```
{
  "[Sha256](#cfn-cleanrooms-analysistemplate-hash-sha256)" : String
}
```

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

```
  [Sha256](#cfn-cleanrooms-analysistemplate-hash-sha256): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-hash-properties"></a>

`Sha256`  <a name="cfn-cleanrooms-analysistemplate-hash-sha256"></a>
 The SHA-256 hash value.  
*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::CleanRooms::AnalysisTemplate MLSyntheticDataParameters
<a name="aws-properties-cleanrooms-analysistemplate-mlsyntheticdataparameters"></a>

Parameters that control the generation of synthetic data for machine learning, including privacy settings and column classification details.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-mlsyntheticdataparameters-syntax"></a>

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

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

```
{
  "[ColumnClassification](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-columnclassification)" : ColumnClassificationDetails,
  "[Epsilon](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-epsilon)" : Number,
  "[MaxMembershipInferenceAttackScore](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-maxmembershipinferenceattackscore)" : Number
}
```

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

```
  [ColumnClassification](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-columnclassification): 
    ColumnClassificationDetails
  [Epsilon](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-epsilon): Number
  [MaxMembershipInferenceAttackScore](#cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-maxmembershipinferenceattackscore): Number
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-mlsyntheticdataparameters-properties"></a>

`ColumnClassification`  <a name="cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-columnclassification"></a>
Classification details for data columns that specify how each column should be treated during synthetic data generation.  
*Required*: Yes  
*Type*: [ColumnClassificationDetails](aws-properties-cleanrooms-analysistemplate-columnclassificationdetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Epsilon`  <a name="cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-epsilon"></a>
The epsilon value for differential privacy when generating synthetic data. Lower values provide stronger privacy guarantees but may reduce data utility.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MaxMembershipInferenceAttackScore`  <a name="cfn-cleanrooms-analysistemplate-mlsyntheticdataparameters-maxmembershipinferenceattackscore"></a>
The maximum acceptable score for membership inference attack vulnerability. Synthetic data generation fails if the score for the resulting data exceeds this threshold.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate S3Location
<a name="aws-properties-cleanrooms-analysistemplate-s3location"></a>

The S3 location.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-s3location-syntax"></a>

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

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

```
{
  "[Bucket](#cfn-cleanrooms-analysistemplate-s3location-bucket)" : String,
  "[Key](#cfn-cleanrooms-analysistemplate-s3location-key)" : String
}
```

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

```
  [Bucket](#cfn-cleanrooms-analysistemplate-s3location-bucket): String
  [Key](#cfn-cleanrooms-analysistemplate-s3location-key): String
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-s3location-properties"></a>

`Bucket`  <a name="cfn-cleanrooms-analysistemplate-s3location-bucket"></a>
 The bucket name.  
*Required*: Yes  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Key`  <a name="cfn-cleanrooms-analysistemplate-s3location-key"></a>
 The object key.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9!_.*'()-/]+`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate SyntheticDataColumnProperties
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdatacolumnproperties"></a>

Properties that define how a specific data column should be handled during synthetic data generation, including its name, type, and role in predictive modeling.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdatacolumnproperties-syntax"></a>

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

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

```
{
  "[ColumnName](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columnname)" : String,
  "[ColumnType](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columntype)" : String,
  "[IsPredictiveValue](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-ispredictivevalue)" : Boolean
}
```

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

```
  [ColumnName](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columnname): String
  [ColumnType](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columntype): String
  [IsPredictiveValue](#cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-ispredictivevalue): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdatacolumnproperties-properties"></a>

`ColumnName`  <a name="cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columnname"></a>
The name of the data column as it appears in the dataset.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-z0-9_](([a-z0-9_]+-)*([a-z0-9_]+))?$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ColumnType`  <a name="cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-columntype"></a>
The data type of the column, which determines how the synthetic data generation algorithm processes and synthesizes values for this column.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CATEGORICAL | NUMERICAL`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IsPredictiveValue`  <a name="cfn-cleanrooms-analysistemplate-syntheticdatacolumnproperties-ispredictivevalue"></a>
Indicates if this column contains predictive values that should be treated as target variables in machine learning models. This affects how the synthetic data generation preserves statistical relationships.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate SyntheticDataParameters
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdataparameters"></a>

The parameters that control how synthetic data is generated, including privacy settings, column classifications, and other configuration options that affect the data synthesis process.

## Syntax
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdataparameters-syntax"></a>

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

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

```
{
  "[MlSyntheticDataParameters](#cfn-cleanrooms-analysistemplate-syntheticdataparameters-mlsyntheticdataparameters)" : MLSyntheticDataParameters
}
```

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

```
  [MlSyntheticDataParameters](#cfn-cleanrooms-analysistemplate-syntheticdataparameters-mlsyntheticdataparameters): 
    MLSyntheticDataParameters
```

## Properties
<a name="aws-properties-cleanrooms-analysistemplate-syntheticdataparameters-properties"></a>

`MlSyntheticDataParameters`  <a name="cfn-cleanrooms-analysistemplate-syntheticdataparameters-mlsyntheticdataparameters"></a>
The machine learning-specific parameters for synthetic data generation.  
*Required*: Yes  
*Type*: [MLSyntheticDataParameters](aws-properties-cleanrooms-analysistemplate-mlsyntheticdataparameters.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::AnalysisTemplate Tag
<a name="aws-properties-cleanrooms-analysistemplate-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-analysistemplate-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-analysistemplate-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-analysistemplate-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)

# AWS::CleanRooms::Collaboration
<a name="aws-resource-cleanrooms-collaboration"></a>

Creates a new collaboration.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::Collaboration",
  "Properties" : {
      "[AllowedResultRegions](#cfn-cleanrooms-collaboration-allowedresultregions)" : [ String, ... ],
      "[AnalyticsEngine](#cfn-cleanrooms-collaboration-analyticsengine)" : String,
      "[AutoApprovedChangeTypes](#cfn-cleanrooms-collaboration-autoapprovedchangetypes)" : [ String, ... ],
      "[CreatorDisplayName](#cfn-cleanrooms-collaboration-creatordisplayname)" : String,
      "[CreatorMemberAbilities](#cfn-cleanrooms-collaboration-creatormemberabilities)" : [ String, ... ],
      "[CreatorMLMemberAbilities](#cfn-cleanrooms-collaboration-creatormlmemberabilities)" : MLMemberAbilities,
      "[CreatorPaymentConfiguration](#cfn-cleanrooms-collaboration-creatorpaymentconfiguration)" : PaymentConfiguration,
      "[DataEncryptionMetadata](#cfn-cleanrooms-collaboration-dataencryptionmetadata)" : DataEncryptionMetadata,
      "[Description](#cfn-cleanrooms-collaboration-description)" : String,
      "[IsMetricsEnabled](#cfn-cleanrooms-collaboration-ismetricsenabled)" : Boolean,
      "[JobLogStatus](#cfn-cleanrooms-collaboration-joblogstatus)" : String,
      "[Members](#cfn-cleanrooms-collaboration-members)" : [ MemberSpecification, ... ],
      "[Name](#cfn-cleanrooms-collaboration-name)" : String,
      "[QueryLogStatus](#cfn-cleanrooms-collaboration-querylogstatus)" : String,
      "[Tags](#cfn-cleanrooms-collaboration-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::Collaboration
Properties:
  [AllowedResultRegions](#cfn-cleanrooms-collaboration-allowedresultregions): 
    - String
  [AnalyticsEngine](#cfn-cleanrooms-collaboration-analyticsengine): String
  [AutoApprovedChangeTypes](#cfn-cleanrooms-collaboration-autoapprovedchangetypes): 
    - String
  [CreatorDisplayName](#cfn-cleanrooms-collaboration-creatordisplayname): String
  [CreatorMemberAbilities](#cfn-cleanrooms-collaboration-creatormemberabilities): 
    - String
  [CreatorMLMemberAbilities](#cfn-cleanrooms-collaboration-creatormlmemberabilities): 
    MLMemberAbilities
  [CreatorPaymentConfiguration](#cfn-cleanrooms-collaboration-creatorpaymentconfiguration): 
    PaymentConfiguration
  [DataEncryptionMetadata](#cfn-cleanrooms-collaboration-dataencryptionmetadata): 
    DataEncryptionMetadata
  [Description](#cfn-cleanrooms-collaboration-description): String
  [IsMetricsEnabled](#cfn-cleanrooms-collaboration-ismetricsenabled): Boolean
  [JobLogStatus](#cfn-cleanrooms-collaboration-joblogstatus): String
  [Members](#cfn-cleanrooms-collaboration-members): 
    - MemberSpecification
  [Name](#cfn-cleanrooms-collaboration-name): String
  [QueryLogStatus](#cfn-cleanrooms-collaboration-querylogstatus): String
  [Tags](#cfn-cleanrooms-collaboration-tags): 
    - Tag
```

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

`AllowedResultRegions`  <a name="cfn-cleanrooms-collaboration-allowedresultregions"></a>
The AWS Regions where collaboration query results can be stored. Returns the list of Region identifiers that were specified when the collaboration was created. This list is used to enforce regional storage policies and compliance requirements.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AnalyticsEngine`  <a name="cfn-cleanrooms-collaboration-analyticsengine"></a>
 The analytics engine for the collaboration.  
After July 16, 2025, the `CLEAN_ROOMS_SQL` parameter will no longer be available. 
*Required*: No  
*Type*: String  
*Allowed values*: `CLEAN_ROOMS_SQL | SPARK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AutoApprovedChangeTypes`  <a name="cfn-cleanrooms-collaboration-autoapprovedchangetypes"></a>
The types of change requests that are automatically approved for this collaboration.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CreatorDisplayName`  <a name="cfn-cleanrooms-collaboration-creatordisplayname"></a>
A display name of the collaboration creator.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$)[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t]*$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CreatorMemberAbilities`  <a name="cfn-cleanrooms-collaboration-creatormemberabilities"></a>
The abilities granted to the collaboration creator.  
*Allowed values*`CAN_QUERY` \$1 `CAN_RECEIVE_RESULTS` \$1 `CAN_RUN_JOB`  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CreatorMLMemberAbilities`  <a name="cfn-cleanrooms-collaboration-creatormlmemberabilities"></a>
The ML member abilities for a collaboration member.  
*Required*: No  
*Type*: [MLMemberAbilities](aws-properties-cleanrooms-collaboration-mlmemberabilities.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CreatorPaymentConfiguration`  <a name="cfn-cleanrooms-collaboration-creatorpaymentconfiguration"></a>
An object representing the collaboration member's payment responsibilities set by the collaboration creator.  
*Required*: No  
*Type*: [PaymentConfiguration](aws-properties-cleanrooms-collaboration-paymentconfiguration.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataEncryptionMetadata`  <a name="cfn-cleanrooms-collaboration-dataencryptionmetadata"></a>
The settings for client-side encryption for cryptographic computing.  
*Required*: No  
*Type*: [DataEncryptionMetadata](aws-properties-cleanrooms-collaboration-dataencryptionmetadata.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-cleanrooms-collaboration-description"></a>
A description of the collaboration provided by the collaboration owner.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$)[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t\r\n]*$`  
*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)

`IsMetricsEnabled`  <a name="cfn-cleanrooms-collaboration-ismetricsenabled"></a>
An indicator as to whether metrics are enabled for the collaboration.  
When `true`, collaboration members can opt in to Amazon CloudWatch metrics for their membership queries.  
*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)

`JobLogStatus`  <a name="cfn-cleanrooms-collaboration-joblogstatus"></a>
An indicator as to whether job logging has been enabled or disabled for the collaboration.   
When `ENABLED`, AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED`.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Members`  <a name="cfn-cleanrooms-collaboration-members"></a>
A list of initial members, not including the creator. This list is immutable.  
*Required*: No  
*Type*: Array of [MemberSpecification](aws-properties-cleanrooms-collaboration-memberspecification.md)  
*Minimum*: `0`  
*Maximum*: `9`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-collaboration-name"></a>
A human-readable identifier provided by the collaboration owner. Display names are not unique.  
*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)

`QueryLogStatus`  <a name="cfn-cleanrooms-collaboration-querylogstatus"></a>
An indicator as to whether query logging has been enabled or disabled for the collaboration.  
When `ENABLED`, AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-cleanrooms-collaboration-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-collaboration-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-collaboration-return-values"></a>

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `CollaborationIdentifier`, such as `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. For example: 

 `{ "Ref": "MyCollaboration" }` 

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-collaboration-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-collaboration-return-values-fn--getatt-fn--getatt"></a>

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

`CollaborationIdentifier`  <a name="CollaborationIdentifier-fn::getatt"></a>
Returns the unique identifier of the specified collaboration.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`

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



### Create a collaboration
<a name="aws-resource-cleanrooms-collaboration--examples--Create_a_collaboration"></a>

The following example creates a collaboration with the collaboration creator.

#### JSON
<a name="aws-resource-cleanrooms-collaboration--examples--Create_a_collaboration--json"></a>

```
"ExampleCollaboration": {
  {
    "Type": "AWS::CleanRooms::Collaboration",
    "Properties": {
      "Name": "Example Collaboration",
      "Description": "Example AWS Clean Rooms collaboration",
      "CreatorDisplayName": "Member 1",
      "CreatorMemberAbilities": ["CAN_QUERY", "CAN_RECEIVE_RESULTS"],
      "Members": [
        {
          "AccountId": "111122223333",
          "DisplayName": "Member 2",
          "MemberAbilities": []
        },
        {
          "AccountId": "444455556666",
          "DisplayName": "Member 3",
          "MemberAbilities": []
        }
      ],
      "QueryLogStatus": "ENABLED"
    }
  }
}
```

#### YAML
<a name="aws-resource-cleanrooms-collaboration--examples--Create_a_collaboration--yaml"></a>

```
ExampleCollaboration:
  Type: AWS::CleanRooms::Collaboration
  Properties:
    Name: Example Collaboration
    Description: Example AWS Clean Rooms collaboration
    CreatorDisplayName: Member 1
    CreatorMemberAbilities:
      - CAN_QUERY
      - CAN_RECEIVE_RESULTS
    Members:
      - AccountId: 111122223333
        DisplayName: Member 2
        MemberAbilities: []
      - AccountId: 444455556666
        DisplayName: Member 3
        MemberAbilities: []
    QueryLogStatus: ENABLED
```

# AWS::CleanRooms::Collaboration DataEncryptionMetadata
<a name="aws-properties-cleanrooms-collaboration-dataencryptionmetadata"></a>

The settings for client-side encryption for cryptographic computing.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-dataencryptionmetadata-syntax"></a>

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

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

```
{
  "[AllowCleartext](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowcleartext)" : Boolean,
  "[AllowDuplicates](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowduplicates)" : Boolean,
  "[AllowJoinsOnColumnsWithDifferentNames](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowjoinsoncolumnswithdifferentnames)" : Boolean,
  "[PreserveNulls](#cfn-cleanrooms-collaboration-dataencryptionmetadata-preservenulls)" : Boolean
}
```

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

```
  [AllowCleartext](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowcleartext): Boolean
  [AllowDuplicates](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowduplicates): Boolean
  [AllowJoinsOnColumnsWithDifferentNames](#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowjoinsoncolumnswithdifferentnames): Boolean
  [PreserveNulls](#cfn-cleanrooms-collaboration-dataencryptionmetadata-preservenulls): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-dataencryptionmetadata-properties"></a>

`AllowCleartext`  <a name="cfn-cleanrooms-collaboration-dataencryptionmetadata-allowcleartext"></a>
Indicates whether encrypted tables can contain cleartext data (`TRUE`) or are to cryptographically process every column (`FALSE`).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AllowDuplicates`  <a name="cfn-cleanrooms-collaboration-dataencryptionmetadata-allowduplicates"></a>
Indicates whether Fingerprint columns can contain duplicate entries (`TRUE`) or are to contain only non-repeated values (`FALSE`).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AllowJoinsOnColumnsWithDifferentNames`  <a name="cfn-cleanrooms-collaboration-dataencryptionmetadata-allowjoinsoncolumnswithdifferentnames"></a>
Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name (`TRUE`) or can only be joined on Fingerprint columns of the same name (`FALSE`).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PreserveNulls`  <a name="cfn-cleanrooms-collaboration-dataencryptionmetadata-preservenulls"></a>
Indicates whether NULL values are to be copied as NULL to encrypted tables (`TRUE`) or cryptographically processed (`FALSE`).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration JobComputePaymentConfig
<a name="aws-properties-cleanrooms-collaboration-jobcomputepaymentconfig"></a>

An object representing the collaboration member's payment responsibilities set by the collaboration creator for query and job compute costs.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-jobcomputepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-collaboration-jobcomputepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-collaboration-jobcomputepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-jobcomputepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-collaboration-jobcomputepaymentconfig-isresponsible"></a>
Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs (`TRUE`) or has not configured the collaboration member to pay for query and job compute costs (`FALSE`).  
Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.   
An error is returned if the collaboration creator sets a `FALSE` value for the member who can run queries and jobs.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration MemberSpecification
<a name="aws-properties-cleanrooms-collaboration-memberspecification"></a>

Basic metadata used to construct a new member.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-memberspecification-syntax"></a>

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

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

```
{
  "[AccountId](#cfn-cleanrooms-collaboration-memberspecification-accountid)" : String,
  "[DisplayName](#cfn-cleanrooms-collaboration-memberspecification-displayname)" : String,
  "[MemberAbilities](#cfn-cleanrooms-collaboration-memberspecification-memberabilities)" : [ String, ... ],
  "[MLMemberAbilities](#cfn-cleanrooms-collaboration-memberspecification-mlmemberabilities)" : MLMemberAbilities,
  "[PaymentConfiguration](#cfn-cleanrooms-collaboration-memberspecification-paymentconfiguration)" : PaymentConfiguration
}
```

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

```
  [AccountId](#cfn-cleanrooms-collaboration-memberspecification-accountid): String
  [DisplayName](#cfn-cleanrooms-collaboration-memberspecification-displayname): String
  [MemberAbilities](#cfn-cleanrooms-collaboration-memberspecification-memberabilities): 
    - String
  [MLMemberAbilities](#cfn-cleanrooms-collaboration-memberspecification-mlmemberabilities): 
    MLMemberAbilities
  [PaymentConfiguration](#cfn-cleanrooms-collaboration-memberspecification-paymentconfiguration): 
    PaymentConfiguration
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-memberspecification-properties"></a>

`AccountId`  <a name="cfn-cleanrooms-collaboration-memberspecification-accountid"></a>
The identifier used to reference members of the collaboration. Currently only supports AWS account ID.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^\d+$`  
*Minimum*: `12`  
*Maximum*: `12`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DisplayName`  <a name="cfn-cleanrooms-collaboration-memberspecification-displayname"></a>
The member's display name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$)[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t]*$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MemberAbilities`  <a name="cfn-cleanrooms-collaboration-memberspecification-memberabilities"></a>
The abilities granted to the collaboration member.  
*Allowed Values*: `CAN_QUERY` \$1 `CAN_RECEIVE_RESULTS`  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MLMemberAbilities`  <a name="cfn-cleanrooms-collaboration-memberspecification-mlmemberabilities"></a>
The ML abilities granted to the collaboration member.  
*Required*: No  
*Type*: [MLMemberAbilities](aws-properties-cleanrooms-collaboration-mlmemberabilities.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PaymentConfiguration`  <a name="cfn-cleanrooms-collaboration-memberspecification-paymentconfiguration"></a>
The collaboration member's payment responsibilities set by the collaboration creator.   
If the collaboration creator hasn't speciﬁed anyone as the member paying for query compute costs, then the member who can query is the default payer.  
*Required*: No  
*Type*: [PaymentConfiguration](aws-properties-cleanrooms-collaboration-paymentconfiguration.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration MLMemberAbilities
<a name="aws-properties-cleanrooms-collaboration-mlmemberabilities"></a>

The ML member abilities for a collaboration member.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-mlmemberabilities-syntax"></a>

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

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

```
{
  "[CustomMLMemberAbilities](#cfn-cleanrooms-collaboration-mlmemberabilities-custommlmemberabilities)" : [ String, ... ]
}
```

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

```
  [CustomMLMemberAbilities](#cfn-cleanrooms-collaboration-mlmemberabilities-custommlmemberabilities): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-mlmemberabilities-properties"></a>

`CustomMLMemberAbilities`  <a name="cfn-cleanrooms-collaboration-mlmemberabilities-custommlmemberabilities"></a>
The custom ML member abilities for a collaboration member.   
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration MLPaymentConfig
<a name="aws-properties-cleanrooms-collaboration-mlpaymentconfig"></a>

An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-mlpaymentconfig-syntax"></a>

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

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

```
{
  "[ModelInference](#cfn-cleanrooms-collaboration-mlpaymentconfig-modelinference)" : ModelInferencePaymentConfig,
  "[ModelTraining](#cfn-cleanrooms-collaboration-mlpaymentconfig-modeltraining)" : ModelTrainingPaymentConfig,
  "[SyntheticDataGeneration](#cfn-cleanrooms-collaboration-mlpaymentconfig-syntheticdatageneration)" : SyntheticDataGenerationPaymentConfig
}
```

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

```
  [ModelInference](#cfn-cleanrooms-collaboration-mlpaymentconfig-modelinference): 
    ModelInferencePaymentConfig
  [ModelTraining](#cfn-cleanrooms-collaboration-mlpaymentconfig-modeltraining): 
    ModelTrainingPaymentConfig
  [SyntheticDataGeneration](#cfn-cleanrooms-collaboration-mlpaymentconfig-syntheticdatageneration): 
    SyntheticDataGenerationPaymentConfig
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-mlpaymentconfig-properties"></a>

`ModelInference`  <a name="cfn-cleanrooms-collaboration-mlpaymentconfig-modelinference"></a>
The payment responsibilities accepted by the member for model inference.  
*Required*: No  
*Type*: [ModelInferencePaymentConfig](aws-properties-cleanrooms-collaboration-modelinferencepaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelTraining`  <a name="cfn-cleanrooms-collaboration-mlpaymentconfig-modeltraining"></a>
The payment responsibilities accepted by the member for model training.  
*Required*: No  
*Type*: [ModelTrainingPaymentConfig](aws-properties-cleanrooms-collaboration-modeltrainingpaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SyntheticDataGeneration`  <a name="cfn-cleanrooms-collaboration-mlpaymentconfig-syntheticdatageneration"></a>
The payment configuration for machine learning synthetic data generation.  
*Required*: No  
*Type*: [SyntheticDataGenerationPaymentConfig](aws-properties-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration ModelInferencePaymentConfig
<a name="aws-properties-cleanrooms-collaboration-modelinferencepaymentconfig"></a>

An object representing the collaboration member's model inference payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-modelinferencepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-collaboration-modelinferencepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-collaboration-modelinferencepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-modelinferencepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-collaboration-modelinferencepaymentconfig-isresponsible"></a>
Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs (`TRUE`) or has not configured the collaboration member to pay for model inference costs (`FALSE`).  
Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.   
If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration ModelTrainingPaymentConfig
<a name="aws-properties-cleanrooms-collaboration-modeltrainingpaymentconfig"></a>

An object representing the collaboration member's model training payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-modeltrainingpaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-collaboration-modeltrainingpaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-collaboration-modeltrainingpaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-modeltrainingpaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-collaboration-modeltrainingpaymentconfig-isresponsible"></a>
Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs (`TRUE`) or has not configured the collaboration member to pay for model training costs (`FALSE`).  
Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.   
If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration PaymentConfiguration
<a name="aws-properties-cleanrooms-collaboration-paymentconfiguration"></a>

An object representing the collaboration member's payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-paymentconfiguration-syntax"></a>

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

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

```
{
  "[JobCompute](#cfn-cleanrooms-collaboration-paymentconfiguration-jobcompute)" : JobComputePaymentConfig,
  "[MachineLearning](#cfn-cleanrooms-collaboration-paymentconfiguration-machinelearning)" : MLPaymentConfig,
  "[QueryCompute](#cfn-cleanrooms-collaboration-paymentconfiguration-querycompute)" : QueryComputePaymentConfig
}
```

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

```
  [JobCompute](#cfn-cleanrooms-collaboration-paymentconfiguration-jobcompute): 
    JobComputePaymentConfig
  [MachineLearning](#cfn-cleanrooms-collaboration-paymentconfiguration-machinelearning): 
    MLPaymentConfig
  [QueryCompute](#cfn-cleanrooms-collaboration-paymentconfiguration-querycompute): 
    QueryComputePaymentConfig
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-paymentconfiguration-properties"></a>

`JobCompute`  <a name="cfn-cleanrooms-collaboration-paymentconfiguration-jobcompute"></a>
 The compute configuration for the job.  
*Required*: No  
*Type*: [JobComputePaymentConfig](aws-properties-cleanrooms-collaboration-jobcomputepaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MachineLearning`  <a name="cfn-cleanrooms-collaboration-paymentconfiguration-machinelearning"></a>
An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.  
*Required*: No  
*Type*: [MLPaymentConfig](aws-properties-cleanrooms-collaboration-mlpaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`QueryCompute`  <a name="cfn-cleanrooms-collaboration-paymentconfiguration-querycompute"></a>
The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.  
*Required*: Yes  
*Type*: [QueryComputePaymentConfig](aws-properties-cleanrooms-collaboration-querycomputepaymentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration QueryComputePaymentConfig
<a name="aws-properties-cleanrooms-collaboration-querycomputepaymentconfig"></a>

An object representing the collaboration member's payment responsibilities set by the collaboration creator for query compute costs.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-querycomputepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-collaboration-querycomputepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-collaboration-querycomputepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-querycomputepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-collaboration-querycomputepaymentconfig-isresponsible"></a>
Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs (`TRUE`) or has not configured the collaboration member to pay for query compute costs (`FALSE`).  
Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.   
If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration SyntheticDataGenerationPaymentConfig
<a name="aws-properties-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig"></a>

Payment configuration for synthetic data generation.

## Syntax
<a name="aws-properties-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-collaboration-syntheticdatagenerationpaymentconfig-isresponsible"></a>
Indicates who is responsible for paying for synthetic data generation.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::Collaboration Tag
<a name="aws-properties-cleanrooms-collaboration-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-collaboration-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-collaboration-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-collaboration-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)

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

# AWS::CleanRooms::ConfiguredTableAssociation
<a name="aws-resource-cleanrooms-configuredtableassociation"></a>

Creates a configured table association. A configured table association links a configured table with a collaboration.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::ConfiguredTableAssociation",
  "Properties" : {
      "[ConfiguredTableAssociationAnalysisRules](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrules)" : [ ConfiguredTableAssociationAnalysisRule, ... ],
      "[ConfiguredTableIdentifier](#cfn-cleanrooms-configuredtableassociation-configuredtableidentifier)" : String,
      "[Description](#cfn-cleanrooms-configuredtableassociation-description)" : String,
      "[MembershipIdentifier](#cfn-cleanrooms-configuredtableassociation-membershipidentifier)" : String,
      "[Name](#cfn-cleanrooms-configuredtableassociation-name)" : String,
      "[RoleArn](#cfn-cleanrooms-configuredtableassociation-rolearn)" : String,
      "[Tags](#cfn-cleanrooms-configuredtableassociation-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::ConfiguredTableAssociation
Properties:
  [ConfiguredTableAssociationAnalysisRules](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrules): 
    - ConfiguredTableAssociationAnalysisRule
  [ConfiguredTableIdentifier](#cfn-cleanrooms-configuredtableassociation-configuredtableidentifier): String
  [Description](#cfn-cleanrooms-configuredtableassociation-description): String
  [MembershipIdentifier](#cfn-cleanrooms-configuredtableassociation-membershipidentifier): String
  [Name](#cfn-cleanrooms-configuredtableassociation-name): String
  [RoleArn](#cfn-cleanrooms-configuredtableassociation-rolearn): String
  [Tags](#cfn-cleanrooms-configuredtableassociation-tags): 
    - Tag
```

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

`ConfiguredTableAssociationAnalysisRules`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrules"></a>
An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule*.  
*Required*: No  
*Type*: Array of [ConfiguredTableAssociationAnalysisRule](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule.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)

`ConfiguredTableIdentifier`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableidentifier"></a>
A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-cleanrooms-configuredtableassociation-description"></a>
A description of the configured table association.  
*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)

`MembershipIdentifier`  <a name="cfn-cleanrooms-configuredtableassociation-membershipidentifier"></a>
The unique ID for the membership this configured table association belongs to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-configuredtableassociation-name"></a>
The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-cleanrooms-configuredtableassociation-rolearn"></a>
The service will assume this role to access catalog metadata and query the table.  
*Required*: Yes  
*Type*: String  
*Minimum*: `32`  
*Maximum*: `512`  
*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-configuredtableassociation-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-configuredtableassociation-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-configuredtableassociation-return-values"></a>

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `ConfiguredTableAssociation` and the ID of the Membership. For example: `c1baf760-935e-4b2d-b36e-af8daaeb6e48|81a97460-2c40-46ce-a2fd-4ccda7398b2c`

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-configuredtableassociation-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-configuredtableassociation-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 association.  
Example: `arn:aws:cleanrooms:us-east-1:111122223333:configuredtable/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333`

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

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



### A configured table association
<a name="aws-resource-cleanrooms-configuredtableassociation--examples--A_configured_table_association"></a>

The following is an example of a configured table association which associates a configured table to a collaboration.

#### JSON
<a name="aws-resource-cleanrooms-configuredtableassociation--examples--A_configured_table_association--json"></a>

```
"ExampleAssociation": {
  "Type" : "AWS::CleanRooms::ConfiguredTableAssociation",
  "Properties" : {
    "Name" : "Example Table",
    "Description" : "Example associated configured table",
    "ConfiguredTableIdentifier" : "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "MembershipIdentifier" : "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333",
    "RoleArn" : "arn:aws:iam::123456789012:role/service-role/cleanrooms-association-example"
  }
}
```

#### YAML
<a name="aws-resource-cleanrooms-configuredtableassociation--examples--A_configured_table_association--yaml"></a>

```
ExampleAssociation:
  Type: AWS::CleanRooms::ConfiguredTableAssociation
  Properties:
    Name: Example Table
    Description: Example associated configured table
    ConfiguredTableIdentifier: a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
    MembershipIdentifier: a1b2c3d4-5678-90ab-cdef-EXAMPLE33333
    RoleArn: arn:aws:iam::123456789012:role/service-role/cleanrooms-association-example
```

# AWS::CleanRooms::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRule
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule"></a>

An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule*.

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-syntax"></a>

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

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

```
{
  "[Policy](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-policy)" : ConfiguredTableAssociationAnalysisRulePolicy,
  "[Type](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-type)" : String
}
```

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

```
  [Policy](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-policy): 
    ConfiguredTableAssociationAnalysisRulePolicy
  [Type](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-type): String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-properties"></a>

`Policy`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-policy"></a>
 The policy of the configured table association analysis rule.  
*Required*: Yes  
*Type*: [ConfiguredTableAssociationAnalysisRulePolicy](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy.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-configuredtableassociation-configuredtableassociationanalysisrule-type"></a>
 The type of the configured table association 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::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRuleAggregation
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation"></a>

 The configured table association analysis rule applied to a configured table with the aggregation analysis rule.

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-syntax"></a>

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

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

```
{
  "[AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedadditionalanalyses)" : [ String, ... ],
  "[AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedresultreceivers)" : [ String, ... ]
}
```

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

```
  [AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedadditionalanalyses): 
    - String
  [AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedresultreceivers): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-properties"></a>

`AllowedAdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedadditionalanalyses"></a>
 The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.  
The `allowedAdditionalAnalyses` parameter is currently supported for the list analysis rule (`AnalysisRuleList`) and the custom analysis rule (`AnalysisRuleCustom`).  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedResultReceivers`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedresultreceivers"></a>
 The list of collaboration members who are allowed to receive results of queries run with this configured table.  
*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::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRuleCustom
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom"></a>

 The configured table association analysis rule applied to a configured table with the custom analysis rule.

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-syntax"></a>

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

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

```
{
  "[AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedadditionalanalyses)" : [ String, ... ],
  "[AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedresultreceivers)" : [ String, ... ]
}
```

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

```
  [AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedadditionalanalyses): 
    - String
  [AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedresultreceivers): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-properties"></a>

`AllowedAdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedadditionalanalyses"></a>
 The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedResultReceivers`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedresultreceivers"></a>
 The list of collaboration members who are allowed to receive results of queries run with this configured table.  
*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::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRuleList
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist"></a>

 The configured table association analysis rule applied to a configured table with the list analysis rule.

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-syntax"></a>

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

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

```
{
  "[AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedadditionalanalyses)" : [ String, ... ],
  "[AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedresultreceivers)" : [ String, ... ]
}
```

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

```
  [AllowedAdditionalAnalyses](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedadditionalanalyses): 
    - String
  [AllowedResultReceivers](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedresultreceivers): 
    - String
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-properties"></a>

`AllowedAdditionalAnalyses`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedadditionalanalyses"></a>
 The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedResultReceivers`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedresultreceivers"></a>
 The list of collaboration members who are allowed to receive results of queries run with this configured table.  
*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::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRulePolicy
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy"></a>

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

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-syntax"></a>

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

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

```
{
  "[V1](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-v1)" : ConfiguredTableAssociationAnalysisRulePolicyV1
}
```

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

```
  [V1](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-v1): 
    ConfiguredTableAssociationAnalysisRulePolicyV1
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-properties"></a>

`V1`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-v1"></a>
 The policy for the configured table association analysis rule.  
*Required*: Yes  
*Type*: [ConfiguredTableAssociationAnalysisRulePolicyV1](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1.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::ConfiguredTableAssociation ConfiguredTableAssociationAnalysisRulePolicyV1
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1"></a>

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

## Syntax
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-syntax"></a>

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

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

```
{
  "[Aggregation](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-aggregation)" : ConfiguredTableAssociationAnalysisRuleAggregation,
  "[Custom](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-custom)" : ConfiguredTableAssociationAnalysisRuleCustom,
  "[List](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-list)" : ConfiguredTableAssociationAnalysisRuleList
}
```

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

```
  [Aggregation](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-aggregation): 
    ConfiguredTableAssociationAnalysisRuleAggregation
  [Custom](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-custom): 
    ConfiguredTableAssociationAnalysisRuleCustom
  [List](#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-list): 
    ConfiguredTableAssociationAnalysisRuleList
```

## Properties
<a name="aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-properties"></a>

`Aggregation`  <a name="cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-aggregation"></a>
 Analysis rule type that enables only aggregation queries on a configured table.  
*Required*: No  
*Type*: [ConfiguredTableAssociationAnalysisRuleAggregation](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation.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-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-custom"></a>
 Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.  
*Required*: No  
*Type*: [ConfiguredTableAssociationAnalysisRuleCustom](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom.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-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-list"></a>
 Analysis rule type that enables only list queries on a configured table.  
*Required*: No  
*Type*: [ConfiguredTableAssociationAnalysisRuleList](aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist.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::ConfiguredTableAssociation Tag
<a name="aws-properties-cleanrooms-configuredtableassociation-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-configuredtableassociation-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-configuredtableassociation-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-configuredtableassociation-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)

# AWS::CleanRooms::IdMappingTable
<a name="aws-resource-cleanrooms-idmappingtable"></a>

Describes information about the ID mapping table.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::IdMappingTable",
  "Properties" : {
      "[Description](#cfn-cleanrooms-idmappingtable-description)" : String,
      "[InputReferenceConfig](#cfn-cleanrooms-idmappingtable-inputreferenceconfig)" : IdMappingTableInputReferenceConfig,
      "[KmsKeyArn](#cfn-cleanrooms-idmappingtable-kmskeyarn)" : String,
      "[MembershipIdentifier](#cfn-cleanrooms-idmappingtable-membershipidentifier)" : String,
      "[Name](#cfn-cleanrooms-idmappingtable-name)" : String,
      "[Tags](#cfn-cleanrooms-idmappingtable-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::IdMappingTable
Properties:
  [Description](#cfn-cleanrooms-idmappingtable-description): String
  [InputReferenceConfig](#cfn-cleanrooms-idmappingtable-inputreferenceconfig): 
    IdMappingTableInputReferenceConfig
  [KmsKeyArn](#cfn-cleanrooms-idmappingtable-kmskeyarn): String
  [MembershipIdentifier](#cfn-cleanrooms-idmappingtable-membershipidentifier): String
  [Name](#cfn-cleanrooms-idmappingtable-name): String
  [Tags](#cfn-cleanrooms-idmappingtable-tags): 
    - Tag
```

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

`Description`  <a name="cfn-cleanrooms-idmappingtable-description"></a>
The description of the ID mapping 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)

`InputReferenceConfig`  <a name="cfn-cleanrooms-idmappingtable-inputreferenceconfig"></a>
The input reference configuration for the ID mapping table.  
*Required*: Yes  
*Type*: [IdMappingTableInputReferenceConfig](aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KmsKeyArn`  <a name="cfn-cleanrooms-idmappingtable-kmskeyarn"></a>
The Amazon Resource Name (ARN) of the AWS KMS key.  
*Required*: No  
*Type*: String  
*Minimum*: `4`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MembershipIdentifier`  <a name="cfn-cleanrooms-idmappingtable-membershipidentifier"></a>
The unique identifier of the membership resource for the ID mapping table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-idmappingtable-name"></a>
The name of the ID mapping table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$`  
*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-cleanrooms-idmappingtable-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-idmappingtable-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-idmappingtable-return-values"></a>

### Ref
<a name="aws-resource-cleanrooms-idmappingtable-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": "MyIdMappingTable"}` 

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-cleanrooms-idmappingtable-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-idmappingtable-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the ID mapping table.

`CollaborationArn`  <a name="CollaborationArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table.

`CollaborationIdentifier`  <a name="CollaborationIdentifier-fn::getatt"></a>
The unique identifier of the collaboration that contains this ID mapping table.

`IdMappingTableIdentifier`  <a name="IdMappingTableIdentifier-fn::getatt"></a>
The unique identifier of the ID mapping table identifier that you want to retrieve.

`MembershipArn`  <a name="MembershipArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the membership resource for the ID mapping table.

# AWS::CleanRooms::IdMappingTable IdMappingTableInputReferenceConfig
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig"></a>

Provides the input reference configuration for the ID mapping table.

## Syntax
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-syntax"></a>

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

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

```
{
  "[InputReferenceArn](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-inputreferencearn)" : String,
  "[ManageResourcePolicies](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-manageresourcepolicies)" : Boolean
}
```

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

```
  [InputReferenceArn](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-inputreferencearn): String
  [ManageResourcePolicies](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-manageresourcepolicies): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-properties"></a>

`InputReferenceArn`  <a name="cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-inputreferencearn"></a>
The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution. Valid values are ID mapping workflow ARNs.  
*Required*: Yes  
*Type*: String  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ManageResourcePolicies`  <a name="cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-manageresourcepolicies"></a>
When `TRUE`, AWS Clean Rooms manages permissions for the ID mapping table resource.   
When `FALSE`, the resource owner manages permissions for the ID mapping table resource.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::IdMappingTable IdMappingTableInputReferenceProperties
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties"></a>

The input reference properties for the ID mapping table.

## Syntax
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-syntax"></a>

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

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

```
{
  "[IdMappingTableInputSource](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-idmappingtableinputsource)" : [ IdMappingTableInputSource, ... ]
}
```

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

```
  [IdMappingTableInputSource](#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-idmappingtableinputsource): 
    - IdMappingTableInputSource
```

## Properties
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-properties"></a>

`IdMappingTableInputSource`  <a name="cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-idmappingtableinputsource"></a>
The input source of the ID mapping table.  
*Required*: Yes  
*Type*: [Array](aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource.md) of [IdMappingTableInputSource](aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource.md)  
*Minimum*: `2`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::IdMappingTable IdMappingTableInputSource
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource"></a>

The input source of the ID mapping table.

## Syntax
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource-syntax"></a>

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

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

```
{
  "[IdNamespaceAssociationId](#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-idnamespaceassociationid)" : String,
  "[Type](#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-type)" : String
}
```

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

```
  [IdNamespaceAssociationId](#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-idnamespaceassociationid): String
  [Type](#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-type): String
```

## Properties
<a name="aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource-properties"></a>

`IdNamespaceAssociationId`  <a name="cfn-cleanrooms-idmappingtable-idmappingtableinputsource-idnamespaceassociationid"></a>
The unique identifier of the ID namespace association.  
*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)

`Type`  <a name="cfn-cleanrooms-idmappingtable-idmappingtableinputsource-type"></a>
The type of the input source of the ID mapping table.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SOURCE | TARGET`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::IdMappingTable Tag
<a name="aws-properties-cleanrooms-idmappingtable-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-idmappingtable-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-idmappingtable-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-idmappingtable-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)

# AWS::CleanRooms::IdNamespaceAssociation
<a name="aws-resource-cleanrooms-idnamespaceassociation"></a>

Provides information to create the ID namespace association.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::IdNamespaceAssociation",
  "Properties" : {
      "[Description](#cfn-cleanrooms-idnamespaceassociation-description)" : String,
      "[IdMappingConfig](#cfn-cleanrooms-idnamespaceassociation-idmappingconfig)" : IdMappingConfig,
      "[InputReferenceConfig](#cfn-cleanrooms-idnamespaceassociation-inputreferenceconfig)" : IdNamespaceAssociationInputReferenceConfig,
      "[MembershipIdentifier](#cfn-cleanrooms-idnamespaceassociation-membershipidentifier)" : String,
      "[Name](#cfn-cleanrooms-idnamespaceassociation-name)" : String,
      "[Tags](#cfn-cleanrooms-idnamespaceassociation-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::IdNamespaceAssociation
Properties:
  [Description](#cfn-cleanrooms-idnamespaceassociation-description): String
  [IdMappingConfig](#cfn-cleanrooms-idnamespaceassociation-idmappingconfig): 
    IdMappingConfig
  [InputReferenceConfig](#cfn-cleanrooms-idnamespaceassociation-inputreferenceconfig): 
    IdNamespaceAssociationInputReferenceConfig
  [MembershipIdentifier](#cfn-cleanrooms-idnamespaceassociation-membershipidentifier): String
  [Name](#cfn-cleanrooms-idnamespaceassociation-name): String
  [Tags](#cfn-cleanrooms-idnamespaceassociation-tags): 
    - Tag
```

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

`Description`  <a name="cfn-cleanrooms-idnamespaceassociation-description"></a>
The description of the ID namespace association.  
*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)

`IdMappingConfig`  <a name="cfn-cleanrooms-idnamespaceassociation-idmappingconfig"></a>
The configuration settings for the ID mapping table.  
*Required*: No  
*Type*: [IdMappingConfig](aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputReferenceConfig`  <a name="cfn-cleanrooms-idnamespaceassociation-inputreferenceconfig"></a>
The input reference configuration for the ID namespace association.  
*Required*: Yes  
*Type*: [IdNamespaceAssociationInputReferenceConfig](aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MembershipIdentifier`  <a name="cfn-cleanrooms-idnamespaceassociation-membershipidentifier"></a>
The unique identifier of the membership that contains the ID namespace association.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-cleanrooms-idnamespaceassociation-name"></a>
The name of this ID namespace association.  
*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)

`Tags`  <a name="cfn-cleanrooms-idnamespaceassociation-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-idnamespaceassociation-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-idnamespaceassociation-return-values"></a>

### Ref
<a name="aws-resource-cleanrooms-idnamespaceassociation-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": "MyIdNamespaceAssociation"}` 

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-cleanrooms-idnamespaceassociation-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-idnamespaceassociation-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the ID namespace association.

`CollaborationArn`  <a name="CollaborationArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association.

`CollaborationIdentifier`  <a name="CollaborationIdentifier-fn::getatt"></a>
The unique identifier of the collaboration that contains this ID namespace association.

`IdNamespaceAssociationIdentifier`  <a name="IdNamespaceAssociationIdentifier-fn::getatt"></a>
The unique identifier of the ID namespace association that you want to retrieve.

`MembershipArn`  <a name="MembershipArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the membership resource for this ID namespace association.

# AWS::CleanRooms::IdNamespaceAssociation IdMappingConfig
<a name="aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig"></a>

The configuration settings for the ID mapping table.

## Syntax
<a name="aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig-syntax"></a>

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

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

```
{
  "[AllowUseAsDimensionColumn](#cfn-cleanrooms-idnamespaceassociation-idmappingconfig-allowuseasdimensioncolumn)" : Boolean
}
```

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

```
  [AllowUseAsDimensionColumn](#cfn-cleanrooms-idnamespaceassociation-idmappingconfig-allowuseasdimensioncolumn): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig-properties"></a>

`AllowUseAsDimensionColumn`  <a name="cfn-cleanrooms-idnamespaceassociation-idmappingconfig-allowuseasdimensioncolumn"></a>
An indicator as to whether you can use your column as a dimension column in the ID mapping table (`TRUE`) or not (`FALSE`).  
Default is `FALSE`.  
*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)

# AWS::CleanRooms::IdNamespaceAssociation IdNamespaceAssociationInputReferenceConfig
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig"></a>

Provides the information for the ID namespace association input reference configuration.

## Syntax
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-syntax"></a>

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

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

```
{
  "[InputReferenceArn](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-inputreferencearn)" : String,
  "[ManageResourcePolicies](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-manageresourcepolicies)" : Boolean
}
```

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

```
  [InputReferenceArn](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-inputreferencearn): String
  [ManageResourcePolicies](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-manageresourcepolicies): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-properties"></a>

`InputReferenceArn`  <a name="cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-inputreferencearn"></a>
The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.  
*Required*: Yes  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ManageResourcePolicies`  <a name="cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-manageresourcepolicies"></a>
When `TRUE`, AWS Clean Rooms manages permissions for the ID namespace association resource.  
When `FALSE`, the resource owner manages permissions for the ID namespace association resource.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CleanRooms::IdNamespaceAssociation IdNamespaceAssociationInputReferenceProperties
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties"></a>

Provides the information for the ID namespace association input reference properties.

## Syntax
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-syntax"></a>

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

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

```
{
  "[IdMappingWorkflowsSupported](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idmappingworkflowssupported)" : [ Json, ... ],
  "[IdNamespaceType](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idnamespacetype)" : String
}
```

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

```
  [IdMappingWorkflowsSupported](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idmappingworkflowssupported): 
    - Json
  [IdNamespaceType](#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idnamespacetype): String
```

## Properties
<a name="aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-properties"></a>

`IdMappingWorkflowsSupported`  <a name="cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idmappingworkflowssupported"></a>
Defines how ID mapping workflows are supported for this ID namespace association.  
*Required*: No  
*Type*: Array of Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IdNamespaceType`  <a name="cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idnamespacetype"></a>
The ID namespace type for this ID namespace association.  
*Required*: No  
*Type*: String  
*Allowed values*: `SOURCE | TARGET`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::IdNamespaceAssociation Tag
<a name="aws-properties-cleanrooms-idnamespaceassociation-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-idnamespaceassociation-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-idnamespaceassociation-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-idnamespaceassociation-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)

# AWS::CleanRooms::Membership
<a name="aws-resource-cleanrooms-membership"></a>

Creates a membership for a specific collaboration identifier and joins the collaboration.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::Membership",
  "Properties" : {
      "[CollaborationIdentifier](#cfn-cleanrooms-membership-collaborationidentifier)" : String,
      "[DefaultJobResultConfiguration](#cfn-cleanrooms-membership-defaultjobresultconfiguration)" : MembershipProtectedJobResultConfiguration,
      "[DefaultResultConfiguration](#cfn-cleanrooms-membership-defaultresultconfiguration)" : MembershipProtectedQueryResultConfiguration,
      "[IsMetricsEnabled](#cfn-cleanrooms-membership-ismetricsenabled)" : Boolean,
      "[JobLogStatus](#cfn-cleanrooms-membership-joblogstatus)" : String,
      "[PaymentConfiguration](#cfn-cleanrooms-membership-paymentconfiguration)" : MembershipPaymentConfiguration,
      "[QueryLogStatus](#cfn-cleanrooms-membership-querylogstatus)" : String,
      "[Tags](#cfn-cleanrooms-membership-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::Membership
Properties:
  [CollaborationIdentifier](#cfn-cleanrooms-membership-collaborationidentifier): String
  [DefaultJobResultConfiguration](#cfn-cleanrooms-membership-defaultjobresultconfiguration): 
    MembershipProtectedJobResultConfiguration
  [DefaultResultConfiguration](#cfn-cleanrooms-membership-defaultresultconfiguration): 
    MembershipProtectedQueryResultConfiguration
  [IsMetricsEnabled](#cfn-cleanrooms-membership-ismetricsenabled): Boolean
  [JobLogStatus](#cfn-cleanrooms-membership-joblogstatus): String
  [PaymentConfiguration](#cfn-cleanrooms-membership-paymentconfiguration): 
    MembershipPaymentConfiguration
  [QueryLogStatus](#cfn-cleanrooms-membership-querylogstatus): String
  [Tags](#cfn-cleanrooms-membership-tags): 
    - Tag
```

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

`CollaborationIdentifier`  <a name="cfn-cleanrooms-membership-collaborationidentifier"></a>
The unique ID for the associated collaboration.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DefaultJobResultConfiguration`  <a name="cfn-cleanrooms-membership-defaultjobresultconfiguration"></a>
 The default job result configuration for the membership.  
*Required*: No  
*Type*: [MembershipProtectedJobResultConfiguration](aws-properties-cleanrooms-membership-membershipprotectedjobresultconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResultConfiguration`  <a name="cfn-cleanrooms-membership-defaultresultconfiguration"></a>
The default protected query result configuration as specified by the member who can receive results.  
*Required*: No  
*Type*: [MembershipProtectedQueryResultConfiguration](aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsMetricsEnabled`  <a name="cfn-cleanrooms-membership-ismetricsenabled"></a>
An indicator as to whether Amazon CloudWatch metrics are enabled for the membership.  
When `true`, metrics about query execution are collected in Amazon CloudWatch.  
*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)

`JobLogStatus`  <a name="cfn-cleanrooms-membership-joblogstatus"></a>
An indicator as to whether job logging has been enabled or disabled for the collaboration.   
When `ENABLED`, AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED`.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PaymentConfiguration`  <a name="cfn-cleanrooms-membership-paymentconfiguration"></a>
The payment responsibilities accepted by the collaboration member.  
*Required*: No  
*Type*: [MembershipPaymentConfiguration](aws-properties-cleanrooms-membership-membershippaymentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryLogStatus`  <a name="cfn-cleanrooms-membership-querylogstatus"></a>
An indicator as to whether query logging has been enabled or disabled for the membership.  
When `ENABLED`, AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*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-membership-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-membership-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-membership-return-values"></a>

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `MembershipId`, such as `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. For example: 

 `{ "Ref": "MyMembership" }` 

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-membership-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-membership-return-values-fn--getatt-fn--getatt"></a>

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

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

`CollaborationCreatorAccountId`  <a name="CollaborationCreatorAccountId-fn::getatt"></a>
Returns the unique identifier of the specified collaboration creator account.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`

`MembershipIdentifier`  <a name="MembershipIdentifier-fn::getatt"></a>
Returns the unique identifier of the specified membership.  
Example: `a1b2c3d4-5678-90ab-cdef-EXAMPLE22222`

## Remarks
<a name="aws-resource-cleanrooms-membership--remarks"></a>

If you are a collaboration owner, ensure that you add `"DeletionPolicy: Retain"` and `"UpdateReplacePolicy: Retain"` to the `Membership` resource in your CloudFormation template.

If your `Membership` resource depends on the collaboration explicitly or implicitly by using a `"Ref"` on the `Collaboration` (`CollaborationIdentifier: !Ref Collaboration`), CloudFormation tries to delete the `Membership` resource before the `Collaboration` resource. However, this attempt will fail because collaboration owners must delete the collaboration before deleting their membership to the collaboration.

For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) and [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html).

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



**Topics**
+ [Membership for a collaboration creator](#aws-resource-cleanrooms-membership--examples--Membership_for_a_collaboration_creator)
+ [Membership for a non-collaboration creator](#aws-resource-cleanrooms-membership--examples--Membership_for_a_non-collaboration_creator)

### Membership for a collaboration creator
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_collaboration_creator"></a>

The following an example of a membership for a collaboration creator. See the Remarks section for notes on the use of the deletion and update replacement policies.

#### JSON
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_collaboration_creator--json"></a>

```
"CollaborationCreatorMembership": {
  "Type" : "AWS::CleanRooms::Membership",
  "DeletionPolicy": "Retain",
  "UpdateReplacePolicy": "Retain",
  "Properties" : {
      "CollaborationIdentifier" : "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
      "QueryLogStatus" : "ENABLED",
    }
  }
```

#### YAML
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_collaboration_creator--yaml"></a>

```
CollaborationCreatorMembership:
  Type: AWS::CleanRooms::Membership
  DeletionPolicy: Retain
  UpdateReplacePolicy: Retain
  Properties:
    CollaborationIdentifier: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
    QueryLogStatus: ENABLED
```

### Membership for a non-collaboration creator
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_non-collaboration_creator"></a>

The following is an example of a membership for a non-collaboration creator.

#### JSON
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_non-collaboration_creator--json"></a>

```
"ExampleMembership": {
  "Type" : "AWS::CleanRooms::Membership",
  "Properties" : {
      "CollaborationIdentifier" : "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
      "QueryLogStatus" : "ENABLED",
    }
  }
```

#### YAML
<a name="aws-resource-cleanrooms-membership--examples--Membership_for_a_non-collaboration_creator--yaml"></a>

```
ExampleMembership:
  Type: AWS::CleanRooms::Membership
  Properties:
    CollaborationIdentifier: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
    QueryLogStatus: ENABLED
```

# AWS::CleanRooms::Membership MembershipJobComputePaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipjobcomputepaymentconfig"></a>

An object representing the payment responsibilities accepted by the collaboration member for query and job compute costs.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipjobcomputepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-membership-membershipjobcomputepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-membership-membershipjobcomputepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipjobcomputepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-membership-membershipjobcomputepaymentconfig-isresponsible"></a>
Indicates whether the collaboration member has accepted to pay for job compute costs (`TRUE`) or has not accepted to pay for query and job compute costs (`FALSE`).  
There is only one member who pays for queries and jobs.   
An error message is returned for the following reasons:   
+ If you set the value to `FALSE` but you are responsible to pay for query and job compute costs. 
+ If you set the value to `TRUE` but you are not responsible to pay for query and job compute costs. 
*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)

# AWS::CleanRooms::Membership MembershipMLPaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipmlpaymentconfig"></a>

An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipmlpaymentconfig-syntax"></a>

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

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

```
{
  "[ModelInference](#cfn-cleanrooms-membership-membershipmlpaymentconfig-modelinference)" : MembershipModelInferencePaymentConfig,
  "[ModelTraining](#cfn-cleanrooms-membership-membershipmlpaymentconfig-modeltraining)" : MembershipModelTrainingPaymentConfig,
  "[SyntheticDataGeneration](#cfn-cleanrooms-membership-membershipmlpaymentconfig-syntheticdatageneration)" : MembershipSyntheticDataGenerationPaymentConfig
}
```

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

```
  [ModelInference](#cfn-cleanrooms-membership-membershipmlpaymentconfig-modelinference): 
    MembershipModelInferencePaymentConfig
  [ModelTraining](#cfn-cleanrooms-membership-membershipmlpaymentconfig-modeltraining): 
    MembershipModelTrainingPaymentConfig
  [SyntheticDataGeneration](#cfn-cleanrooms-membership-membershipmlpaymentconfig-syntheticdatageneration): 
    MembershipSyntheticDataGenerationPaymentConfig
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipmlpaymentconfig-properties"></a>

`ModelInference`  <a name="cfn-cleanrooms-membership-membershipmlpaymentconfig-modelinference"></a>
The payment responsibilities accepted by the member for model inference.  
*Required*: No  
*Type*: [MembershipModelInferencePaymentConfig](aws-properties-cleanrooms-membership-membershipmodelinferencepaymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelTraining`  <a name="cfn-cleanrooms-membership-membershipmlpaymentconfig-modeltraining"></a>
The payment responsibilities accepted by the member for model training.  
*Required*: No  
*Type*: [MembershipModelTrainingPaymentConfig](aws-properties-cleanrooms-membership-membershipmodeltrainingpaymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SyntheticDataGeneration`  <a name="cfn-cleanrooms-membership-membershipmlpaymentconfig-syntheticdatageneration"></a>
The payment configuration for synthetic data generation for this machine learning membership.  
*Required*: No  
*Type*: [MembershipSyntheticDataGenerationPaymentConfig](aws-properties-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig.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::Membership MembershipModelInferencePaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipmodelinferencepaymentconfig"></a>

An object representing the collaboration member's model inference payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipmodelinferencepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-membership-membershipmodelinferencepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-membership-membershipmodelinferencepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipmodelinferencepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-membership-membershipmodelinferencepaymentconfig-isresponsible"></a>
Indicates whether the collaboration member has accepted to pay for model inference costs (`TRUE`) or has not accepted to pay for model inference costs (`FALSE`).  
If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.   
An error message is returned for the following reasons:   
+ If you set the value to `FALSE` but you are responsible to pay for model inference costs. 
+ If you set the value to `TRUE` but you are not responsible to pay for model inference costs. 
*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)

# AWS::CleanRooms::Membership MembershipModelTrainingPaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipmodeltrainingpaymentconfig"></a>

An object representing the collaboration member's model training payment responsibilities set by the collaboration creator.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipmodeltrainingpaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-membership-membershipmodeltrainingpaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-membership-membershipmodeltrainingpaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipmodeltrainingpaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-membership-membershipmodeltrainingpaymentconfig-isresponsible"></a>
Indicates whether the collaboration member has accepted to pay for model training costs (`TRUE`) or has not accepted to pay for model training costs (`FALSE`).  
If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.   
An error message is returned for the following reasons:   
+ If you set the value to `FALSE` but you are responsible to pay for model training costs. 
+ If you set the value to `TRUE` but you are not responsible to pay for model training costs. 
*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)

# AWS::CleanRooms::Membership MembershipPaymentConfiguration
<a name="aws-properties-cleanrooms-membership-membershippaymentconfiguration"></a>

An object representing the payment responsibilities accepted by the collaboration member.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershippaymentconfiguration-syntax"></a>

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

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

```
{
  "[JobCompute](#cfn-cleanrooms-membership-membershippaymentconfiguration-jobcompute)" : MembershipJobComputePaymentConfig,
  "[MachineLearning](#cfn-cleanrooms-membership-membershippaymentconfiguration-machinelearning)" : MembershipMLPaymentConfig,
  "[QueryCompute](#cfn-cleanrooms-membership-membershippaymentconfiguration-querycompute)" : MembershipQueryComputePaymentConfig
}
```

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

```
  [JobCompute](#cfn-cleanrooms-membership-membershippaymentconfiguration-jobcompute): 
    MembershipJobComputePaymentConfig
  [MachineLearning](#cfn-cleanrooms-membership-membershippaymentconfiguration-machinelearning): 
    MembershipMLPaymentConfig
  [QueryCompute](#cfn-cleanrooms-membership-membershippaymentconfiguration-querycompute): 
    MembershipQueryComputePaymentConfig
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershippaymentconfiguration-properties"></a>

`JobCompute`  <a name="cfn-cleanrooms-membership-membershippaymentconfiguration-jobcompute"></a>
The payment responsibilities accepted by the collaboration member for job compute costs.  
*Required*: No  
*Type*: [MembershipJobComputePaymentConfig](aws-properties-cleanrooms-membership-membershipjobcomputepaymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MachineLearning`  <a name="cfn-cleanrooms-membership-membershippaymentconfiguration-machinelearning"></a>
The payment responsibilities accepted by the collaboration member for machine learning costs.  
*Required*: No  
*Type*: [MembershipMLPaymentConfig](aws-properties-cleanrooms-membership-membershipmlpaymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryCompute`  <a name="cfn-cleanrooms-membership-membershippaymentconfiguration-querycompute"></a>
The payment responsibilities accepted by the collaboration member for query compute costs.  
*Required*: Yes  
*Type*: [MembershipQueryComputePaymentConfig](aws-properties-cleanrooms-membership-membershipquerycomputepaymentconfig.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::Membership MembershipProtectedJobOutputConfiguration
<a name="aws-properties-cleanrooms-membership-membershipprotectedjoboutputconfiguration"></a>

Contains configurations for protected job results.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipprotectedjoboutputconfiguration-syntax"></a>

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

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

```
{
  "[S3](#cfn-cleanrooms-membership-membershipprotectedjoboutputconfiguration-s3)" : ProtectedJobS3OutputConfigurationInput
}
```

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

```
  [S3](#cfn-cleanrooms-membership-membershipprotectedjoboutputconfiguration-s3): 
    ProtectedJobS3OutputConfigurationInput
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipprotectedjoboutputconfiguration-properties"></a>

`S3`  <a name="cfn-cleanrooms-membership-membershipprotectedjoboutputconfiguration-s3"></a>
Contains the configuration to write the job results to S3.  
*Required*: Yes  
*Type*: [ProtectedJobS3OutputConfigurationInput](aws-properties-cleanrooms-membership-protectedjobs3outputconfigurationinput.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::Membership MembershipProtectedJobResultConfiguration
<a name="aws-properties-cleanrooms-membership-membershipprotectedjobresultconfiguration"></a>

Contains configurations for protected job results.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipprotectedjobresultconfiguration-syntax"></a>

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

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

```
{
  "[OutputConfiguration](#cfn-cleanrooms-membership-membershipprotectedjobresultconfiguration-outputconfiguration)" : MembershipProtectedJobOutputConfiguration,
  "[RoleArn](#cfn-cleanrooms-membership-membershipprotectedjobresultconfiguration-rolearn)" : String
}
```

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

```
  [OutputConfiguration](#cfn-cleanrooms-membership-membershipprotectedjobresultconfiguration-outputconfiguration): 
    MembershipProtectedJobOutputConfiguration
  [RoleArn](#cfn-cleanrooms-membership-membershipprotectedjobresultconfiguration-rolearn): String
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipprotectedjobresultconfiguration-properties"></a>

`OutputConfiguration`  <a name="cfn-cleanrooms-membership-membershipprotectedjobresultconfiguration-outputconfiguration"></a>
 The output configuration for a protected job result.  
*Required*: Yes  
*Type*: [MembershipProtectedJobOutputConfiguration](aws-properties-cleanrooms-membership-membershipprotectedjoboutputconfiguration.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-cleanrooms-membership-membershipprotectedjobresultconfiguration-rolearn"></a>
The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected job results to the result location, given by the member who can receive results.  
*Required*: Yes  
*Type*: String  
*Minimum*: `32`  
*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::CleanRooms::Membership MembershipProtectedQueryOutputConfiguration
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration"></a>

Contains configurations for protected query results.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-syntax"></a>

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

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

```
{
  "[S3](#cfn-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-s3)" : ProtectedQueryS3OutputConfiguration
}
```

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

```
  [S3](#cfn-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-s3): 
    ProtectedQueryS3OutputConfiguration
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-properties"></a>

`S3`  <a name="cfn-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-s3"></a>
Required configuration for a protected query with an `s3` output type.  
*Required*: Yes  
*Type*: [ProtectedQueryS3OutputConfiguration](aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.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::Membership MembershipProtectedQueryResultConfiguration
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration"></a>

Contains configurations for protected query results.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration-syntax"></a>

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

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

```
{
  "[OutputConfiguration](#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-outputconfiguration)" : MembershipProtectedQueryOutputConfiguration,
  "[RoleArn](#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-rolearn)" : String
}
```

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

```
  [OutputConfiguration](#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-outputconfiguration): 
    MembershipProtectedQueryOutputConfiguration
  [RoleArn](#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-rolearn): String
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration-properties"></a>

`OutputConfiguration`  <a name="cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-outputconfiguration"></a>
Configuration for protected query results.  
*Required*: Yes  
*Type*: [MembershipProtectedQueryOutputConfiguration](aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration.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-cleanrooms-membership-membershipprotectedqueryresultconfiguration-rolearn"></a>
The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.  
*Required*: No  
*Type*: String  
*Minimum*: `32`  
*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::CleanRooms::Membership MembershipQueryComputePaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipquerycomputepaymentconfig"></a>

An object representing the payment responsibilities accepted by the collaboration member for query compute costs.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipquerycomputepaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-membership-membershipquerycomputepaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-membership-membershipquerycomputepaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipquerycomputepaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-membership-membershipquerycomputepaymentconfig-isresponsible"></a>
Indicates whether the collaboration member has accepted to pay for query compute costs (`TRUE`) or has not accepted to pay for query compute costs (`FALSE`).  
If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.   
An error message is returned for the following reasons:   
+ If you set the value to `FALSE` but you are responsible to pay for query compute costs. 
+ If you set the value to `TRUE` but you are not responsible to pay for query compute costs. 
*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)

# AWS::CleanRooms::Membership MembershipSyntheticDataGenerationPaymentConfig
<a name="aws-properties-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig"></a>

Configuration for payment for synthetic data generation in a membership.

## Syntax
<a name="aws-properties-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig-syntax"></a>

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

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

```
{
  "[IsResponsible](#cfn-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig-isresponsible)" : Boolean
}
```

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

```
  [IsResponsible](#cfn-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig-isresponsible): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig-properties"></a>

`IsResponsible`  <a name="cfn-cleanrooms-membership-membershipsyntheticdatagenerationpaymentconfig-isresponsible"></a>
Indicates if this membership is responsible for paying for synthetic data generation.  
*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)

# AWS::CleanRooms::Membership ProtectedJobS3OutputConfigurationInput
<a name="aws-properties-cleanrooms-membership-protectedjobs3outputconfigurationinput"></a>

Contains input information for protected jobs with an S3 output type.

## Syntax
<a name="aws-properties-cleanrooms-membership-protectedjobs3outputconfigurationinput-syntax"></a>

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

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

```
{
  "[Bucket](#cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-bucket)" : String,
  "[KeyPrefix](#cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-keyprefix)" : String
}
```

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

```
  [Bucket](#cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-bucket): String
  [KeyPrefix](#cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-keyprefix): String
```

## Properties
<a name="aws-properties-cleanrooms-membership-protectedjobs3outputconfigurationinput-properties"></a>

`Bucket`  <a name="cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-bucket"></a>
 The S3 bucket for job output.  
*Required*: Yes  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyPrefix`  <a name="cfn-cleanrooms-membership-protectedjobs3outputconfigurationinput-keyprefix"></a>
The S3 prefix to unload the protected job results.  
*Required*: No  
*Type*: String  
*Pattern*: `[\w!.=*/-]*`  
*Minimum*: `0`  
*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::CleanRooms::Membership ProtectedQueryS3OutputConfiguration
<a name="aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration"></a>

Contains the configuration to write the query results to S3.

## Syntax
<a name="aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration-syntax"></a>

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

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

```
{
  "[Bucket](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-bucket)" : String,
  "[KeyPrefix](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-keyprefix)" : String,
  "[ResultFormat](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-resultformat)" : String,
  "[SingleFileOutput](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-singlefileoutput)" : Boolean
}
```

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

```
  [Bucket](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-bucket): String
  [KeyPrefix](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-keyprefix): String
  [ResultFormat](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-resultformat): String
  [SingleFileOutput](#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-singlefileoutput): Boolean
```

## Properties
<a name="aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration-properties"></a>

`Bucket`  <a name="cfn-cleanrooms-membership-protectedquerys3outputconfiguration-bucket"></a>
The S3 bucket to unload the protected query results.  
*Required*: Yes  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyPrefix`  <a name="cfn-cleanrooms-membership-protectedquerys3outputconfiguration-keyprefix"></a>
The S3 prefix to unload the protected query results.  
*Required*: No  
*Type*: String  
*Pattern*: `[\w!.=*/-]*`  
*Minimum*: `0`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResultFormat`  <a name="cfn-cleanrooms-membership-protectedquerys3outputconfiguration-resultformat"></a>
Intended file format of the result.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CSV | PARQUET`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SingleFileOutput`  <a name="cfn-cleanrooms-membership-protectedquerys3outputconfiguration-singlefileoutput"></a>
Indicates whether files should be output as a single file (`TRUE`) or output as multiple files (`FALSE`). This parameter is only supported for analyses with the Spark analytics engine.  
*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::CleanRooms::Membership Tag
<a name="aws-properties-cleanrooms-membership-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-membership-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-membership-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-membership-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)

# AWS::CleanRooms::PrivacyBudgetTemplate
<a name="aws-resource-cleanrooms-privacybudgettemplate"></a>

An object that defines the privacy budget template.

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

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

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

```
{
  "Type" : "AWS::CleanRooms::PrivacyBudgetTemplate",
  "Properties" : {
      "[AutoRefresh](#cfn-cleanrooms-privacybudgettemplate-autorefresh)" : String,
      "[MembershipIdentifier](#cfn-cleanrooms-privacybudgettemplate-membershipidentifier)" : String,
      "[Parameters](#cfn-cleanrooms-privacybudgettemplate-parameters)" : Parameters,
      "[PrivacyBudgetType](#cfn-cleanrooms-privacybudgettemplate-privacybudgettype)" : String,
      "[Tags](#cfn-cleanrooms-privacybudgettemplate-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::CleanRooms::PrivacyBudgetTemplate
Properties:
  [AutoRefresh](#cfn-cleanrooms-privacybudgettemplate-autorefresh): String
  [MembershipIdentifier](#cfn-cleanrooms-privacybudgettemplate-membershipidentifier): String
  [Parameters](#cfn-cleanrooms-privacybudgettemplate-parameters): 
    Parameters
  [PrivacyBudgetType](#cfn-cleanrooms-privacybudgettemplate-privacybudgettype): String
  [Tags](#cfn-cleanrooms-privacybudgettemplate-tags): 
    - Tag
```

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

`AutoRefresh`  <a name="cfn-cleanrooms-privacybudgettemplate-autorefresh"></a>
How often the privacy budget refreshes.  
If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
*Required*: Yes  
*Type*: String  
*Allowed values*: `CALENDAR_MONTH | NONE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MembershipIdentifier`  <a name="cfn-cleanrooms-privacybudgettemplate-membershipidentifier"></a>
The identifier for a membership resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parameters`  <a name="cfn-cleanrooms-privacybudgettemplate-parameters"></a>
Specifies the epsilon and noise parameters for the privacy budget template.  
*Required*: Yes  
*Type*: [Parameters](aws-properties-cleanrooms-privacybudgettemplate-parameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PrivacyBudgetType`  <a name="cfn-cleanrooms-privacybudgettemplate-privacybudgettype"></a>
Specifies the type of the privacy budget template.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DIFFERENTIAL_PRIVACY | ACCESS_BUDGET`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-cleanrooms-privacybudgettemplate-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-privacybudgettemplate-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-privacybudgettemplate-return-values"></a>

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

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

 `{ "Ref": "myPrivacyBudgetTemplate" }` 

For the Clean Rooms privacy budget template, `Ref` returns the ARN of the privacy budget template.

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-cleanrooms-privacybudgettemplate-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-privacybudgettemplate-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN of the privacy budget template.

`CollaborationArn`  <a name="CollaborationArn-fn::getatt"></a>
The ARN of the collaboration that contains this privacy budget template.

`CollaborationIdentifier`  <a name="CollaborationIdentifier-fn::getatt"></a>
The unique ID of the collaboration that contains this privacy budget template.

`MembershipArn`  <a name="MembershipArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the member who created the privacy budget template.

`PrivacyBudgetTemplateIdentifier`  <a name="PrivacyBudgetTemplateIdentifier-fn::getatt"></a>
A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.

# AWS::CleanRooms::PrivacyBudgetTemplate BudgetParameter
<a name="aws-properties-cleanrooms-privacybudgettemplate-budgetparameter"></a>

Individual budget parameter configuration that defines specific budget allocation settings for access budgets.

## Syntax
<a name="aws-properties-cleanrooms-privacybudgettemplate-budgetparameter-syntax"></a>

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

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

```
{
  "[AutoRefresh](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-autorefresh)" : String,
  "[Budget](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-budget)" : Integer,
  "[Type](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-type)" : String
}
```

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

```
  [AutoRefresh](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-autorefresh): String
  [Budget](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-budget): Integer
  [Type](#cfn-cleanrooms-privacybudgettemplate-budgetparameter-type): String
```

## Properties
<a name="aws-properties-cleanrooms-privacybudgettemplate-budgetparameter-properties"></a>

`AutoRefresh`  <a name="cfn-cleanrooms-privacybudgettemplate-budgetparameter-autorefresh"></a>
Whether this individual budget parameter automatically refreshes when the budget period resets.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Budget`  <a name="cfn-cleanrooms-privacybudgettemplate-budgetparameter-budget"></a>
The budget allocation amount for this specific parameter.  
*Required*: Yes  
*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)

`Type`  <a name="cfn-cleanrooms-privacybudgettemplate-budgetparameter-type"></a>
The type of budget parameter being configured.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CALENDAR_DAY | CALENDAR_MONTH | CALENDAR_WEEK | LIFETIME`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::PrivacyBudgetTemplate Parameters
<a name="aws-properties-cleanrooms-privacybudgettemplate-parameters"></a>

Specifies the epsilon and noise parameters for the privacy budget template.

## Syntax
<a name="aws-properties-cleanrooms-privacybudgettemplate-parameters-syntax"></a>

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

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

```
{
  "[BudgetParameters](#cfn-cleanrooms-privacybudgettemplate-parameters-budgetparameters)" : [ BudgetParameter, ... ],
  "[Epsilon](#cfn-cleanrooms-privacybudgettemplate-parameters-epsilon)" : Integer,
  "[ResourceArn](#cfn-cleanrooms-privacybudgettemplate-parameters-resourcearn)" : String,
  "[UsersNoisePerQuery](#cfn-cleanrooms-privacybudgettemplate-parameters-usersnoiseperquery)" : Integer
}
```

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

```
  [BudgetParameters](#cfn-cleanrooms-privacybudgettemplate-parameters-budgetparameters): 
    - BudgetParameter
  [Epsilon](#cfn-cleanrooms-privacybudgettemplate-parameters-epsilon): Integer
  [ResourceArn](#cfn-cleanrooms-privacybudgettemplate-parameters-resourcearn): String
  [UsersNoisePerQuery](#cfn-cleanrooms-privacybudgettemplate-parameters-usersnoiseperquery): Integer
```

## Properties
<a name="aws-properties-cleanrooms-privacybudgettemplate-parameters-properties"></a>

`BudgetParameters`  <a name="cfn-cleanrooms-privacybudgettemplate-parameters-budgetparameters"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [BudgetParameter](aws-properties-cleanrooms-privacybudgettemplate-budgetparameter.md)  
*Minimum*: `1`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Epsilon`  <a name="cfn-cleanrooms-privacybudgettemplate-parameters-epsilon"></a>
The epsilon value that you want to use.  
*Required*: No  
*Type*: Integer  
*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)

`ResourceArn`  <a name="cfn-cleanrooms-privacybudgettemplate-parameters-resourcearn"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Maximum*: `200`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UsersNoisePerQuery`  <a name="cfn-cleanrooms-privacybudgettemplate-parameters-usersnoiseperquery"></a>
Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.  
*Required*: No  
*Type*: Integer  
*Minimum*: `10`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CleanRooms::PrivacyBudgetTemplate Tag
<a name="aws-properties-cleanrooms-privacybudgettemplate-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-privacybudgettemplate-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-cleanrooms-privacybudgettemplate-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:`. digits, whitespace, `_`, `.`, `:`, `/`, `=`, `+`, `@`, `-`, and `"`.  
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-cleanrooms-privacybudgettemplate-tag-value"></a>
The value for the tag. You can specify a value that's 1 to 256 characters in length. You can use any of the following characters: the set of Unicode letters, digits, whitespace, `_`, `.`, `/`, `=`, `+`, and `-`.  
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*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)