## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= v1.1.9 |
| [aws](#requirement\_aws) | >= 4.13.0 |
| [external](#requirement\_external) | 2.2.2 |
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 4.19.0 |
| [external](#provider\_external) | 2.2.2 |
## Modules
| Name | Source | Version |
|------|--------|---------|
| [efs\_kms](#module\_efs\_kms) | github.com/aws-samples/aws-tf-kms//modules/aws/kms | v1.0.0 |
## Resources
| Name | Type |
|------|------|
| [aws_efs_access_point.efs_ap](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_access_point) | resource |
| [aws_efs_backup_policy.backup_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_backup_policy) | resource |
| [aws_efs_file_system.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system) | resource |
| [aws_efs_file_system_policy.efs_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system_policy) | resource |
| [aws_efs_mount_target.efs_mount](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target) | resource |
| [aws_security_group.efs_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
| [aws_security_group_rule.egress_efs_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [efs\_name](#input\_efs\_name) | A unique name to reference the EFS. | `string` | n/a | yes |
| [project](#input\_project) | Project name (prefix/suffix) to be used on all the resources identification | `string` | n/a | yes |
| [region](#input\_region) | The AWS Region e.g. us-east-1 for the environment | `string` | n/a | yes |
| [availability\_zone\_name](#input\_availability\_zone\_name) | The AWS Availability Zone in which to create the file system.
If not empty, EFS will be created with One Zone storage class.
For example: "us-east-1a"
The `subnet_tags` must identify the target subnets in this AZ.
Not applicable if `efs_id` is provided | `string` | `null` | no |
| [backup\_plan](#input\_backup\_plan) | Backup plan for the EFS
Valid values: `AUTO` or `CUSTOM`
Not applicable if `efs_id` is provided | `string` | `"CUSTOM"` | no |
| [efs\_access\_point\_specs](#input\_efs\_access\_point\_specs) | List of EFS Access Point Specs that will be created.
- `efs_ap`, required. Unique name to identify access point
- `uid`, required. e.g. 0
- `gid`, required. e.g. 0
- `secondary_gids`, required. e.g. []
- `root_path`, required. e.g. /{env}/{project}/{purpose}/{name}
- `owner_uid`, required. e.g. 0
- `owner_gid`, required. e.g. 0
- `root_permission`, required e.g. 0755
- `principal_arns`, required. User or Role ARNs that need access to this access point e.g. ["*"] |
list(object({| `[]` | no | | [efs\_id](#input\_efs\_id) | File System ID. (required, if module is used to create new EFS access point(s) for an existing EFS)
efs_ap = string
uid = number
gid = number
secondary_gids = list(number)
root_path = string
owner_uid = number
owner_gid = number
root_permission = string
principal_arns = list(string)
}))
tags = {| `map(string)` | `{}` | no | | [encrypted](#input\_encrypted) | Should EFS be encrypted?
"BackupPlan" = "EVERY-DAY"
}