{"id":19508902,"url":"https://github.com/rhythmictech/terraform-aws-efs-filesystem","last_synced_at":"2025-04-26T03:31:48.331Z","repository":{"id":45591499,"uuid":"290796616","full_name":"rhythmictech/terraform-aws-efs-filesystem","owner":"rhythmictech","description":"Creates an AWS EFS file system and associated mount points and security group. Optionally (on by default), configures a one-off AWS Backup plan/vault to back up the volume.","archived":false,"fork":false,"pushed_at":"2023-02-23T22:29:25.000Z","size":29,"stargazers_count":5,"open_issues_count":3,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T07:11:25.714Z","etag":null,"topics":["aws","aws-efs","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/rhythmictech/efs-filesystem/aws","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhythmictech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2020-08-27T14:24:42.000Z","updated_at":"2023-06-28T09:29:46.000Z","dependencies_parsed_at":"2023-01-28T23:31:54.659Z","dependency_job_id":null,"html_url":"https://github.com/rhythmictech/terraform-aws-efs-filesystem","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":"rhythmictech/terraform-terraform-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-efs-filesystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-efs-filesystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-efs-filesystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-efs-filesystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhythmictech","download_url":"https://codeload.github.com/rhythmictech/terraform-aws-efs-filesystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250926818,"owners_count":21509043,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-efs","terraform","terraform-module"],"created_at":"2024-11-10T23:10:19.602Z","updated_at":"2025-04-26T03:31:48.056Z","avatar_url":"https://github.com/rhythmictech.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-efs-filesystem\n\nCreates an AWS EFS file system and associated mount points and security group. Optionally (on by default), configures a one-off AWS Backup plan/vault to back up the volume.\n\n[![tflint](https://github.com/rhythmictech/terraform-aws-efs-filesystem/workflows/tflint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-efs-filesystem/actions?query=workflow%3Atflint+event%3Apush+branch%3Amaster)\n[![tfsec](https://github.com/rhythmictech/terraform-aws-efs-filesystem/workflows/tfsec/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-efs-filesystem/actions?query=workflow%3Atfsec+event%3Apush+branch%3Amaster)\n[![yamllint](https://github.com/rhythmictech/terraform-aws-efs-filesystem/workflows/yamllint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-efs-filesystem/actions?query=workflow%3Ayamllint+event%3Apush+branch%3Amaster)\n[![misspell](https://github.com/rhythmictech/terraform-aws-efs-filesystem/workflows/misspell/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-efs-filesystem/actions?query=workflow%3Amisspell+event%3Apush+branch%3Amaster)\n[![pre-commit-check](https://github.com/rhythmictech/terraform-aws-efs-filesystem/workflows/pre-commit-check/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-efs-filesystem/actions?query=workflow%3Apre-commit-check+event%3Apush+branch%3Amaster)\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=RhythmicTech\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/RhythmicTech?style=social\u0026logo=twitter\" alt=\"follow on Twitter\"\u003e\u003c/a\u003e\n\n## Example\n\n```hcl\nmodule \"efs\" {\n  source = \"rhythmictech/efs-filesystem/aws\"\n\n  name                    = \"photos\"\n  allowed_security_groups = [\"sg-1234567890\"]\n  subnets                 = [\n    \"subnet-1234567890\",\n    \"subnet-0123456789\",\n    \"subnet-9012345678\",\n  ]\n  vpc_id                  = \"vpc-1234567890\"\n}\n```\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.12.19 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e=3.21.0 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 4.55.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_backup_plan.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_plan) | resource |\n| [aws_backup_selection.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_selection) | resource |\n| [aws_backup_vault.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_vault) | resource |\n| [aws_efs_file_system.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system) | resource |\n| [aws_efs_mount_target.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target) | resource |\n| [aws_iam_role.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_kms_key.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |\n| [aws_security_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group_rule.allow_cidrs_to_efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_sgs_to_efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_iam_policy_document.assume_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_tags\"\u003e\u003c/a\u003e [additional\\_tags](#input\\_additional\\_tags) | User-Defined tags | `map(string)` | `{}` | no |\n| \u003ca name=\"input_allowed_cidrs\"\u003e\u003c/a\u003e [allowed\\_cidrs](#input\\_allowed\\_cidrs) | List of CIDRs permitted to access EFS mounts | `list(string)` | `[]` | no |\n| \u003ca name=\"input_allowed_security_groups\"\u003e\u003c/a\u003e [allowed\\_security\\_groups](#input\\_allowed\\_security\\_groups) | List of Security Group IDs permitted to access EFS mounts | `list(string)` | `[]` | no |\n| \u003ca name=\"input_backup_kms_key_id\"\u003e\u003c/a\u003e [backup\\_kms\\_key\\_id](#input\\_backup\\_kms\\_key\\_id) | KMS Key to use for backups (Specify `aws/backup` to use the default key, leave null to have a key generated automatically) | `string` | `null` | no |\n| \u003ca name=\"input_backup_lifecycle_cold_storage_after\"\u003e\u003c/a\u003e [backup\\_lifecycle\\_cold\\_storage\\_after](#input\\_backup\\_lifecycle\\_cold\\_storage\\_after) | Specifies the number of days after creation that a recovery point is moved to cold storage. | `number` | `null` | no |\n| \u003ca name=\"input_backup_lifecycle_delete_after\"\u003e\u003c/a\u003e [backup\\_lifecycle\\_delete\\_after](#input\\_backup\\_lifecycle\\_delete\\_after) | Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold\\_storage\\_after. | `number` | `null` | no |\n| \u003ca name=\"input_backup_role_permissions_boundary\"\u003e\u003c/a\u003e [backup\\_role\\_permissions\\_boundary](#input\\_backup\\_role\\_permissions\\_boundary) | An optional IAM permissions boundary to use when creating the IAM role for backups | `string` | `null` | no |\n| \u003ca name=\"input_backup_schedule\"\u003e\u003c/a\u003e [backup\\_schedule](#input\\_backup\\_schedule) | Cron schedule to run backups on | `string` | `\"cron(0 0 * * ? *)\"` | no |\n| \u003ca name=\"input_create\"\u003e\u003c/a\u003e [create](#input\\_create) | If `false`, this module does nothing | `bool` | `true` | no |\n| \u003ca name=\"input_efs_kms_key_id\"\u003e\u003c/a\u003e [efs\\_kms\\_key\\_id](#input\\_efs\\_kms\\_key\\_id) | ARN of KMS key to use for EFS encryption (leave null to create a key, set to `aws/backup` to use AWS default CMK) | `string` | `null` | no |\n| \u003ca name=\"input_enable_backups\"\u003e\u003c/a\u003e [enable\\_backups](#input\\_enable\\_backups) | Should AWS Backup be configured for this file system? | `bool` | `true` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Moniker to apply/prefix to all resources in the module (required if `create==true`) | `string` | `null` | no |\n| \u003ca name=\"input_performance_mode\"\u003e\u003c/a\u003e [performance\\_mode](#input\\_performance\\_mode) | Performance mode to run in (`generalPurpose` or `maxIO`). See https://aws.amazon.com/premiumsupport/knowledge-center/linux-efs-performance-modes/ for details. | `string` | `\"generalPurpose\"` | no |\n| \u003ca name=\"input_provisioned_throughput\"\u003e\u003c/a\u003e [provisioned\\_throughput](#input\\_provisioned\\_throughput) | Provisioned throughput (in mbps) | `number` | `null` | no |\n| \u003ca name=\"input_subnets\"\u003e\u003c/a\u003e [subnets](#input\\_subnets) | Subnet IDs that the EFS mount points should be created on (required if `create==true`) | `list(string)` | `[]` | no |\n| \u003ca name=\"input_throughput_mode\"\u003e\u003c/a\u003e [throughput\\_mode](#input\\_throughput\\_mode) | EFS file system throughput mode (`provisioned` or `bursting`) | `string` | `\"bursting\"` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | VPC to create EFS file system in (required if `create==true`) | `string` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_efs_backup_iam_role\"\u003e\u003c/a\u003e [efs\\_backup\\_iam\\_role](#output\\_efs\\_backup\\_iam\\_role) | Name of the IAM Role created to run AWS Backup |\n| \u003ca name=\"output_efs_file_system_id\"\u003e\u003c/a\u003e [efs\\_file\\_system\\_id](#output\\_efs\\_file\\_system\\_id) | EFS File System ID |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-efs-filesystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhythmictech%2Fterraform-aws-efs-filesystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-efs-filesystem/lists"}