#terraform-0_12 (2019-06)
Discuss upgrading to terraform 0.12
Archive: https://archive.sweetops.com/terraform-0_12/
2019-06-02
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
please someone tell me what i am doing worng
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
and i am getting back
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
seems like it founr the right subent id but ignores it
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
when i remove the module.main.web_public_subnets[0].id and hard code the subnet it works
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
and this happens also if i make module.main.web_public_subnets output to be only one var and then remove the [0]
![shtrull avatar](https://secure.gravatar.com/avatar/d4a8b6a128b295069c2c6eed9bd62ad7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
never mind i added .id but forgot that i took the value from an output and not the resource output
2019-06-04
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
what Add a hack to support terraform 0.12 with terraform-docs Use awk to generate variables and outputs suitable for terraform-docs why terraform-docs does not yet support HCL2 references segm…
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
it’s dirty. it’s nasty. but if you need terraform-docs
to work with 0.12, it works for us.
![cytopia avatar](https://secure.gravatar.com/avatar/e1c28ee986c37ee4d03642c3ecfdc0cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
Great work and thanks for that! As @antonbabenko has mentioned an issue on this PR and I am also facing this, I’ve tried to address it: https://github.com/cloudposse/build-harness/pull/155
terraform-docs 0.12 multi-line default parsing There currently seems to be an issue with multi-line default statement parsing as mentioned by @antonbabenko here: #152 (comment) This PR tries to add…
![antonbabenko avatar](https://secure.gravatar.com/avatar/fc9fce3c16a287d672ec5433430f11ca.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png)
Awesome, I will give it a try on Monday! Really hope it works :)
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Thanks @cytopia !
![cytopia avatar](https://secure.gravatar.com/avatar/e1c28ee986c37ee4d03642c3ecfdc0cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
@Erik Osterman (Cloud Posse) @antonbabenko one last issue I am currently facing is default = null
. To what should this be transformed for Terraform < 0.12 docs generation?
![antonbabenko avatar](https://secure.gravatar.com/avatar/fc9fce3c16a287d672ec5433430f11ca.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png)
it is tricky… default = null
in 0.12 is closest to default = "null"
in 0.11. It is a hack, really, because there was no null
value before 0.12.
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
null
== ""
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
or maybe you can hack it like
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
null
== “null
”
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
with markdown
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
@antonbabenko
![antonbabenko avatar](https://secure.gravatar.com/avatar/fc9fce3c16a287d672ec5433430f11ca.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png)
Awesome! Thanks @Erik Osterman (Cloud Posse)!
2019-06-11
![Nikola Velkovski avatar](https://avatars.slack-edge.com/2018-11-08/474538495603_cc9e62a39b3dbc9d8d65_72.png)
A small appreciation to hands down one of the best modules out there
module "label" {
source = "git::<https://github.com/cloudposse/terraform-null-label.git?ref=0.12.0>"
stage = local.stage
name = local.name
delimiter = "-"
tags = {
"kubernetes.io/cluster/${module.label.id}" = "shared"
}
}
![nyan_parrot](/assets/images/custom_emojis/nyan_parrot.gif)
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
hrm… does this work? looks like the tags are referring to the label itself?
![Nikola Velkovski avatar](https://avatars.slack-edge.com/2018-11-08/474538495603_cc9e62a39b3dbc9d8d65_72.png)
Yes it does!
![Nikola Velkovski avatar](https://avatars.slack-edge.com/2018-11-08/474538495603_cc9e62a39b3dbc9d8d65_72.png)
Not sure if this will work in 0.11 though.
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
thanks @Nikola Velkovski!! comments like these is what keeps us going!
![jose.amengual avatar](https://secure.gravatar.com/avatar/32f267b819eac9e0ea6a8324b53064a0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png)
and the salary….and food too
![jose.amengual avatar](https://secure.gravatar.com/avatar/32f267b819eac9e0ea6a8324b53064a0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png)
![Nikola Velkovski avatar](https://avatars.slack-edge.com/2018-11-08/474538495603_cc9e62a39b3dbc9d8d65_72.png)
![Nikola Velkovski avatar](https://avatars.slack-edge.com/2018-11-08/474538495603_cc9e62a39b3dbc9d8d65_72.png)
2019-06-13
![maarten avatar](https://avatars.slack-edge.com/2020-09-28/1393040065826_b0d13cfde15deff02026_72.png)
@Erik Osterman (Cloud Posse) what is the problem with the current terraform-terraform-label pr for 0.12.. I’d ike to push dynamodb to 0.12. Also current travis config fails for 0.12 still if im not mistaken.
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Thought I replied but don’t see the messages
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
we need to convert this repo to use codefresh where all of our tooling is to support 0.12
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
andriy needed to take a couple days off, so project is on hold until next week
![maarten avatar](https://avatars.slack-edge.com/2020-09-28/1393040065826_b0d13cfde15deff02026_72.png)
All clear, thanks
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
I’ll finish it tomorrow
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
@Andriy Knysh (Cloud Posse) started working on it but had to take some days off
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
We need to take a few steps with each module
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
First updating it to use Codefresh where we have all the 0.12 tooling in place
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
I will try to rush this out though for you if it’s a blocker
![niek avatar](https://secure.gravatar.com/avatar/055049cebc56061309609f48090615fe.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Hi,
I just started to upgrade the gilab-runner-spot-module (for AWS) to TF 0.12. Would be great if you can help me with the following questions.
I used the tool terraform-docs to generate documentation of the variables, this tool seems not working (yet) for 0.12. Does anybody knows / uses an alternative approach?
Does anybody has a tip what is the best way to upgrade a data “aws_ami”. In my TF 0.11 module I had provided the option to inject the filter via a variable as follow:
variable "ami_filter" {
type = "list"
default = [{
name = "name"
values = ["amzn-ami-hvm-2018.03*-x86_64-ebs"]
}]
}
data "aws_ami" "runner" {
most_recent = "true"
filter = "${var.ami_filter}"
owners = ["${var.ami_owners}"]
}
Does anybody has a good example how I can keep the filter(s) configurable in tf 0.12?
![niek avatar](https://secure.gravatar.com/avatar/055049cebc56061309609f48090615fe.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Oops, already hab an answer on the filter question, map with a dynamic block
2019-06-14
2019-06-15
2019-06-18
![davidvasandani avatar](https://avatars.slack-edge.com/2019-10-02/784259469622_7d9e31719822afd94ef8_72.jpg)
2019-06-19
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
hi all, seems like terraform-null-label
is not compatible with terraform 0.12. The same module being used in all modules make them kind of unusable too
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
starting from https://github.com/cloudposse/terraform-null-label/releases/tag/0.12.0, it does support TF 0.12
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
to use it with TF 0.12, pin to the latest release
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
to use with TF 0.11, pin to 0.11.1
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
then we have to change this in all the modules correct, i can send pr for the modules which we uses.
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
we have to update all the modules, we are working on it now
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
PRs are welcome, thanks
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
or may be a better solution is https://dependabot.com/terraform/
Automated dependency updates for your Ruby, Python, JavaScript, PHP, .NET, Go, Elixir, Rust, Java and Elm.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
which should fix this across all repos for you
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
have you tried that?
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
we are using dependabot
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
not sure if it’s possible to automatically convert everything to TF 0.12
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
works in simple cases
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
but usually you have to manually fix/update the code after the conversion
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
as far as I’ve seen it, the automatic conversion can’t work in some cases or breaks code in other cases
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
i though you only need to update the null-label dependency across all projects.
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
if your modules are TF 0.11 and you point them to null-label
0.12, will it work?
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
i didn’t tried null-label 0.12 yet. What I do know is you can make null-label 0.12 work with both 0.11 and 0.12.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
If its not working for any particular syntaxes, should raise a bug in terraform
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
anyways you can specify that modules with tag version like 2.x only support 0.12
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
will not work with TF 0.11
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
if your modules are TF 0.11
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
i got it, you are saying automated null-label bump is not satisfactory since you want to address tagging along with it.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
anyways I will send pr for the modules which we are using.
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
i mean when you update your modules to TF 0.12 and if the modules use the label, you will bump the label version in the new TF 0.12 code
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
automated label bump to TF 0.12 in the module that supports only 0.11will not work
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
that i agree, but if we fixed the deps and ci runs auto terraform 0.12upgrade --yes
we can easily check narrow down the errors. Few modules like https://github.com/cloudposse/terraform-aws-key-pair.git don’t need anything apart from label bump and upgrade.
Terraform Module to Automatically Generate SSH Key Pairs (Public/Private Keys) - cloudposse/terraform-aws-key-pair
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
anyways there is a faster way which is clone all repos and do sed to replace version.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
so automation won’t be worth it
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Dependabot is awesome but without automated tests, a sure fire way to absolutely break everything with regressions
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
We tried it on a handful of repos about a year ago and quickly things started breaking (aka GitHub issues started spiking)
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
So as part of our upgrading to 0.12 we are trying to add more tests with terratest and bats
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
That way we catch regressions or at least have a way to test for them as they arise in the future
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
yup ci should have better tests for automations
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
But with 100+ modules we should work in that direction as well. I would love to help with something you required.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
one more thing I would recommend is to have version.tf file. The automatic upgrade does create this file and its easy to identify current terraform version for modules by just looking at the presence of file.
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
yes, we are using [versions.tf](http://versions.tf)
file in all repos we convert
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
@rohit.verma would massively appreciate some help
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
I will type up some guidance
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
today i sleep, tomorrow morning I would try an approach to bump all those modules which requires lesser tinkering with some scripts.
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
If you have time to do a quick call this week that would be awesome too
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Ok
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
the part where i got lazy is fork and raise pr
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
You were working with some in house git bots, right?
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
yes but they are mostly chatops related thing, and work within an org
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Did you finish rolling out test-infra used by istio?
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
And k8s
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
no but we did the vanilla prows one and hooked with tekton
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
you can avoid tekton and can continue use cloudfresh in parallel
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Btw office hours today at 11:30 - in 1.5 hours
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
i got severe cold, and its already past 10 pm for me
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Oh no! Definitely get some rest
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
early morning person, i probably won’t be able to attend any of your office hours till I am in bangalore.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
Will catchup tomorrow morning with what I was able to do.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
Also you need some marking strategy whether the repo is done, may be presence of version.tf or a specific tag versioning method
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
I would recommend version.tf
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
If you agree can we add that to null label repo
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
sure
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
we added it to the examples https://github.com/cloudposse/terraform-null-label/blob/master/examples/complete/versions.tf, which get tested automatically
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
also added it to the main code https://github.com/cloudposse/terraform-null-label/releases/tag/0.13.0
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-terraform-label
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
Awesome
![Callum Robertson avatar](https://avatars.slack-edge.com/2019-06-20/659129332226_04b6b33e0a3f105d3bc7_72.jpg)
2019-06-20
![joshmyers avatar](https://avatars.slack-edge.com/2018-11-20/483958217281_8117d6f6c62807ce9912_72.jpg)
hey folks - if you were starting a new project, thoughts on using 0.12 from the get go….? cc @antonbabenko @Erik Osterman (Cloud Posse) @Andriy Knysh (Cloud Posse)
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
should be ok. Not sure about it 100% since we converted just a few modules, working on the rest now
![joshmyers avatar](https://avatars.slack-edge.com/2018-11-20/483958217281_8117d6f6c62807ce9912_72.jpg)
Nice, any “fun” with lists of maps/other workarounds we came up with for enabled/disabed etc?
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
(we did not get to those modules yet)
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
but a lot of fun with expressions like this https://github.com/cloudposse/terraform-null-label/blob/master/main.tf#L40
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes]) - cloudposse/terraform-null-label
![joshmyers avatar](https://avatars.slack-edge.com/2018-11-20/483958217281_8117d6f6c62807ce9912_72.jpg)
hah, I bet
![joshmyers avatar](https://avatars.slack-edge.com/2018-11-20/483958217281_8117d6f6c62807ce9912_72.jpg)
Cheers Andriy
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
0.12 is definitely more enjoyable
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
![marc avatar](https://avatars.slack-edge.com/2019-06-04/644005280802_75d0097368325ee54432_72.png)
are many of you guys running into:
Error: Failed to instantiate provider "aws" to obtain schema: Incompatible API version with plugin. Plugin version: 4, Client versions: [5]
I get this with 0.12.2.
the solutions I seem to find out there are to recompile tf, but wondered if people had a workaround?
![loren avatar](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
What version of the aws provider are you using?
![marc avatar](https://avatars.slack-edge.com/2019-06-04/644005280802_75d0097368325ee54432_72.png)
version = "~> 2"
![marc avatar](https://avatars.slack-edge.com/2019-06-04/644005280802_75d0097368325ee54432_72.png)
huh, I guess
![marc avatar](https://avatars.slack-edge.com/2019-06-04/644005280802_75d0097368325ee54432_72.png)
version = "~> 2.16"
works
![loren avatar](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
Ahh, they must have updated the schema version?
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects.
![rohit.verma avatar](https://secure.gravatar.com/avatar/2fe004659fb5ecb920681f93103d6957.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
why have terraform-terraform-label
and terraform-null-label
. Are we planning to deprecate anyone?
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
terraform-terraform-label
was introduced as a simpler alternative to terraform-null-label
which grew unwieldy in 0.11
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
with 0.12, terraform-null-label
is once again sane, but we’ll continue supporting terraform-terraform-label
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
and both have been updated to 0.12
2019-06-23
![Callum Robertson avatar](https://avatars.slack-edge.com/2019-06-20/659129332226_04b6b33e0a3f105d3bc7_72.jpg)
Thanks @Erik Osterman (Cloud Posse)