{-# 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 #-}
module Amazonka.Omics.ListReferences
(
ListReferences (..),
newListReferences,
listReferences_filter,
listReferences_maxResults,
listReferences_nextToken,
listReferences_referenceStoreId,
ListReferencesResponse (..),
newListReferencesResponse,
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
data ListReferences = ListReferences'
{
ListReferences -> Maybe ReferenceFilter
filter' :: Prelude.Maybe ReferenceFilter,
ListReferences -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
ListReferences -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
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)
newListReferences ::
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_
}
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)
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)
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)
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
]
data ListReferencesResponse = ListReferencesResponse'
{
ListReferencesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListReferencesResponse -> Int
httpStatus :: Prelude.Int,
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)
newListReferencesResponse ::
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
}
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)
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)
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