mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 19:08:20 +00:00
33 lines
702 B
Go
33 lines
702 B
Go
package networkd
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"nfsense.net/nfsense/internal/definitions"
|
|
)
|
|
|
|
func ApplyNetworkdConfiguration(currentConfig definitions.Config, pendingConfig definitions.Config) error {
|
|
files, err := GenerateNetworkdConfiguration(pendingConfig)
|
|
if err != nil {
|
|
return fmt.Errorf("Generating Networkd Configuration: %w", err)
|
|
}
|
|
|
|
for _, file := range files {
|
|
f, err := os.Create("out/" + file.Name)
|
|
if err != nil {
|
|
return fmt.Errorf("creating File: %w", err)
|
|
}
|
|
|
|
_, err = f.WriteString(file.Content + "\n")
|
|
if err != nil {
|
|
return fmt.Errorf("writing File: %w", err)
|
|
}
|
|
|
|
err = f.Sync()
|
|
if err != nil {
|
|
return fmt.Errorf("syncing File: %w", err)
|
|
}
|
|
}
|
|
return nil
|
|
}
|