

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

# Amazon Simple Storage Service Files (Amazon S3 Files)
<a name="AWS_S3Files"></a>

**Resource types**
+ [AWS::S3Files::AccessPoint](aws-resource-s3files-accesspoint.md)
+ [AWS::S3Files::FileSystem](aws-resource-s3files-filesystem.md)
+ [AWS::S3Files::FileSystemPolicy](aws-resource-s3files-filesystempolicy.md)
+ [AWS::S3Files::MountTarget](aws-resource-s3files-mounttarget.md)

# AWS::S3Files::AccessPoint
<a name="aws-resource-s3files-accesspoint"></a>

The `AWS::S3Files::AccessPoint` resource specifies an access point for an Amazon S3 Files file system. Access points provide application-specific access with POSIX user identity and root directory enforcement.

## Syntax
<a name="aws-resource-s3files-accesspoint-syntax"></a>

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

### JSON
<a name="aws-resource-s3files-accesspoint-syntax.json"></a>

```
{
  "Type" : "AWS::S3Files::AccessPoint",
  "Properties" : {
      "[ClientToken](#cfn-s3files-accesspoint-clienttoken)" : String,
      "[FileSystemId](#cfn-s3files-accesspoint-filesystemid)" : String,
      "[PosixUser](#cfn-s3files-accesspoint-posixuser)" : PosixUser,
      "[RootDirectory](#cfn-s3files-accesspoint-rootdirectory)" : RootDirectory,
      "[Tags](#cfn-s3files-accesspoint-tags)" : [ AccessPointTag, ... ]
    }
}
```

### YAML
<a name="aws-resource-s3files-accesspoint-syntax.yaml"></a>

```
Type: AWS::S3Files::AccessPoint
Properties:
  [ClientToken](#cfn-s3files-accesspoint-clienttoken): String
  [FileSystemId](#cfn-s3files-accesspoint-filesystemid): String
  [PosixUser](#cfn-s3files-accesspoint-posixuser): 
    PosixUser
  [RootDirectory](#cfn-s3files-accesspoint-rootdirectory): 
    RootDirectory
  [Tags](#cfn-s3files-accesspoint-tags): 
    - AccessPointTag
```

## Properties
<a name="aws-resource-s3files-accesspoint-properties"></a>

`ClientToken`  <a name="cfn-s3files-accesspoint-clienttoken"></a>
A string of up to 64 ASCII characters that Amazon S3 Files uses to ensure idempotent creation.  
*Required*: No  
*Type*: String  
*Pattern*: `^(.+)$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FileSystemId`  <a name="cfn-s3files-accesspoint-filesystemid"></a>
The ID of the S3 Files file system that the access point provides access to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(arn:aws[-a-z]*:s3files:[0-9a-z-:]+:file-system/fs-[0-9a-f]{17,40}|fs-[0-9a-f]{17,40})$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PosixUser`  <a name="cfn-s3files-accesspoint-posixuser"></a>
The POSIX identity configured for this access point.  
*Required*: No  
*Type*: [PosixUser](aws-properties-s3files-accesspoint-posixuser.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RootDirectory`  <a name="cfn-s3files-accesspoint-rootdirectory"></a>
The root directory configuration for this access point.  
*Required*: No  
*Type*: [RootDirectory](aws-properties-s3files-accesspoint-rootdirectory.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-s3files-accesspoint-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [AccessPointTag](aws-properties-s3files-accesspoint-accesspointtag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-s3files-accesspoint-return-values"></a>

### Ref
<a name="aws-resource-s3files-accesspoint-return-values-ref"></a>

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

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

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

`AccessPointArn`  <a name="AccessPointArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the access point.

`AccessPointId`  <a name="AccessPointId-fn::getatt"></a>
The ID of the access point.

`OwnerId`  <a name="OwnerId-fn::getatt"></a>
The AWS account ID of the access point owner.

`Status`  <a name="Status-fn::getatt"></a>
The current status of the access point.

# AWS::S3Files::AccessPoint AccessPointTag
<a name="aws-properties-s3files-accesspoint-accesspointtag"></a>

A key-value pair to associate with the access point.

## Syntax
<a name="aws-properties-s3files-accesspoint-accesspointtag-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-accesspoint-accesspointtag-syntax.json"></a>

```
{
  "[Key](#cfn-s3files-accesspoint-accesspointtag-key)" : String,
  "[Value](#cfn-s3files-accesspoint-accesspointtag-value)" : String
}
```

### YAML
<a name="aws-properties-s3files-accesspoint-accesspointtag-syntax.yaml"></a>

```
  [Key](#cfn-s3files-accesspoint-accesspointtag-key): String
  [Value](#cfn-s3files-accesspoint-accesspointtag-value): String
```

## Properties
<a name="aws-properties-s3files-accesspoint-accesspointtag-properties"></a>

`Key`  <a name="cfn-s3files-accesspoint-accesspointtag-key"></a>
The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with `aws:`.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*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-s3files-accesspoint-accesspointtag-value"></a>
The value for the tag. You can specify a value that's 1 to 256 characters in length.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*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)

# AWS::S3Files::AccessPoint CreationPermissions
<a name="aws-properties-s3files-accesspoint-creationpermissions"></a>

Specifies the POSIX IDs and permissions to apply when creating the root directory for an access point.

## Syntax
<a name="aws-properties-s3files-accesspoint-creationpermissions-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-accesspoint-creationpermissions-syntax.json"></a>

```
{
  "[OwnerGid](#cfn-s3files-accesspoint-creationpermissions-ownergid)" : String,
  "[OwnerUid](#cfn-s3files-accesspoint-creationpermissions-owneruid)" : String,
  "[Permissions](#cfn-s3files-accesspoint-creationpermissions-permissions)" : String
}
```

### YAML
<a name="aws-properties-s3files-accesspoint-creationpermissions-syntax.yaml"></a>

```
  [OwnerGid](#cfn-s3files-accesspoint-creationpermissions-ownergid): String
  [OwnerUid](#cfn-s3files-accesspoint-creationpermissions-owneruid): String
  [Permissions](#cfn-s3files-accesspoint-creationpermissions-permissions): String
```

## Properties
<a name="aws-properties-s3files-accesspoint-creationpermissions-properties"></a>

`OwnerGid`  <a name="cfn-s3files-accesspoint-creationpermissions-ownergid"></a>
The POSIX group ID to apply to the root directory. Accepts values from 0 to 4294967295.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9]+$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OwnerUid`  <a name="cfn-s3files-accesspoint-creationpermissions-owneruid"></a>
The POSIX user ID to apply to the root directory. Accepts values from 0 to 4294967295.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9]+$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Permissions`  <a name="cfn-s3files-accesspoint-creationpermissions-permissions"></a>
The POSIX permissions to apply to the root directory, in the format of an octal number representing the file's mode bits.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-7]{3,4}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::S3Files::AccessPoint PosixUser
<a name="aws-properties-s3files-accesspoint-posixuser"></a>

Specifies the POSIX identity with uid, gid, and secondary group IDs for user enforcement.

## Syntax
<a name="aws-properties-s3files-accesspoint-posixuser-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-accesspoint-posixuser-syntax.json"></a>

```
{
  "[Gid](#cfn-s3files-accesspoint-posixuser-gid)" : String,
  "[SecondaryGids](#cfn-s3files-accesspoint-posixuser-secondarygids)" : [ String, ... ],
  "[Uid](#cfn-s3files-accesspoint-posixuser-uid)" : String
}
```

### YAML
<a name="aws-properties-s3files-accesspoint-posixuser-syntax.yaml"></a>

```
  [Gid](#cfn-s3files-accesspoint-posixuser-gid): String
  [SecondaryGids](#cfn-s3files-accesspoint-posixuser-secondarygids): 
    - String
  [Uid](#cfn-s3files-accesspoint-posixuser-uid): String
```

## Properties
<a name="aws-properties-s3files-accesspoint-posixuser-properties"></a>

`Gid`  <a name="cfn-s3files-accesspoint-posixuser-gid"></a>
The POSIX group ID used for all file system operations using this access point.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9]+$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecondaryGids`  <a name="cfn-s3files-accesspoint-posixuser-secondarygids"></a>
Secondary POSIX group IDs used for all file system operations using this access point.  
*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)

`Uid`  <a name="cfn-s3files-accesspoint-posixuser-uid"></a>
The POSIX user ID used for all file system operations using this access point.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9]+$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::S3Files::AccessPoint RootDirectory
<a name="aws-properties-s3files-accesspoint-rootdirectory"></a>

Specifies the root directory path and optional creation permissions for newly created directories.

## Syntax
<a name="aws-properties-s3files-accesspoint-rootdirectory-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-accesspoint-rootdirectory-syntax.json"></a>

```
{
  "[CreationPermissions](#cfn-s3files-accesspoint-rootdirectory-creationpermissions)" : CreationPermissions,
  "[Path](#cfn-s3files-accesspoint-rootdirectory-path)" : String
}
```

### YAML
<a name="aws-properties-s3files-accesspoint-rootdirectory-syntax.yaml"></a>

```
  [CreationPermissions](#cfn-s3files-accesspoint-rootdirectory-creationpermissions): 
    CreationPermissions
  [Path](#cfn-s3files-accesspoint-rootdirectory-path): String
```

## Properties
<a name="aws-properties-s3files-accesspoint-rootdirectory-properties"></a>

`CreationPermissions`  <a name="cfn-s3files-accesspoint-rootdirectory-creationpermissions"></a>
The POSIX IDs and permissions to apply to the access point's root directory. If the root directory path specified does not exist, Amazon S3 Files creates the root directory using these settings when a client connects to the access point. When specifying `CreationPermissions`, you must provide values for all properties.  
*Required*: No  
*Type*: [CreationPermissions](aws-properties-s3files-accesspoint-creationpermissions.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Path`  <a name="cfn-s3files-accesspoint-rootdirectory-path"></a>
The path on the S3 Files file system to expose as the root directory to clients using the access point. A path can have up to four subdirectories. If the specified path does not exist, you are required to provide the `CreationPermissions`.  
*Required*: No  
*Type*: String  
*Pattern*: `^(\/|(\/(?!\.)+[^$#<>;;`|&?{}^*/\n]+){1,4})$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::S3Files::FileSystem
<a name="aws-resource-s3files-filesystem"></a>

The `AWS::S3Files::FileSystem` resource specifies an Amazon S3 Files file system scoped to a bucket or prefix within a bucket, enabling file system access to S3 data.

## Syntax
<a name="aws-resource-s3files-filesystem-syntax"></a>

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

### JSON
<a name="aws-resource-s3files-filesystem-syntax.json"></a>

```
{
  "Type" : "AWS::S3Files::FileSystem",
  "Properties" : {
      "[AcceptBucketWarning](#cfn-s3files-filesystem-acceptbucketwarning)" : Boolean,
      "[Bucket](#cfn-s3files-filesystem-bucket)" : String,
      "[ClientToken](#cfn-s3files-filesystem-clienttoken)" : String,
      "[KmsKeyId](#cfn-s3files-filesystem-kmskeyid)" : String,
      "[Prefix](#cfn-s3files-filesystem-prefix)" : String,
      "[RoleArn](#cfn-s3files-filesystem-rolearn)" : String,
      "[SynchronizationConfiguration](#cfn-s3files-filesystem-synchronizationconfiguration)" : SynchronizationConfiguration,
      "[Tags](#cfn-s3files-filesystem-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-s3files-filesystem-syntax.yaml"></a>

```
Type: AWS::S3Files::FileSystem
Properties:
  [AcceptBucketWarning](#cfn-s3files-filesystem-acceptbucketwarning): Boolean
  [Bucket](#cfn-s3files-filesystem-bucket): String
  [ClientToken](#cfn-s3files-filesystem-clienttoken): String
  [KmsKeyId](#cfn-s3files-filesystem-kmskeyid): String
  [Prefix](#cfn-s3files-filesystem-prefix): String
  [RoleArn](#cfn-s3files-filesystem-rolearn): String
  [SynchronizationConfiguration](#cfn-s3files-filesystem-synchronizationconfiguration): 
    SynchronizationConfiguration
  [Tags](#cfn-s3files-filesystem-tags): 
    - Tag
```

## Properties
<a name="aws-resource-s3files-filesystem-properties"></a>

`AcceptBucketWarning`  <a name="cfn-s3files-filesystem-acceptbucketwarning"></a>
A boolean that indicates you have read and accept the warning about the S3 bucket being used for the file system. Set this to `true` to acknowledge the warning.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Bucket`  <a name="cfn-s3files-filesystem-bucket"></a>
The Amazon Resource Name (ARN) of the S3 bucket.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(arn:aws[a-zA-Z0-9-]*:s3:::.+)$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ClientToken`  <a name="cfn-s3files-filesystem-clienttoken"></a>
A string of up to 64 ASCII characters that Amazon S3 Files uses to ensure idempotent creation.  
*Required*: No  
*Type*: String  
*Pattern*: `^(.+)$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KmsKeyId`  <a name="cfn-s3files-filesystem-kmskeyid"></a>
The ID of the AWS KMS key used to encrypt the file system.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|mrk-[0-9a-f]{32}|alias/[a-zA-Z0-9/_-]+|(arn:aws[-a-z]*:kms:[a-z0-9-]+:\d{12}:((key/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(key/mrk-[0-9a-f]{32})|(alias/[a-zA-Z0-9/_-]+))))$`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Prefix`  <a name="cfn-s3files-filesystem-prefix"></a>
The S3 key prefix that scopes the file system. When specified, the file system provides access only to objects under this prefix in the bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `^(|.*/)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-s3files-filesystem-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM role used for S3 access.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SynchronizationConfiguration`  <a name="cfn-s3files-filesystem-synchronizationconfiguration"></a>
The synchronization configuration for the file system, including import data rules and expiration data rules that control how data is synchronized between S3 and the file system.  
*Required*: No  
*Type*: [SynchronizationConfiguration](aws-properties-s3files-filesystem-synchronizationconfiguration.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-s3files-filesystem-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-s3files-filesystem-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-s3files-filesystem-return-values"></a>

### Ref
<a name="aws-resource-s3files-filesystem-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Amazon Resource Name (ARN) of the file system.

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

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the file system was created.

`FileSystemArn`  <a name="FileSystemArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the file system.

`FileSystemId`  <a name="FileSystemId-fn::getatt"></a>
The ID of the file system.

`OwnerId`  <a name="OwnerId-fn::getatt"></a>
The AWS account ID of the file system owner.

`Status`  <a name="Status-fn::getatt"></a>
The current status of the file system.

`StatusMessage`  <a name="StatusMessage-fn::getatt"></a>
Additional information about the file system status.

`SynchronizationConfiguration.LatestVersionNumber`  <a name="SynchronizationConfiguration.LatestVersionNumber-fn::getatt"></a>
The latest version number of the synchronization configuration.

# AWS::S3Files::FileSystem ExpirationDataRule
<a name="aws-properties-s3files-filesystem-expirationdatarule"></a>

Specifies a rule that controls when cached data expires from the file system based on last access time.

## Syntax
<a name="aws-properties-s3files-filesystem-expirationdatarule-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-filesystem-expirationdatarule-syntax.json"></a>

```
{
  "[DaysAfterLastAccess](#cfn-s3files-filesystem-expirationdatarule-daysafterlastaccess)" : Integer
}
```

### YAML
<a name="aws-properties-s3files-filesystem-expirationdatarule-syntax.yaml"></a>

```
  [DaysAfterLastAccess](#cfn-s3files-filesystem-expirationdatarule-daysafterlastaccess): Integer
```

## Properties
<a name="aws-properties-s3files-filesystem-expirationdatarule-properties"></a>

`DaysAfterLastAccess`  <a name="cfn-s3files-filesystem-expirationdatarule-daysafterlastaccess"></a>
The number of days after last access before cached data expires from the file system.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `365`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::S3Files::FileSystem ImportDataRule
<a name="aws-properties-s3files-filesystem-importdatarule"></a>

Specifies a rule that controls how data is imported from S3 into the file system.

## Syntax
<a name="aws-properties-s3files-filesystem-importdatarule-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-filesystem-importdatarule-syntax.json"></a>

```
{
  "[Prefix](#cfn-s3files-filesystem-importdatarule-prefix)" : String,
  "[SizeLessThan](#cfn-s3files-filesystem-importdatarule-sizelessthan)" : Integer,
  "[Trigger](#cfn-s3files-filesystem-importdatarule-trigger)" : String
}
```

### YAML
<a name="aws-properties-s3files-filesystem-importdatarule-syntax.yaml"></a>

```
  [Prefix](#cfn-s3files-filesystem-importdatarule-prefix): String
  [SizeLessThan](#cfn-s3files-filesystem-importdatarule-sizelessthan): Integer
  [Trigger](#cfn-s3files-filesystem-importdatarule-trigger): String
```

## Properties
<a name="aws-properties-s3files-filesystem-importdatarule-properties"></a>

`Prefix`  <a name="cfn-s3files-filesystem-importdatarule-prefix"></a>
The S3 key prefix that scopes this import rule. Only objects with keys beginning with this prefix are subject to the rule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(|.*/)$`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SizeLessThan`  <a name="cfn-s3files-filesystem-importdatarule-sizelessthan"></a>
The upper size limit in bytes for this import rule. Only objects with a size strictly less than this value will have data imported into the file system.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `52673613135872`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Trigger`  <a name="cfn-s3files-filesystem-importdatarule-trigger"></a>
The event that triggers data import. Valid values are `ON_DIRECTORY_FIRST_ACCESS` (import when a directory is first accessed) and `ON_FILE_ACCESS` (import when a file is accessed).  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ON_DIRECTORY_FIRST_ACCESS | ON_FILE_ACCESS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::S3Files::FileSystem SynchronizationConfiguration
<a name="aws-properties-s3files-filesystem-synchronizationconfiguration"></a>

The synchronization configuration for the file system.

## Syntax
<a name="aws-properties-s3files-filesystem-synchronizationconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-s3files-filesystem-synchronizationconfiguration-syntax.json"></a>

```
{
  "[ExpirationDataRules](#cfn-s3files-filesystem-synchronizationconfiguration-expirationdatarules)" : [ ExpirationDataRule, ... ],
  "[ImportDataRules](#cfn-s3files-filesystem-synchronizationconfiguration-importdatarules)" : [ ImportDataRule, ... ],
  "[LatestVersionNumber](#cfn-s3files-filesystem-synchronizationconfiguration-latestversionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-s3files-filesystem-synchronizationconfiguration-syntax.yaml"></a>

```
  [ExpirationDataRules](#cfn-s3files-filesystem-synchronizationconfiguration-expirationdatarules): 
    - ExpirationDataRule
  [ImportDataRules](#cfn-s3files-filesystem-synchronizationconfiguration-importdatarules): 
    - ImportDataRule
  [LatestVersionNumber](#cfn-s3files-filesystem-synchronizationconfiguration-latestversionnumber): Integer
```

## Properties
<a name="aws-properties-s3files-filesystem-synchronizationconfiguration-properties"></a>

`ExpirationDataRules`  <a name="cfn-s3files-filesystem-synchronizationconfiguration-expirationdatarules"></a>
The rules that control when cached data expires from the file system.  
*Required*: Yes  
*Type*: Array of [ExpirationDataRule](aws-properties-s3files-filesystem-expirationdatarule.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)

`ImportDataRules`  <a name="cfn-s3files-filesystem-synchronizationconfiguration-importdatarules"></a>
The rules that control how data is imported from S3 into the file system.  
*Required*: Yes  
*Type*: Array of [ImportDataRule](aws-properties-s3files-filesystem-importdatarule.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LatestVersionNumber`  <a name="cfn-s3files-filesystem-synchronizationconfiguration-latestversionnumber"></a>
The latest version number of the synchronization configuration.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::S3Files::FileSystem Tag
<a name="aws-properties-s3files-filesystem-tag"></a>

A key-value pair to associate with the file system.

## Syntax
<a name="aws-properties-s3files-filesystem-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-s3files-filesystem-tag-key): String
  [Value](#cfn-s3files-filesystem-tag-value): String
```

## Properties
<a name="aws-properties-s3files-filesystem-tag-properties"></a>

`Key`  <a name="cfn-s3files-filesystem-tag-key"></a>
The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with `aws:`.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*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-s3files-filesystem-tag-value"></a>
The value for the tag. You can specify a value that's 1 to 256 characters in length.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*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::S3Files::FileSystemPolicy
<a name="aws-resource-s3files-filesystempolicy"></a>

The `AWS::S3Files::FileSystemPolicy` resource specifies a resource-based policy for an Amazon S3 Files file system. Use this resource to control access permissions for the file system.

## Syntax
<a name="aws-resource-s3files-filesystempolicy-syntax"></a>

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

### JSON
<a name="aws-resource-s3files-filesystempolicy-syntax.json"></a>

```
{
  "Type" : "AWS::S3Files::FileSystemPolicy",
  "Properties" : {
      "[FileSystemId](#cfn-s3files-filesystempolicy-filesystemid)" : String,
      "[Policy](#cfn-s3files-filesystempolicy-policy)" : Json
    }
}
```

### YAML
<a name="aws-resource-s3files-filesystempolicy-syntax.yaml"></a>

```
Type: AWS::S3Files::FileSystemPolicy
Properties:
  [FileSystemId](#cfn-s3files-filesystempolicy-filesystemid): String
  [Policy](#cfn-s3files-filesystempolicy-policy): Json
```

## Properties
<a name="aws-resource-s3files-filesystempolicy-properties"></a>

`FileSystemId`  <a name="cfn-s3files-filesystempolicy-filesystemid"></a>
The ID of the S3 Files file system to which the policy applies.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(arn:aws[-a-z]*:s3files:[0-9a-z-:]+:file-system/fs-[0-9a-f]{17,40}|fs-[0-9a-f]{17,40})$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Policy`  <a name="cfn-s3files-filesystempolicy-policy"></a>
The JSON formatted resource-based policy for the file system.  
*Required*: Yes  
*Type*: Json  
*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-s3files-filesystempolicy-return-values"></a>

### Ref
<a name="aws-resource-s3files-filesystempolicy-return-values-ref"></a>

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

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

# AWS::S3Files::MountTarget
<a name="aws-resource-s3files-mounttarget"></a>

The `AWS::S3Files::MountTarget` resource specifies a mount target for an Amazon S3 Files file system. Mount targets provide network access to the file system from compute resources in a specific Availability Zone and VPC.

## Syntax
<a name="aws-resource-s3files-mounttarget-syntax"></a>

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

### JSON
<a name="aws-resource-s3files-mounttarget-syntax.json"></a>

```
{
  "Type" : "AWS::S3Files::MountTarget",
  "Properties" : {
      "[FileSystemId](#cfn-s3files-mounttarget-filesystemid)" : String,
      "[IpAddressType](#cfn-s3files-mounttarget-ipaddresstype)" : String,
      "[Ipv4Address](#cfn-s3files-mounttarget-ipv4address)" : String,
      "[Ipv6Address](#cfn-s3files-mounttarget-ipv6address)" : String,
      "[SecurityGroups](#cfn-s3files-mounttarget-securitygroups)" : [ String, ... ],
      "[SubnetId](#cfn-s3files-mounttarget-subnetid)" : String
    }
}
```

### YAML
<a name="aws-resource-s3files-mounttarget-syntax.yaml"></a>

```
Type: AWS::S3Files::MountTarget
Properties:
  [FileSystemId](#cfn-s3files-mounttarget-filesystemid): String
  [IpAddressType](#cfn-s3files-mounttarget-ipaddresstype): String
  [Ipv4Address](#cfn-s3files-mounttarget-ipv4address): String
  [Ipv6Address](#cfn-s3files-mounttarget-ipv6address): String
  [SecurityGroups](#cfn-s3files-mounttarget-securitygroups): 
    - String
  [SubnetId](#cfn-s3files-mounttarget-subnetid): String
```

## Properties
<a name="aws-resource-s3files-mounttarget-properties"></a>

`FileSystemId`  <a name="cfn-s3files-mounttarget-filesystemid"></a>
The ID of the S3 Files file system for which to create the mount target.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(arn:aws[-a-z]*:s3files:[0-9a-z-:]+:file-system/fs-[0-9a-f]{17,40}|fs-[0-9a-f]{17,40})$`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IpAddressType`  <a name="cfn-s3files-mounttarget-ipaddresstype"></a>
The type of IP address used by the mount target. Valid values are `IPV4_ONLY`, `IPV6_ONLY`, and `DUAL_STACK`.  
*Required*: No  
*Type*: String  
*Allowed values*: `IPV4_ONLY | IPV6_ONLY | DUAL_STACK`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Ipv4Address`  <a name="cfn-s3files-mounttarget-ipv4address"></a>
The IPv4 address of the mount target.  
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$`  
*Minimum*: `7`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Ipv6Address`  <a name="cfn-s3files-mounttarget-ipv6address"></a>
The IPv6 address of the mount target.  
*Required*: No  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `39`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityGroups`  <a name="cfn-s3files-mounttarget-securitygroups"></a>
Up to 100 VPC security group IDs that control network access to the mount target.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `11`  
*Maximum*: `43 | 100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubnetId`  <a name="cfn-s3files-mounttarget-subnetid"></a>
The ID of the subnet where the mount target is located.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^subnet-[0-9a-f]{8,40}$`  
*Minimum*: `15`  
*Maximum*: `47`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-s3files-mounttarget-return-values"></a>

### Ref
<a name="aws-resource-s3files-mounttarget-return-values-ref"></a>

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

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

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

`AvailabilityZoneId`  <a name="AvailabilityZoneId-fn::getatt"></a>
The ID of the Availability Zone in which the mount target is located.

`MountTargetId`  <a name="MountTargetId-fn::getatt"></a>
The ID of the mount target.

`NetworkInterfaceId`  <a name="NetworkInterfaceId-fn::getatt"></a>
The ID of the network interface that Amazon S3 Files created when it created the mount target.

`OwnerId`  <a name="OwnerId-fn::getatt"></a>
The AWS account ID of the mount target owner.

`Status`  <a name="Status-fn::getatt"></a>
The current status of the mount target.

`StatusMessage`  <a name="StatusMessage-fn::getatt"></a>
Additional information about the mount target status.

`VpcId`  <a name="VpcId-fn::getatt"></a>
The ID of the VPC in which the mount target is located.