attach multiple instances to target_group using terraform
up vote
-1
down vote
favorite
I want to attach multiple instances to target_group on the basis of dynamic value but facing some issues as the code is not computing the proper values.
Below is the code.
data "aws_instances" "instances" {
instance_tags {
role = "${lookup(var.target_groups[count.index], "trole")}"
}
filter {
name = "tag:environment"
values = ["${var.environment}"]
}
filter {
name = "tag:component"
values = ["${lookup(var.target_groups[count.index], "tcomponent")}"]
}
filter {
name = "tag:subcomponent"
values = ["${lookup(var.target_groups[count.index], "tsubcomponent")}"]
}
}
resource "aws_lb_target_group_attachment" "instance_attachment" {
target_group_arn = "${element(aws_lb_target_group.targetg.*.arn, var.target_groups_count)}
target_id = "${element(data.aws_instances.instances.ids, count.index)}"
port = "${lookup(var.target_groups[count.index], "backend_port")}"
count = "${length(data.aws_instances.instances.ids)}"
}
from input files
target_groups = "${list(map("name", "test1-80", "tcomponent", "compo1", "tsubcomponent", "subcompo1", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test2-80", "tcomponent", "compo2", "tsubcomponent", "subcompo2", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test3", "tcomponent", "compo3", "tsubcomponent", "subcompo3", "trole", "node", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"))}"
terraform
add a comment |
up vote
-1
down vote
favorite
I want to attach multiple instances to target_group on the basis of dynamic value but facing some issues as the code is not computing the proper values.
Below is the code.
data "aws_instances" "instances" {
instance_tags {
role = "${lookup(var.target_groups[count.index], "trole")}"
}
filter {
name = "tag:environment"
values = ["${var.environment}"]
}
filter {
name = "tag:component"
values = ["${lookup(var.target_groups[count.index], "tcomponent")}"]
}
filter {
name = "tag:subcomponent"
values = ["${lookup(var.target_groups[count.index], "tsubcomponent")}"]
}
}
resource "aws_lb_target_group_attachment" "instance_attachment" {
target_group_arn = "${element(aws_lb_target_group.targetg.*.arn, var.target_groups_count)}
target_id = "${element(data.aws_instances.instances.ids, count.index)}"
port = "${lookup(var.target_groups[count.index], "backend_port")}"
count = "${length(data.aws_instances.instances.ids)}"
}
from input files
target_groups = "${list(map("name", "test1-80", "tcomponent", "compo1", "tsubcomponent", "subcompo1", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test2-80", "tcomponent", "compo2", "tsubcomponent", "subcompo2", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test3", "tcomponent", "compo3", "tsubcomponent", "subcompo3", "trole", "node", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"))}"
terraform
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so thetarget_groups
value is readable (split it across multiple lines where possible).
– ydaetskcoR
Nov 19 at 9:16
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22
add a comment |
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
I want to attach multiple instances to target_group on the basis of dynamic value but facing some issues as the code is not computing the proper values.
Below is the code.
data "aws_instances" "instances" {
instance_tags {
role = "${lookup(var.target_groups[count.index], "trole")}"
}
filter {
name = "tag:environment"
values = ["${var.environment}"]
}
filter {
name = "tag:component"
values = ["${lookup(var.target_groups[count.index], "tcomponent")}"]
}
filter {
name = "tag:subcomponent"
values = ["${lookup(var.target_groups[count.index], "tsubcomponent")}"]
}
}
resource "aws_lb_target_group_attachment" "instance_attachment" {
target_group_arn = "${element(aws_lb_target_group.targetg.*.arn, var.target_groups_count)}
target_id = "${element(data.aws_instances.instances.ids, count.index)}"
port = "${lookup(var.target_groups[count.index], "backend_port")}"
count = "${length(data.aws_instances.instances.ids)}"
}
from input files
target_groups = "${list(map("name", "test1-80", "tcomponent", "compo1", "tsubcomponent", "subcompo1", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test2-80", "tcomponent", "compo2", "tsubcomponent", "subcompo2", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test3", "tcomponent", "compo3", "tsubcomponent", "subcompo3", "trole", "node", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"))}"
terraform
I want to attach multiple instances to target_group on the basis of dynamic value but facing some issues as the code is not computing the proper values.
Below is the code.
data "aws_instances" "instances" {
instance_tags {
role = "${lookup(var.target_groups[count.index], "trole")}"
}
filter {
name = "tag:environment"
values = ["${var.environment}"]
}
filter {
name = "tag:component"
values = ["${lookup(var.target_groups[count.index], "tcomponent")}"]
}
filter {
name = "tag:subcomponent"
values = ["${lookup(var.target_groups[count.index], "tsubcomponent")}"]
}
}
resource "aws_lb_target_group_attachment" "instance_attachment" {
target_group_arn = "${element(aws_lb_target_group.targetg.*.arn, var.target_groups_count)}
target_id = "${element(data.aws_instances.instances.ids, count.index)}"
port = "${lookup(var.target_groups[count.index], "backend_port")}"
count = "${length(data.aws_instances.instances.ids)}"
}
from input files
target_groups = "${list(map("name", "test1-80", "tcomponent", "compo1", "tsubcomponent", "subcompo1", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test2-80", "tcomponent", "compo2", "tsubcomponent", "subcompo2", "trole", "app", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"), map("name", "test3", "tcomponent", "compo3", "tsubcomponent", "subcompo3", "trole", "node", "backend_protocol", "HTTP", "backend_port", "80", "health_check_path", "/_status"))}"
terraform
terraform
asked Nov 18 at 12:03
vikas
11
11
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so thetarget_groups
value is readable (split it across multiple lines where possible).
– ydaetskcoR
Nov 19 at 9:16
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22
add a comment |
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so thetarget_groups
value is readable (split it across multiple lines where possible).
– ydaetskcoR
Nov 19 at 9:16
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so the
target_groups
value is readable (split it across multiple lines where possible).– ydaetskcoR
Nov 19 at 9:16
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so the
target_groups
value is readable (split it across multiple lines where possible).– ydaetskcoR
Nov 19 at 9:16
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53360662%2fattach-multiple-instances-to-target-group-using-terraform%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you explain more by what you mean when you say it's not computing the proper values? Does it error? If so can you post the exact error you get? Does it work but give you the wrong result? If so can you post the result and what you expected to happen? Also it would help if you could adjust your formatting so the
target_groups
value is readable (split it across multiple lines where possible).– ydaetskcoR
Nov 19 at 9:16
@ydaetskcoR: thanks for your revert. basically, it is producing the wrong result. I want to attach only those instances whose tagging will match with tags of target group.
– vikas
Nov 21 at 17:22