aboutsummaryrefslogtreecommitdiff
path: root/utils/yaml_ipam
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2024-10-06 11:45:14 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2024-10-06 11:45:14 +0200
commit4aa11423038f181c3ad537a5172ef4075c236d00 (patch)
treefe5723feeeaa1e8d3c0d87b6e6b43f769cd974e7 /utils/yaml_ipam
parent4bacde703ea23ff9b7313b9dc6049c19ffce67f2 (diff)
downloadinfra-4aa11423038f181c3ad537a5172ef4075c236d00.tar.gz
infra-4aa11423038f181c3ad537a5172ef4075c236d00.tar.bz2
infra-4aa11423038f181c3ad537a5172ef4075c236d00.tar.xz
infra-4aa11423038f181c3ad537a5172ef4075c236d00.zip
ipam util
Diffstat (limited to 'utils/yaml_ipam')
-rw-r--r--utils/yaml_ipam/yaml_ipam.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/utils/yaml_ipam/yaml_ipam.go b/utils/yaml_ipam/yaml_ipam.go
new file mode 100644
index 0000000..ff65155
--- /dev/null
+++ b/utils/yaml_ipam/yaml_ipam.go
@@ -0,0 +1,26 @@
+package yaml_ipam
+
+import "gopkg.in/yaml.v3"
+
+type Ipam struct {
+ Ipam6 Ipam6 `yaml:"ipam6"`
+}
+
+type Ipam6 struct {
+ Networks map[string]Network6Yaml `yaml:"networks"`
+}
+
+type Network6Yaml struct {
+ Range string `yaml:"range"`
+ Hosts map[string]string `yaml:"hosts"`
+}
+
+func Parse(bs []byte) (Ipam, error) {
+ var ipam Ipam
+ err := yaml.Unmarshal(bs, &ipam)
+ if err != nil {
+ return Ipam{}, err
+ }
+
+ return ipam, nil
+}