An open API service indexing awesome lists of open source software.

https://github.com/truefoundry/terraform-aws-truefoundry-efs

Truefoundry AWS EFS Module
https://github.com/truefoundry/terraform-aws-truefoundry-efs

Last synced: 4 months ago
JSON representation

Truefoundry AWS EFS Module

Awesome Lists containing this project

README

          

# terraform-aws-truefoundry-efs
Truefoundry AWS EFS Module

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.4 |
| [aws](#requirement\_aws) | ~> 5.57 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | ~> 5.57 |

## Modules

| Name | Source | Version |
|------|--------|---------|
| [efs](#module\_efs) | cloudposse/efs/aws | 1.2.1 |
| [iam\_assumable\_role\_admin](#module\_iam\_assumable\_role\_admin) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | 5.27.0 |

## Resources

| Name | Type |
|------|------|
| [aws_efs_file_system_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system_policy) | resource |
| [aws_iam_policy.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy_document.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.efs_file_system_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cluster\_name](#input\_cluster\_name) | EKS Cluster Name | `string` | n/a | yes |
| [cluster\_oidc\_issuer\_url](#input\_cluster\_oidc\_issuer\_url) | The oidc url of the eks cluster | `string` | n/a | yes |
| [create\_efs\_access\_policy](#input\_create\_efs\_access\_policy) | Enable/disable creation of EFS access policy | `bool` | `true` | no |
| [create\_efs\_iam\_role](#input\_create\_efs\_iam\_role) | Enable/disable creation of IAM role for EFS | `bool` | `true` | no |
| [disable\_default\_tags](#input\_disable\_default\_tags) | Disable the default tag for the EFSs. Used in cases where only certain tags are allowed | `bool` | `false` | no |
| [efs\_access\_policy\_prefix\_enable\_override](#input\_efs\_access\_policy\_prefix\_enable\_override) | Enable/disable override of the EFS access policy. When enabled, the EFS access policy will be set to the value of efs\_access\_policy\_prefix\_override\_name | `bool` | `false` | no |
| [efs\_access\_policy\_prefix\_override\_name](#input\_efs\_access\_policy\_prefix\_override\_name) | The name of the EFS access policy. This will be used only when efs\_access\_policy\_prefix\_enable\_override is set to true | `string` | `""` | no |
| [efs\_iam\_role\_additional\_policy\_arns](#input\_efs\_iam\_role\_additional\_policy\_arns) | Additional policy ARNs to attach to the EFS IAM role | `list(string)` | `[]` | no |
| [efs\_iam\_role\_enable\_override](#input\_efs\_iam\_role\_enable\_override) | Enable/disable override of the EFS IAM role name. When enabled, the EFS IAM role name will be set to the value of efs\_iam\_role\_override\_name | `bool` | `false` | no |
| [efs\_iam\_role\_override\_name](#input\_efs\_iam\_role\_override\_name) | The name of the EFS IAM role. This will be used only when efs\_iam\_role\_enable\_override is set to true | `string` | `""` | no |
| [efs\_iam\_role\_permissions\_boundary\_arn](#input\_efs\_iam\_role\_permissions\_boundary\_arn) | ARN of the permissions boundary for the EFS IAM role | `string` | `""` | no |
| [efs\_kms\_key\_arn](#input\_efs\_kms\_key\_arn) | The KMS key ARN to use for EFS | `string` | `null` | no |
| [efs\_node\_iam\_role\_arn](#input\_efs\_node\_iam\_role\_arn) | The node IAM role ARN being used by the EFS daemonset | `string` | n/a | yes |
| [enable\_backup\_policy](#input\_enable\_backup\_policy) | Enable EFS backup policy | `bool` | `true` | no |
| [existing\_efs\_access\_policy\_arn](#input\_existing\_efs\_access\_policy\_arn) | ARN of the existing EFS access policy. This will be used only when create\_efs\_iam\_role is set to false | `string` | `""` | no |
| [existing\_efs\_iam\_role\_arn](#input\_existing\_efs\_iam\_role\_arn) | ARN of the existing EFS IAM role. This will be used only when create\_efs\_iam\_role is set to false | `string` | `""` | no |
| [k8s\_service\_account\_name](#input\_k8s\_service\_account\_name) | The k8s efs service account name | `string` | n/a | yes |
| [k8s\_service\_account\_namespace](#input\_k8s\_service\_account\_namespace) | The k8s efs namespace | `string` | n/a | yes |
| [performance\_mode](#input\_performance\_mode) | the performance mode for EFS | `string` | n/a | yes |
| [private\_subnets\_cidrs](#input\_private\_subnets\_cidrs) | List of CIDR of private subnets | `list(string)` | n/a | yes |
| [private\_subnets\_id](#input\_private\_subnets\_id) | List of private subnet IDs | `list(string)` | n/a | yes |
| [region](#input\_region) | The region where the EFS will be provisioned | `string` | n/a | yes |
| [tags](#input\_tags) | AWS Tags common to all the resources created | `map(string)` | `{}` | no |
| [throughput\_mode](#input\_throughput\_mode) | the throughput mode for EFS | `string` | n/a | yes |
| [vpc\_id](#input\_vpc\_id) | ID of the VPC where the cluster and its nodes will be provisioned | `string` | `null` | no |

## Outputs

| Name | Description |
|------|-------------|
| [efs\_arn](#output\_efs\_arn) | n/a |
| [efs\_id](#output\_efs\_id) | n/a |
| [efs\_role\_arn](#output\_efs\_role\_arn) | n/a |
| [efs\_security\_group\_id](#output\_efs\_security\_group\_id) | n/a |