diff --git a/cloudstack/BackupService.go b/cloudstack/BackupService.go index 92033d8..882bbb0 100644 --- a/cloudstack/BackupService.go +++ b/cloudstack/BackupService.go @@ -747,10 +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].key", i), k) - u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), 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 { @@ -763,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 { @@ -819,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 { @@ -857,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 { @@ -1165,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{}) } @@ -1178,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{}) @@ -1228,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{}) } @@ -1241,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{}) @@ -1543,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{}) } @@ -1556,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{}) @@ -1753,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{}) } @@ -1766,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/VirtualMachineService.go b/cloudstack/VirtualMachineService.go index 675b5c8..55e647b 100644 --- a/cloudstack/VirtualMachineService.go +++ b/cloudstack/VirtualMachineService.go @@ -1335,10 +1335,11 @@ func (p *DeployVirtualMachineParams) 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].key", i), k) - u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), 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 { @@ -1737,7 +1738,7 @@ func (p *DeployVirtualMachineParams) GetDatadiskofferinglist() (map[string]strin return value, ok } -func (p *DeployVirtualMachineParams) SetDatadisksdetails(v map[string]string) { +func (p *DeployVirtualMachineParams) SetDatadisksdetails(v []map[string]string) { if p.p == nil { p.p = make(map[string]interface{}) } @@ -1750,14 +1751,28 @@ func (p *DeployVirtualMachineParams) ResetDatadisksdetails() { } } -func (p *DeployVirtualMachineParams) GetDatadisksdetails() (map[string]string, bool) { +func (p *DeployVirtualMachineParams) 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 *DeployVirtualMachineParams) 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 *DeployVirtualMachineParams) SetDeploymentplanner(v string) { if p.p == nil { p.p = make(map[string]interface{}) diff --git a/cloudstack/VirtualNetworkFunctionsService.go b/cloudstack/VirtualNetworkFunctionsService.go index 90f7dee..04dfa1d 100644 --- a/cloudstack/VirtualNetworkFunctionsService.go +++ b/cloudstack/VirtualNetworkFunctionsService.go @@ -249,10 +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].key", i), k) - u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), 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 { @@ -265,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 { @@ -321,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 { @@ -359,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 { @@ -632,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{}) } @@ -645,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{}) @@ -695,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{}) } @@ -708,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{}) @@ -1010,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{}) } @@ -1023,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{}) @@ -1220,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{}) } @@ -1233,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 448b614..5c315d5 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -93,6 +93,19 @@ var mapRequireList = map[string]map[string]bool{ "dhcpoptionsnetworklist": true, "iptonetworklist": true, "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, @@ -1440,6 +1453,8 @@ func (s *service) generateConvertCode(cmd, name, typ string) { pn(" u.Set(fmt.Sprintf(\"%s[%%d].template\", i), m[k])", name) case "cniconfigdetails": pn(" u.Set(fmt.Sprintf(\"%s[%%d].%%s\", i, k), m[k])", name) + case "datadisksdetails": + pn(" u.Set(fmt.Sprintf(\"%s[%%d].%%s\", i, k), m[k])", name) default: if shouldUseStaticZeroIndex && !detailsRequireKeyValue[cmd] { pn(" u.Set(fmt.Sprintf(\"%s[0].%%s\", k), m[k])", name)