-- | Creates a new environment with a newly initialized 'Manager', without logging.
-- and Credentials that are determined by calling 'getApplicationDefault'.
-- Use 'newEnvWith' to supply custom credentials such as an 'OAuthClient'
-- and 'OAuthCode'.
--
-- The 'Allow'ed 'OAuthScope's are used to authorize any @service_account@ that is
-- found with the appropriate scopes. See the top-level module of each individual
-- @gogol-*@ library for a list of available scopes, such as
-- @Network.Google.Compute.authComputeScope@.
-- Lenses from 'HasEnv' can be used to further configure the resulting 'Env'.
--
-- /See:/ 'newEnvWith', 'getApplicationDefault'.
newEnv :: (MonadIO m, MonadCatch m, AllowScopes s) => m (Env s)
newEnv = do
    m <- liftIO (newManager tlsManagerSettings)
    c <- getApplicationDefault m
    newEnvWith c (\_ _ -> pure ()) m

-- | Create a new environment.
--
-- /See:/ 'newEnv'.
newEnv :: (MonadIO m, MonadCatch m, AllowScopes s) => m (Env s)
newEnv = do
    m <- liftIO (newManager tlsManagerSettings)
    c <- getApplicationDefault m
    newEnvWith c (\_ _ -> pure ()) m

-- | Create a new environment.
--
-- /See:/ 'newEnv'.
newEnv = do
    m <- liftIO (newManager tlsManagerSettings)
    c <- getApplicationDefault m
    newEnvWith c (\_ _ -> pure ()) m

-- | Create a new environment.
--
-- /See:/ 'newEnv'.