mirror of
https://github.com/sstent/Terraform_Snippets.git
synced 2026-01-25 06:31:36 +00:00
example ebs mapper
This commit is contained in:
58
module/main.tf
Normal file
58
module/main.tf
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user