func InstanceType() (string, error) {
	lock.RLock()
	defer lock.RUnlock()
	if cachedInstanceType != "" {
		return cachedInstanceType, nil
	} else {
		var err error
		cachedInstanceType, err = fetchInstanceType()
		return cachedInstanceType, err
	}
}
// InstanceType returns the current instance type
InstanceType returns the current instance type
// InstanceType returns the current instance type
func InstanceType() (string, error) {
	lock.RLock()
	defer lock.RUnlock()
	if cachedInstanceType != "" {
		return cachedInstanceType, nil
	} else {
		var err error
		cachedInstanceType, err = fetchInstanceType()
		return cachedInstanceType, err
	}
}
func InstanceType ( ) ( string , error ) { lock . RLock ( ) defer lock . RUnlock ( ) if cachedInstanceType != " " { return cachedInstanceType , nil } else { var err error cachedInstanceType , err = fetchInstanceType ( ) return cachedInstanceType , err } }
InstanceType returns the current instance type
InstanceType returns the current instance type