Commit 6975416
feat(generate): Support multiple configuration example files in default templates (#511)
* feat(generate): Support multiple configuration example files in default templates
Reference: #508
This change updates the generate command to search for multiple configuration example files using a wildcard and render all found files with the default templates (e.g. `resource*.tf` instead of just `resource.tf`). Compatibility with the existing singular `HasExample` and `ExampleFile` fields for templating is preserved, while new plural `HasExamples` and `ExampleFiles` fields were added into the template data. The testing for this feature was added by duplicating the existing "no templates" txtar, then adding second configuration example files:
```diff
4c4
< # Successful run of tfplugindocs on a Framework provider with examples but no templates or pre-exiting docs.
---
> # Successful run of tfplugindocs on a Framework provider with multiple configuration examples but no templates or pre-exiting docs.
57c57
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
60a61,66
> ```terraform
> data "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
> ```
>
91a98,103
> ```terraform
> output "test" {
> value = provider::scaffolding::example("testvalue3", "testvalue4")
> }
> ```
>
122a135,140
> }
> ```
>
> ```terraform
> output "test" {
> value = provider::scaffolding::no-variadic("testvalue2")
153c171
< # example configuration here
---
> # first example configuration here
156a175,180
> ```terraform
> provider "scaffolding" {
> # second example configuration here
> }
> ```
>
180c204
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
183a208,213
> ```terraform
> resource "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
> ```
>
258c288
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
261a292,297
> ```terraform
> resource "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
> ```
>
285c321
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
286a323,326
> -- examples/data-sources/scaffolding_example/data-source2.tf --
> data "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
290a331,334
> -- examples/functions/example/function2.tf --
> output "test" {
> value = provider::scaffolding::example("testvalue3", "testvalue4")
> }
294a339,342
> -- examples/functions/no-variadic/function2.tf --
> output "test" {
> value = provider::scaffolding::no-variadic("testvalue2")
> }
297c345
< # example configuration here
---
> # first example configuration here
298a347,350
> -- examples/provider/provider2.tf --
> provider "scaffolding" {
> # second example configuration here
> }
323c375
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
324a377,380
> -- examples/resources/scaffolding_example/resource2.tf --
> resource "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
327c383
< configurable_attribute = "some-value"
---
> configurable_attribute = "some-value1"
329c385,388
<
---
> -- examples/ephemeral-resources/scaffolding_example/ephemeral-resource2.tf --
> resource "scaffolding_example" "example" {
> configurable_attribute = "some-value2"
> }
```
* test fix after recent merge
* fix merge conflict
---------
Co-authored-by: Austin Valle <austinvalle@gmail.com>1 parent df10e95 commit 6975416
File tree
7 files changed
+678
-53
lines changed- .changes/unreleased
- cmd/tfplugindocs/testdata/scripts/schema-json/generate
- internal/provider
7 files changed
+678
-53
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
| |||
291 | 291 | | |
292 | 292 | | |
293 | 293 | | |
294 | | - | |
295 | | - | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
296 | 298 | | |
297 | 299 | | |
298 | 300 | | |
| |||
305 | 307 | | |
306 | 308 | | |
307 | 309 | | |
308 | | - | |
309 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
310 | 314 | | |
311 | 315 | | |
312 | 316 | | |
| |||
327 | 331 | | |
328 | 332 | | |
329 | 333 | | |
330 | | - | |
331 | | - | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
332 | 338 | | |
333 | 339 | | |
334 | 340 | | |
| |||
0 commit comments