

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::WorkSpacesWeb::SessionLogger
<a name="aws-resource-workspacesweb-sessionlogger"></a>

The session logger resource.

## Syntax
<a name="aws-resource-workspacesweb-sessionlogger-syntax"></a>

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

### JSON
<a name="aws-resource-workspacesweb-sessionlogger-syntax.json"></a>

```
{
  "Type" : "AWS::WorkSpacesWeb::SessionLogger",
  "Properties" : {
      "[AdditionalEncryptionContext](#cfn-workspacesweb-sessionlogger-additionalencryptioncontext)" : {Key: Value, ...},
      "[CustomerManagedKey](#cfn-workspacesweb-sessionlogger-customermanagedkey)" : String,
      "[DisplayName](#cfn-workspacesweb-sessionlogger-displayname)" : String,
      "[EventFilter](#cfn-workspacesweb-sessionlogger-eventfilter)" : EventFilter,
      "[LogConfiguration](#cfn-workspacesweb-sessionlogger-logconfiguration)" : LogConfiguration,
      "[Tags](#cfn-workspacesweb-sessionlogger-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-workspacesweb-sessionlogger-syntax.yaml"></a>

```
Type: AWS::WorkSpacesWeb::SessionLogger
Properties:
  [AdditionalEncryptionContext](#cfn-workspacesweb-sessionlogger-additionalencryptioncontext): 
    Key: Value
  [CustomerManagedKey](#cfn-workspacesweb-sessionlogger-customermanagedkey): String
  [DisplayName](#cfn-workspacesweb-sessionlogger-displayname): String
  [EventFilter](#cfn-workspacesweb-sessionlogger-eventfilter): 
    EventFilter
  [LogConfiguration](#cfn-workspacesweb-sessionlogger-logconfiguration): 
    LogConfiguration
  [Tags](#cfn-workspacesweb-sessionlogger-tags): 
    - Tag
```

## Properties
<a name="aws-resource-workspacesweb-sessionlogger-properties"></a>

`AdditionalEncryptionContext`  <a name="cfn-workspacesweb-sessionlogger-additionalencryptioncontext"></a>
The additional encryption context of the session logger.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^[\s\S]*$`  
*Minimum*: `0`  
*Maximum*: `131072`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CustomerManagedKey`  <a name="cfn-workspacesweb-sessionlogger-customermanagedkey"></a>
The custom managed key of the session logger.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DisplayName`  <a name="cfn-workspacesweb-sessionlogger-displayname"></a>
The human-readable display name.  
*Required*: No  
*Type*: String  
*Pattern*: `^[ _\-\d\w]+$`  
*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)

`EventFilter`  <a name="cfn-workspacesweb-sessionlogger-eventfilter"></a>
The filter that specifies which events to monitor.  
*Required*: Yes  
*Type*: [EventFilter](aws-properties-workspacesweb-sessionlogger-eventfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogConfiguration`  <a name="cfn-workspacesweb-sessionlogger-logconfiguration"></a>
The configuration that specifies where logs are fowarded.  
*Required*: Yes  
*Type*: [LogConfiguration](aws-properties-workspacesweb-sessionlogger-logconfiguration.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-workspacesweb-sessionlogger-tags"></a>
The tags of the session logger.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-workspacesweb-sessionlogger-tag.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*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-workspacesweb-sessionlogger-return-values"></a>

### Ref
<a name="aws-resource-workspacesweb-sessionlogger-return-values-ref"></a>

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

#### 
<a name="aws-resource-workspacesweb-sessionlogger-return-values-fn--getatt-fn--getatt"></a>

`AssociatedPortalArns`  <a name="AssociatedPortalArns-fn::getatt"></a>
The associated portal ARN.

`CreationDate`  <a name="CreationDate-fn::getatt"></a>
The date the session logger resource was created.

`SessionLoggerArn`  <a name="SessionLoggerArn-fn::getatt"></a>
The ARN of the session logger resource.

# AWS::WorkSpacesWeb::SessionLogger EventFilter
<a name="aws-properties-workspacesweb-sessionlogger-eventfilter"></a>

The filter that specifies the events to monitor.

## Syntax
<a name="aws-properties-workspacesweb-sessionlogger-eventfilter-syntax"></a>

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

### JSON
<a name="aws-properties-workspacesweb-sessionlogger-eventfilter-syntax.json"></a>

```
{
  "[All](#cfn-workspacesweb-sessionlogger-eventfilter-all)" : Json,
  "[Include](#cfn-workspacesweb-sessionlogger-eventfilter-include)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-workspacesweb-sessionlogger-eventfilter-syntax.yaml"></a>

```
  [All](#cfn-workspacesweb-sessionlogger-eventfilter-all): Json
  [Include](#cfn-workspacesweb-sessionlogger-eventfilter-include): 
    - String
```

## Properties
<a name="aws-properties-workspacesweb-sessionlogger-eventfilter-properties"></a>

`All`  <a name="cfn-workspacesweb-sessionlogger-eventfilter-all"></a>
The filter that monitors all of the available events, including any new events emitted in the future. The `All` and `Include` properties are not required, but one of them should be present. `{}` is a valid input.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Include`  <a name="cfn-workspacesweb-sessionlogger-eventfilter-include"></a>
The filter that monitors only the listed set of events. New events are not auto-monitored. The `All` and `Include` properties are not required, but one of them should be present.   
*Required*: No  
*Type*: Array of String  
*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)

# AWS::WorkSpacesWeb::SessionLogger LogConfiguration
<a name="aws-properties-workspacesweb-sessionlogger-logconfiguration"></a>

The configuration of the log.

## Syntax
<a name="aws-properties-workspacesweb-sessionlogger-logconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-workspacesweb-sessionlogger-logconfiguration-syntax.json"></a>

```
{
  "[S3](#cfn-workspacesweb-sessionlogger-logconfiguration-s3)" : S3LogConfiguration
}
```

### YAML
<a name="aws-properties-workspacesweb-sessionlogger-logconfiguration-syntax.yaml"></a>

```
  [S3](#cfn-workspacesweb-sessionlogger-logconfiguration-s3): 
    S3LogConfiguration
```

## Properties
<a name="aws-properties-workspacesweb-sessionlogger-logconfiguration-properties"></a>

`S3`  <a name="cfn-workspacesweb-sessionlogger-logconfiguration-s3"></a>
The configuration for delivering the logs to S3.  
*Required*: No  
*Type*: [S3LogConfiguration](aws-properties-workspacesweb-sessionlogger-s3logconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::WorkSpacesWeb::SessionLogger S3LogConfiguration
<a name="aws-properties-workspacesweb-sessionlogger-s3logconfiguration"></a>

The S3 log configuration.

## Syntax
<a name="aws-properties-workspacesweb-sessionlogger-s3logconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-workspacesweb-sessionlogger-s3logconfiguration-syntax.json"></a>

```
{
  "[Bucket](#cfn-workspacesweb-sessionlogger-s3logconfiguration-bucket)" : String,
  "[BucketOwner](#cfn-workspacesweb-sessionlogger-s3logconfiguration-bucketowner)" : String,
  "[FolderStructure](#cfn-workspacesweb-sessionlogger-s3logconfiguration-folderstructure)" : String,
  "[KeyPrefix](#cfn-workspacesweb-sessionlogger-s3logconfiguration-keyprefix)" : String,
  "[LogFileFormat](#cfn-workspacesweb-sessionlogger-s3logconfiguration-logfileformat)" : String
}
```

### YAML
<a name="aws-properties-workspacesweb-sessionlogger-s3logconfiguration-syntax.yaml"></a>

```
  [Bucket](#cfn-workspacesweb-sessionlogger-s3logconfiguration-bucket): String
  [BucketOwner](#cfn-workspacesweb-sessionlogger-s3logconfiguration-bucketowner): String
  [FolderStructure](#cfn-workspacesweb-sessionlogger-s3logconfiguration-folderstructure): String
  [KeyPrefix](#cfn-workspacesweb-sessionlogger-s3logconfiguration-keyprefix): String
  [LogFileFormat](#cfn-workspacesweb-sessionlogger-s3logconfiguration-logfileformat): String
```

## Properties
<a name="aws-properties-workspacesweb-sessionlogger-s3logconfiguration-properties"></a>

`Bucket`  <a name="cfn-workspacesweb-sessionlogger-s3logconfiguration-bucket"></a>
The S3 bucket name where logs are delivered.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$`  
*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)

`BucketOwner`  <a name="cfn-workspacesweb-sessionlogger-s3logconfiguration-bucketowner"></a>
The expected bucket owner of the target S3 bucket. The caller must have permissions to write to the target bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9]{12}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FolderStructure`  <a name="cfn-workspacesweb-sessionlogger-s3logconfiguration-folderstructure"></a>
The folder structure that defines the organizational structure for log files in S3.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Flat | NestedByDate`  
*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-workspacesweb-sessionlogger-s3logconfiguration-keyprefix"></a>
The S3 path prefix that determines where log files are stored.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\d\w\-_/!().*']+$`  
*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)

`LogFileFormat`  <a name="cfn-workspacesweb-sessionlogger-s3logconfiguration-logfileformat"></a>
The format of the LogFile that is written to S3.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `JSONLines | Json`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::WorkSpacesWeb::SessionLogger Tag
<a name="aws-properties-workspacesweb-sessionlogger-tag"></a>

The tag.

## Syntax
<a name="aws-properties-workspacesweb-sessionlogger-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-workspacesweb-sessionlogger-tag-key): String
  [Value](#cfn-workspacesweb-sessionlogger-tag-value): String
```

## Properties
<a name="aws-properties-workspacesweb-sessionlogger-tag-properties"></a>

`Key`  <a name="cfn-workspacesweb-sessionlogger-tag-key"></a>
The key of the tag.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*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-workspacesweb-sessionlogger-tag-value"></a>
The value of the tag  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)