Compare commits
4 Commits
5e06ba6b61
...
c5f0a86886
Author | SHA1 | Date |
---|---|---|
Gibheer | c5f0a86886 | |
Gibheer | 08808fe984 | |
Gibheer | d746ad7ac0 | |
Gibheer | c2bf09fd9e |
6
main.go
6
main.go
|
@ -68,7 +68,11 @@ func main() {
|
||||||
s.Register("layer3domain_list", layer3DomainList)
|
s.Register("layer3domain_list", layer3DomainList)
|
||||||
s.Register("layer3domain_get_attr", layer3DomainGetAttr)
|
s.Register("layer3domain_get_attr", layer3DomainGetAttr)
|
||||||
s.Register("layer3domain_set_attr", layer3DomainSetAttr)
|
s.Register("layer3domain_set_attr", layer3DomainSetAttr)
|
||||||
s.Register("ipblock_create", ipblockCreate)
|
s.Register("ipblock_create", containerCreate)
|
||||||
|
s.Register("ipblock_remove", containerDelete)
|
||||||
|
s.Register("ipblock_list", containerList)
|
||||||
|
s.Register("ipblock_set_attr", containerSetAttr)
|
||||||
|
s.Register("ipblock_get_attr", containerGetAttr)
|
||||||
s.Register("ippool_create", PoolCreate)
|
s.Register("ippool_create", PoolCreate)
|
||||||
s.Register("ippool_delete", PoolDelete)
|
s.Register("ippool_delete", PoolDelete)
|
||||||
s.Register("ippool_list", PoolList)
|
s.Register("ippool_list", PoolList)
|
||||||
|
|
16
types/ip.go
16
types/ip.go
|
@ -5,6 +5,7 @@ import (
|
||||||
"database/sql/driver"
|
"database/sql/driver"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -12,6 +13,8 @@ type (
|
||||||
Subnet net.IPNet
|
Subnet net.IPNet
|
||||||
// IP is used to parse an IP parameter.
|
// IP is used to parse an IP parameter.
|
||||||
IP net.IP
|
IP net.IP
|
||||||
|
// IPVersion represents the two IP versions currently in use.
|
||||||
|
IPVersion int
|
||||||
)
|
)
|
||||||
|
|
||||||
// UnmarshalJSON parses a value into a subnet.
|
// UnmarshalJSON parses a value into a subnet.
|
||||||
|
@ -69,3 +72,16 @@ func (i *IP) UnmarshalJSON(in []byte) error {
|
||||||
*i = IP(ip)
|
*i = IP(ip)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON parses the incoming version from json.
|
||||||
|
func (v *IPVersion) UnmarshalJSON(in []byte) error {
|
||||||
|
raw, err := strconv.Atoi(string(in))
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("can't parse ip version: %#v", err)
|
||||||
|
}
|
||||||
|
if raw != 4 && raw != 6 {
|
||||||
|
return fmt.Errorf("only version 4 and 6 are supported")
|
||||||
|
}
|
||||||
|
*v = IPVersion(raw)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue