{-# 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.Omics.ListReferences
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves a list of references.
--
-- This operation returns paginated results.
module Amazonka.Omics.ListReferences
  ( -- * Creating a Request
    ListReferences (..),
    newListReferences,

    -- * Request Lenses
    listReferences_filter,
    listReferences_maxResults,
    listReferences_nextToken,
    listReferences_referenceStoreId,

    -- * Destructuring the Response
    ListReferencesResponse (..),
    newListReferencesResponse,

    -- * Response Lenses
    listReferencesResponse_nextToken,
    listReferencesResponse_httpStatus,
    listReferencesResponse_references,
  )
where

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

-- | /See:/ 'newListReferences' smart constructor.
data ListReferences = ListReferences'
  { -- | A filter to apply to the list.
    ListReferences -> Maybe ReferenceFilter
filter' :: Prelude.Maybe ReferenceFilter,
    -- | The maximum number of references to return in one page of results.
    ListReferences -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | Specify the pagination token from a previous request to retrieve the
    -- next page of results.
    ListReferences -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The references\' reference store ID.
    ListReferences -> Text
referenceStoreId :: Prelude.Text
  }
  deriving (ListReferences -> ListReferences -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListReferences -> ListReferences -> Bool
$c/= :: ListReferences -> ListReferences -> Bool
== :: ListReferences -> ListReferences -> Bool
$c== :: ListReferences -> ListReferences -> Bool
Prelude.Eq, ReadPrec [ListReferences]
ReadPrec ListReferences
Int -> ReadS ListReferences
ReadS [ListReferences]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListReferences]
$creadListPrec :: ReadPrec [ListReferences]
readPrec :: ReadPrec ListReferences
$creadPrec :: ReadPrec ListReferences
readList :: ReadS [ListReferences]
$creadList :: ReadS [ListReferences]
readsPrec :: Int -> ReadS ListReferences
$creadsPrec :: Int -> ReadS ListReferences
Prelude.Read, Int -> ListReferences -> ShowS
[ListReferences] -> ShowS
ListReferences -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListReferences] -> ShowS
$cshowList :: [ListReferences] -> ShowS
show :: ListReferences -> String
$cshow :: ListReferences -> String
showsPrec :: Int -> ListReferences -> ShowS
$cshowsPrec :: Int -> ListReferences -> ShowS
Prelude.Show, forall x. Rep ListReferences x -> ListReferences
forall x. ListReferences -> Rep ListReferences x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListReferences x -> ListReferences
$cfrom :: forall x. ListReferences -> Rep ListReferences x
Prelude.Generic)

-- |
-- Create a value of 'ListReferences' 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:
--
-- 'filter'', 'listReferences_filter' - A filter to apply to the list.
--
-- 'maxResults', 'listReferences_maxResults' - The maximum number of references to return in one page of results.
--
-- 'nextToken', 'listReferences_nextToken' - Specify the pagination token from a previous request to retrieve the
-- next page of results.
--
-- 'referenceStoreId', 'listReferences_referenceStoreId' - The references\' reference store ID.
newListReferences ::
  -- | 'referenceStoreId'
  Prelude.Text ->
  ListReferences
newListReferences :: Text -> ListReferences
newListReferences Text
pReferenceStoreId_ =
  ListReferences'
    { $sel:filter':ListReferences' :: Maybe ReferenceFilter
filter' = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListReferences' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListReferences' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:referenceStoreId:ListReferences' :: Text
referenceStoreId = Text
pReferenceStoreId_
    }

-- | A filter to apply to the list.
listReferences_filter :: Lens.Lens' ListReferences (Prelude.Maybe ReferenceFilter)
listReferences_filter :: Lens' ListReferences (Maybe ReferenceFilter)
listReferences_filter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferences' {Maybe ReferenceFilter
filter' :: Maybe ReferenceFilter
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
filter'} -> Maybe ReferenceFilter
filter') (\s :: ListReferences
s@ListReferences' {} Maybe ReferenceFilter
a -> ListReferences
s {$sel:filter':ListReferences' :: Maybe ReferenceFilter
filter' = Maybe ReferenceFilter
a} :: ListReferences)

-- | The maximum number of references to return in one page of results.
listReferences_maxResults :: Lens.Lens' ListReferences (Prelude.Maybe Prelude.Natural)
listReferences_maxResults :: Lens' ListReferences (Maybe Natural)
listReferences_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferences' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListReferences
s@ListReferences' {} Maybe Natural
a -> ListReferences
s {$sel:maxResults:ListReferences' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListReferences)

-- | Specify the pagination token from a previous request to retrieve the
-- next page of results.
listReferences_nextToken :: Lens.Lens' ListReferences (Prelude.Maybe Prelude.Text)
listReferences_nextToken :: Lens' ListReferences (Maybe Text)
listReferences_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferences' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListReferences
s@ListReferences' {} Maybe Text
a -> ListReferences
s {$sel:nextToken:ListReferences' :: Maybe Text
nextToken = Maybe Text
a} :: ListReferences)

-- | The references\' reference store ID.
listReferences_referenceStoreId :: Lens.Lens' ListReferences Prelude.Text
listReferences_referenceStoreId :: Lens' ListReferences Text
listReferences_referenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferences' {Text
referenceStoreId :: Text
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
referenceStoreId} -> Text
referenceStoreId) (\s :: ListReferences
s@ListReferences' {} Text
a -> ListReferences
s {$sel:referenceStoreId:ListReferences' :: Text
referenceStoreId = Text
a} :: ListReferences)

instance Core.AWSPager ListReferences where
  page :: ListReferences
-> AWSResponse ListReferences -> Maybe ListReferences
page ListReferences
rq AWSResponse ListReferences
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListReferences
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListReferencesResponse (Maybe Text)
listReferencesResponse_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 ListReferences
rs forall s a. s -> Getting a s a -> a
Lens.^. Lens' ListReferencesResponse [ReferenceListItem]
listReferencesResponse_references) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListReferences
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListReferences (Maybe Text)
listReferences_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListReferences
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListReferencesResponse (Maybe Text)
listReferencesResponse_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 ListReferences where
  type
    AWSResponse ListReferences =
      ListReferencesResponse
  request :: (Service -> Service) -> ListReferences -> Request ListReferences
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 ListReferences
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListReferences)))
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 -> Int -> [ReferenceListItem] -> ListReferencesResponse
ListReferencesResponse'
            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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            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
"references" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
      )

instance Prelude.Hashable ListReferences where
  hashWithSalt :: Int -> ListReferences -> Int
hashWithSalt Int
_salt ListReferences' {Maybe Natural
Maybe Text
Maybe ReferenceFilter
Text
referenceStoreId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe ReferenceFilter
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReferenceFilter
filter'
      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` Text
referenceStoreId

instance Prelude.NFData ListReferences where
  rnf :: ListReferences -> ()
rnf ListReferences' {Maybe Natural
Maybe Text
Maybe ReferenceFilter
Text
referenceStoreId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe ReferenceFilter
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ReferenceFilter
filter'
      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 Text
referenceStoreId

instance Data.ToHeaders ListReferences where
  toHeaders :: ListReferences -> 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.ToJSON ListReferences where
  toJSON :: ListReferences -> Value
toJSON ListReferences' {Maybe Natural
Maybe Text
Maybe ReferenceFilter
Text
referenceStoreId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe ReferenceFilter
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(Key
"filter" 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 ReferenceFilter
filter']
      )

instance Data.ToPath ListReferences where
  toPath :: ListReferences -> ByteString
toPath ListReferences' {Maybe Natural
Maybe Text
Maybe ReferenceFilter
Text
referenceStoreId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe ReferenceFilter
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/referencestore/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
referenceStoreId,
        ByteString
"/references"
      ]

instance Data.ToQuery ListReferences where
  toQuery :: ListReferences -> QueryString
toQuery ListReferences' {Maybe Natural
Maybe Text
Maybe ReferenceFilter
Text
referenceStoreId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe ReferenceFilter
$sel:referenceStoreId:ListReferences' :: ListReferences -> Text
$sel:nextToken:ListReferences' :: ListReferences -> Maybe Text
$sel:maxResults:ListReferences' :: ListReferences -> Maybe Natural
$sel:filter':ListReferences' :: ListReferences -> Maybe ReferenceFilter
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ 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
      ]

-- | /See:/ 'newListReferencesResponse' smart constructor.
data ListReferencesResponse = ListReferencesResponse'
  { -- | A pagination token that\'s included if more results are available.
    ListReferencesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListReferencesResponse -> Int
httpStatus :: Prelude.Int,
    -- | A list of references.
    ListReferencesResponse -> [ReferenceListItem]
references :: [ReferenceListItem]
  }
  deriving (ListReferencesResponse -> ListReferencesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListReferencesResponse -> ListReferencesResponse -> Bool
$c/= :: ListReferencesResponse -> ListReferencesResponse -> Bool
== :: ListReferencesResponse -> ListReferencesResponse -> Bool
$c== :: ListReferencesResponse -> ListReferencesResponse -> Bool
Prelude.Eq, ReadPrec [ListReferencesResponse]
ReadPrec ListReferencesResponse
Int -> ReadS ListReferencesResponse
ReadS [ListReferencesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListReferencesResponse]
$creadListPrec :: ReadPrec [ListReferencesResponse]
readPrec :: ReadPrec ListReferencesResponse
$creadPrec :: ReadPrec ListReferencesResponse
readList :: ReadS [ListReferencesResponse]
$creadList :: ReadS [ListReferencesResponse]
readsPrec :: Int -> ReadS ListReferencesResponse
$creadsPrec :: Int -> ReadS ListReferencesResponse
Prelude.Read, Int -> ListReferencesResponse -> ShowS
[ListReferencesResponse] -> ShowS
ListReferencesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListReferencesResponse] -> ShowS
$cshowList :: [ListReferencesResponse] -> ShowS
show :: ListReferencesResponse -> String
$cshow :: ListReferencesResponse -> String
showsPrec :: Int -> ListReferencesResponse -> ShowS
$cshowsPrec :: Int -> ListReferencesResponse -> ShowS
Prelude.Show, forall x. Rep ListReferencesResponse x -> ListReferencesResponse
forall x. ListReferencesResponse -> Rep ListReferencesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListReferencesResponse x -> ListReferencesResponse
$cfrom :: forall x. ListReferencesResponse -> Rep ListReferencesResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListReferencesResponse' 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', 'listReferencesResponse_nextToken' - A pagination token that\'s included if more results are available.
--
-- 'httpStatus', 'listReferencesResponse_httpStatus' - The response's http status code.
--
-- 'references', 'listReferencesResponse_references' - A list of references.
newListReferencesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListReferencesResponse
newListReferencesResponse :: Int -> ListReferencesResponse
newListReferencesResponse Int
pHttpStatus_ =
  ListReferencesResponse'
    { $sel:nextToken:ListReferencesResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListReferencesResponse' :: Int
httpStatus = Int
pHttpStatus_,
      $sel:references:ListReferencesResponse' :: [ReferenceListItem]
references = forall a. Monoid a => a
Prelude.mempty
    }

-- | A pagination token that\'s included if more results are available.
listReferencesResponse_nextToken :: Lens.Lens' ListReferencesResponse (Prelude.Maybe Prelude.Text)
listReferencesResponse_nextToken :: Lens' ListReferencesResponse (Maybe Text)
listReferencesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferencesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListReferencesResponse' :: ListReferencesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListReferencesResponse
s@ListReferencesResponse' {} Maybe Text
a -> ListReferencesResponse
s {$sel:nextToken:ListReferencesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListReferencesResponse)

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

-- | A list of references.
listReferencesResponse_references :: Lens.Lens' ListReferencesResponse [ReferenceListItem]
listReferencesResponse_references :: Lens' ListReferencesResponse [ReferenceListItem]
listReferencesResponse_references = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListReferencesResponse' {[ReferenceListItem]
references :: [ReferenceListItem]
$sel:references:ListReferencesResponse' :: ListReferencesResponse -> [ReferenceListItem]
references} -> [ReferenceListItem]
references) (\s :: ListReferencesResponse
s@ListReferencesResponse' {} [ReferenceListItem]
a -> ListReferencesResponse
s {$sel:references:ListReferencesResponse' :: [ReferenceListItem]
references = [ReferenceListItem]
a} :: ListReferencesResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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