{-# 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.MediaConvert.ListPresets
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieve a JSON array of up to twenty of your presets. This will return
-- the presets themselves, not just a list of them. To retrieve the next
-- twenty presets, use the nextToken string returned with the array.
--
-- This operation returns paginated results.
module Amazonka.MediaConvert.ListPresets
  ( -- * Creating a Request
    ListPresets (..),
    newListPresets,

    -- * Request Lenses
    listPresets_category,
    listPresets_listBy,
    listPresets_maxResults,
    listPresets_nextToken,
    listPresets_order,

    -- * Destructuring the Response
    ListPresetsResponse (..),
    newListPresetsResponse,

    -- * Response Lenses
    listPresetsResponse_nextToken,
    listPresetsResponse_presets,
    listPresetsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListPresets' smart constructor.
data ListPresets = ListPresets'
  { -- | Optionally, specify a preset category to limit responses to only presets
    -- from that category.
    ListPresets -> Maybe Text
category :: Prelude.Maybe Prelude.Text,
    -- | Optional. When you request a list of presets, you can choose to list
    -- them alphabetically by NAME or chronologically by CREATION_DATE. If you
    -- don\'t specify, the service will list them by name.
    ListPresets -> Maybe PresetListBy
listBy :: Prelude.Maybe PresetListBy,
    -- | Optional. Number of presets, up to twenty, that will be returned at one
    -- time
    ListPresets -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | Use this string, provided with the response to a previous request, to
    -- request the next batch of presets.
    ListPresets -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Optional. When you request lists of resources, you can specify whether
    -- they are sorted in ASCENDING or DESCENDING order. Default varies by
    -- resource.
    ListPresets -> Maybe Order
order :: Prelude.Maybe Order
  }
  deriving (ListPresets -> ListPresets -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPresets -> ListPresets -> Bool
$c/= :: ListPresets -> ListPresets -> Bool
== :: ListPresets -> ListPresets -> Bool
$c== :: ListPresets -> ListPresets -> Bool
Prelude.Eq, ReadPrec [ListPresets]
ReadPrec ListPresets
Int -> ReadS ListPresets
ReadS [ListPresets]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPresets]
$creadListPrec :: ReadPrec [ListPresets]
readPrec :: ReadPrec ListPresets
$creadPrec :: ReadPrec ListPresets
readList :: ReadS [ListPresets]
$creadList :: ReadS [ListPresets]
readsPrec :: Int -> ReadS ListPresets
$creadsPrec :: Int -> ReadS ListPresets
Prelude.Read, Int -> ListPresets -> ShowS
[ListPresets] -> ShowS
ListPresets -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPresets] -> ShowS
$cshowList :: [ListPresets] -> ShowS
show :: ListPresets -> String
$cshow :: ListPresets -> String
showsPrec :: Int -> ListPresets -> ShowS
$cshowsPrec :: Int -> ListPresets -> ShowS
Prelude.Show, forall x. Rep ListPresets x -> ListPresets
forall x. ListPresets -> Rep ListPresets x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListPresets x -> ListPresets
$cfrom :: forall x. ListPresets -> Rep ListPresets x
Prelude.Generic)

-- |
-- Create a value of 'ListPresets' 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:
--
-- 'category', 'listPresets_category' - Optionally, specify a preset category to limit responses to only presets
-- from that category.
--
-- 'listBy', 'listPresets_listBy' - Optional. When you request a list of presets, you can choose to list
-- them alphabetically by NAME or chronologically by CREATION_DATE. If you
-- don\'t specify, the service will list them by name.
--
-- 'maxResults', 'listPresets_maxResults' - Optional. Number of presets, up to twenty, that will be returned at one
-- time
--
-- 'nextToken', 'listPresets_nextToken' - Use this string, provided with the response to a previous request, to
-- request the next batch of presets.
--
-- 'order', 'listPresets_order' - Optional. When you request lists of resources, you can specify whether
-- they are sorted in ASCENDING or DESCENDING order. Default varies by
-- resource.
newListPresets ::
  ListPresets
newListPresets :: ListPresets
newListPresets =
  ListPresets'
    { $sel:category:ListPresets' :: Maybe Text
category = forall a. Maybe a
Prelude.Nothing,
      $sel:listBy:ListPresets' :: Maybe PresetListBy
listBy = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListPresets' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListPresets' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:order:ListPresets' :: Maybe Order
order = forall a. Maybe a
Prelude.Nothing
    }

-- | Optionally, specify a preset category to limit responses to only presets
-- from that category.
listPresets_category :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Text)
listPresets_category :: Lens' ListPresets (Maybe Text)
listPresets_category = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresets' {Maybe Text
category :: Maybe Text
$sel:category:ListPresets' :: ListPresets -> Maybe Text
category} -> Maybe Text
category) (\s :: ListPresets
s@ListPresets' {} Maybe Text
a -> ListPresets
s {$sel:category:ListPresets' :: Maybe Text
category = Maybe Text
a} :: ListPresets)

-- | Optional. When you request a list of presets, you can choose to list
-- them alphabetically by NAME or chronologically by CREATION_DATE. If you
-- don\'t specify, the service will list them by name.
listPresets_listBy :: Lens.Lens' ListPresets (Prelude.Maybe PresetListBy)
listPresets_listBy :: Lens' ListPresets (Maybe PresetListBy)
listPresets_listBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresets' {Maybe PresetListBy
listBy :: Maybe PresetListBy
$sel:listBy:ListPresets' :: ListPresets -> Maybe PresetListBy
listBy} -> Maybe PresetListBy
listBy) (\s :: ListPresets
s@ListPresets' {} Maybe PresetListBy
a -> ListPresets
s {$sel:listBy:ListPresets' :: Maybe PresetListBy
listBy = Maybe PresetListBy
a} :: ListPresets)

-- | Optional. Number of presets, up to twenty, that will be returned at one
-- time
listPresets_maxResults :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Natural)
listPresets_maxResults :: Lens' ListPresets (Maybe Natural)
listPresets_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresets' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListPresets' :: ListPresets -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListPresets
s@ListPresets' {} Maybe Natural
a -> ListPresets
s {$sel:maxResults:ListPresets' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListPresets)

-- | Use this string, provided with the response to a previous request, to
-- request the next batch of presets.
listPresets_nextToken :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Text)
listPresets_nextToken :: Lens' ListPresets (Maybe Text)
listPresets_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresets' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPresets' :: ListPresets -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPresets
s@ListPresets' {} Maybe Text
a -> ListPresets
s {$sel:nextToken:ListPresets' :: Maybe Text
nextToken = Maybe Text
a} :: ListPresets)

-- | Optional. When you request lists of resources, you can specify whether
-- they are sorted in ASCENDING or DESCENDING order. Default varies by
-- resource.
listPresets_order :: Lens.Lens' ListPresets (Prelude.Maybe Order)
listPresets_order :: Lens' ListPresets (Maybe Order)
listPresets_order = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresets' {Maybe Order
order :: Maybe Order
$sel:order:ListPresets' :: ListPresets -> Maybe Order
order} -> Maybe Order
order) (\s :: ListPresets
s@ListPresets' {} Maybe Order
a -> ListPresets
s {$sel:order:ListPresets' :: Maybe Order
order = Maybe Order
a} :: ListPresets)

instance Core.AWSPager ListPresets where
  page :: ListPresets -> AWSResponse ListPresets -> Maybe ListPresets
page ListPresets
rq AWSResponse ListPresets
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListPresets
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListPresetsResponse (Maybe Text)
listPresetsResponse_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 ListPresets
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListPresetsResponse (Maybe [Preset])
listPresetsResponse_presets
            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.$ ListPresets
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListPresets (Maybe Text)
listPresets_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListPresets
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListPresetsResponse (Maybe Text)
listPresetsResponse_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 ListPresets where
  type AWSResponse ListPresets = ListPresetsResponse
  request :: (Service -> Service) -> ListPresets -> Request ListPresets
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListPresets
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListPresets)))
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 [Preset] -> Int -> ListPresetsResponse
ListPresetsResponse'
            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
"presets" 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 ListPresets where
  hashWithSalt :: Int -> ListPresets -> Int
hashWithSalt Int
_salt ListPresets' {Maybe Natural
Maybe Text
Maybe Order
Maybe PresetListBy
order :: Maybe Order
nextToken :: Maybe Text
maxResults :: Maybe Natural
listBy :: Maybe PresetListBy
category :: Maybe Text
$sel:order:ListPresets' :: ListPresets -> Maybe Order
$sel:nextToken:ListPresets' :: ListPresets -> Maybe Text
$sel:maxResults:ListPresets' :: ListPresets -> Maybe Natural
$sel:listBy:ListPresets' :: ListPresets -> Maybe PresetListBy
$sel:category:ListPresets' :: ListPresets -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
category
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PresetListBy
listBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Order
order

instance Prelude.NFData ListPresets where
  rnf :: ListPresets -> ()
rnf ListPresets' {Maybe Natural
Maybe Text
Maybe Order
Maybe PresetListBy
order :: Maybe Order
nextToken :: Maybe Text
maxResults :: Maybe Natural
listBy :: Maybe PresetListBy
category :: Maybe Text
$sel:order:ListPresets' :: ListPresets -> Maybe Order
$sel:nextToken:ListPresets' :: ListPresets -> Maybe Text
$sel:maxResults:ListPresets' :: ListPresets -> Maybe Natural
$sel:listBy:ListPresets' :: ListPresets -> Maybe PresetListBy
$sel:category:ListPresets' :: ListPresets -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
category
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PresetListBy
listBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      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 Order
order

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

instance Data.ToPath ListPresets where
  toPath :: ListPresets -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/2017-08-29/presets"

instance Data.ToQuery ListPresets where
  toQuery :: ListPresets -> QueryString
toQuery ListPresets' {Maybe Natural
Maybe Text
Maybe Order
Maybe PresetListBy
order :: Maybe Order
nextToken :: Maybe Text
maxResults :: Maybe Natural
listBy :: Maybe PresetListBy
category :: Maybe Text
$sel:order:ListPresets' :: ListPresets -> Maybe Order
$sel:nextToken:ListPresets' :: ListPresets -> Maybe Text
$sel:maxResults:ListPresets' :: ListPresets -> Maybe Natural
$sel:listBy:ListPresets' :: ListPresets -> Maybe PresetListBy
$sel:category:ListPresets' :: ListPresets -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"category" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
category,
        ByteString
"listBy" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe PresetListBy
listBy,
        ByteString
"maxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"nextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"order" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Order
order
      ]

-- | /See:/ 'newListPresetsResponse' smart constructor.
data ListPresetsResponse = ListPresetsResponse'
  { -- | Use this string to request the next batch of presets.
    ListPresetsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | List of presets
    ListPresetsResponse -> Maybe [Preset]
presets :: Prelude.Maybe [Preset],
    -- | The response's http status code.
    ListPresetsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListPresetsResponse -> ListPresetsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPresetsResponse -> ListPresetsResponse -> Bool
$c/= :: ListPresetsResponse -> ListPresetsResponse -> Bool
== :: ListPresetsResponse -> ListPresetsResponse -> Bool
$c== :: ListPresetsResponse -> ListPresetsResponse -> Bool
Prelude.Eq, ReadPrec [ListPresetsResponse]
ReadPrec ListPresetsResponse
Int -> ReadS ListPresetsResponse
ReadS [ListPresetsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPresetsResponse]
$creadListPrec :: ReadPrec [ListPresetsResponse]
readPrec :: ReadPrec ListPresetsResponse
$creadPrec :: ReadPrec ListPresetsResponse
readList :: ReadS [ListPresetsResponse]
$creadList :: ReadS [ListPresetsResponse]
readsPrec :: Int -> ReadS ListPresetsResponse
$creadsPrec :: Int -> ReadS ListPresetsResponse
Prelude.Read, Int -> ListPresetsResponse -> ShowS
[ListPresetsResponse] -> ShowS
ListPresetsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPresetsResponse] -> ShowS
$cshowList :: [ListPresetsResponse] -> ShowS
show :: ListPresetsResponse -> String
$cshow :: ListPresetsResponse -> String
showsPrec :: Int -> ListPresetsResponse -> ShowS
$cshowsPrec :: Int -> ListPresetsResponse -> ShowS
Prelude.Show, forall x. Rep ListPresetsResponse x -> ListPresetsResponse
forall x. ListPresetsResponse -> Rep ListPresetsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListPresetsResponse x -> ListPresetsResponse
$cfrom :: forall x. ListPresetsResponse -> Rep ListPresetsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListPresetsResponse' 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', 'listPresetsResponse_nextToken' - Use this string to request the next batch of presets.
--
-- 'presets', 'listPresetsResponse_presets' - List of presets
--
-- 'httpStatus', 'listPresetsResponse_httpStatus' - The response's http status code.
newListPresetsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListPresetsResponse
newListPresetsResponse :: Int -> ListPresetsResponse
newListPresetsResponse Int
pHttpStatus_ =
  ListPresetsResponse'
    { $sel:nextToken:ListPresetsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:presets:ListPresetsResponse' :: Maybe [Preset]
presets = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListPresetsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Use this string to request the next batch of presets.
listPresetsResponse_nextToken :: Lens.Lens' ListPresetsResponse (Prelude.Maybe Prelude.Text)
listPresetsResponse_nextToken :: Lens' ListPresetsResponse (Maybe Text)
listPresetsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresetsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPresetsResponse' :: ListPresetsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPresetsResponse
s@ListPresetsResponse' {} Maybe Text
a -> ListPresetsResponse
s {$sel:nextToken:ListPresetsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListPresetsResponse)

-- | List of presets
listPresetsResponse_presets :: Lens.Lens' ListPresetsResponse (Prelude.Maybe [Preset])
listPresetsResponse_presets :: Lens' ListPresetsResponse (Maybe [Preset])
listPresetsResponse_presets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresetsResponse' {Maybe [Preset]
presets :: Maybe [Preset]
$sel:presets:ListPresetsResponse' :: ListPresetsResponse -> Maybe [Preset]
presets} -> Maybe [Preset]
presets) (\s :: ListPresetsResponse
s@ListPresetsResponse' {} Maybe [Preset]
a -> ListPresetsResponse
s {$sel:presets:ListPresetsResponse' :: Maybe [Preset]
presets = Maybe [Preset]
a} :: ListPresetsResponse) 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.
listPresetsResponse_httpStatus :: Lens.Lens' ListPresetsResponse Prelude.Int
listPresetsResponse_httpStatus :: Lens' ListPresetsResponse Int
listPresetsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPresetsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListPresetsResponse' :: ListPresetsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListPresetsResponse
s@ListPresetsResponse' {} Int
a -> ListPresetsResponse
s {$sel:httpStatus:ListPresetsResponse' :: Int
httpStatus = Int
a} :: ListPresetsResponse)

instance Prelude.NFData ListPresetsResponse where
  rnf :: ListPresetsResponse -> ()
rnf ListPresetsResponse' {Int
Maybe [Preset]
Maybe Text
httpStatus :: Int
presets :: Maybe [Preset]
nextToken :: Maybe Text
$sel:httpStatus:ListPresetsResponse' :: ListPresetsResponse -> Int
$sel:presets:ListPresetsResponse' :: ListPresetsResponse -> Maybe [Preset]
$sel:nextToken:ListPresetsResponse' :: ListPresetsResponse -> 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 [Preset]
presets
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus