# terraform-aws-modules/terraform-aws-efs architecture

> Architecture diagram of the GitHub repository terraform-aws-modules/terraform-aws-efs, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/terraform-aws-modules/terraform-aws-efs
- Repository: https://github.com/terraform-aws-modules/terraform-aws-efs

## Overview

This is a Terraform module for creating and configuring AWS Elastic File System resources. The primary workflow is that a Terraform user supplies module inputs, Terraform applies the configuration to create an EFS file system and related networking and features, and module outputs expose results. The README documents access points, file-system policy, backup, and replication capabilities. Source excerpts were not available, so links between individual resources are limited to documented resource categories.

Main entry points: [`main.tf`](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf) (Resource configuration), [`variables.tf`](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/variables.tf) (Module inputs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Module interface"]
  node_inputs["Module inputs<br/>[variables.tf]"]
  node_configuration["Resource configuration<br/>[main.tf]"]
  node_outputs["Module outputs<br/>[outputs.tf]"]
end

subgraph group_filesystem["EFS resources"]
  node_efs["EFS file system<br/>[main.tf]"]
  node_policy["File-system policy<br/>[main.tf]"]
end

subgraph group_access["Access and networking"]
  node_mounts["Mount targets<br/>[main.tf]"]
  node_security["Security group<br/>[main.tf]"]
  node_access_points["Access points<br/>[main.tf]"]
end

subgraph group_operations["Lifecycle features"]
  node_backup["Backup policy<br/>[main.tf]"]
  node_replication["Replication config<br/>[main.tf]"]
end

node_user(("Terraform user"))
node_aws_efs[("AWS EFS")]
node_aws_vpc["AWS VPC networking"]

node_user -->|"supplies"| node_inputs
node_inputs -->|"configures"| node_configuration
node_configuration -->|"declares"| node_efs
node_configuration -->|"declares"| node_policy
node_configuration -->|"declares"| node_mounts
node_configuration -->|"declares"| node_security
node_configuration -->|"declares"| node_access_points
node_configuration -->|"declares"| node_backup
node_configuration -->|"declares"| node_replication
node_efs -->|"creates"| node_aws_efs
node_policy -->|"attaches"| node_aws_efs
node_mounts -->|"creates"| node_aws_efs
node_mounts -->|"uses subnets"| node_aws_vpc
node_security -->|"creates rules"| node_aws_vpc
node_access_points -->|"creates"| node_aws_efs
node_backup -->|"sets policy"| node_aws_efs
node_replication -->|"configures"| node_aws_efs

click node_inputs "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/variables.tf"
click node_configuration "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_outputs "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/outputs.tf"
click node_efs "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_policy "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_mounts "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_security "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_access_points "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_backup "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"
click node_replication "https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_inputs,node_configuration,node_outputs,node_user toneBlue
class node_efs,node_policy,node_aws_efs toneAmber
class node_mounts,node_security,node_access_points toneMint
class node_backup,node_replication toneRose
class node_aws_vpc toneIndigo
```

## Components

### Module interface

- [Module inputs](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/variables.tf): `variables.tf`
- [Resource configuration](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`
- [Module outputs](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/outputs.tf): `outputs.tf`

### EFS resources

- [EFS file system](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`
- [File-system policy](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`

### Access and networking

- [Mount targets](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`
- [Security group](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`
- [Access points](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`

### Lifecycle features

- [Backup policy](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`
- [Replication config](https://github.com/terraform-aws-modules/terraform-aws-efs/blob/master/main.tf): `main.tf`

### Other components

- **Terraform user**
- **AWS EFS**
- **AWS VPC networking**

## Connections

- Terraform user → Module inputs: supplies
- Module inputs → Resource configuration: configures
- Resource configuration → EFS file system: declares
- Resource configuration → File-system policy: declares
- Resource configuration → Mount targets: declares
- Resource configuration → Security group: declares
- Resource configuration → Access points: declares
- Resource configuration → Backup policy: declares
- Resource configuration → Replication config: declares
- EFS file system → AWS EFS: creates
- File-system policy → AWS EFS: attaches
- Mount targets → AWS EFS: creates
- Mount targets → AWS VPC networking: uses subnets
- Security group → AWS VPC networking: creates rules
- Access points → AWS EFS: creates
- Backup policy → AWS EFS: sets policy
- Replication config → AWS EFS: configures
