Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wish list #3963

Closed
sherabi opened this issue Nov 18, 2015 · 3 comments
Closed

Wish list #3963

sherabi opened this issue Nov 18, 2015 · 3 comments

Comments

@sherabi
Copy link

sherabi commented Nov 18, 2015

Terraform is great, but lacks some great features that could be a cloudformation killer. It would make it more enterprise ready as well and more acceptable with everyone.

  1. Nested maps.
  2. Conditionals (if-then-else, for loops, while loops) - Would go a long ways in reducing HCL lines for multiple resources e.g. blue-green stack
  3. Some sort name randomization function exposed by the HCL. e.g. name = "${var.random_uuid}-app-asg-blue"
  4. Documentation needs to be updated, e.g. AWS launch configuration documentation doesn't say that it exports the "name" of the LC. Only exports id of the LC.
  5. Modules should be able to read contents of variables.tf of the caller in addition to its own variables.tf.

Thanks for a tremendous product. Much prefer it to cloudformation already.

@roderickrandolph
Copy link

👍

@apparentlymart
Copy link
Contributor

Thanks for the suggestions! I think we have other issues open for many of these. Let's see:

  1. Nested maps sounds like Support for nested maps in variables #2114
  2. Conditionals are being discussed in Support use cases with conditional logic #1604. If you have a particular use-case in mind it'd be great if you could share an example in that issue.
  3. It sounds like what you're asking would be accomplished by [WIP] Add interpolate uuid function #3563
  4. This one I've not seen. In general all of the arguments of a resource are exported by that resource too, so usually the docs only list the additional things that are exported once the resource is created... but the docs don't really made that clear, I agree.
  5. Each module having its own namespace is by design. You should think of a module as being like a function: it takes some input arguments and returns some output values. By explicitly passing in what you need we can reduce coupling between modules and help make them truly reusable. However, if you have a specific use-case for this then we could look at it in a separate issue and see if there's a convenient way to achieve what you want within Terraform's design.

Seems like there are a couple things here that aren't in existing issues I know about. If you'd like to discuss these further it'd be great to have them as a separate issue per topic. For the moment I'm going to close this one since a single issue with multiple items in it isn't very actionable, since it'll be hard to keep track of when it's "done".

Thanks again for the suggestions!

@ghost
Copy link

ghost commented Apr 29, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants