Skip to content

Commit 3dfcc18

Browse files
committed
add CIDR
1 parent c5c32f9 commit 3dfcc18

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

cmd/cloudServerClone.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Server is not on a Private Parent.`,
130130
if len(cloudServerCloneCmdPool6IpsFlag) > 0 {
131131
cloneArgs["pool6_ips"] = cloudServerCloneCmdPool6IpsFlag
132132
for _, ip := range cloudServerCloneCmdPool6IpsFlag {
133-
validateFields[ip] = "IpOrCidr"
133+
validateFields[ip] = "CIDR"
134134
}
135135
}
136136

instance/cloudNetworkPublicAdd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (self *Client) CloudNetworkPublicAdd(params *CloudNetworkPublicAddParams) (
9090
apiArgs["pool6_ips"] = params.Pool6Ips
9191
validateFields := map[interface{}]interface{}{}
9292
for _, ip := range params.Pool6Ips {
93-
validateFields[ip] = "IpOrCidr"
93+
validateFields[ip] = "CIDR"
9494
}
9595
if err = validate.Validate(validateFields); err != nil {
9696
return

validate/types.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ var ValidationFailure = errors.New("validation failed")
3333
type InputTypes struct {
3434
UniqId InputTypeUniqId
3535
IP InputTypeIP
36+
CIDR InputTypeCIDR
3637
IpOrCidr InputTypeIpOrCidr
3738
PositiveInt64 InputTypePositiveInt64
3839
PositiveInt InputTypePositiveInt
@@ -91,6 +92,20 @@ func (x InputTypeIP) Validate() error {
9192
return nil
9293
}
9394

95+
// CIDR
96+
97+
type InputTypeCIDR struct {
98+
CIDR string
99+
}
100+
101+
func (x InputTypeCIDR) Validate() error {
102+
if valid := utils.IpRangeIsValid(x.CIDR); !valid {
103+
return fmt.Errorf("cidr [%s] is not valid", x.CIDR)
104+
}
105+
106+
return nil
107+
}
108+
94109
// IpOrCidr
95110

96111
type InputTypeIpOrCidr struct {

validate/validate.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,12 @@ func interfaceInputTypeValidate(iface, inputFieldValue interface{}) error {
109109
if err := obj.Validate(); err != nil {
110110
return err
111111
}
112+
case InputTypeCIDR:
113+
var obj InputTypeCIDR
114+
obj.CIDR = cast.ToString(inputFieldValue)
115+
if err := obj.Validate(); err != nil {
116+
return err
117+
}
112118
case InputTypeIpOrCidr:
113119
var obj InputTypeIpOrCidr
114120
obj.IpOrCidr = cast.ToString(inputFieldValue)

0 commit comments

Comments
 (0)