github.com/hernad/nomad@v1.6.112/e2e/terraform/volumes.tf (about)

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