1fbbaaec19
- Seperate the config from Destination() - Add YAML tags for the fields
35 lines
741 B
Go
35 lines
741 B
Go
package config
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
type Unit struct {
|
|
Name string `yaml:"name"`
|
|
Mask bool `yaml:"mask"`
|
|
Enable bool `yaml:"enable"`
|
|
Runtime bool `yaml:"runtime"`
|
|
Content string `yaml:"content"`
|
|
Command string `yaml:"command"`
|
|
|
|
// For drop-in units, a cloudinit.conf is generated.
|
|
// This is currently unbound in YAML (and hence unsettable in cloud-config files)
|
|
// until the correct behaviour for multiple drop-in units is determined.
|
|
DropIn bool `yaml:"-"`
|
|
}
|
|
|
|
func (u *Unit) Type() string {
|
|
ext := filepath.Ext(u.Name)
|
|
return strings.TrimLeft(ext, ".")
|
|
}
|
|
|
|
func (u *Unit) Group() string {
|
|
switch u.Type() {
|
|
case "network", "netdev", "link":
|
|
return "network"
|
|
default:
|
|
return "system"
|
|
}
|
|
}
|