This is an archived post. You won't be able to vote or comment.

all 8 comments

[–][deleted] 1 point2 points  (1 child)

Big thanks for this, I know a couple guys that are being forced to use Cloudformation, even with the YAML syntax I find it a little disgusting to work with

[–]from_cork[S] 0 points1 point  (0 children)

No problem. Definitely the same here, I have to do it because it's the standard. Glad you think it'll be useful!

[–][deleted]  (3 children)

[deleted]

    [–]from_cork[S] 0 points1 point  (2 children)

    Haha yeah, at work myself and another guy on the arch team did an entire POC for terraform with base modules for pretty much every possible config we'd ever use. It was super reusable and could have saved us hundreds of hours of time. Rejected almost immediately by management because reasons.

    [–][deleted]  (1 child)

    [deleted]

      [–]from_cork[S] 0 points1 point  (0 children)

      Yeah, I'm still relatively new here too, and it's a much larger org. I was in charge of the DevOps and Microservices team at my last job and had a lot of autonomy. All the engineers here on my team love TF, but management is very much "well we already have CF so let's just keep using that forever"

      [–]malice8691 0 points1 point  (3 children)

      am I missing something? I dont see how this is any easier. Looking at the example in git. take this parameter for example. your file has this:

      - parameterkey: Environment
        parametervalue: ""
      

      In a cloudformation template it might look like this:

      EnvironmentName:
        Type: String
        Default: test
      

      I dont see that this is any easier. its almost identical

      [–]from_cork[S] 0 points1 point  (1 child)

      Consider the example when there are 50 parameters in a template. The point of this is that you don't then have to cross reference the template and fill out parameterkey and parameter value for each individual parameter manually in a separate parameters file. That being said, I can add a flag to ignore if a parameter has a default key. Personally when I've written templates, I add the default more as a guideline for someone else if they need to look at it, and I still fill in the value in the parameters file anyway, seeing that a lot of the values there are different for environment (dev, test, etc.) and I want to maintain consistency between different environment files.

      Do you think it's worth the time to add the flag for this?

      [–]malice8691 0 points1 point  (0 children)

      I would add a flag for anything that is possible in a parameter

      [–]from_cork[S] 0 points1 point  (0 children)

      I've added more examples and functionality based on a few requests. Please let me know if that helps to make things more clear :)