Skip to content

Commit 5fe04df

Browse files
committed
Fix datadisksdetails
1 parent 358fe85 commit 5fe04df

4 files changed

Lines changed: 27 additions & 11 deletions

File tree

cloudstack/BackupService.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,8 +749,7 @@ func (p *CreateVMFromBackupParams) toURLValues() url.Values {
749749
if v, found := p.p["datadisksdetails"]; found {
750750
m := v.(map[string]string)
751751
for i, k := range getSortedKeysFromMap(m) {
752-
u.Set(fmt.Sprintf("datadisksdetails[%d].key", i), k)
753-
u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), m[k])
752+
u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i, k), m[k])
754753
}
755754
}
756755
if v, found := p.p["deploymentplanner"]; found {

cloudstack/VirtualMachineService.go

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,10 +1335,11 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
13351335
}
13361336
}
13371337
if v, found := p.p["datadisksdetails"]; found {
1338-
m := v.(map[string]string)
1339-
for i, k := range getSortedKeysFromMap(m) {
1340-
u.Set(fmt.Sprintf("datadisksdetails[%d].key", i), k)
1341-
u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), m[k])
1338+
l := v.([]map[string]string)
1339+
for i, m := range l {
1340+
for key, val := range m {
1341+
u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i, key), val)
1342+
}
13421343
}
13431344
}
13441345
if v, found := p.p["deploymentplanner"]; found {
@@ -1737,7 +1738,7 @@ func (p *DeployVirtualMachineParams) GetDatadiskofferinglist() (map[string]strin
17371738
return value, ok
17381739
}
17391740

1740-
func (p *DeployVirtualMachineParams) SetDatadisksdetails(v map[string]string) {
1741+
func (p *DeployVirtualMachineParams) SetDatadisksdetails(v []map[string]string) {
17411742
if p.p == nil {
17421743
p.p = make(map[string]interface{})
17431744
}
@@ -1750,14 +1751,28 @@ func (p *DeployVirtualMachineParams) ResetDatadisksdetails() {
17501751
}
17511752
}
17521753

1753-
func (p *DeployVirtualMachineParams) GetDatadisksdetails() (map[string]string, bool) {
1754+
func (p *DeployVirtualMachineParams) GetDatadisksdetails() ([]map[string]string, bool) {
17541755
if p.p == nil {
17551756
p.p = make(map[string]interface{})
17561757
}
1757-
value, ok := p.p["datadisksdetails"].(map[string]string)
1758+
value, ok := p.p["datadisksdetails"].([]map[string]string)
17581759
return value, ok
17591760
}
17601761

1762+
func (p *DeployVirtualMachineParams) AddDatadisksdetails(item map[string]string) {
1763+
if p.p == nil {
1764+
p.p = make(map[string]interface{})
1765+
}
1766+
val, found := p.p["datadisksdetails"]
1767+
if !found {
1768+
p.p["datadisksdetails"] = []map[string]string{}
1769+
val = p.p["datadisksdetails"]
1770+
}
1771+
l := val.([]map[string]string)
1772+
l = append(l, item)
1773+
p.p["datadisksdetails"] = l
1774+
}
1775+
17611776
func (p *DeployVirtualMachineParams) SetDeploymentplanner(v string) {
17621777
if p.p == nil {
17631778
p.p = make(map[string]interface{})

cloudstack/VirtualNetworkFunctionsService.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,7 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
251251
if v, found := p.p["datadisksdetails"]; found {
252252
m := v.(map[string]string)
253253
for i, k := range getSortedKeysFromMap(m) {
254-
u.Set(fmt.Sprintf("datadisksdetails[%d].key", i), k)
255-
u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), m[k])
254+
u.Set(fmt.Sprintf("datadisksdetails[%d].%s", i, k), m[k])
256255
}
257256
}
258257
if v, found := p.p["deploymentplanner"]; found {

generate/generate.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ var mapRequireList = map[string]map[string]bool{
9393
"dhcpoptionsnetworklist": true,
9494
"iptonetworklist": true,
9595
"nicnetworklist": true,
96+
"datadisksdetails": true,
9697
},
9798
"updateVirtualMachine": map[string]bool{
9899
"dhcpoptionsnetworklist": true,
@@ -1440,6 +1441,8 @@ func (s *service) generateConvertCode(cmd, name, typ string) {
14401441
pn(" u.Set(fmt.Sprintf(\"%s[%%d].template\", i), m[k])", name)
14411442
case "cniconfigdetails":
14421443
pn(" u.Set(fmt.Sprintf(\"%s[%%d].%%s\", i, k), m[k])", name)
1444+
case "datadisksdetails":
1445+
pn(" u.Set(fmt.Sprintf(\"%s[%%d].%%s\", i, k), m[k])", name)
14431446
default:
14441447
if shouldUseStaticZeroIndex && !detailsRequireKeyValue[cmd] {
14451448
pn(" u.Set(fmt.Sprintf(\"%s[0].%%s\", k), m[k])", name)

0 commit comments

Comments
 (0)