mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-11 21:11:32 +01:00
ebs optimization of instances now possible
This commit is contained in:
114
modules/util/ebs_optimized/main.tf
Normal file
114
modules/util/ebs_optimized/main.tf
Normal file
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
# terraform_util_ebs_optimized
|
||||
|
||||
A terraform module to return true or false based on if an instance type supports the EBS optmized flag.
|
||||
*/
|
||||
|
||||
locals {
|
||||
ebs_optimized_types = {
|
||||
"c4.large" = true
|
||||
"c4.xlarge" = true
|
||||
"c4.2xlarge" = true
|
||||
"c4.4xlarge" = true
|
||||
"c4.8xlarge" = true
|
||||
"c5.large" = true
|
||||
"c5.xlarge" = true
|
||||
"c5.2xlarge" = true
|
||||
"c5.4xlarge" = true
|
||||
"c5.9xlarge" = true
|
||||
"c5.18xlarge" = true
|
||||
"c5d.large" = true
|
||||
"c5d.xlarge" = true
|
||||
"c5d.2xlarge" = true
|
||||
"c5d.4xlarge" = true
|
||||
"c5d.9xlarge" = true
|
||||
"c5d.18xlarge" = true
|
||||
"d2.xlarge" = true
|
||||
"d2.2xlarge" = true
|
||||
"d2.4xlarge" = true
|
||||
"d2.8xlarge" = true
|
||||
"f1.2xlarge" = true
|
||||
"f1.16xlarge" = true
|
||||
"g3.4xlarge" = true
|
||||
"g3.8xlarge" = true
|
||||
"g3.16xlarge" = true
|
||||
"h1.2xlarge" = true
|
||||
"h1.4xlarge" = true
|
||||
"h1.8xlarge" = true
|
||||
"h1.16xlarge" = true
|
||||
"i3.large" = true
|
||||
"i3.xlarge" = true
|
||||
"i3.2xlarge" = true
|
||||
"i3.4xlarge" = true
|
||||
"i3.8xlarge" = true
|
||||
"i3.16xlarge" = true
|
||||
"i3.metal" = true
|
||||
"m4.large" = true
|
||||
"m4.xlarge" = true
|
||||
"m4.2xlarge" = true
|
||||
"m4.4xlarge" = true
|
||||
"m4.10xlarge" = true
|
||||
"m4.16xlarge" = true
|
||||
"m5.large" = true
|
||||
"m5.xlarge" = true
|
||||
"m5.2xlarge" = true
|
||||
"m5.4xlarge" = true
|
||||
"m5.12xlarge" = true
|
||||
"m5.24xlarge" = true
|
||||
"m5d.large" = true
|
||||
"m5d.xlarge" = true
|
||||
"m5d.2xlarge" = true
|
||||
"m5d.4xlarge" = true
|
||||
"m5d.12xlarge" = true
|
||||
"m5d.24xlarge" = true
|
||||
"p2.xlarge" = true
|
||||
"p2.8xlarge" = true
|
||||
"p2.16xlarge" = true
|
||||
"p3.2xlarge" = true
|
||||
"p3.8xlarge" = true
|
||||
"p3.16xlarge" = true
|
||||
"r4.large" = true
|
||||
"r4.xlarge" = true
|
||||
"r4.2xlarge" = true
|
||||
"r4.4xlarge" = true
|
||||
"r4.8xlarge" = true
|
||||
"r4.16xlarge" = true
|
||||
"x1.16xlarge" = true
|
||||
"x1.32xlarge" = true
|
||||
"x1e.xlarge" = true
|
||||
"x1e.2xlarge" = true
|
||||
"x1e.4xlarge" = true
|
||||
"x1e.8xlarge" = true
|
||||
"x1e.16xlarge" = true
|
||||
"x1e.32xlarge" = true
|
||||
"c5.large" = true
|
||||
"c5.xlarge" = true
|
||||
"c5.2xlarge" = true
|
||||
"c5d.large" = true
|
||||
"c5d.xlarge" = true
|
||||
"c5d.2xlarge" = true
|
||||
"m5.large" = true
|
||||
"m5.xlarge" = true
|
||||
"m5.2xlarge" = true
|
||||
"m5d.large" = true
|
||||
"m5d.xlarge" = true
|
||||
"m5d.2xlarge" = true
|
||||
"c1.xlarge" = true
|
||||
"c3.xlarge" = true
|
||||
"c3.2xlarge" = true
|
||||
"c3.4xlarge" = true
|
||||
"g2.2xlarge" = true
|
||||
"i2.xlarge" = true
|
||||
"i2.2xlarge" = true
|
||||
"i2.4xlarge" = true
|
||||
"m1.large" = true
|
||||
"m1.xlarge" = true
|
||||
"m2.2xlarge" = true
|
||||
"m2.4xlarge" = true
|
||||
"m3.xlarge" = true
|
||||
"m3.2xlarge" = true
|
||||
"r3.xlarge" = true
|
||||
"r3.2xlarge" = true
|
||||
"r3.4xlarge" = true
|
||||
}
|
||||
}
|
||||
4
modules/util/ebs_optimized/outputs.tf
Normal file
4
modules/util/ebs_optimized/outputs.tf
Normal file
@@ -0,0 +1,4 @@
|
||||
output "answer" {
|
||||
description = "Returns true or false depending on if the instance type is able to be EBS optimized."
|
||||
value = "${lookup(local.ebs_optimized_types, var.instance_type, false)}"
|
||||
}
|
||||
3
modules/util/ebs_optimized/variables.tf
Normal file
3
modules/util/ebs_optimized/variables.tf
Normal file
@@ -0,0 +1,3 @@
|
||||
variable "instance_type" {
|
||||
description = "Instance type to evaluate if EBS optimized is an option."
|
||||
}
|
||||
Reference in New Issue
Block a user