ipmi and kernel fields were missing in ouput
This commit is contained in:
@@ -96,6 +96,33 @@ func ProfileList(ShowOpt *wwapiv1.GetProfileList) (profileList wwapiv1.ProfileLi
|
||||
|
||||
}
|
||||
}
|
||||
} else if nType.Field(i).Type.Kind() == reflect.Ptr {
|
||||
nestInfoType := reflect.TypeOf(nVal.Field(i).Interface())
|
||||
nestInfoVal := reflect.ValueOf(nVal.Field(i).Interface())
|
||||
// nestConfType := reflect.TypeOf(nConfField.Type.Elem().FieldByName())
|
||||
for j := 0; j < nestInfoType.Elem().NumField(); j++ {
|
||||
nestConfField, ok := nConfField.Type.Elem().FieldByName(nestInfoType.Elem().Field(j).Name)
|
||||
if ok {
|
||||
fieldName = nestConfField.Tag.Get("lopt")
|
||||
} else {
|
||||
fieldName = nestInfoType.Elem().Field(j).Name
|
||||
}
|
||||
if nestInfoType.Elem().Field(j).Type == reflect.TypeOf(node.Entry{}) {
|
||||
entr := nestInfoVal.Elem().Field(j).Interface().(node.Entry)
|
||||
fieldSource = entr.Source()
|
||||
fieldVal = entr.Print()
|
||||
profileList.Output = append(profileList.Output,
|
||||
fmt.Sprintf("%-20s %-18s %-12s %s", p.Id.Print(), fieldName, fieldSource, fieldVal))
|
||||
} else if nestInfoType.Elem().Field(j).Type == reflect.TypeOf(map[string]*node.Entry{}) {
|
||||
for key, val := range nestInfoVal.Elem().Field(j).Interface().(map[string]*node.Entry) {
|
||||
fieldName = fieldName + ":" + key
|
||||
fieldSource = val.Source()
|
||||
fieldVal = val.Print()
|
||||
profileList.Output = append(profileList.Output,
|
||||
fmt.Sprintf("%-20s %-18s %-12s %s", p.Id.Print(), fieldName, fieldSource, fieldVal))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user