func (fi *FlexInt) UnmarshalJSON(b []byte) error {
   if b[0] != '"' {
          return json.Unmarshal(b, (*int)(fi))
   }
   var s string
   if err := json.Unmarshal(b, &s); err != nil {
          return err
   }
   i, err := strconv.Atoi(s)
   if err != nil {
          return err
    }
    *fi = FlexInt(i)
    return nil
}
UnmarshalJSON implements the json.Unmarshaler interface, which
allows us to ingest values of any json type as an int and run our custom conversion
package utils
import (
	"crypto/rand"
	"encoding/json"
	"io/ioutil"
	"os"
	"strconv"
	"golang.org/x/oauth2"
	"golang.org/x/oauth2/google"
	"golang.org/x/oauth2/jwt"
	admin "google.golang.org/api/admin/directory/v1"
)
type FlexInt int