-
Notifications
You must be signed in to change notification settings - Fork 2
/
generate_examples.go
82 lines (73 loc) · 3.74 KB
/
generate_examples.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
* SPDX-FileCopyrightText: The terraform-provider-k8s Authors
* SPDX-License-Identifier: 0BSD
*/
package generator
import (
"errors"
"fmt"
"log"
"os"
)
func GenerateExamples(templatePath string, outputPath string, data []*TemplateData) {
//exampleMainTemplate := ParseTemplates(fmt.Sprintf("%s/main.tf.tmpl", templatePath))
exampleManifestMainTemplate := ParseTemplates(fmt.Sprintf("%s/manifest_main.tf.tmpl", templatePath))
//exampleResourceOutputsTemplate := ParseTemplates(fmt.Sprintf("%s/resource_outputs.tf.tmpl", templatePath))
//exampleDataSourceOutputsTemplate := ParseTemplates(fmt.Sprintf("%s/data_source_outputs.tf.tmpl", templatePath))
exampleManifestOutputsTemplate := ParseTemplates(fmt.Sprintf("%s/manifest_outputs.tf.tmpl", templatePath))
//exampleResourceTemplate := ParseTemplates(fmt.Sprintf("%s/resource.tf.tmpl", templatePath))
//exampleDataSourceTemplate := ParseTemplates(fmt.Sprintf("%s/data_source.tf.tmpl", templatePath))
exampleManifestTemplate := ParseTemplates(fmt.Sprintf("%s/manifest.tf.tmpl", templatePath))
//exampleImportTemplate := ParseTemplates(fmt.Sprintf("%s/import.sh.tmpl", templatePath))
//resourceExamples := fmt.Sprintf("%s/resources", outputPath)
dataSourceExamples := fmt.Sprintf("%s/data-sources", outputPath)
for _, resource := range data {
//resourceDirectory := fmt.Sprintf("%s/%s", resourceExamples, resource.FullResourceTypeName)
//dataSourceDirectory := fmt.Sprintf("%s/%s", dataSourceExamples, resource.FullDataSourceTypeName)
manifestDirectory := fmt.Sprintf("%s/%s", dataSourceExamples, resource.FullManifestTypeName)
//err := os.MkdirAll(resourceDirectory, os.ModePerm)
//if err != nil {
// log.Fatal(err)
//}
//err = os.MkdirAll(dataSourceDirectory, os.ModePerm)
//if err != nil {
// log.Fatal(err)
//}
err := os.MkdirAll(manifestDirectory, os.ModePerm)
if err != nil {
log.Fatal(err)
}
//resourceMainFile := fmt.Sprintf("%s/main.tf", resourceDirectory)
//dataSourceMainFile := fmt.Sprintf("%s/main.tf", dataSourceDirectory)
manifestMainFile := fmt.Sprintf("%s/main.tf", manifestDirectory)
//generateCode(resourceMainFile, exampleMainTemplate, nil)
//generateCode(dataSourceMainFile, exampleMainTemplate, nil)
generateCode(manifestMainFile, exampleManifestMainTemplate, nil)
//resourceOutputsFile := fmt.Sprintf("%s/outputs.tf", resourceDirectory)
//dataSourceOutputsFile := fmt.Sprintf("%s/outputs.tf", dataSourceDirectory)
manifestOutputsFile := fmt.Sprintf("%s/outputs.tf", manifestDirectory)
//if _, err := os.Stat(resourceOutputsFile); errors.Is(err, os.ErrNotExist) {
// generateCode(resourceOutputsFile, exampleResourceOutputsTemplate, resource)
//}
//if _, err := os.Stat(dataSourceOutputsFile); errors.Is(err, os.ErrNotExist) {
// generateCode(dataSourceOutputsFile, exampleDataSourceOutputsTemplate, resource)
//}
if _, err := os.Stat(manifestOutputsFile); errors.Is(err, os.ErrNotExist) {
generateCode(manifestOutputsFile, exampleManifestOutputsTemplate, resource)
}
//resourceTfFile := fmt.Sprintf("%s/resource.tf", resourceDirectory)
//dataSourceTfFile := fmt.Sprintf("%s/data-source.tf", dataSourceDirectory)
manifestTfFile := fmt.Sprintf("%s/data-source.tf", manifestDirectory)
//if _, err := os.Stat(resourceTfFile); errors.Is(err, os.ErrNotExist) {
// generateCode(resourceTfFile, exampleResourceTemplate, resource)
//}
//if _, err := os.Stat(dataSourceTfFile); errors.Is(err, os.ErrNotExist) {
// generateCode(dataSourceTfFile, exampleDataSourceTemplate, resource)
//}
if _, err := os.Stat(manifestTfFile); errors.Is(err, os.ErrNotExist) {
generateCode(manifestTfFile, exampleManifestTemplate, resource)
}
//importFile := fmt.Sprintf("%s/import.sh", resourceDirectory)
//generateCode(importFile, exampleImportTemplate, nil)
}
}