default to computed value for security group not working
I have this in my module:
variable vpc_security_group_ids {
type = "list"
default =
}
If the user doesnt specify it I want it to default to the computed group (which is "default").
This work the first time but the second time I apply I see this:
Terraform will perform the following actions:
~ module.servers.aws_instance.aws-inst[0]
vpc_security_group_ids.#: "1" => "0"
vpc_security_group_ids.2662974173: "sg-123abc" => ""
Its trying to set it back to "".
amazon-web-services amazon-ec2 terraform
add a comment |
I have this in my module:
variable vpc_security_group_ids {
type = "list"
default =
}
If the user doesnt specify it I want it to default to the computed group (which is "default").
This work the first time but the second time I apply I see this:
Terraform will perform the following actions:
~ module.servers.aws_instance.aws-inst[0]
vpc_security_group_ids.#: "1" => "0"
vpc_security_group_ids.2662974173: "sg-123abc" => ""
Its trying to set it back to "".
amazon-web-services amazon-ec2 terraform
add a comment |
I have this in my module:
variable vpc_security_group_ids {
type = "list"
default =
}
If the user doesnt specify it I want it to default to the computed group (which is "default").
This work the first time but the second time I apply I see this:
Terraform will perform the following actions:
~ module.servers.aws_instance.aws-inst[0]
vpc_security_group_ids.#: "1" => "0"
vpc_security_group_ids.2662974173: "sg-123abc" => ""
Its trying to set it back to "".
amazon-web-services amazon-ec2 terraform
I have this in my module:
variable vpc_security_group_ids {
type = "list"
default =
}
If the user doesnt specify it I want it to default to the computed group (which is "default").
This work the first time but the second time I apply I see this:
Terraform will perform the following actions:
~ module.servers.aws_instance.aws-inst[0]
vpc_security_group_ids.#: "1" => "0"
vpc_security_group_ids.2662974173: "sg-123abc" => ""
Its trying to set it back to "".
amazon-web-services amazon-ec2 terraform
amazon-web-services amazon-ec2 terraform
asked Nov 19 '18 at 22:20
red888red888
4,62074395
4,62074395
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You are passing default = in your code. So if you don't pass any security group then AWS creates an instance with default vpc security group and it will be saved in terraform state file. But, when you will try next time with default = then it will show that instance already have one security group and you are trying to remove it (during plan phase), but during apply, either it(apply) will fail or it will not remove the security group.
So ideally you should create a security group and then use it as default. like
variable "vpc_security_group_ids" {
type = "list"
default = [<default_security_group_id>]
}
add a comment |
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',
autoActivateHeartbeat: false,
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
});
}
});
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%2f53383487%2fdefault-to-computed-value-for-security-group-not-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are passing default = in your code. So if you don't pass any security group then AWS creates an instance with default vpc security group and it will be saved in terraform state file. But, when you will try next time with default = then it will show that instance already have one security group and you are trying to remove it (during plan phase), but during apply, either it(apply) will fail or it will not remove the security group.
So ideally you should create a security group and then use it as default. like
variable "vpc_security_group_ids" {
type = "list"
default = [<default_security_group_id>]
}
add a comment |
You are passing default = in your code. So if you don't pass any security group then AWS creates an instance with default vpc security group and it will be saved in terraform state file. But, when you will try next time with default = then it will show that instance already have one security group and you are trying to remove it (during plan phase), but during apply, either it(apply) will fail or it will not remove the security group.
So ideally you should create a security group and then use it as default. like
variable "vpc_security_group_ids" {
type = "list"
default = [<default_security_group_id>]
}
add a comment |
You are passing default = in your code. So if you don't pass any security group then AWS creates an instance with default vpc security group and it will be saved in terraform state file. But, when you will try next time with default = then it will show that instance already have one security group and you are trying to remove it (during plan phase), but during apply, either it(apply) will fail or it will not remove the security group.
So ideally you should create a security group and then use it as default. like
variable "vpc_security_group_ids" {
type = "list"
default = [<default_security_group_id>]
}
You are passing default = in your code. So if you don't pass any security group then AWS creates an instance with default vpc security group and it will be saved in terraform state file. But, when you will try next time with default = then it will show that instance already have one security group and you are trying to remove it (during plan phase), but during apply, either it(apply) will fail or it will not remove the security group.
So ideally you should create a security group and then use it as default. like
variable "vpc_security_group_ids" {
type = "list"
default = [<default_security_group_id>]
}
edited Nov 22 '18 at 8:49
answered Nov 20 '18 at 10:19
RamRam
385112
385112
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53383487%2fdefault-to-computed-value-for-security-group-not-working%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