example ebs mapper

This commit is contained in:
2019-10-23 14:04:51 -04:00
parent 72536f7cc7
commit 01cad92cb6
2 changed files with 71 additions and 0 deletions

13
deploy/main.tf Normal file
View File

@@ -0,0 +1,13 @@
provider "aws" {
version = "~> 2.0"
region = "us-east-2"
}
module "servers" {
source = "../test"
num_instances = 2
enable_mysql = false
enable_mongo = true
#mongo_disk_size = [300,100,100]
}

58
module/main.tf Normal file
View File

@@ -0,0 +1,58 @@
variable "ebs_kms_key" { default = null}
variable "mongo_disk_size_default" { default = 100}
variable "mongo_disk_size" { default = null}
variable "mongo_disk_type_default" { default = 100}
variable "mongo_disk_type" { default = null}
variable "mongo_disk_encryption" { default = null}
variable "mongo_disk_kms_key" { default = null}
variable "mongo_mount_default" { default = "mongo"}
variable "mongo_device_name" { default = "/dev/sdh"}
variable "mysql_disk_size" { default = null}
variable "ifs_disk_size" { default = null}
variable "num_instances" { default = 2}
variable "enable_mysql" { default = false}
variable "enable_mongo" { default = false}
variable "enable_ifs" { default = false}
provider "aws" {
version = "~> 2.0"
region = "us-east-2"
}
resource "aws_instance" "test" {
count = var.num_instances
ami = "ami-05c1fa8df71875112"
instance_type = "t2.micro"
availability_zone = "us-east-2a"
tags = {
Name = "test${count.index}"
Count = count.index
}
}
resource "aws_ebs_volume" "mongo" {
count = var.enable_mongo == true ? var.num_instances : 0
availability_zone = "us-east-2a"
size = var.mongo_disk_size != null ? var.mongo_disk_size : var.mongo_disk_size_default
encrypted = var.mongo_disk_encryption != null ? var.mongo_disk_size[count.index] : true
type = var.mongo_disk_type != null ? var.mongo_disk_size[count.index] : var.mongo_disk_type_default
kms_key_id = var.mongo_disk_kms_key != null ? var.mongo_disk_kms_key : var.ebs_kms_key
tags = {
Name = "Mongo${count.index}"
Count = count.index
Mount = "mongo"
}
}
resource "aws_volume_attachment" "mongo_att" {
count = var.enable_mongo == true ? var.num_instances : 0
device_name = var.mongo_device_name
volume_id = aws_ebs_volume.mongo[count.index].id
instance_id = aws_instance.test[count.index].id
}