Documentation generator for Terraform modules
Project description
TF-Docs
tfdocs lets you generate README.md for Terraform modules based on variables.tf.
Additionally, it can sort variable definitions.
Usage
tfdocs [flags] <variables.tf>
Flags:
-h, --help Show this help message and exit
--name, -n Specify a custom name for the module
--readme Specify the name of the output file (default: README.md)
--variables Specify the name of the file containing variables (default: variables.tf)
--source SOURCE Specify a custom source for the module
--git-source Only to be used together with --source to specify the source is a git repository. If true, sub directory and a place holder TAG will be appended to the source
-f Format and sort variables.tf file
--dry-run Show the output without writing to the file
--version
Input file
Default: variables.tf
All the input variables of the module must be defined in a single file. By default tfdocs will look for a file
named variables.tf in the current directory. Alternatively a custom file can be specified using the --variables
flag.
Example
variables.tf
variable "my_string" {
type = string
description = "Description of the string"
default = "default"
}
variable "my_list" {
type = List(string)
description = "Description of the list"
default = ["default"]
}
Format variables.tf
You can use the -f flag to format the variables.tf file. This will sort the variables in alphabetical order.
Generated Readme file
Default: README.md
The module expects to have a README.md file in the current directory. If the file does not exist, tfdocs will create
one. Alternatively, a custom file can be specified using the --readme flag.
Example
README.md
# My module
Insert a description of the module here.
<!-- TFDOCS START -->
module <my_module> {
source = "git@github.com:<your_name>/<your_repo>.git//<subfolder>?ref=<TAG>"
my_list = <LIST(STRING)> # Description of the list
my_string = <STRING> # Description of the string
}
<!-- TFDOCS END -->
Custom content
tfdocs replaces only the content between the markers below with variable definitions from variables.tf.
Markers:
<!-- TFDOCS START --> and <!-- TFDOCS END -->
Module Source
Default: git-remote-origin//<subfolder>?ref=<TAG>
By default, if the module is in a Git repository, tfdocs will utilize the remote origin to generate the source URL
(git://github.com/<your_name>/<your_repo>.git//<subfolder>?ref=<TAG>).
Otherwise, either the source URL can be specified using the --source flag or if not provided it will default
to ./modules/{CURRENT_DIRECTORY}.
Annotations
Override variable type
Use #tfdocs: type=<TYPE> to override the variable type. This is useful when the type is not correctly inferred from the variable definition or when you want to customize it.
Example
variables.tf
variable "my_object" {
#tfdocs: type = list(object)
type = list(object({
name = string
size = number
directory = string
}))
description = "Description of the string"
default = "default"
}
Note:
tfdocsoverwrite an existing README.md file. It's always good to use--dry-runfirst.
Authors
tfdocs is created and maintained by vajeen.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tfdocs-1.5.1.tar.gz.
File metadata
- Download URL: tfdocs-1.5.1.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74675db56891edd6a550a8c7b2d0ecf1bbbfc4f443d6ad6bece99815955df109
|
|
| MD5 |
86c2837f5563df43ba36cc634c9a240b
|
|
| BLAKE2b-256 |
5b37cf406326a11b9d0fe2cbfa4b47f56c2b9faa5009459fe4cdc7dfac11fe35
|
File details
Details for the file tfdocs-1.5.1-py3-none-any.whl.
File metadata
- Download URL: tfdocs-1.5.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3ec15e70f6911655c2825d0500a3494dab5c236cf2684f871637e5d30c6bef3
|
|
| MD5 |
67712b57d269f44d699233158826011a
|
|
| BLAKE2b-256 |
4c55b4b60e9c314b6ca49f17749d06fa49e58f653a7f8c5094e845aafc47d4d1
|