httpstan-0.2.0.0: lib/Httpstan/API/ApiDefault.hs
{-
httpstan
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
OpenAPI Version: 3.0.1
httpstan API version: 4.10.0
Generated by OpenAPI Generator (https://openapi-generator.tech)
-}
{-|
Module : Httpstan.API.ApiDefault
-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module Httpstan.API.ApiDefault where
import Httpstan.Core
import Httpstan.MimeTypes
import Httpstan.Model as M
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
import qualified Data.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Set as Set
import qualified Data.String as P
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Time as TI
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
-- * Operations
-- ** Default
-- *** v1HealthGet
-- | @GET \/v1\/health@
--
-- Check if service is running.
--
v1HealthGet
:: HttpstanRequest V1HealthGet MimeNoContent NoContent MimeNoContent
v1HealthGet =
_mkRequest "GET" ["/v1/health"]
data V1HealthGet
instance Produces V1HealthGet MimeNoContent
-- *** v1ModelsGet
-- | @GET \/v1\/models@
--
-- List cached models.
--
v1ModelsGet
:: HttpstanRequest V1ModelsGet MimeNoContent V1ModelsGet200Response MimeJSON
v1ModelsGet =
_mkRequest "GET" ["/v1/models"]
data V1ModelsGet
-- | @application/json@
instance Produces V1ModelsGet MimeJSON
-- *** v1ModelsModelIdDelete
-- | @DELETE \/v1\/models\/{model_id}@
--
-- Delete a model and any associated fits.
--
-- Delete a model which has been saved in the cache.
--
v1ModelsModelIdDelete
:: ModelId -- ^ "modelId" - ID of Stan model
-> HttpstanRequest V1ModelsModelIdDelete MimeNoContent NoContent MimeNoContent
v1ModelsModelIdDelete (ModelId modelId) =
_mkRequest "DELETE" ["/v1/models/",toPath modelId]
data V1ModelsModelIdDelete
instance Produces V1ModelsModelIdDelete MimeNoContent
-- *** v1ModelsModelIdFitsFitIdDelete
-- | @DELETE \/v1\/models\/{model_id}\/fits\/{fit_id}@
--
-- Delete a fit.
--
-- Delete a fit which has been saved in the cache.
--
v1ModelsModelIdFitsFitIdDelete
:: ModelId -- ^ "modelId" - ID of Stan model associated with the fit.
-> FitId -- ^ "fitId" - ID of fit to be deleted.
-> HttpstanRequest V1ModelsModelIdFitsFitIdDelete MimeNoContent NoContent MimeNoContent
v1ModelsModelIdFitsFitIdDelete (ModelId modelId) (FitId fitId) =
_mkRequest "DELETE" ["/v1/models/",toPath modelId,"/fits/",toPath fitId]
data V1ModelsModelIdFitsFitIdDelete
instance Produces V1ModelsModelIdFitsFitIdDelete MimeNoContent
-- *** v1ModelsModelIdFitsFitIdGet
-- | @GET \/v1\/models\/{model_id}\/fits\/{fit_id}@
--
-- Get results returned by a function.
--
-- Result (draws, logger messages) from calling a function defined in stan::services.
--
v1ModelsModelIdFitsFitIdGet
:: ModelId -- ^ "modelId" - ID of Stan model associated with the result
-> FitId -- ^ "fitId" - ID of Stan result (\"fit\") desired
-> HttpstanRequest V1ModelsModelIdFitsFitIdGet MimeNoContent NoContent MimeNoContent
v1ModelsModelIdFitsFitIdGet (ModelId modelId) (FitId fitId) =
_mkRequest "GET" ["/v1/models/",toPath modelId,"/fits/",toPath fitId]
data V1ModelsModelIdFitsFitIdGet
instance Produces V1ModelsModelIdFitsFitIdGet MimeNoContent
-- *** v1ModelsModelIdFitsPost
-- | @POST \/v1\/models\/{model_id}\/fits@
--
-- Call function defined in stan::services.
--
-- A request to this endpoint starts a long-running operation. Users can retrieve information about the status of the operation by making a GET request to the operations resource endpoint. When the operation is `done`, the \"fit\" may be downloaded. (A \"fit\" collects all logger and writer messages from Stan.) ``function`` indicates the name of the ``stan::services function`` which should be called given the Stan model associated with the id ``model_id``. For example, if sampling using ``stan::services::sample::hmc_nuts_diag_e_adapt`` then ``function`` is the full function name ``stan::services::sample::hmc_nuts_diag_e_adapt``. Sampler parameters which are not supplied will be given default values taken from CmdStan. For example, if ``stan::services::sample::hmc_nuts_diag_e_adapt`` is the function called and the parameter ``num_samples`` is not specified, the value 1000 will be used. For a full list of default values consult the CmdStan documentation.
--
v1ModelsModelIdFitsPost
:: (Consumes V1ModelsModelIdFitsPost MimeJSON, MimeRender MimeJSON CreateFitRequest)
=> CreateFitRequest -- ^ "body" - Full stan::services function name and associated arguments to call with Stan model.
-> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdFitsPost MimeJSON Fit MimeJSON
v1ModelsModelIdFitsPost body (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/fits"]
`setBodyParam` body
data V1ModelsModelIdFitsPost
-- | /Body Param/ "body" - Full stan::services function name and associated arguments to call with Stan model.
instance HasBodyParam V1ModelsModelIdFitsPost CreateFitRequest
-- | @application/json@
instance Consumes V1ModelsModelIdFitsPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdFitsPost MimeJSON
-- *** v1ModelsModelIdLogProbGradPost
-- | @POST \/v1\/models\/{model_id}\/log_prob_grad@
--
-- Return the gradient of the log posterior evaluated at the unconstrained parameters.
--
-- Returns the output of Stan C++ `stan::model::log_prob_grad`.
--
v1ModelsModelIdLogProbGradPost
:: (Consumes V1ModelsModelIdLogProbGradPost MimeJSON)
=> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdLogProbGradPost MimeJSON V1ModelsModelIdLogProbGradPost200Response MimeJSON
v1ModelsModelIdLogProbGradPost (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/log_prob_grad"]
data V1ModelsModelIdLogProbGradPost
-- | /Body Param/ "adjust_transform" - Boolean to control whether we apply a Jacobian adjust transform.
instance HasBodyParam V1ModelsModelIdLogProbGradPost AdjustTransform
-- | @application/json@
instance Consumes V1ModelsModelIdLogProbGradPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdLogProbGradPost MimeJSON
-- *** v1ModelsModelIdLogProbPost
-- | @POST \/v1\/models\/{model_id}\/log_prob@
--
-- Return the log probability of the unconstrained parameters.
--
-- Returns the output of Stan C++ ``log_prob`` model class method.
--
v1ModelsModelIdLogProbPost
:: (Consumes V1ModelsModelIdLogProbPost MimeJSON)
=> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdLogProbPost MimeJSON V1ModelsModelIdLogProbPost200Response MimeJSON
v1ModelsModelIdLogProbPost (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/log_prob"]
data V1ModelsModelIdLogProbPost
-- | /Body Param/ "adjust_transform" - Boolean to control whether we apply a Jacobian adjust transform.
instance HasBodyParam V1ModelsModelIdLogProbPost AdjustTransform
-- | @application/json@
instance Consumes V1ModelsModelIdLogProbPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdLogProbPost MimeJSON
-- *** v1ModelsModelIdParamsPost
-- | @POST \/v1\/models\/{model_id}\/params@
--
-- Get parameter names and dimensions.
--
-- Returns the output of Stan C++ model class methods: ``constrained_param_names``, ``get_param_names`` and ``get_dims``.
--
v1ModelsModelIdParamsPost
:: (Consumes V1ModelsModelIdParamsPost MimeJSON, MimeRender MimeJSON ParamData)
=> ParamData -- ^ "_data" - Data for Stan Model. Needed to calculate param names and dimensions.
-> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdParamsPost MimeJSON V1ModelsModelIdParamsPost200Response MimeJSON
v1ModelsModelIdParamsPost _data (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/params"]
`setBodyParam` _data
data V1ModelsModelIdParamsPost
-- | /Body Param/ "data" - Data for Stan Model. Needed to calculate param names and dimensions.
instance HasBodyParam V1ModelsModelIdParamsPost ParamData
-- | @application/json@
instance Consumes V1ModelsModelIdParamsPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdParamsPost MimeJSON
-- *** v1ModelsModelIdTransformInitsPost
-- | @POST \/v1\/models\/{model_id}\/transform_inits@
--
-- Return a sequence of unconstrained parameters.
--
-- Returns the output of Stan C++ ``transform_inits`` model class method.
--
v1ModelsModelIdTransformInitsPost
:: (Consumes V1ModelsModelIdTransformInitsPost MimeJSON, MimeRender MimeJSON ConstrainedParameters)
=> ConstrainedParameters -- ^ "constrainedParameters" - Constrained parameter values and their specified context
-> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdTransformInitsPost MimeJSON V1ModelsModelIdTransformInitsPost200Response MimeJSON
v1ModelsModelIdTransformInitsPost constrainedParameters (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/transform_inits"]
`setBodyParam` constrainedParameters
data V1ModelsModelIdTransformInitsPost
-- | /Body Param/ "constrained_parameters" - Constrained parameter values and their specified context
instance HasBodyParam V1ModelsModelIdTransformInitsPost ConstrainedParameters
-- | @application/json@
instance Consumes V1ModelsModelIdTransformInitsPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdTransformInitsPost MimeJSON
-- *** v1ModelsModelIdWriteArrayPost
-- | @POST \/v1\/models\/{model_id}\/write_array@
--
-- Return a sequence of constrained parameters.
--
-- Returns the output of Stan C++ ``write_array`` model class method.
--
v1ModelsModelIdWriteArrayPost
:: (Consumes V1ModelsModelIdWriteArrayPost MimeJSON, MimeRender MimeJSON IncludeGqs)
=> IncludeGqs -- ^ "includeGqs" - Boolean to control whether we include generated quantities.
-> ModelId -- ^ "modelId" - ID of Stan model to use
-> HttpstanRequest V1ModelsModelIdWriteArrayPost MimeJSON V1ModelsModelIdWriteArrayPost200Response MimeJSON
v1ModelsModelIdWriteArrayPost includeGqs (ModelId modelId) =
_mkRequest "POST" ["/v1/models/",toPath modelId,"/write_array"]
`setBodyParam` includeGqs
data V1ModelsModelIdWriteArrayPost
-- | /Body Param/ "include_gqs" - Boolean to control whether we include generated quantities.
instance HasBodyParam V1ModelsModelIdWriteArrayPost IncludeGqs
-- | @application/json@
instance Consumes V1ModelsModelIdWriteArrayPost MimeJSON
-- | @application/json@
instance Produces V1ModelsModelIdWriteArrayPost MimeJSON
-- *** v1ModelsPost
-- | @POST \/v1\/models@
--
-- Compile a Stan model
--
v1ModelsPost
:: (Consumes V1ModelsPost MimeJSON, MimeRender MimeJSON CreateModelRequest)
=> CreateModelRequest -- ^ "body" - Stan program code to compile
-> HttpstanRequest V1ModelsPost MimeJSON Model MimeJSON
v1ModelsPost body =
_mkRequest "POST" ["/v1/models"]
`setBodyParam` body
data V1ModelsPost
-- | /Body Param/ "body" - Stan program code to compile
instance HasBodyParam V1ModelsPost CreateModelRequest
-- | @application/json@
instance Consumes V1ModelsPost MimeJSON
-- | @application/json@
instance Produces V1ModelsPost MimeJSON
-- *** v1OperationsOperationIdGet
-- | @GET \/v1\/operations\/{operation_id}@
--
-- Get Operation details.
--
-- Return Operation details. Details about an Operation include whether or not the operation is `done` and information about the progress of sampling.
--
v1OperationsOperationIdGet
:: OperationId -- ^ "operationId" - ID of Operation
-> HttpstanRequest V1OperationsOperationIdGet MimeNoContent Operation MimeJSON
v1OperationsOperationIdGet (OperationId operationId) =
_mkRequest "GET" ["/v1/operations/",toPath operationId]
data V1OperationsOperationIdGet
-- | @application/json@
instance Produces V1OperationsOperationIdGet MimeJSON