make configs settable

This commit is contained in:
ston1th 2020-06-01 16:35:35 +02:00
commit 163f11c397
3 changed files with 40 additions and 0 deletions

View file

@ -8,6 +8,22 @@ import (
type IPConfigs []*IPConfig
func (c *IPConfigs) Set(index int, ipc *IPConfig) {
l := len(*c)
if index >= l {
n := make(IPConfigs, index+1)
copy(n, *c)
n[index] = ipc
*c = n
return
}
if l == 0 {
*c = append(*c, ipc)
return
}
(*c)[index] = ipc
}
func (c IPConfigs) Get(index int) *IPConfig {
if len(c)-1 >= index {
return c[index]

View file

@ -9,6 +9,22 @@ import (
type NetworkDevices []*NetworkDevice
func (c *NetworkDevices) Set(index int, d *NetworkDevice) {
l := len(*c)
if index >= l {
n := make(NetworkDevices, index+1)
copy(n, *c)
n[index] = d
*c = n
return
}
if l == 0 {
*c = append(*c, d)
return
}
(*c)[index] = d
}
func (c NetworkDevices) Get(index int) *NetworkDevice {
if len(c)-1 >= index {
return c[index]

View file

@ -34,9 +34,17 @@ func (s *Server) body() (httpbody, error) {
userdata, err := s.UserData.String()
body["ciuserdata"] = userdata
for i, n := range s.NetDevices {
if n == nil {
body["net"+strconv.Itoa(i)] = ""
continue
}
body["net"+strconv.Itoa(i)] = n.String()
}
for i, ip := range s.IPConfig {
if ip == nil {
body["ipconfig"+strconv.Itoa(i)] = ""
continue
}
body["ipconfig"+strconv.Itoa(i)] = ip.String()
}
return body, err