cloudstack-go icon indicating copy to clipboard operation
cloudstack-go copied to clipboard

fix(userdatadetails): Fix userdatatails to create all files

Open lucasdk3 opened this issue 10 months ago • 0 comments

Hi, i have a problem to create metadata files with userdatadetails, with the current configuration it is creating only one key file and one value file, this way: Image

current code: https://github.com/apache/cloudstack-go/blob/bfc6c0cc51d3cb3846af4b94239944c76c2264bf/cloudstack/VirtualMachineService.go#L1443

if v, found := p.p["userdatadetails"]; found {
	m := v.(map[string]string)
	for i, k := range getSortedKeysFromMap(m) {
		u.Set(fmt.Sprintf("userdatadetails[%d].key", i), k)
		u.Set(fmt.Sprintf("userdatadetails[%d].value", i), m[k])
	}
}

the cloudstack api use with this form:

Image

to fix this problem is necessary change the code for this mode:

if v, found := p.p["userdatadetails"]; found {
	m := v.(map[string]string)
	for i, k := range getSortedKeysFromMap(m) {
		u.Set(fmt.Sprintf("userdatadetails[%d].%s", i, k), m[k])
	}
}

The error have a big impact in my current work, if possible, correct it as soon as possible. Thanks by attention, Lucas Batista - Wevy Cloud (Brazil)

lucasdk3 avatar Mar 05 '25 23:03 lucasdk3