vsphere/internal/helper/computeresource/compute_resource_helper.go
func OSFamily(client *govmomi.Client, ref types.ManagedObjectReference, guest string) (string, error) {
	b, err := EnvironmentBrowserFromReference(client, ref)
	if err != nil {
		return "", err
	}
	ctx, cancel := context.WithTimeout(context.Background(), provider.DefaultAPITimeout)
	defer cancel()
	return b.OSFamily(ctx, guest)
}
func OSFamily(client *govmomi.Client, ref types.ManagedObjectReference, guest string) (string, error) {
	b, err := EnvironmentBrowserFromReference(client, ref)
	if err != nil {
		return "", err
	}
	ctx, cancel := context.WithTimeout(context.Background(), provider.DefaultAPITimeout)
	defer cancel()
	return b.OSFamily(ctx, guest)
}
// OSFamily uses the compute resource's environment browser to get the OS family
// for a specific guest ID.