Skip to content

Commit aa9fe59

Browse files
author
Sander van Harmelen
committed
Adding a special case for secondary IPs
1 parent 356d872 commit aa9fe59

18 files changed

Lines changed: 1351 additions & 1167 deletions

cloudstack/AffinityGroupService.go

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -636,24 +636,27 @@ type UpdateVMAffinityGroupResponse struct {
636636
Networkkbsread int64 `json:"networkkbsread,omitempty"`
637637
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
638638
Nic []struct {
639-
Broadcasturi string `json:"broadcasturi,omitempty"`
640-
Deviceid string `json:"deviceid,omitempty"`
641-
Gateway string `json:"gateway,omitempty"`
642-
Id string `json:"id,omitempty"`
643-
Ip6address string `json:"ip6address,omitempty"`
644-
Ip6cidr string `json:"ip6cidr,omitempty"`
645-
Ip6gateway string `json:"ip6gateway,omitempty"`
646-
Ipaddress string `json:"ipaddress,omitempty"`
647-
Isdefault bool `json:"isdefault,omitempty"`
648-
Isolationuri string `json:"isolationuri,omitempty"`
649-
Macaddress string `json:"macaddress,omitempty"`
650-
Netmask string `json:"netmask,omitempty"`
651-
Networkid string `json:"networkid,omitempty"`
652-
Networkname string `json:"networkname,omitempty"`
653-
Secondaryip []string `json:"secondaryip,omitempty"`
654-
Traffictype string `json:"traffictype,omitempty"`
655-
Type string `json:"type,omitempty"`
656-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
639+
Broadcasturi string `json:"broadcasturi,omitempty"`
640+
Deviceid string `json:"deviceid,omitempty"`
641+
Gateway string `json:"gateway,omitempty"`
642+
Id string `json:"id,omitempty"`
643+
Ip6address string `json:"ip6address,omitempty"`
644+
Ip6cidr string `json:"ip6cidr,omitempty"`
645+
Ip6gateway string `json:"ip6gateway,omitempty"`
646+
Ipaddress string `json:"ipaddress,omitempty"`
647+
Isdefault bool `json:"isdefault,omitempty"`
648+
Isolationuri string `json:"isolationuri,omitempty"`
649+
Macaddress string `json:"macaddress,omitempty"`
650+
Netmask string `json:"netmask,omitempty"`
651+
Networkid string `json:"networkid,omitempty"`
652+
Networkname string `json:"networkname,omitempty"`
653+
Secondaryip []struct {
654+
Id string `json:"id,omitempty"`
655+
Ipaddress string `json:"ipaddress,omitempty"`
656+
} `json:"secondaryip,omitempty"`
657+
Traffictype string `json:"traffictype,omitempty"`
658+
Type string `json:"type,omitempty"`
659+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
657660
} `json:"nic,omitempty"`
658661
Ostypeid int64 `json:"ostypeid,omitempty"`
659662
Password string `json:"password,omitempty"`

cloudstack/ISOService.go

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -152,24 +152,27 @@ type AttachIsoResponse struct {
152152
Networkkbsread int64 `json:"networkkbsread,omitempty"`
153153
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
154154
Nic []struct {
155-
Broadcasturi string `json:"broadcasturi,omitempty"`
156-
Deviceid string `json:"deviceid,omitempty"`
157-
Gateway string `json:"gateway,omitempty"`
158-
Id string `json:"id,omitempty"`
159-
Ip6address string `json:"ip6address,omitempty"`
160-
Ip6cidr string `json:"ip6cidr,omitempty"`
161-
Ip6gateway string `json:"ip6gateway,omitempty"`
162-
Ipaddress string `json:"ipaddress,omitempty"`
163-
Isdefault bool `json:"isdefault,omitempty"`
164-
Isolationuri string `json:"isolationuri,omitempty"`
165-
Macaddress string `json:"macaddress,omitempty"`
166-
Netmask string `json:"netmask,omitempty"`
167-
Networkid string `json:"networkid,omitempty"`
168-
Networkname string `json:"networkname,omitempty"`
169-
Secondaryip []string `json:"secondaryip,omitempty"`
170-
Traffictype string `json:"traffictype,omitempty"`
171-
Type string `json:"type,omitempty"`
172-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
155+
Broadcasturi string `json:"broadcasturi,omitempty"`
156+
Deviceid string `json:"deviceid,omitempty"`
157+
Gateway string `json:"gateway,omitempty"`
158+
Id string `json:"id,omitempty"`
159+
Ip6address string `json:"ip6address,omitempty"`
160+
Ip6cidr string `json:"ip6cidr,omitempty"`
161+
Ip6gateway string `json:"ip6gateway,omitempty"`
162+
Ipaddress string `json:"ipaddress,omitempty"`
163+
Isdefault bool `json:"isdefault,omitempty"`
164+
Isolationuri string `json:"isolationuri,omitempty"`
165+
Macaddress string `json:"macaddress,omitempty"`
166+
Netmask string `json:"netmask,omitempty"`
167+
Networkid string `json:"networkid,omitempty"`
168+
Networkname string `json:"networkname,omitempty"`
169+
Secondaryip []struct {
170+
Id string `json:"id,omitempty"`
171+
Ipaddress string `json:"ipaddress,omitempty"`
172+
} `json:"secondaryip,omitempty"`
173+
Traffictype string `json:"traffictype,omitempty"`
174+
Type string `json:"type,omitempty"`
175+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
173176
} `json:"nic,omitempty"`
174177
Ostypeid int64 `json:"ostypeid,omitempty"`
175178
Password string `json:"password,omitempty"`
@@ -388,24 +391,27 @@ type DetachIsoResponse struct {
388391
Networkkbsread int64 `json:"networkkbsread,omitempty"`
389392
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
390393
Nic []struct {
391-
Broadcasturi string `json:"broadcasturi,omitempty"`
392-
Deviceid string `json:"deviceid,omitempty"`
393-
Gateway string `json:"gateway,omitempty"`
394-
Id string `json:"id,omitempty"`
395-
Ip6address string `json:"ip6address,omitempty"`
396-
Ip6cidr string `json:"ip6cidr,omitempty"`
397-
Ip6gateway string `json:"ip6gateway,omitempty"`
398-
Ipaddress string `json:"ipaddress,omitempty"`
399-
Isdefault bool `json:"isdefault,omitempty"`
400-
Isolationuri string `json:"isolationuri,omitempty"`
401-
Macaddress string `json:"macaddress,omitempty"`
402-
Netmask string `json:"netmask,omitempty"`
403-
Networkid string `json:"networkid,omitempty"`
404-
Networkname string `json:"networkname,omitempty"`
405-
Secondaryip []string `json:"secondaryip,omitempty"`
406-
Traffictype string `json:"traffictype,omitempty"`
407-
Type string `json:"type,omitempty"`
408-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
394+
Broadcasturi string `json:"broadcasturi,omitempty"`
395+
Deviceid string `json:"deviceid,omitempty"`
396+
Gateway string `json:"gateway,omitempty"`
397+
Id string `json:"id,omitempty"`
398+
Ip6address string `json:"ip6address,omitempty"`
399+
Ip6cidr string `json:"ip6cidr,omitempty"`
400+
Ip6gateway string `json:"ip6gateway,omitempty"`
401+
Ipaddress string `json:"ipaddress,omitempty"`
402+
Isdefault bool `json:"isdefault,omitempty"`
403+
Isolationuri string `json:"isolationuri,omitempty"`
404+
Macaddress string `json:"macaddress,omitempty"`
405+
Netmask string `json:"netmask,omitempty"`
406+
Networkid string `json:"networkid,omitempty"`
407+
Networkname string `json:"networkname,omitempty"`
408+
Secondaryip []struct {
409+
Id string `json:"id,omitempty"`
410+
Ipaddress string `json:"ipaddress,omitempty"`
411+
} `json:"secondaryip,omitempty"`
412+
Traffictype string `json:"traffictype,omitempty"`
413+
Type string `json:"type,omitempty"`
414+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
409415
} `json:"nic,omitempty"`
410416
Ostypeid int64 `json:"ostypeid,omitempty"`
411417
Password string `json:"password,omitempty"`

cloudstack/InternalLBService.go

Lines changed: 63 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -434,24 +434,27 @@ type StopInternalLoadBalancerVMResponse struct {
434434
Name string `json:"name,omitempty"`
435435
Networkdomain string `json:"networkdomain,omitempty"`
436436
Nic []struct {
437-
Broadcasturi string `json:"broadcasturi,omitempty"`
438-
Deviceid string `json:"deviceid,omitempty"`
439-
Gateway string `json:"gateway,omitempty"`
440-
Id string `json:"id,omitempty"`
441-
Ip6address string `json:"ip6address,omitempty"`
442-
Ip6cidr string `json:"ip6cidr,omitempty"`
443-
Ip6gateway string `json:"ip6gateway,omitempty"`
444-
Ipaddress string `json:"ipaddress,omitempty"`
445-
Isdefault bool `json:"isdefault,omitempty"`
446-
Isolationuri string `json:"isolationuri,omitempty"`
447-
Macaddress string `json:"macaddress,omitempty"`
448-
Netmask string `json:"netmask,omitempty"`
449-
Networkid string `json:"networkid,omitempty"`
450-
Networkname string `json:"networkname,omitempty"`
451-
Secondaryip []string `json:"secondaryip,omitempty"`
452-
Traffictype string `json:"traffictype,omitempty"`
453-
Type string `json:"type,omitempty"`
454-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
437+
Broadcasturi string `json:"broadcasturi,omitempty"`
438+
Deviceid string `json:"deviceid,omitempty"`
439+
Gateway string `json:"gateway,omitempty"`
440+
Id string `json:"id,omitempty"`
441+
Ip6address string `json:"ip6address,omitempty"`
442+
Ip6cidr string `json:"ip6cidr,omitempty"`
443+
Ip6gateway string `json:"ip6gateway,omitempty"`
444+
Ipaddress string `json:"ipaddress,omitempty"`
445+
Isdefault bool `json:"isdefault,omitempty"`
446+
Isolationuri string `json:"isolationuri,omitempty"`
447+
Macaddress string `json:"macaddress,omitempty"`
448+
Netmask string `json:"netmask,omitempty"`
449+
Networkid string `json:"networkid,omitempty"`
450+
Networkname string `json:"networkname,omitempty"`
451+
Secondaryip []struct {
452+
Id string `json:"id,omitempty"`
453+
Ipaddress string `json:"ipaddress,omitempty"`
454+
} `json:"secondaryip,omitempty"`
455+
Traffictype string `json:"traffictype,omitempty"`
456+
Type string `json:"type,omitempty"`
457+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
455458
} `json:"nic,omitempty"`
456459
Podid string `json:"podid,omitempty"`
457460
Project string `json:"project,omitempty"`
@@ -568,24 +571,27 @@ type StartInternalLoadBalancerVMResponse struct {
568571
Name string `json:"name,omitempty"`
569572
Networkdomain string `json:"networkdomain,omitempty"`
570573
Nic []struct {
571-
Broadcasturi string `json:"broadcasturi,omitempty"`
572-
Deviceid string `json:"deviceid,omitempty"`
573-
Gateway string `json:"gateway,omitempty"`
574-
Id string `json:"id,omitempty"`
575-
Ip6address string `json:"ip6address,omitempty"`
576-
Ip6cidr string `json:"ip6cidr,omitempty"`
577-
Ip6gateway string `json:"ip6gateway,omitempty"`
578-
Ipaddress string `json:"ipaddress,omitempty"`
579-
Isdefault bool `json:"isdefault,omitempty"`
580-
Isolationuri string `json:"isolationuri,omitempty"`
581-
Macaddress string `json:"macaddress,omitempty"`
582-
Netmask string `json:"netmask,omitempty"`
583-
Networkid string `json:"networkid,omitempty"`
584-
Networkname string `json:"networkname,omitempty"`
585-
Secondaryip []string `json:"secondaryip,omitempty"`
586-
Traffictype string `json:"traffictype,omitempty"`
587-
Type string `json:"type,omitempty"`
588-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
574+
Broadcasturi string `json:"broadcasturi,omitempty"`
575+
Deviceid string `json:"deviceid,omitempty"`
576+
Gateway string `json:"gateway,omitempty"`
577+
Id string `json:"id,omitempty"`
578+
Ip6address string `json:"ip6address,omitempty"`
579+
Ip6cidr string `json:"ip6cidr,omitempty"`
580+
Ip6gateway string `json:"ip6gateway,omitempty"`
581+
Ipaddress string `json:"ipaddress,omitempty"`
582+
Isdefault bool `json:"isdefault,omitempty"`
583+
Isolationuri string `json:"isolationuri,omitempty"`
584+
Macaddress string `json:"macaddress,omitempty"`
585+
Netmask string `json:"netmask,omitempty"`
586+
Networkid string `json:"networkid,omitempty"`
587+
Networkname string `json:"networkname,omitempty"`
588+
Secondaryip []struct {
589+
Id string `json:"id,omitempty"`
590+
Ipaddress string `json:"ipaddress,omitempty"`
591+
} `json:"secondaryip,omitempty"`
592+
Traffictype string `json:"traffictype,omitempty"`
593+
Type string `json:"type,omitempty"`
594+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
589595
} `json:"nic,omitempty"`
590596
Podid string `json:"podid,omitempty"`
591597
Project string `json:"project,omitempty"`
@@ -960,24 +966,27 @@ type InternalLoadBalancerVM struct {
960966
Name string `json:"name,omitempty"`
961967
Networkdomain string `json:"networkdomain,omitempty"`
962968
Nic []struct {
963-
Broadcasturi string `json:"broadcasturi,omitempty"`
964-
Deviceid string `json:"deviceid,omitempty"`
965-
Gateway string `json:"gateway,omitempty"`
966-
Id string `json:"id,omitempty"`
967-
Ip6address string `json:"ip6address,omitempty"`
968-
Ip6cidr string `json:"ip6cidr,omitempty"`
969-
Ip6gateway string `json:"ip6gateway,omitempty"`
970-
Ipaddress string `json:"ipaddress,omitempty"`
971-
Isdefault bool `json:"isdefault,omitempty"`
972-
Isolationuri string `json:"isolationuri,omitempty"`
973-
Macaddress string `json:"macaddress,omitempty"`
974-
Netmask string `json:"netmask,omitempty"`
975-
Networkid string `json:"networkid,omitempty"`
976-
Networkname string `json:"networkname,omitempty"`
977-
Secondaryip []string `json:"secondaryip,omitempty"`
978-
Traffictype string `json:"traffictype,omitempty"`
979-
Type string `json:"type,omitempty"`
980-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
969+
Broadcasturi string `json:"broadcasturi,omitempty"`
970+
Deviceid string `json:"deviceid,omitempty"`
971+
Gateway string `json:"gateway,omitempty"`
972+
Id string `json:"id,omitempty"`
973+
Ip6address string `json:"ip6address,omitempty"`
974+
Ip6cidr string `json:"ip6cidr,omitempty"`
975+
Ip6gateway string `json:"ip6gateway,omitempty"`
976+
Ipaddress string `json:"ipaddress,omitempty"`
977+
Isdefault bool `json:"isdefault,omitempty"`
978+
Isolationuri string `json:"isolationuri,omitempty"`
979+
Macaddress string `json:"macaddress,omitempty"`
980+
Netmask string `json:"netmask,omitempty"`
981+
Networkid string `json:"networkid,omitempty"`
982+
Networkname string `json:"networkname,omitempty"`
983+
Secondaryip []struct {
984+
Id string `json:"id,omitempty"`
985+
Ipaddress string `json:"ipaddress,omitempty"`
986+
} `json:"secondaryip,omitempty"`
987+
Traffictype string `json:"traffictype,omitempty"`
988+
Type string `json:"type,omitempty"`
989+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
981990
} `json:"nic,omitempty"`
982991
Podid string `json:"podid,omitempty"`
983992
Project string `json:"project,omitempty"`

cloudstack/NicService.go

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -300,22 +300,25 @@ type ListNicsResponse struct {
300300
}
301301

302302
type Nic struct {
303-
Broadcasturi string `json:"broadcasturi,omitempty"`
304-
Deviceid string `json:"deviceid,omitempty"`
305-
Gateway string `json:"gateway,omitempty"`
306-
Id string `json:"id,omitempty"`
307-
Ip6address string `json:"ip6address,omitempty"`
308-
Ip6cidr string `json:"ip6cidr,omitempty"`
309-
Ip6gateway string `json:"ip6gateway,omitempty"`
310-
Ipaddress string `json:"ipaddress,omitempty"`
311-
Isdefault bool `json:"isdefault,omitempty"`
312-
Isolationuri string `json:"isolationuri,omitempty"`
313-
Macaddress string `json:"macaddress,omitempty"`
314-
Netmask string `json:"netmask,omitempty"`
315-
Networkid string `json:"networkid,omitempty"`
316-
Networkname string `json:"networkname,omitempty"`
317-
Secondaryip []string `json:"secondaryip,omitempty"`
318-
Traffictype string `json:"traffictype,omitempty"`
319-
Type string `json:"type,omitempty"`
320-
Virtualmachineid string `json:"virtualmachineid,omitempty"`
303+
Broadcasturi string `json:"broadcasturi,omitempty"`
304+
Deviceid string `json:"deviceid,omitempty"`
305+
Gateway string `json:"gateway,omitempty"`
306+
Id string `json:"id,omitempty"`
307+
Ip6address string `json:"ip6address,omitempty"`
308+
Ip6cidr string `json:"ip6cidr,omitempty"`
309+
Ip6gateway string `json:"ip6gateway,omitempty"`
310+
Ipaddress string `json:"ipaddress,omitempty"`
311+
Isdefault bool `json:"isdefault,omitempty"`
312+
Isolationuri string `json:"isolationuri,omitempty"`
313+
Macaddress string `json:"macaddress,omitempty"`
314+
Netmask string `json:"netmask,omitempty"`
315+
Networkid string `json:"networkid,omitempty"`
316+
Networkname string `json:"networkname,omitempty"`
317+
Secondaryip []struct {
318+
Id string `json:"id,omitempty"`
319+
Ipaddress string `json:"ipaddress,omitempty"`
320+
} `json:"secondaryip,omitempty"`
321+
Traffictype string `json:"traffictype,omitempty"`
322+
Type string `json:"type,omitempty"`
323+
Virtualmachineid string `json:"virtualmachineid,omitempty"`
321324
}

0 commit comments

Comments
 (0)