Skip to content

Commit

Permalink
squash everything in a single commit: [improvement] count to for_each…
Browse files Browse the repository at this point in the history
… and merged default values
  • Loading branch information
sbeginCoveo committed May 4, 2021
1 parent 2a78efd commit 77d9c69
Show file tree
Hide file tree
Showing 6 changed files with 350 additions and 716 deletions.
42 changes: 14 additions & 28 deletions aws_auth.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,24 @@ data "aws_caller_identity" "current" {}

locals {
auth_launch_template_worker_roles = [
for index in range(0, var.create_eks ? local.worker_group_launch_template_count : 0) : {
worker_role_arn = "arn:${data.aws_partition.current.partition}:iam::${data.aws_caller_identity.current.account_id}:role/${element(
coalescelist(
aws_iam_instance_profile.workers_launch_template.*.role,
data.aws_iam_instance_profile.custom_worker_group_launch_template_iam_instance_profile.*.role_name,
[""]
),
index
)}"
platform = lookup(
var.worker_groups_launch_template[index],
"platform",
local.workers_group_defaults["platform"]
)
for key, worker_group in(var.create_eks ? local.worker_groups_launch_template_with_defaults : {}) : {
worker_role_arn = "arn:${data.aws_partition.current.partition}:iam::${data.aws_caller_identity.current.account_id}:role/${
var.manage_worker_iam_resources ?
aws_iam_instance_profile.workers_launch_template[key].role :
data.aws_iam_instance_profile.custom_worker_group_launch_template_iam_instance_profile[key].role_name
}"
platform = worker_group.platform
}
]

auth_worker_roles = [
for index in range(0, var.create_eks ? local.worker_group_count : 0) : {
worker_role_arn = "arn:${data.aws_partition.current.partition}:iam::${data.aws_caller_identity.current.account_id}:role/${element(
coalescelist(
aws_iam_instance_profile.workers.*.role,
data.aws_iam_instance_profile.custom_worker_group_iam_instance_profile.*.role_name,
[""]
),
index,
)}"
platform = lookup(
var.worker_groups[index],
"platform",
local.workers_group_defaults["platform"]
)
for key, worker_group in(var.create_eks ? local.worker_groups_with_defaults : {}) : {
worker_role_arn = "arn:${data.aws_partition.current.partition}:iam::${data.aws_caller_identity.current.account_id}:role/${
var.manage_worker_iam_resources ?
aws_iam_instance_profile.workers[key].role :
data.aws_iam_instance_profile.custom_worker_group_iam_instance_profile[key].role_name
}"
platform = worker_group.platform
}
]

Expand Down
122 changes: 38 additions & 84 deletions data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -56,94 +56,56 @@ data "aws_iam_policy_document" "cluster_assume_role_policy" {
}

data "template_file" "userdata" {
count = var.create_eks ? local.worker_group_count : 0
template = lookup(
var.worker_groups[count.index],
"userdata_template_file",
file(
lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"]) == "windows"
for_each = var.create_eks ? local.worker_groups_with_defaults : {}

template = (each.value.userdata_template_file != ""
? each.value.userdata_template_file
: file(
each.value.platform == "windows"
? "${path.module}/templates/userdata_windows.tpl"
: "${path.module}/templates/userdata.sh.tpl"
)
)

vars = merge({
platform = lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"])
cluster_name = coalescelist(aws_eks_cluster.this[*].name, [""])[0]
endpoint = coalescelist(aws_eks_cluster.this[*].endpoint, [""])[0]
cluster_auth_base64 = coalescelist(aws_eks_cluster.this[*].certificate_authority[0].data, [""])[0]
pre_userdata = lookup(
var.worker_groups[count.index],
"pre_userdata",
local.workers_group_defaults["pre_userdata"],
)
additional_userdata = lookup(
var.worker_groups[count.index],
"additional_userdata",
local.workers_group_defaults["additional_userdata"],
)
bootstrap_extra_args = lookup(
var.worker_groups[count.index],
"bootstrap_extra_args",
local.workers_group_defaults["bootstrap_extra_args"],
)
kubelet_extra_args = lookup(
var.worker_groups[count.index],
"kubelet_extra_args",
local.workers_group_defaults["kubelet_extra_args"],
)
vars = merge(
{
platform = each.value.platform
cluster_name = coalescelist(aws_eks_cluster.this[*].name, [""])[0]
endpoint = coalescelist(aws_eks_cluster.this[*].endpoint, [""])[0]
cluster_auth_base64 = coalescelist(aws_eks_cluster.this[*].certificate_authority[0].data, [""])[0]
pre_userdata = each.value.pre_userdata
additional_userdata = each.value.additional_userdata
bootstrap_extra_args = each.value.bootstrap_extra_args
kubelet_extra_args = each.value.kubelet_extra_args
},
lookup(
var.worker_groups[count.index],
"userdata_template_extra_args",
local.workers_group_defaults["userdata_template_extra_args"]
)
each.value.userdata_template_extra_args
)
}

data "template_file" "launch_template_userdata" {
count = var.create_eks ? local.worker_group_launch_template_count : 0
template = lookup(
var.worker_groups_launch_template[count.index],
"userdata_template_file",
file(
lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"]) == "windows"
for_each = var.create_eks ? local.worker_groups_launch_template_with_defaults : {}

template = (each.value.userdata_template_file != ""
? each.value.userdata_template_file
: file(
each.value.platform == "windows"
? "${path.module}/templates/userdata_windows.tpl"
: "${path.module}/templates/userdata.sh.tpl"
)
)

vars = merge({
platform = lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"])
cluster_name = coalescelist(aws_eks_cluster.this[*].name, [""])[0]
endpoint = coalescelist(aws_eks_cluster.this[*].endpoint, [""])[0]
cluster_auth_base64 = coalescelist(aws_eks_cluster.this[*].certificate_authority[0].data, [""])[0]
pre_userdata = lookup(
var.worker_groups_launch_template[count.index],
"pre_userdata",
local.workers_group_defaults["pre_userdata"],
)
additional_userdata = lookup(
var.worker_groups_launch_template[count.index],
"additional_userdata",
local.workers_group_defaults["additional_userdata"],
)
bootstrap_extra_args = lookup(
var.worker_groups_launch_template[count.index],
"bootstrap_extra_args",
local.workers_group_defaults["bootstrap_extra_args"],
)
kubelet_extra_args = lookup(
var.worker_groups_launch_template[count.index],
"kubelet_extra_args",
local.workers_group_defaults["kubelet_extra_args"],
)
vars = merge(
{
platform = each.value.platform
cluster_name = coalescelist(aws_eks_cluster.this[*].name, [""])[0]
endpoint = coalescelist(aws_eks_cluster.this[*].endpoint, [""])[0]
cluster_auth_base64 = coalescelist(aws_eks_cluster.this[*].certificate_authority[0].data, [""])[0]
pre_userdata = each.value.pre_userdata
additional_userdata = each.value.additional_userdata
bootstrap_extra_args = each.value.bootstrap_extra_args
kubelet_extra_args = each.value.kubelet_extra_args
},
lookup(
var.worker_groups_launch_template[count.index],
"userdata_template_extra_args",
local.workers_group_defaults["userdata_template_extra_args"]
)
each.value.userdata_template_extra_args
)
}

Expand All @@ -153,21 +115,13 @@ data "aws_iam_role" "custom_cluster_iam_role" {
}

data "aws_iam_instance_profile" "custom_worker_group_iam_instance_profile" {
count = var.manage_worker_iam_resources ? 0 : local.worker_group_count
name = lookup(
var.worker_groups[count.index],
"iam_instance_profile_name",
local.workers_group_defaults["iam_instance_profile_name"],
)
for_each = var.manage_worker_iam_resources ? {} : local.worker_groups_with_defaults
name = each.value.iam_instance_profile_name
}

data "aws_iam_instance_profile" "custom_worker_group_launch_template_iam_instance_profile" {
count = var.manage_worker_iam_resources ? 0 : local.worker_group_launch_template_count
name = lookup(
var.worker_groups_launch_template[count.index],
"iam_instance_profile_name",
local.workers_group_defaults["iam_instance_profile_name"],
)
for_each = var.manage_worker_iam_resources ? {} : local.worker_groups_launch_template_with_defaults
name = each.value.iam_instance_profile_name
}

data "aws_partition" "current" {}
Loading

0 comments on commit 77d9c69

Please sign in to comment.