Package: tfvars2markdown
tfvars2markdownConverts Terraform 0.12+ variables file into a Markdown tabletfvars2markdownWhy tfvars2markdownInstallUsageOptionsExamplesDefaultsNo backticksDifferent headingTestsWhy tfvars2markdownFriends don't let friends provide Terraform modules without READMEs containing input variables and outputs.This Python package can generate Markdown-flavored tables  for input variables for you by reading.tffiles in a folder.Generated Markdown table is compatible with the following services:GithubBitbucketGitLabInstallpip install tfvars2markdownUsagetfvars2markdown my_vars.tfOptionsArgumentDescriptionDefault valueRequiredtf_vars_filePath to the .tf file containing variables-True-t/--no-ticksDisable backticks around values in "Type" and "Default" columnsFalseFalse-d/--headingChanges the default "Inputs" heading. Only first level heading (#) is supported.InputsFalseExamplesDefaults$ tfvars2markdown vars.tf
# Inputs
|    Name    |                                      Description                                      |      Type      |         Default         | Required |
|------------|---------------------------------------------------------------------------------------|:--------------:|:-----------------------:|:--------:|
| some_var_1 | Some description var_1                                                                |    `string`    |          `foo`          |   yes    |
| some_var_2 | Some description var_2                                                                |     `bool`     |         `False`         |   yes    |
| some_var_3 | Some description var_3                                                                |    `number`    |          `12`           |   yes    |
| some_var_4 | -                                                                                     | `list(string)` | `['foo', 'bar', 'baz']` |   yes    |
| some_var_5 | Some description var_5. This is a very long description with unicode characters ćšđž |  `list(bool)`  |  `[True, True, False]`  |   yes    |
| some_var_6 | Some description var_6                                                                | `list(number)` |       `[1, 2, 3]`       |   yes    |
| some_var_7 | Some description var_7. No defaults provided                                          |     `any`      |            -            |   yes    |
| some_var_8 | Some description var_8. No type or default provided                                   |       -        |            -            |   yes    |
| some_var_9 | Some description var_8. No type or default provided                                   |       -        |            -            |   yes    |No backticks$ tfvars2markdown --no-ticks vars.tf
# Inputs
|    Name    |                                      Description                                      |     Type     |        Default        | Required |
|------------|---------------------------------------------------------------------------------------|:------------:|:---------------------:|:--------:|
| some_var_1 | Some description var_1                                                                |    string    |          foo          |   yes    |
| some_var_2 | Some description var_2                                                                |     bool     |         False         |   yes    |Different heading$ tfvars2markdown --heading "my input vars" vars.tf
# my input vars
|    Name    |                                      Description                                      |      Type      |         Default         | Required |
|------------|---------------------------------------------------------------------------------------|:--------------:|:-----------------------:|:--------:|
| some_var_1 | Some description var_1                                                                |    `string`    |          `foo`          |   yes    |
| some_var_2 | Some description var_2                                                                |     `bool`     |         `False`         |   yes    |Due to limitations inpytablewriteronly first level heading (#) is supported.TestsInstalltest_requirements.txtand runpython -m unittest discover