github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/e2e/terraform/volumes.tf (about)

     1  resource "aws_efs_file_system" "csi" {
     2    count          = var.volumes ? 1 : 0
     3    creation_token = "${local.random_name}-CSI"
     4  
     5    tags = {
     6      Name = "${local.random_name}-efs"
     7      User = data.aws_caller_identity.current.arn
     8    }
     9  }
    10  
    11  resource "aws_efs_mount_target" "csi" {
    12    count           = var.volumes ? 1 : 0
    13    file_system_id  = aws_efs_file_system.csi[0].id
    14    subnet_id       = data.aws_subnet.default.id
    15    security_groups = [aws_security_group.nfs[0].id]
    16  }
    17  
    18  data "template_file" "efs_volume_hcl" {
    19    count    = var.volumes ? 1 : 0
    20    template = <<EOT
    21  type = "csi"
    22  id = "efs-vol0"
    23  name = "efs-vol0"
    24  external_id = "${aws_efs_file_system.csi[0].id}"
    25  plugin_id = "aws-efs0"
    26  
    27  capability {
    28    access_mode     = "single-node-writer"
    29    attachment_mode = "file-system"
    30  }
    31  
    32  capability {
    33    access_mode = "single-node-reader"
    34    attachment_mode = "file-system"
    35  }
    36  
    37  EOT
    38  }
    39  
    40  resource "local_file" "efs_volume_hcl" {
    41    count           = var.volumes ? 1 : 0
    42    content         = data.template_file.efs_volume_hcl[0].rendered
    43    filename        = "${path.module}/../csi/input/volume-efs.hcl"
    44    file_permission = "0664"
    45  }