1Usage:
2
3Example of 'foo_bar' module in `foo_bar.tf`.
4
5- list item 1
6- list item 2
7
8Even inline **formatting** in _here_ is possible.
9and some [link](https://domain.com/)
10
11* list item 3
12* list item 4
13
14```hcl
15module "foo_bar" {
16  source = "github.com/foo/bar"
17
18  id   = "1234567890"
19  name = "baz"
20
21  zones = ["us-east-1", "us-west-1"]
22
23  tags = {
24    Name         = "baz"
25    Created-By   = "first.last@email.com"
26    Date-Created = "20180101"
27  }
28}
29```
30
31Here is some trailing text after code block,
32followed by another line of text.
33
34| Name | Description     |
35|------|-----------------|
36| Foo  | Foo description |
37| Bar  | Bar description |
38
39## Requirements
40
41The following requirements are needed by this module:
42
43- <a name="requirement_terraform"></a> [terraform](#requirement_terraform) (>= 0.12)
44
45- <a name="requirement_aws"></a> [aws](#requirement_aws) (>= 2.15.0)
46
47- <a name="requirement_foo"></a> [foo](#requirement_foo) (>= 1.0)
48
49- <a name="requirement_random"></a> [random](#requirement_random) (>= 2.2.0)
50
51## Providers
52
53The following providers are used by this module:
54
55- <a name="provider_tls"></a> [tls](#provider_tls)
56
57- <a name="provider_foo"></a> [foo](#provider_foo) (>= 1.0)
58
59- <a name="provider_aws"></a> [aws](#provider_aws) (>= 2.15.0)
60
61- <a name="provider_aws.ident"></a> [aws.ident](#provider_aws.ident) (>= 2.15.0)
62
63- <a name="provider_null"></a> [null](#provider_null)
64
65## Modules
66
67The following Modules are called:
68
69### <a name="module_bar"></a> [bar](#module_bar)
70
71Source: baz
72
73Version: 4.5.6
74
75### <a name="module_foo"></a> [foo](#module_foo)
76
77Source: bar
78
79Version: 1.2.3
80
81### <a name="module_baz"></a> [baz](#module_baz)
82
83Source: baz
84
85Version: 4.5.6
86
87### <a name="module_foobar"></a> [foobar](#module_foobar)
88
89Source: git@github.com:module/path
90
91Version: v7.8.9
92
93## Resources
94
95The following resources are used by this module:
96
97- foo_resource.baz (resource)
98- [null_resource.foo](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) (resource)
99- [tls_private_key.baz](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) (resource)
100- [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) (data source)
101- [aws_caller_identity.ident](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) (data source)
102
103## Inputs
104
105The following input variables are supported:
106
107### <a name="input_unquoted"></a> [unquoted](#input_unquoted)
108
109Description: n/a
110
111Type: `any`
112
113Default: n/a
114
115### <a name="input_bool-3"></a> [bool-3](#input_bool-3)
116
117Description: n/a
118
119Type: `bool`
120
121Default: `true`
122
123### <a name="input_bool-2"></a> [bool-2](#input_bool-2)
124
125Description: It's bool number two.
126
127Type: `bool`
128
129Default: `false`
130
131### <a name="input_bool-1"></a> [bool-1](#input_bool-1)
132
133Description: It's bool number one.
134
135Type: `bool`
136
137Default: `true`
138
139### <a name="input_string-3"></a> [string-3](#input_string-3)
140
141Description: n/a
142
143Type: `string`
144
145Default: `""`
146
147### <a name="input_string-2"></a> [string-2](#input_string-2)
148
149Description: It's string number two.
150
151Type: `string`
152
153Default: n/a
154
155### <a name="input_string-1"></a> [string-1](#input_string-1)
156
157Description: It's string number one.
158
159Type: `string`
160
161Default: `"bar"`
162
163### <a name="input_string-special-chars"></a> [string-special-chars](#input_string-special-chars)
164
165Description: n/a
166
167Type: `string`
168
169Default: `"\\.<>[]{}_-"`
170
171### <a name="input_number-3"></a> [number-3](#input_number-3)
172
173Description: n/a
174
175Type: `number`
176
177Default: `"19"`
178
179### <a name="input_number-4"></a> [number-4](#input_number-4)
180
181Description: n/a
182
183Type: `number`
184
185Default: `15.75`
186
187### <a name="input_number-2"></a> [number-2](#input_number-2)
188
189Description: It's number number two.
190
191Type: `number`
192
193Default: n/a
194
195### <a name="input_number-1"></a> [number-1](#input_number-1)
196
197Description: It's number number one.
198
199Type: `number`
200
201Default: `42`
202
203### <a name="input_map-3"></a> [map-3](#input_map-3)
204
205Description: n/a
206
207Type: `map`
208
209Default: `{}`
210
211### <a name="input_map-2"></a> [map-2](#input_map-2)
212
213Description: It's map number two.
214
215Type: `map`
216
217Default: n/a
218
219### <a name="input_map-1"></a> [map-1](#input_map-1)
220
221Description: It's map number one.
222
223Type: `map`
224
225Default:
226
227```json
228{
229  "a": 1,
230  "b": 2,
231  "c": 3
232}
233```
234
235### <a name="input_list-3"></a> [list-3](#input_list-3)
236
237Description: n/a
238
239Type: `list`
240
241Default: `[]`
242
243### <a name="input_list-2"></a> [list-2](#input_list-2)
244
245Description: It's list number two.
246
247Type: `list`
248
249Default: n/a
250
251### <a name="input_list-1"></a> [list-1](#input_list-1)
252
253Description: It's list number one.
254
255Type: `list`
256
257Default:
258
259```json
260[
261  "a",
262  "b",
263  "c"
264]
265```
266
267### <a name="input_input_with_underscores"></a> [input_with_underscores](#input_input_with_underscores)
268
269Description: A variable with underscores.
270
271Type: `any`
272
273Default: n/a
274
275### <a name="input_input-with-pipe"></a> [input-with-pipe](#input_input-with-pipe)
276
277Description: It includes v1 | v2 | v3
278
279Type: `string`
280
281Default: `"v1"`
282
283### <a name="input_input-with-code-block"></a> [input-with-code-block](#input_input-with-code-block)
284
285Description: This is a complicated one. We need a newline.
286And an example in a code block
287```
288default     = [
289  "machine rack01:neptune"
290]
291```
292
293Type: `list`
294
295Default:
296
297```json
298[
299  "name rack:location"
300]
301```
302
303### <a name="input_long_type"></a> [long_type](#input_long_type)
304
305Description: This description is itself markdown.
306
307It spans over multiple lines.
308
309Type:
310
311```hcl
312object({
313    name = string,
314    foo  = object({ foo = string, bar = string }),
315    bar  = object({ foo = string, bar = string }),
316    fizz = list(string),
317    buzz = list(string)
318  })
319```
320
321Default:
322
323```json
324{
325  "bar": {
326    "bar": "bar",
327    "foo": "bar"
328  },
329  "buzz": [
330    "fizz",
331    "buzz"
332  ],
333  "fizz": [],
334  "foo": {
335    "bar": "foo",
336    "foo": "foo"
337  },
338  "name": "hello"
339}
340```
341
342### <a name="input_no-escape-default-value"></a> [no-escape-default-value](#input_no-escape-default-value)
343
344Description: The description contains `something_with_underscore`. Defaults to 'VALUE_WITH_UNDERSCORE'.
345
346Type: `string`
347
348Default: `"VALUE_WITH_UNDERSCORE"`
349
350### <a name="input_with-url"></a> [with-url](#input_with-url)
351
352Description: The description contains url. https://www.domain.com/foo/bar_baz.html
353
354Type: `string`
355
356Default: `""`
357
358### <a name="input_string_default_empty"></a> [string_default_empty](#input_string_default_empty)
359
360Description: n/a
361
362Type: `string`
363
364Default: `""`
365
366### <a name="input_string_default_null"></a> [string_default_null](#input_string_default_null)
367
368Description: n/a
369
370Type: `string`
371
372Default: `null`
373
374### <a name="input_string_no_default"></a> [string_no_default](#input_string_no_default)
375
376Description: n/a
377
378Type: `string`
379
380Default: n/a
381
382### <a name="input_number_default_zero"></a> [number_default_zero](#input_number_default_zero)
383
384Description: n/a
385
386Type: `number`
387
388Default: `0`
389
390### <a name="input_bool_default_false"></a> [bool_default_false](#input_bool_default_false)
391
392Description: n/a
393
394Type: `bool`
395
396Default: `false`
397
398### <a name="input_list_default_empty"></a> [list_default_empty](#input_list_default_empty)
399
400Description: n/a
401
402Type: `list(string)`
403
404Default: `[]`
405
406### <a name="input_object_default_empty"></a> [object_default_empty](#input_object_default_empty)
407
408Description: n/a
409
410Type: `object({})`
411
412Default: `{}`
413
414## Outputs
415
416The following outputs are exported:
417
418### <a name="output_unquoted"></a> [unquoted](#output_unquoted)
419
420Description: It's unquoted output.
421
422### <a name="output_output-2"></a> [output-2](#output_output-2)
423
424Description: It's output number two.
425
426### <a name="output_output-1"></a> [output-1](#output_output-1)
427
428Description: It's output number one.
429
430### <a name="output_output-0.12"></a> [output-0.12](#output_output-0.12)
431
432Description: terraform 0.12 only
433
434## This is an example of a footer
435
436It looks exactly like a header, but is placed at the end of the document