This is an automated email from the ASF dual-hosted git repository.
weizhou pushed a commit to branch fix-datadisksdetails
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git
The following commit(s) were added to refs/heads/fix-datadisksdetails by this
push:
new 66bc951 Fix deployVnfAppliance and createVMFromBackup
66bc951 is described below
commit 66bc95151dde595ade8b41e82b51e8ebdbeb0405
Author: Wei Zhou <[email protected]>
AuthorDate: Sun Mar 15 16:44:32 2026 +0100
Fix deployVnfAppliance and createVMFromBackup
---
cloudstack/BackupService.go | 115 ++++++++++++++++++++-------
cloudstack/VirtualNetworkFunctionsService.go | 115 ++++++++++++++++++++-------
generate/generate.go | 12 +++
3 files changed, 188 insertions(+), 54 deletions(-)
diff --git a/cloudstack/BackupService.go b/cloudstack/BackupService.go
index f2c9266..882bbb0 100644
--- a/cloudstack/BackupService.go
+++ b/cloudstack/BackupService.go
@@ -747,9 +747,11 @@ func (p *CreateVMFromBackupParams) toURLValues()
url.Values {
}
}
if v, found := p.p["datadisksdetails"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i, k),
m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["deploymentplanner"]; found {
@@ -762,10 +764,11 @@ func (p *CreateVMFromBackupParams) toURLValues()
url.Values {
}
}
if v, found := p.p["dhcpoptionsnetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].key", i),
k)
- u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].value",
i), m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+
u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].%s", i, key), val)
+ }
}
}
if v, found := p.p["diskofferingid"]; found {
@@ -818,10 +821,11 @@ func (p *CreateVMFromBackupParams) toURLValues()
url.Values {
u.Set("ipaddress", v.(string))
}
if v, found := p.p["iptonetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("iptonetworklist[%d].key", i), k)
- u.Set(fmt.Sprintf("iptonetworklist[%d].value", i), m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("iptonetworklist[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["keyboard"]; found {
@@ -856,10 +860,11 @@ func (p *CreateVMFromBackupParams) toURLValues()
url.Values {
u.Set("nicmultiqueuenumber", vv)
}
if v, found := p.p["nicnetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("nicnetworklist[%d].nic", i), k)
- u.Set(fmt.Sprintf("nicnetworklist[%d].network", i),
m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("nicnetworklist[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["nicpackedvirtqueuesenabled"]; found {
@@ -1164,7 +1169,7 @@ func (p *CreateVMFromBackupParams)
GetDatadiskofferinglist() (map[string]string,
return value, ok
}
-func (p *CreateVMFromBackupParams) SetDatadisksdetails(v map[string]string) {
+func (p *CreateVMFromBackupParams) SetDatadisksdetails(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1177,14 +1182,28 @@ func (p *CreateVMFromBackupParams)
ResetDatadisksdetails() {
}
}
-func (p *CreateVMFromBackupParams) GetDatadisksdetails() (map[string]string,
bool) {
+func (p *CreateVMFromBackupParams) GetDatadisksdetails() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["datadisksdetails"].(map[string]string)
+ value, ok := p.p["datadisksdetails"].([]map[string]string)
return value, ok
}
+func (p *CreateVMFromBackupParams) AddDatadisksdetails(item map[string]string)
{
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["datadisksdetails"]
+ if !found {
+ p.p["datadisksdetails"] = []map[string]string{}
+ val = p.p["datadisksdetails"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["datadisksdetails"] = l
+}
+
func (p *CreateVMFromBackupParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1227,7 +1246,7 @@ func (p *CreateVMFromBackupParams) GetDetails()
(map[string]string, bool) {
return value, ok
}
-func (p *CreateVMFromBackupParams) SetDhcpoptionsnetworklist(v
map[string]string) {
+func (p *CreateVMFromBackupParams) SetDhcpoptionsnetworklist(v
[]map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1240,14 +1259,28 @@ func (p *CreateVMFromBackupParams)
ResetDhcpoptionsnetworklist() {
}
}
-func (p *CreateVMFromBackupParams) GetDhcpoptionsnetworklist()
(map[string]string, bool) {
+func (p *CreateVMFromBackupParams) GetDhcpoptionsnetworklist()
([]map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["dhcpoptionsnetworklist"].(map[string]string)
+ value, ok := p.p["dhcpoptionsnetworklist"].([]map[string]string)
return value, ok
}
+func (p *CreateVMFromBackupParams) AddDhcpoptionsnetworklist(item
map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["dhcpoptionsnetworklist"]
+ if !found {
+ p.p["dhcpoptionsnetworklist"] = []map[string]string{}
+ val = p.p["dhcpoptionsnetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["dhcpoptionsnetworklist"] = l
+}
+
func (p *CreateVMFromBackupParams) SetDiskofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1542,7 +1575,7 @@ func (p *CreateVMFromBackupParams) GetIpaddress()
(string, bool) {
return value, ok
}
-func (p *CreateVMFromBackupParams) SetIptonetworklist(v map[string]string) {
+func (p *CreateVMFromBackupParams) SetIptonetworklist(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1555,14 +1588,28 @@ func (p *CreateVMFromBackupParams)
ResetIptonetworklist() {
}
}
-func (p *CreateVMFromBackupParams) GetIptonetworklist() (map[string]string,
bool) {
+func (p *CreateVMFromBackupParams) GetIptonetworklist() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["iptonetworklist"].(map[string]string)
+ value, ok := p.p["iptonetworklist"].([]map[string]string)
return value, ok
}
+func (p *CreateVMFromBackupParams) AddIptonetworklist(item map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["iptonetworklist"]
+ if !found {
+ p.p["iptonetworklist"] = []map[string]string{}
+ val = p.p["iptonetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["iptonetworklist"] = l
+}
+
func (p *CreateVMFromBackupParams) SetKeyboard(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1752,7 +1799,7 @@ func (p *CreateVMFromBackupParams)
GetNicmultiqueuenumber() (int, bool) {
return value, ok
}
-func (p *CreateVMFromBackupParams) SetNicnetworklist(v map[string]string) {
+func (p *CreateVMFromBackupParams) SetNicnetworklist(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1765,14 +1812,28 @@ func (p *CreateVMFromBackupParams)
ResetNicnetworklist() {
}
}
-func (p *CreateVMFromBackupParams) GetNicnetworklist() (map[string]string,
bool) {
+func (p *CreateVMFromBackupParams) GetNicnetworklist() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["nicnetworklist"].(map[string]string)
+ value, ok := p.p["nicnetworklist"].([]map[string]string)
return value, ok
}
+func (p *CreateVMFromBackupParams) AddNicnetworklist(item map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["nicnetworklist"]
+ if !found {
+ p.p["nicnetworklist"] = []map[string]string{}
+ val = p.p["nicnetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["nicnetworklist"] = l
+}
+
func (p *CreateVMFromBackupParams) SetNicpackedvirtqueuesenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/VirtualNetworkFunctionsService.go
b/cloudstack/VirtualNetworkFunctionsService.go
index f202cec..04dfa1d 100644
--- a/cloudstack/VirtualNetworkFunctionsService.go
+++ b/cloudstack/VirtualNetworkFunctionsService.go
@@ -249,9 +249,11 @@ func (p *DeployVnfApplianceParams) toURLValues()
url.Values {
}
}
if v, found := p.p["datadisksdetails"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i, k),
m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["deploymentplanner"]; found {
@@ -264,10 +266,11 @@ func (p *DeployVnfApplianceParams) toURLValues()
url.Values {
}
}
if v, found := p.p["dhcpoptionsnetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].key", i),
k)
- u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].value",
i), m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+
u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].%s", i, key), val)
+ }
}
}
if v, found := p.p["diskofferingid"]; found {
@@ -320,10 +323,11 @@ func (p *DeployVnfApplianceParams) toURLValues()
url.Values {
u.Set("ipaddress", v.(string))
}
if v, found := p.p["iptonetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("iptonetworklist[%d].key", i), k)
- u.Set(fmt.Sprintf("iptonetworklist[%d].value", i), m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("iptonetworklist[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["keyboard"]; found {
@@ -358,10 +362,11 @@ func (p *DeployVnfApplianceParams) toURLValues()
url.Values {
u.Set("nicmultiqueuenumber", vv)
}
if v, found := p.p["nicnetworklist"]; found {
- m := v.(map[string]string)
- for i, k := range getSortedKeysFromMap(m) {
- u.Set(fmt.Sprintf("nicnetworklist[%d].nic", i), k)
- u.Set(fmt.Sprintf("nicnetworklist[%d].network", i),
m[k])
+ l := v.([]map[string]string)
+ for i, m := range l {
+ for key, val := range m {
+ u.Set(fmt.Sprintf("nicnetworklist[%d].%s", i,
key), val)
+ }
}
}
if v, found := p.p["nicpackedvirtqueuesenabled"]; found {
@@ -631,7 +636,7 @@ func (p *DeployVnfApplianceParams)
GetDatadiskofferinglist() (map[string]string,
return value, ok
}
-func (p *DeployVnfApplianceParams) SetDatadisksdetails(v map[string]string) {
+func (p *DeployVnfApplianceParams) SetDatadisksdetails(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -644,14 +649,28 @@ func (p *DeployVnfApplianceParams)
ResetDatadisksdetails() {
}
}
-func (p *DeployVnfApplianceParams) GetDatadisksdetails() (map[string]string,
bool) {
+func (p *DeployVnfApplianceParams) GetDatadisksdetails() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["datadisksdetails"].(map[string]string)
+ value, ok := p.p["datadisksdetails"].([]map[string]string)
return value, ok
}
+func (p *DeployVnfApplianceParams) AddDatadisksdetails(item map[string]string)
{
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["datadisksdetails"]
+ if !found {
+ p.p["datadisksdetails"] = []map[string]string{}
+ val = p.p["datadisksdetails"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["datadisksdetails"] = l
+}
+
func (p *DeployVnfApplianceParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -694,7 +713,7 @@ func (p *DeployVnfApplianceParams) GetDetails()
(map[string]string, bool) {
return value, ok
}
-func (p *DeployVnfApplianceParams) SetDhcpoptionsnetworklist(v
map[string]string) {
+func (p *DeployVnfApplianceParams) SetDhcpoptionsnetworklist(v
[]map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -707,14 +726,28 @@ func (p *DeployVnfApplianceParams)
ResetDhcpoptionsnetworklist() {
}
}
-func (p *DeployVnfApplianceParams) GetDhcpoptionsnetworklist()
(map[string]string, bool) {
+func (p *DeployVnfApplianceParams) GetDhcpoptionsnetworklist()
([]map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["dhcpoptionsnetworklist"].(map[string]string)
+ value, ok := p.p["dhcpoptionsnetworklist"].([]map[string]string)
return value, ok
}
+func (p *DeployVnfApplianceParams) AddDhcpoptionsnetworklist(item
map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["dhcpoptionsnetworklist"]
+ if !found {
+ p.p["dhcpoptionsnetworklist"] = []map[string]string{}
+ val = p.p["dhcpoptionsnetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["dhcpoptionsnetworklist"] = l
+}
+
func (p *DeployVnfApplianceParams) SetDiskofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1009,7 +1042,7 @@ func (p *DeployVnfApplianceParams) GetIpaddress()
(string, bool) {
return value, ok
}
-func (p *DeployVnfApplianceParams) SetIptonetworklist(v map[string]string) {
+func (p *DeployVnfApplianceParams) SetIptonetworklist(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1022,14 +1055,28 @@ func (p *DeployVnfApplianceParams)
ResetIptonetworklist() {
}
}
-func (p *DeployVnfApplianceParams) GetIptonetworklist() (map[string]string,
bool) {
+func (p *DeployVnfApplianceParams) GetIptonetworklist() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["iptonetworklist"].(map[string]string)
+ value, ok := p.p["iptonetworklist"].([]map[string]string)
return value, ok
}
+func (p *DeployVnfApplianceParams) AddIptonetworklist(item map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["iptonetworklist"]
+ if !found {
+ p.p["iptonetworklist"] = []map[string]string{}
+ val = p.p["iptonetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["iptonetworklist"] = l
+}
+
func (p *DeployVnfApplianceParams) SetKeyboard(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1219,7 +1266,7 @@ func (p *DeployVnfApplianceParams)
GetNicmultiqueuenumber() (int, bool) {
return value, ok
}
-func (p *DeployVnfApplianceParams) SetNicnetworklist(v map[string]string) {
+func (p *DeployVnfApplianceParams) SetNicnetworklist(v []map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -1232,14 +1279,28 @@ func (p *DeployVnfApplianceParams)
ResetNicnetworklist() {
}
}
-func (p *DeployVnfApplianceParams) GetNicnetworklist() (map[string]string,
bool) {
+func (p *DeployVnfApplianceParams) GetNicnetworklist() ([]map[string]string,
bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
- value, ok := p.p["nicnetworklist"].(map[string]string)
+ value, ok := p.p["nicnetworklist"].([]map[string]string)
return value, ok
}
+func (p *DeployVnfApplianceParams) AddNicnetworklist(item map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ val, found := p.p["nicnetworklist"]
+ if !found {
+ p.p["nicnetworklist"] = []map[string]string{}
+ val = p.p["nicnetworklist"]
+ }
+ l := val.([]map[string]string)
+ l = append(l, item)
+ p.p["nicnetworklist"] = l
+}
+
func (p *DeployVnfApplianceParams) SetNicpackedvirtqueuesenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/generate/generate.go b/generate/generate.go
index 48ba0c6..5c315d5 100644
--- a/generate/generate.go
+++ b/generate/generate.go
@@ -95,6 +95,18 @@ var mapRequireList = map[string]map[string]bool{
"nicnetworklist": true,
"datadisksdetails": true,
},
+ "deployVnfAppliance": map[string]bool{
+ "dhcpoptionsnetworklist": true,
+ "iptonetworklist": true,
+ "nicnetworklist": true,
+ "datadisksdetails": true,
+ },
+ "createVMFromBackup": map[string]bool{
+ "dhcpoptionsnetworklist": true,
+ "iptonetworklist": true,
+ "nicnetworklist": true,
+ "datadisksdetails": true,
+ },
"updateVirtualMachine": map[string]bool{
"dhcpoptionsnetworklist": true,
},