Terraform module to provision an AWS EFS
Network File System.
Include this repository as a module in your existing terraform code:
module "efs" {
source = "devops-workflow/efs/aws"
version = "0.4.0"
name = "app"
attributes = "efs"
region = "${var.aws_region}"
vpc_id = "${var.vpc_id}"
subnets = "${var.private_subnets}"
security_groups = ["${var.security_group_id}"]
zone_id = "${var.aws_route53_dns_zone_id}"
}| Name | Default | Description |
|---|---|---|
| namespace | global |
Namespace (e.g. cp or cloudposse) |
| stage | default |
Stage (e.g. prod, dev, staging) |
| name | app |
Name (e.g. app or wordpress) |
| security_groups | [] |
AWS security group IDs to allow to connect to the EFS |
| aws_region | REQUIRED | AWS region ID |
| vpc_id | REQUIRED | AWS VPC ID |
| subnets | REQUIRED | AWS subnet IDs |
| availability_zones | REQUIRED | Availability Zone IDs |
| zone_id | REQUIRED | Route53 dns zone ID |
| attributes | [] |
Additional attributes (e.g. policy or role) |
| tags | {} |
Additional tags (e.g. map("BusinessUnit","XYZ") |
| delimiter | - |
Delimiter to be used between name, namespace, stage, etc. |
| Name | Description |
|---|---|
| id | EFS id |
| host | Assigned DNS-record for the EFS |
| security_group | The generated EFS security group |
| mount_target_ids | List of IDs of the EFS mount targets (one per Availability Zone) |
| mount_target_ips | List of IPs of the EFS mount targets (one per Availability Zone) |
