In terraform, is it possible to only add an optional resource argument if a particular variable is set
up vote
1
down vote
favorite
On my concrete example:
I want to create a rancher environment resource with preconfigured members. But the number of members is supposed to be depending on a variable list. I'd imaging something like
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member {
count = "${length(var.memberlist)}"
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
This obviously doesn't work. Is there a trick to achieve this behaviour?
terraform rancher
add a comment |
up vote
1
down vote
favorite
On my concrete example:
I want to create a rancher environment resource with preconfigured members. But the number of members is supposed to be depending on a variable list. I'd imaging something like
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member {
count = "${length(var.memberlist)}"
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
This obviously doesn't work. Is there a trick to achieve this behaviour?
terraform rancher
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
On my concrete example:
I want to create a rancher environment resource with preconfigured members. But the number of members is supposed to be depending on a variable list. I'd imaging something like
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member {
count = "${length(var.memberlist)}"
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
This obviously doesn't work. Is there a trick to achieve this behaviour?
terraform rancher
On my concrete example:
I want to create a rancher environment resource with preconfigured members. But the number of members is supposed to be depending on a variable list. I'd imaging something like
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member {
count = "${length(var.memberlist)}"
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
This obviously doesn't work. Is there a trick to achieve this behaviour?
terraform rancher
terraform rancher
edited Nov 22 at 12:54
Vít Kotačka
456419
456419
asked Nov 21 at 23:50
LeoR
480416
480416
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
You can use null_resource for this. Try this
resource "null_resource" "memberlist" {
count = "${length(var.memberlist)}"
triggers {
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member = ["${null_resource.memberlist.*.triggers}"]
}
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
You can use null_resource for this. Try this
resource "null_resource" "memberlist" {
count = "${length(var.memberlist)}"
triggers {
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member = ["${null_resource.memberlist.*.triggers}"]
}
add a comment |
up vote
2
down vote
You can use null_resource for this. Try this
resource "null_resource" "memberlist" {
count = "${length(var.memberlist)}"
triggers {
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member = ["${null_resource.memberlist.*.triggers}"]
}
add a comment |
up vote
2
down vote
up vote
2
down vote
You can use null_resource for this. Try this
resource "null_resource" "memberlist" {
count = "${length(var.memberlist)}"
triggers {
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member = ["${null_resource.memberlist.*.triggers}"]
}
You can use null_resource for this. Try this
resource "null_resource" "memberlist" {
count = "${length(var.memberlist)}"
triggers {
external_id = "${var.memberlist[count.index]}"
external_id_type = "exttype"
role = "owner"
}
}
resource "rancher_environment" "renv" {
name = "renv"
project_template_id = "atmplid"
member = ["${null_resource.memberlist.*.triggers}"]
}
answered Nov 22 at 8:46
Ram
383112
383112
add a comment |
add a comment |
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%2f53422046%2fin-terraform-is-it-possible-to-only-add-an-optional-resource-argument-if-a-part%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