Skip to content

Commit da1a128

Browse files
committed
Fix import of id attributes
1 parent 6bd6130 commit da1a128

File tree

141 files changed

+734
-16
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+734
-16
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,5 @@ website/vendor
3333

3434
# Keep windows files with windows line endings
3535
*.winfile eol=crlf
36+
37+
gen/full_definitions

gen/generator.go

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ package main
2222
import (
2323
"bufio"
2424
"bytes"
25+
"flag"
2526
"fmt"
2627
"log"
2728
"math"
@@ -36,13 +37,14 @@ import (
3637
)
3738

3839
const (
39-
definitionsPath = "./gen/definitions/"
40-
modelsPath = "./gen/models/"
41-
providerTemplate = "./gen/templates/provider.go"
42-
providerLocation = "./internal/provider/provider.go"
43-
changelogTemplate = "./gen/templates/changelog.md.tmpl"
44-
changelogLocation = "./templates/guides/changelog.md.tmpl"
45-
changelogOriginal = "./CHANGELOG.md"
40+
definitionsPath = "./gen/definitions/"
41+
fullDefinitionsPath = "./gen/full_definitions/"
42+
modelsPath = "./gen/models/"
43+
providerTemplate = "./gen/templates/provider.go"
44+
providerLocation = "./internal/provider/provider.go"
45+
changelogTemplate = "./gen/templates/changelog.md.tmpl"
46+
changelogLocation = "./templates/guides/changelog.md.tmpl"
47+
changelogOriginal = "./CHANGELOG.md"
4648
)
4749

4850
type t struct {
@@ -273,6 +275,11 @@ func contains(s []string, str string) bool {
273275
return false
274276
}
275277

278+
// Templating helper function to support arithmetic addition
279+
func Add(a, b int) int {
280+
return a + b
281+
}
282+
276283
// Map of templating functions
277284
var functions = template.FuncMap{
278285
"toGoName": ToGoName,
@@ -286,6 +293,7 @@ var functions = template.FuncMap{
286293
"removeLastPathElement": RemoveLastPathElement,
287294
"getXPath": GetXPath,
288295
"contains": contains,
296+
"add": Add,
289297
}
290298

291299
func resolvePath(e *yang.Entry, path string) *yang.Entry {
@@ -529,6 +537,10 @@ func renderTemplate(templatePath, outputPath string, config interface{}) {
529537
}
530538

531539
func main() {
540+
var writeFlag bool
541+
flag.BoolVar(&writeFlag, "w", false, "Write full definitions")
542+
flag.Parse()
543+
532544
items, _ := os.ReadDir(definitionsPath)
533545
configs := make([]YamlConfig, len(items))
534546

@@ -571,18 +583,34 @@ func main() {
571583

572584
fmt.Printf("Augumented %d/%d: %v\n", i+1, len(configs), configs[i].Name)
573585

574-
// Iterate over templates and render files
575-
for _, t := range templates {
576-
renderTemplate(t.path, t.prefix+SnakeCase(configs[i].Name)+t.suffix, configs[i])
586+
if writeFlag {
587+
// Write full definitions
588+
yamlFile, err := yaml.Marshal(&configs[i])
589+
if err != nil {
590+
log.Fatalf("Error marshalling yaml: %v", err)
591+
}
592+
593+
outputFile := filepath.Join(fullDefinitionsPath, SnakeCase(configs[i].Name)+".yaml")
594+
err = os.WriteFile(outputFile, yamlFile, 0644)
595+
if err != nil {
596+
log.Fatalf("Error writing YAML file: %v", err)
597+
}
598+
} else {
599+
// Iterate over templates and render files
600+
for _, t := range templates {
601+
renderTemplate(t.path, t.prefix+SnakeCase(configs[i].Name)+t.suffix, configs[i])
602+
}
577603
}
578604
}
579605

580-
// render provider.go
581-
renderTemplate(providerTemplate, providerLocation, configs)
606+
if !writeFlag {
607+
// render provider.go
608+
renderTemplate(providerTemplate, providerLocation, configs)
582609

583-
changelog, err := os.ReadFile(changelogOriginal)
584-
if err != nil {
585-
log.Fatalf("Error reading changelog: %v", err)
610+
changelog, err := os.ReadFile(changelogOriginal)
611+
if err != nil {
612+
log.Fatalf("Error reading changelog: %v", err)
613+
}
614+
renderTemplate(changelogTemplate, changelogLocation, string(changelog))
586615
}
587-
renderTemplate(changelogTemplate, changelogLocation, string(changelog))
588616
}

gen/templates/model.go

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/templates/resource.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/helpers/utils.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,10 @@ func GetInt64List(result []gjson.Result) types.List {
7575
}
7676
return types.ListValueMust(types.Int64Type, v)
7777
}
78+
79+
func Must[T any](v T, err error) T {
80+
if err != nil {
81+
panic(err)
82+
}
83+
return v
84+
}

internal/provider/model_iosxe_access_list_extended.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_access_list_standard.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_as_path_access_list.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bfd_template_multi_hop.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bfd_template_single_hop.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_address_family_ipv4.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_address_family_ipv4_vrf.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_address_family_ipv6.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_address_family_ipv6_vrf.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_address_family_l2vpn.go

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_ipv4_unicast_neighbor.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_ipv4_unicast_vrf_neighbor.go

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_ipv6_unicast_neighbor.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/provider/model_iosxe_bgp_l2vpn_evpn_neighbor.go

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)