func DiskToDiskType()

in internal/guestcollector/linux_guestcollector.go [318:341]


func DiskToDiskType(fields map[string]string, disks []*instanceinfo.Disks, usageMetricLogger agentstatus.AgentStatus) {
	logicalToTypeMap := map[string]string{}
	for _, devices := range disks {
		var err error
		devices.Mapping, err = forLinux(devices.DeviceName)
		if err != nil {
			log.Logger.Warnw("No mapping for instance disk", "disk", devices.DeviceName, "error", err)
		} else {
			// EX: sda -> PERSISTENT
			logicalToTypeMap[devices.Mapping] = devices.DiskType
		}
		log.Logger.Debugw("Instance disk is mapped to device name", "devicename", devices.DeviceName, "mapping", devices.Mapping)
	}
	r, err := json.Marshal(logicalToTypeMap)
	if err != nil {
		log.Logger.Errorw("An error occurred while serializing disk info to JSON", "error", err)
		usageMetricLogger.Error(agentstatus.InvalidJSONFormatError)
	}
	if len(logicalToTypeMap) == 0 {
		fields[internal.LocalSSDRule] = "unknown"
	} else {
		fields[internal.LocalSSDRule] = string(r)
	}
}