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"))}"









share|improve this question






















  • 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

















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"))}"









share|improve this question






















  • 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















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"))}"









share|improve this question













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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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 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




















  • 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


















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



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















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






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














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





















































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







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

RAC Tourist Trophy