{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MachineLearning.DescribeMLModels
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns a list of @MLModel@ that match the search criteria in the
-- request.
--
-- This operation returns paginated results.
module Amazonka.MachineLearning.DescribeMLModels
  ( -- * Creating a Request
    DescribeMLModels (..),
    newDescribeMLModels,

    -- * Request Lenses
    describeMLModels_eq,
    describeMLModels_filterVariable,
    describeMLModels_ge,
    describeMLModels_gt,
    describeMLModels_le,
    describeMLModels_lt,
    describeMLModels_limit,
    describeMLModels_ne,
    describeMLModels_nextToken,
    describeMLModels_prefix,
    describeMLModels_sortOrder,

    -- * Destructuring the Response
    DescribeMLModelsResponse (..),
    newDescribeMLModelsResponse,

    -- * Response Lenses
    describeMLModelsResponse_nextToken,
    describeMLModelsResponse_results,
    describeMLModelsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MachineLearning.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeMLModels' smart constructor.
data DescribeMLModels = DescribeMLModels'
  { -- | The equal to operator. The @MLModel@ results will have @FilterVariable@
    -- values that exactly match the value specified with @EQ@.
    DescribeMLModels -> Maybe Text
eq :: Prelude.Maybe Prelude.Text,
    -- | Use one of the following variables to filter a list of @MLModel@:
    --
    -- -   @CreatedAt@ - Sets the search criteria to @MLModel@ creation date.
    --
    -- -   @Status@ - Sets the search criteria to @MLModel@ status.
    --
    -- -   @Name@ - Sets the search criteria to the contents of @MLModel@ ____
    --     @Name@.
    --
    -- -   @IAMUser@ - Sets the search criteria to the user account that
    --     invoked the @MLModel@ creation.
    --
    -- -   @TrainingDataSourceId@ - Sets the search criteria to the
    --     @DataSource@ used to train one or more @MLModel@.
    --
    -- -   @RealtimeEndpointStatus@ - Sets the search criteria to the @MLModel@
    --     real-time endpoint status.
    --
    -- -   @MLModelType@ - Sets the search criteria to @MLModel@ type: binary,
    --     regression, or multi-class.
    --
    -- -   @Algorithm@ - Sets the search criteria to the algorithm that the
    --     @MLModel@ uses.
    --
    -- -   @TrainingDataURI@ - Sets the search criteria to the data file(s)
    --     used in training a @MLModel@. The URL can identify either a file or
    --     an Amazon Simple Storage Service (Amazon S3) bucket or directory.
    DescribeMLModels -> Maybe MLModelFilterVariable
filterVariable :: Prelude.Maybe MLModelFilterVariable,
    -- | The greater than or equal to operator. The @MLModel@ results will have
    -- @FilterVariable@ values that are greater than or equal to the value
    -- specified with @GE@.
    DescribeMLModels -> Maybe Text
ge :: Prelude.Maybe Prelude.Text,
    -- | The greater than operator. The @MLModel@ results will have
    -- @FilterVariable@ values that are greater than the value specified with
    -- @GT@.
    DescribeMLModels -> Maybe Text
gt :: Prelude.Maybe Prelude.Text,
    -- | The less than or equal to operator. The @MLModel@ results will have
    -- @FilterVariable@ values that are less than or equal to the value
    -- specified with @LE@.
    DescribeMLModels -> Maybe Text
le :: Prelude.Maybe Prelude.Text,
    -- | The less than operator. The @MLModel@ results will have @FilterVariable@
    -- values that are less than the value specified with @LT@.
    DescribeMLModels -> Maybe Text
lt :: Prelude.Maybe Prelude.Text,
    -- | The number of pages of information to include in the result. The range
    -- of acceptable values is @1@ through @100@. The default value is @100@.
    DescribeMLModels -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
    -- | The not equal to operator. The @MLModel@ results will have
    -- @FilterVariable@ values not equal to the value specified with @NE@.
    DescribeMLModels -> Maybe Text
ne :: Prelude.Maybe Prelude.Text,
    -- | The ID of the page in the paginated results.
    DescribeMLModels -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A string that is found at the beginning of a variable, such as @Name@ or
    -- @Id@.
    --
    -- For example, an @MLModel@ could have the @Name@
    -- @2014-09-09-HolidayGiftMailer@. To search for this @MLModel@, select
    -- @Name@ for the @FilterVariable@ and any of the following strings for the
    -- @Prefix@:
    --
    -- -   2014-09
    --
    -- -   2014-09-09
    --
    -- -   2014-09-09-Holiday
    DescribeMLModels -> Maybe Text
prefix :: Prelude.Maybe Prelude.Text,
    -- | A two-value parameter that determines the sequence of the resulting list
    -- of @MLModel@.
    --
    -- -   @asc@ - Arranges the list in ascending order (A-Z, 0-9).
    --
    -- -   @dsc@ - Arranges the list in descending order (Z-A, 9-0).
    --
    -- Results are sorted by @FilterVariable@.
    DescribeMLModels -> Maybe SortOrder
sortOrder :: Prelude.Maybe SortOrder
  }
  deriving (DescribeMLModels -> DescribeMLModels -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMLModels -> DescribeMLModels -> Bool
$c/= :: DescribeMLModels -> DescribeMLModels -> Bool
== :: DescribeMLModels -> DescribeMLModels -> Bool
$c== :: DescribeMLModels -> DescribeMLModels -> Bool
Prelude.Eq, ReadPrec [DescribeMLModels]
ReadPrec DescribeMLModels
Int -> ReadS DescribeMLModels
ReadS [DescribeMLModels]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMLModels]
$creadListPrec :: ReadPrec [DescribeMLModels]
readPrec :: ReadPrec DescribeMLModels
$creadPrec :: ReadPrec DescribeMLModels
readList :: ReadS [DescribeMLModels]
$creadList :: ReadS [DescribeMLModels]
readsPrec :: Int -> ReadS DescribeMLModels
$creadsPrec :: Int -> ReadS DescribeMLModels
Prelude.Read, Int -> DescribeMLModels -> ShowS
[DescribeMLModels] -> ShowS
DescribeMLModels -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMLModels] -> ShowS
$cshowList :: [DescribeMLModels] -> ShowS
show :: DescribeMLModels -> String
$cshow :: DescribeMLModels -> String
showsPrec :: Int -> DescribeMLModels -> ShowS
$cshowsPrec :: Int -> DescribeMLModels -> ShowS
Prelude.Show, forall x. Rep DescribeMLModels x -> DescribeMLModels
forall x. DescribeMLModels -> Rep DescribeMLModels x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeMLModels x -> DescribeMLModels
$cfrom :: forall x. DescribeMLModels -> Rep DescribeMLModels x
Prelude.Generic)

-- |
-- Create a value of 'DescribeMLModels' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'eq', 'describeMLModels_eq' - The equal to operator. The @MLModel@ results will have @FilterVariable@
-- values that exactly match the value specified with @EQ@.
--
-- 'filterVariable', 'describeMLModels_filterVariable' - Use one of the following variables to filter a list of @MLModel@:
--
-- -   @CreatedAt@ - Sets the search criteria to @MLModel@ creation date.
--
-- -   @Status@ - Sets the search criteria to @MLModel@ status.
--
-- -   @Name@ - Sets the search criteria to the contents of @MLModel@ ____
--     @Name@.
--
-- -   @IAMUser@ - Sets the search criteria to the user account that
--     invoked the @MLModel@ creation.
--
-- -   @TrainingDataSourceId@ - Sets the search criteria to the
--     @DataSource@ used to train one or more @MLModel@.
--
-- -   @RealtimeEndpointStatus@ - Sets the search criteria to the @MLModel@
--     real-time endpoint status.
--
-- -   @MLModelType@ - Sets the search criteria to @MLModel@ type: binary,
--     regression, or multi-class.
--
-- -   @Algorithm@ - Sets the search criteria to the algorithm that the
--     @MLModel@ uses.
--
-- -   @TrainingDataURI@ - Sets the search criteria to the data file(s)
--     used in training a @MLModel@. The URL can identify either a file or
--     an Amazon Simple Storage Service (Amazon S3) bucket or directory.
--
-- 'ge', 'describeMLModels_ge' - The greater than or equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values that are greater than or equal to the value
-- specified with @GE@.
--
-- 'gt', 'describeMLModels_gt' - The greater than operator. The @MLModel@ results will have
-- @FilterVariable@ values that are greater than the value specified with
-- @GT@.
--
-- 'le', 'describeMLModels_le' - The less than or equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values that are less than or equal to the value
-- specified with @LE@.
--
-- 'lt', 'describeMLModels_lt' - The less than operator. The @MLModel@ results will have @FilterVariable@
-- values that are less than the value specified with @LT@.
--
-- 'limit', 'describeMLModels_limit' - The number of pages of information to include in the result. The range
-- of acceptable values is @1@ through @100@. The default value is @100@.
--
-- 'ne', 'describeMLModels_ne' - The not equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values not equal to the value specified with @NE@.
--
-- 'nextToken', 'describeMLModels_nextToken' - The ID of the page in the paginated results.
--
-- 'prefix', 'describeMLModels_prefix' - A string that is found at the beginning of a variable, such as @Name@ or
-- @Id@.
--
-- For example, an @MLModel@ could have the @Name@
-- @2014-09-09-HolidayGiftMailer@. To search for this @MLModel@, select
-- @Name@ for the @FilterVariable@ and any of the following strings for the
-- @Prefix@:
--
-- -   2014-09
--
-- -   2014-09-09
--
-- -   2014-09-09-Holiday
--
-- 'sortOrder', 'describeMLModels_sortOrder' - A two-value parameter that determines the sequence of the resulting list
-- of @MLModel@.
--
-- -   @asc@ - Arranges the list in ascending order (A-Z, 0-9).
--
-- -   @dsc@ - Arranges the list in descending order (Z-A, 9-0).
--
-- Results are sorted by @FilterVariable@.
newDescribeMLModels ::
  DescribeMLModels
newDescribeMLModels :: DescribeMLModels
newDescribeMLModels =
  DescribeMLModels'
    { $sel:eq:DescribeMLModels' :: Maybe Text
eq = forall a. Maybe a
Prelude.Nothing,
      $sel:filterVariable:DescribeMLModels' :: Maybe MLModelFilterVariable
filterVariable = forall a. Maybe a
Prelude.Nothing,
      $sel:ge:DescribeMLModels' :: Maybe Text
ge = forall a. Maybe a
Prelude.Nothing,
      $sel:gt:DescribeMLModels' :: Maybe Text
gt = forall a. Maybe a
Prelude.Nothing,
      $sel:le:DescribeMLModels' :: Maybe Text
le = forall a. Maybe a
Prelude.Nothing,
      $sel:lt:DescribeMLModels' :: Maybe Text
lt = forall a. Maybe a
Prelude.Nothing,
      $sel:limit:DescribeMLModels' :: Maybe Natural
limit = forall a. Maybe a
Prelude.Nothing,
      $sel:ne:DescribeMLModels' :: Maybe Text
ne = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeMLModels' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:prefix:DescribeMLModels' :: Maybe Text
prefix = forall a. Maybe a
Prelude.Nothing,
      $sel:sortOrder:DescribeMLModels' :: Maybe SortOrder
sortOrder = forall a. Maybe a
Prelude.Nothing
    }

-- | The equal to operator. The @MLModel@ results will have @FilterVariable@
-- values that exactly match the value specified with @EQ@.
describeMLModels_eq :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_eq :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_eq = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
eq :: Maybe Text
$sel:eq:DescribeMLModels' :: DescribeMLModels -> Maybe Text
eq} -> Maybe Text
eq) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:eq:DescribeMLModels' :: Maybe Text
eq = Maybe Text
a} :: DescribeMLModels)

-- | Use one of the following variables to filter a list of @MLModel@:
--
-- -   @CreatedAt@ - Sets the search criteria to @MLModel@ creation date.
--
-- -   @Status@ - Sets the search criteria to @MLModel@ status.
--
-- -   @Name@ - Sets the search criteria to the contents of @MLModel@ ____
--     @Name@.
--
-- -   @IAMUser@ - Sets the search criteria to the user account that
--     invoked the @MLModel@ creation.
--
-- -   @TrainingDataSourceId@ - Sets the search criteria to the
--     @DataSource@ used to train one or more @MLModel@.
--
-- -   @RealtimeEndpointStatus@ - Sets the search criteria to the @MLModel@
--     real-time endpoint status.
--
-- -   @MLModelType@ - Sets the search criteria to @MLModel@ type: binary,
--     regression, or multi-class.
--
-- -   @Algorithm@ - Sets the search criteria to the algorithm that the
--     @MLModel@ uses.
--
-- -   @TrainingDataURI@ - Sets the search criteria to the data file(s)
--     used in training a @MLModel@. The URL can identify either a file or
--     an Amazon Simple Storage Service (Amazon S3) bucket or directory.
describeMLModels_filterVariable :: Lens.Lens' DescribeMLModels (Prelude.Maybe MLModelFilterVariable)
describeMLModels_filterVariable :: Lens' DescribeMLModels (Maybe MLModelFilterVariable)
describeMLModels_filterVariable = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe MLModelFilterVariable
filterVariable :: Maybe MLModelFilterVariable
$sel:filterVariable:DescribeMLModels' :: DescribeMLModels -> Maybe MLModelFilterVariable
filterVariable} -> Maybe MLModelFilterVariable
filterVariable) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe MLModelFilterVariable
a -> DescribeMLModels
s {$sel:filterVariable:DescribeMLModels' :: Maybe MLModelFilterVariable
filterVariable = Maybe MLModelFilterVariable
a} :: DescribeMLModels)

-- | The greater than or equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values that are greater than or equal to the value
-- specified with @GE@.
describeMLModels_ge :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_ge :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_ge = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
ge :: Maybe Text
$sel:ge:DescribeMLModels' :: DescribeMLModels -> Maybe Text
ge} -> Maybe Text
ge) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:ge:DescribeMLModels' :: Maybe Text
ge = Maybe Text
a} :: DescribeMLModels)

-- | The greater than operator. The @MLModel@ results will have
-- @FilterVariable@ values that are greater than the value specified with
-- @GT@.
describeMLModels_gt :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_gt :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_gt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
gt :: Maybe Text
$sel:gt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
gt} -> Maybe Text
gt) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:gt:DescribeMLModels' :: Maybe Text
gt = Maybe Text
a} :: DescribeMLModels)

-- | The less than or equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values that are less than or equal to the value
-- specified with @LE@.
describeMLModels_le :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_le :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_le = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
le :: Maybe Text
$sel:le:DescribeMLModels' :: DescribeMLModels -> Maybe Text
le} -> Maybe Text
le) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:le:DescribeMLModels' :: Maybe Text
le = Maybe Text
a} :: DescribeMLModels)

-- | The less than operator. The @MLModel@ results will have @FilterVariable@
-- values that are less than the value specified with @LT@.
describeMLModels_lt :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_lt :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_lt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
lt :: Maybe Text
$sel:lt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
lt} -> Maybe Text
lt) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:lt:DescribeMLModels' :: Maybe Text
lt = Maybe Text
a} :: DescribeMLModels)

-- | The number of pages of information to include in the result. The range
-- of acceptable values is @1@ through @100@. The default value is @100@.
describeMLModels_limit :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Natural)
describeMLModels_limit :: Lens' DescribeMLModels (Maybe Natural)
describeMLModels_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Natural
limit :: Maybe Natural
$sel:limit:DescribeMLModels' :: DescribeMLModels -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Natural
a -> DescribeMLModels
s {$sel:limit:DescribeMLModels' :: Maybe Natural
limit = Maybe Natural
a} :: DescribeMLModels)

-- | The not equal to operator. The @MLModel@ results will have
-- @FilterVariable@ values not equal to the value specified with @NE@.
describeMLModels_ne :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_ne :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_ne = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
ne :: Maybe Text
$sel:ne:DescribeMLModels' :: DescribeMLModels -> Maybe Text
ne} -> Maybe Text
ne) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:ne:DescribeMLModels' :: Maybe Text
ne = Maybe Text
a} :: DescribeMLModels)

-- | The ID of the page in the paginated results.
describeMLModels_nextToken :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_nextToken :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeMLModels' :: DescribeMLModels -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:nextToken:DescribeMLModels' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeMLModels)

-- | A string that is found at the beginning of a variable, such as @Name@ or
-- @Id@.
--
-- For example, an @MLModel@ could have the @Name@
-- @2014-09-09-HolidayGiftMailer@. To search for this @MLModel@, select
-- @Name@ for the @FilterVariable@ and any of the following strings for the
-- @Prefix@:
--
-- -   2014-09
--
-- -   2014-09-09
--
-- -   2014-09-09-Holiday
describeMLModels_prefix :: Lens.Lens' DescribeMLModels (Prelude.Maybe Prelude.Text)
describeMLModels_prefix :: Lens' DescribeMLModels (Maybe Text)
describeMLModels_prefix = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe Text
prefix :: Maybe Text
$sel:prefix:DescribeMLModels' :: DescribeMLModels -> Maybe Text
prefix} -> Maybe Text
prefix) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe Text
a -> DescribeMLModels
s {$sel:prefix:DescribeMLModels' :: Maybe Text
prefix = Maybe Text
a} :: DescribeMLModels)

-- | A two-value parameter that determines the sequence of the resulting list
-- of @MLModel@.
--
-- -   @asc@ - Arranges the list in ascending order (A-Z, 0-9).
--
-- -   @dsc@ - Arranges the list in descending order (Z-A, 9-0).
--
-- Results are sorted by @FilterVariable@.
describeMLModels_sortOrder :: Lens.Lens' DescribeMLModels (Prelude.Maybe SortOrder)
describeMLModels_sortOrder :: Lens' DescribeMLModels (Maybe SortOrder)
describeMLModels_sortOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModels' {Maybe SortOrder
sortOrder :: Maybe SortOrder
$sel:sortOrder:DescribeMLModels' :: DescribeMLModels -> Maybe SortOrder
sortOrder} -> Maybe SortOrder
sortOrder) (\s :: DescribeMLModels
s@DescribeMLModels' {} Maybe SortOrder
a -> DescribeMLModels
s {$sel:sortOrder:DescribeMLModels' :: Maybe SortOrder
sortOrder = Maybe SortOrder
a} :: DescribeMLModels)

instance Core.AWSPager DescribeMLModels where
  page :: DescribeMLModels
-> AWSResponse DescribeMLModels -> Maybe DescribeMLModels
page DescribeMLModels
rq AWSResponse DescribeMLModels
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeMLModels
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeMLModelsResponse (Maybe Text)
describeMLModelsResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeMLModels
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeMLModelsResponse (Maybe [MLModel])
describeMLModelsResponse_results
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ DescribeMLModels
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeMLModels (Maybe Text)
describeMLModels_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeMLModels
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeMLModelsResponse (Maybe Text)
describeMLModelsResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest DescribeMLModels where
  type
    AWSResponse DescribeMLModels =
      DescribeMLModelsResponse
  request :: (Service -> Service)
-> DescribeMLModels -> Request DescribeMLModels
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeMLModels
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeMLModels)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text -> Maybe [MLModel] -> Int -> DescribeMLModelsResponse
DescribeMLModelsResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Results" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeMLModels where
  hashWithSalt :: Int -> DescribeMLModels -> Int
hashWithSalt Int
_salt DescribeMLModels' {Maybe Natural
Maybe Text
Maybe MLModelFilterVariable
Maybe SortOrder
sortOrder :: Maybe SortOrder
prefix :: Maybe Text
nextToken :: Maybe Text
ne :: Maybe Text
limit :: Maybe Natural
lt :: Maybe Text
le :: Maybe Text
gt :: Maybe Text
ge :: Maybe Text
filterVariable :: Maybe MLModelFilterVariable
eq :: Maybe Text
$sel:sortOrder:DescribeMLModels' :: DescribeMLModels -> Maybe SortOrder
$sel:prefix:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:nextToken:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ne:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:limit:DescribeMLModels' :: DescribeMLModels -> Maybe Natural
$sel:lt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:le:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:gt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ge:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:filterVariable:DescribeMLModels' :: DescribeMLModels -> Maybe MLModelFilterVariable
$sel:eq:DescribeMLModels' :: DescribeMLModels -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
eq
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MLModelFilterVariable
filterVariable
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ge
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
le
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
limit
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ne
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
prefix
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SortOrder
sortOrder

instance Prelude.NFData DescribeMLModels where
  rnf :: DescribeMLModels -> ()
rnf DescribeMLModels' {Maybe Natural
Maybe Text
Maybe MLModelFilterVariable
Maybe SortOrder
sortOrder :: Maybe SortOrder
prefix :: Maybe Text
nextToken :: Maybe Text
ne :: Maybe Text
limit :: Maybe Natural
lt :: Maybe Text
le :: Maybe Text
gt :: Maybe Text
ge :: Maybe Text
filterVariable :: Maybe MLModelFilterVariable
eq :: Maybe Text
$sel:sortOrder:DescribeMLModels' :: DescribeMLModels -> Maybe SortOrder
$sel:prefix:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:nextToken:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ne:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:limit:DescribeMLModels' :: DescribeMLModels -> Maybe Natural
$sel:lt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:le:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:gt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ge:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:filterVariable:DescribeMLModels' :: DescribeMLModels -> Maybe MLModelFilterVariable
$sel:eq:DescribeMLModels' :: DescribeMLModels -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eq
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MLModelFilterVariable
filterVariable
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ge
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
le
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
limit
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ne
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
prefix
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SortOrder
sortOrder

instance Data.ToHeaders DescribeMLModels where
  toHeaders :: DescribeMLModels -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonML_20141212.DescribeMLModels" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeMLModels where
  toJSON :: DescribeMLModels -> Value
toJSON DescribeMLModels' {Maybe Natural
Maybe Text
Maybe MLModelFilterVariable
Maybe SortOrder
sortOrder :: Maybe SortOrder
prefix :: Maybe Text
nextToken :: Maybe Text
ne :: Maybe Text
limit :: Maybe Natural
lt :: Maybe Text
le :: Maybe Text
gt :: Maybe Text
ge :: Maybe Text
filterVariable :: Maybe MLModelFilterVariable
eq :: Maybe Text
$sel:sortOrder:DescribeMLModels' :: DescribeMLModels -> Maybe SortOrder
$sel:prefix:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:nextToken:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ne:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:limit:DescribeMLModels' :: DescribeMLModels -> Maybe Natural
$sel:lt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:le:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:gt:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:ge:DescribeMLModels' :: DescribeMLModels -> Maybe Text
$sel:filterVariable:DescribeMLModels' :: DescribeMLModels -> Maybe MLModelFilterVariable
$sel:eq:DescribeMLModels' :: DescribeMLModels -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"EQ" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
eq,
            (Key
"FilterVariable" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MLModelFilterVariable
filterVariable,
            (Key
"GE" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ge,
            (Key
"GT" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
gt,
            (Key
"LE" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
le,
            (Key
"LT" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
lt,
            (Key
"Limit" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
limit,
            (Key
"NE" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ne,
            (Key
"NextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken,
            (Key
"Prefix" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
prefix,
            (Key
"SortOrder" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SortOrder
sortOrder
          ]
      )

instance Data.ToPath DescribeMLModels where
  toPath :: DescribeMLModels -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeMLModels where
  toQuery :: DescribeMLModels -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | Represents the output of a @DescribeMLModels@ operation. The content is
-- essentially a list of @MLModel@.
--
-- /See:/ 'newDescribeMLModelsResponse' smart constructor.
data DescribeMLModelsResponse = DescribeMLModelsResponse'
  { -- | The ID of the next page in the paginated results that indicates at least
    -- one more page follows.
    DescribeMLModelsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A list of @MLModel@ that meet the search criteria.
    DescribeMLModelsResponse -> Maybe [MLModel]
results :: Prelude.Maybe [MLModel],
    -- | The response's http status code.
    DescribeMLModelsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeMLModelsResponse -> DescribeMLModelsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMLModelsResponse -> DescribeMLModelsResponse -> Bool
$c/= :: DescribeMLModelsResponse -> DescribeMLModelsResponse -> Bool
== :: DescribeMLModelsResponse -> DescribeMLModelsResponse -> Bool
$c== :: DescribeMLModelsResponse -> DescribeMLModelsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeMLModelsResponse]
ReadPrec DescribeMLModelsResponse
Int -> ReadS DescribeMLModelsResponse
ReadS [DescribeMLModelsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMLModelsResponse]
$creadListPrec :: ReadPrec [DescribeMLModelsResponse]
readPrec :: ReadPrec DescribeMLModelsResponse
$creadPrec :: ReadPrec DescribeMLModelsResponse
readList :: ReadS [DescribeMLModelsResponse]
$creadList :: ReadS [DescribeMLModelsResponse]
readsPrec :: Int -> ReadS DescribeMLModelsResponse
$creadsPrec :: Int -> ReadS DescribeMLModelsResponse
Prelude.Read, Int -> DescribeMLModelsResponse -> ShowS
[DescribeMLModelsResponse] -> ShowS
DescribeMLModelsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMLModelsResponse] -> ShowS
$cshowList :: [DescribeMLModelsResponse] -> ShowS
show :: DescribeMLModelsResponse -> String
$cshow :: DescribeMLModelsResponse -> String
showsPrec :: Int -> DescribeMLModelsResponse -> ShowS
$cshowsPrec :: Int -> DescribeMLModelsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeMLModelsResponse x -> DescribeMLModelsResponse
forall x.
DescribeMLModelsResponse -> Rep DescribeMLModelsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeMLModelsResponse x -> DescribeMLModelsResponse
$cfrom :: forall x.
DescribeMLModelsResponse -> Rep DescribeMLModelsResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeMLModelsResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'describeMLModelsResponse_nextToken' - The ID of the next page in the paginated results that indicates at least
-- one more page follows.
--
-- 'results', 'describeMLModelsResponse_results' - A list of @MLModel@ that meet the search criteria.
--
-- 'httpStatus', 'describeMLModelsResponse_httpStatus' - The response's http status code.
newDescribeMLModelsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeMLModelsResponse
newDescribeMLModelsResponse :: Int -> DescribeMLModelsResponse
newDescribeMLModelsResponse Int
pHttpStatus_ =
  DescribeMLModelsResponse'
    { $sel:nextToken:DescribeMLModelsResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:results:DescribeMLModelsResponse' :: Maybe [MLModel]
results = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeMLModelsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The ID of the next page in the paginated results that indicates at least
-- one more page follows.
describeMLModelsResponse_nextToken :: Lens.Lens' DescribeMLModelsResponse (Prelude.Maybe Prelude.Text)
describeMLModelsResponse_nextToken :: Lens' DescribeMLModelsResponse (Maybe Text)
describeMLModelsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModelsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeMLModelsResponse
s@DescribeMLModelsResponse' {} Maybe Text
a -> DescribeMLModelsResponse
s {$sel:nextToken:DescribeMLModelsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeMLModelsResponse)

-- | A list of @MLModel@ that meet the search criteria.
describeMLModelsResponse_results :: Lens.Lens' DescribeMLModelsResponse (Prelude.Maybe [MLModel])
describeMLModelsResponse_results :: Lens' DescribeMLModelsResponse (Maybe [MLModel])
describeMLModelsResponse_results = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModelsResponse' {Maybe [MLModel]
results :: Maybe [MLModel]
$sel:results:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Maybe [MLModel]
results} -> Maybe [MLModel]
results) (\s :: DescribeMLModelsResponse
s@DescribeMLModelsResponse' {} Maybe [MLModel]
a -> DescribeMLModelsResponse
s {$sel:results:DescribeMLModelsResponse' :: Maybe [MLModel]
results = Maybe [MLModel]
a} :: DescribeMLModelsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
describeMLModelsResponse_httpStatus :: Lens.Lens' DescribeMLModelsResponse Prelude.Int
describeMLModelsResponse_httpStatus :: Lens' DescribeMLModelsResponse Int
describeMLModelsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMLModelsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeMLModelsResponse
s@DescribeMLModelsResponse' {} Int
a -> DescribeMLModelsResponse
s {$sel:httpStatus:DescribeMLModelsResponse' :: Int
httpStatus = Int
a} :: DescribeMLModelsResponse)

instance Prelude.NFData DescribeMLModelsResponse where
  rnf :: DescribeMLModelsResponse -> ()
rnf DescribeMLModelsResponse' {Int
Maybe [MLModel]
Maybe Text
httpStatus :: Int
results :: Maybe [MLModel]
nextToken :: Maybe Text
$sel:httpStatus:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Int
$sel:results:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Maybe [MLModel]
$sel:nextToken:DescribeMLModelsResponse' :: DescribeMLModelsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MLModel]
results
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus