change ebs_optimized mapping to list where not supported (#561)

* change ebs_optimized mapping to list where not supported

* update changelog
This commit is contained in:
Jeff Hastings
2019-10-21 06:57:29 -04:00
committed by Max Williams
parent 1be1a02e23
commit 2e2f2acada
4 changed files with 48 additions and 163 deletions

View File

@@ -15,7 +15,7 @@ project adheres to [Semantic Versioning](http://semver.org/).
### Changed ### Changed
- Write your awesome change here (by @you) - Changed logic for setting default ebs_optimized to only require maintaining a list of instance types that don't support it (by @jeffmhastings)
# History # History

188
local.tf
View File

@@ -80,155 +80,41 @@ locals {
var.workers_group_defaults, var.workers_group_defaults,
) )
ebs_optimized = { ebs_optimized_not_supported = [
"c1.medium" = false "c1.medium",
"c1.xlarge" = true "c3.8xlarge",
"c3.large" = false "c3.large",
"c3.xlarge" = true "c5d.12xlarge",
"c3.2xlarge" = true "c5d.24xlarge",
"c3.4xlarge" = true "c5d.metal",
"c3.8xlarge" = false "cc2.8xlarge",
"c4.large" = true "cr1.8xlarge",
"c4.xlarge" = true "g2.8xlarge",
"c4.2xlarge" = true "g4dn.metal",
"c4.4xlarge" = true "hs1.8xlarge",
"c4.8xlarge" = true "i2.8xlarge",
"c5.large" = true "m1.medium",
"c5.xlarge" = true "m1.small",
"c5.2xlarge" = true "m2.xlarge",
"c5.4xlarge" = true "m3.large",
"c5.9xlarge" = true "m3.medium",
"c5.18xlarge" = true "m5ad.16xlarge",
"c5d.large" = true "m5ad.8xlarge",
"c5d.xlarge" = true "m5dn.metal",
"c5d.2xlarge" = true "m5n.metal",
"c5d.4xlarge" = true "r3.8xlarge",
"c5d.9xlarge" = true "r3.large",
"c5d.18xlarge" = true "r5ad.16xlarge",
"cc2.8xlarge" = false "r5ad.8xlarge",
"cr1.8xlarge" = false "r5dn.metal",
"d2.xlarge" = true "r5n.metal",
"d2.2xlarge" = true "t1.micro",
"d2.4xlarge" = true "t2.2xlarge",
"d2.8xlarge" = true "t2.large",
"f1.2xlarge" = true "t2.medium",
"f1.4xlarge" = true "t2.micro",
"f1.16xlarge" = true "t2.nano",
"g2.2xlarge" = true "t2.small",
"g2.8xlarge" = false "t2.xlarge"
"g3s.xlarge" = true ]
"g3.4xlarge" = true
"g3.8xlarge" = true
"g3.16xlarge" = true
"h1.2xlarge" = true
"h1.4xlarge" = true
"h1.8xlarge" = true
"h1.16xlarge" = true
"hs1.8xlarge" = false
"i2.xlarge" = true
"i2.2xlarge" = true
"i2.4xlarge" = true
"i2.8xlarge" = false
"i3.large" = true
"i3.xlarge" = true
"i3.2xlarge" = true
"i3.4xlarge" = true
"i3.8xlarge" = true
"i3.16xlarge" = true
"i3.metal" = true
"m1.small" = false
"m1.medium" = false
"m1.large" = true
"m1.xlarge" = true
"m2.xlarge" = false
"m2.2xlarge" = true
"m2.4xlarge" = true
"m3.medium" = false
"m3.large" = false
"m3.xlarge" = true
"m3.2xlarge" = true
"m4.large" = true
"m4.xlarge" = true
"m4.2xlarge" = true
"m4.4xlarge" = true
"m4.10xlarge" = true
"m4.16xlarge" = true
"m5a.large" = true
"m5a.xlarge" = true
"m5a.2xlarge" = true
"m5a.4xlarge" = true
"m5a.12xlarge" = true
"m5a.24xlarge" = 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
"r3.large" = false
"r3.xlarge" = true
"r3.2xlarge" = true
"r3.4xlarge" = true
"r3.8xlarge" = false
"r4.large" = true
"r4.xlarge" = true
"r4.2xlarge" = true
"r4.4xlarge" = true
"r4.8xlarge" = true
"r4.16xlarge" = true
"r5a.large" = true
"r5a.xlarge" = true
"r5a.2xlarge" = true
"r5a.4xlarge" = true
"r5a.12xlarge" = true
"r5a.24xlarge" = true
"r5.large" = true
"r5.xlarge" = true
"r5.2xlarge" = true
"r5.4xlarge" = true
"r5.12xlarge" = true
"r5.24xlarge" = true
"t1.micro" = false
"t2.nano" = false
"t2.micro" = false
"t2.small" = false
"t2.medium" = false
"t2.large" = false
"t2.xlarge" = false
"t2.2xlarge" = false
"t3a.nano" = true
"t3a.micro" = true
"t3a.small" = true
"t3a.medium" = true
"t3a.large" = true
"t3a.xlarge" = true
"t3a.2xlarge" = true
"t3.nano" = true
"t3.micro" = true
"t3.small" = true
"t3.medium" = true
"t3.large" = true
"t3.xlarge" = true
"t3.2xlarge" = 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
}
} }

View File

@@ -182,15 +182,14 @@ resource "aws_launch_configuration" "workers" {
ebs_optimized = lookup( ebs_optimized = lookup(
var.worker_groups[count.index], var.worker_groups[count.index],
"ebs_optimized", "ebs_optimized",
lookup( ! contains(
local.ebs_optimized, local.ebs_optimized_not_supported,
lookup( lookup(
var.worker_groups[count.index], var.worker_groups[count.index],
"instance_type", "instance_type",
local.workers_group_defaults["instance_type"], local.workers_group_defaults["instance_type"]
), )
false, )
),
) )
enable_monitoring = lookup( enable_monitoring = lookup(
var.worker_groups[count.index], var.worker_groups[count.index],

View File

@@ -272,18 +272,18 @@ resource "aws_launch_template" "workers_launch_template" {
user_data = base64encode( user_data = base64encode(
data.template_file.launch_template_userdata.*.rendered[count.index], data.template_file.launch_template_userdata.*.rendered[count.index],
) )
ebs_optimized = lookup( ebs_optimized = lookup(
var.worker_groups_launch_template[count.index], var.worker_groups_launch_template[count.index],
"ebs_optimized", "ebs_optimized",
lookup( ! contains(
local.ebs_optimized, local.ebs_optimized_not_supported,
lookup( lookup(
var.worker_groups_launch_template[count.index], var.worker_groups_launch_template[count.index],
"instance_type", "instance_type",
local.workers_group_defaults["instance_type"], local.workers_group_defaults["instance_type"],
), )
false, )
),
) )
credit_specification { credit_specification {