{-# 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.GetReference
(
GetReference (..),
newGetReference,
getReference_file,
getReference_range,
getReference_id,
getReference_partNumber,
getReference_referenceStoreId,
GetReferenceResponse (..),
newGetReferenceResponse,
getReferenceResponse_httpStatus,
getReferenceResponse_payload,
)
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 GetReference = GetReference'
{
GetReference -> Maybe ReferenceFile
file :: Prelude.Maybe ReferenceFile,
GetReference -> Maybe Text
range :: Prelude.Maybe Prelude.Text,
GetReference -> Text
id :: Prelude.Text,
GetReference -> Natural
partNumber :: Prelude.Natural,
GetReference -> Text
referenceStoreId :: Prelude.Text
}
deriving (GetReference -> GetReference -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetReference -> GetReference -> Bool
$c/= :: GetReference -> GetReference -> Bool
== :: GetReference -> GetReference -> Bool
$c== :: GetReference -> GetReference -> Bool
Prelude.Eq, ReadPrec [GetReference]
ReadPrec GetReference
Int -> ReadS GetReference
ReadS [GetReference]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetReference]
$creadListPrec :: ReadPrec [GetReference]
readPrec :: ReadPrec GetReference
$creadPrec :: ReadPrec GetReference
readList :: ReadS [GetReference]
$creadList :: ReadS [GetReference]
readsPrec :: Int -> ReadS GetReference
$creadsPrec :: Int -> ReadS GetReference
Prelude.Read, Int -> GetReference -> ShowS
[GetReference] -> ShowS
GetReference -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReference] -> ShowS
$cshowList :: [GetReference] -> ShowS
show :: GetReference -> String
$cshow :: GetReference -> String
showsPrec :: Int -> GetReference -> ShowS
$cshowsPrec :: Int -> GetReference -> ShowS
Prelude.Show, forall x. Rep GetReference x -> GetReference
forall x. GetReference -> Rep GetReference x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetReference x -> GetReference
$cfrom :: forall x. GetReference -> Rep GetReference x
Prelude.Generic)
newGetReference ::
Prelude.Text ->
Prelude.Natural ->
Prelude.Text ->
GetReference
newGetReference :: Text -> Natural -> Text -> GetReference
newGetReference Text
pId_ Natural
pPartNumber_ Text
pReferenceStoreId_ =
GetReference'
{ $sel:file:GetReference' :: Maybe ReferenceFile
file = forall a. Maybe a
Prelude.Nothing,
$sel:range:GetReference' :: Maybe Text
range = forall a. Maybe a
Prelude.Nothing,
$sel:id:GetReference' :: Text
id = Text
pId_,
$sel:partNumber:GetReference' :: Natural
partNumber = Natural
pPartNumber_,
$sel:referenceStoreId:GetReference' :: Text
referenceStoreId = Text
pReferenceStoreId_
}
getReference_file :: Lens.Lens' GetReference (Prelude.Maybe ReferenceFile)
getReference_file :: Lens' GetReference (Maybe ReferenceFile)
getReference_file = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReference' {Maybe ReferenceFile
file :: Maybe ReferenceFile
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
file} -> Maybe ReferenceFile
file) (\s :: GetReference
s@GetReference' {} Maybe ReferenceFile
a -> GetReference
s {$sel:file:GetReference' :: Maybe ReferenceFile
file = Maybe ReferenceFile
a} :: GetReference)
getReference_range :: Lens.Lens' GetReference (Prelude.Maybe Prelude.Text)
getReference_range :: Lens' GetReference (Maybe Text)
getReference_range = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReference' {Maybe Text
range :: Maybe Text
$sel:range:GetReference' :: GetReference -> Maybe Text
range} -> Maybe Text
range) (\s :: GetReference
s@GetReference' {} Maybe Text
a -> GetReference
s {$sel:range:GetReference' :: Maybe Text
range = Maybe Text
a} :: GetReference)
getReference_id :: Lens.Lens' GetReference Prelude.Text
getReference_id :: Lens' GetReference Text
getReference_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReference' {Text
id :: Text
$sel:id:GetReference' :: GetReference -> Text
id} -> Text
id) (\s :: GetReference
s@GetReference' {} Text
a -> GetReference
s {$sel:id:GetReference' :: Text
id = Text
a} :: GetReference)
getReference_partNumber :: Lens.Lens' GetReference Prelude.Natural
getReference_partNumber :: Lens' GetReference Natural
getReference_partNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReference' {Natural
partNumber :: Natural
$sel:partNumber:GetReference' :: GetReference -> Natural
partNumber} -> Natural
partNumber) (\s :: GetReference
s@GetReference' {} Natural
a -> GetReference
s {$sel:partNumber:GetReference' :: Natural
partNumber = Natural
a} :: GetReference)
getReference_referenceStoreId :: Lens.Lens' GetReference Prelude.Text
getReference_referenceStoreId :: Lens' GetReference Text
getReference_referenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReference' {Text
referenceStoreId :: Text
$sel:referenceStoreId:GetReference' :: GetReference -> Text
referenceStoreId} -> Text
referenceStoreId) (\s :: GetReference
s@GetReference' {} Text
a -> GetReference
s {$sel:referenceStoreId:GetReference' :: Text
referenceStoreId = Text
a} :: GetReference)
instance Core.AWSRequest GetReference where
type AWSResponse GetReference = GetReferenceResponse
request :: (Service -> Service) -> GetReference -> Request GetReference
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 GetReference
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetReference)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int
-> ResponseHeaders
-> ResponseBody
-> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveBody
( \Int
s ResponseHeaders
h ResponseBody
x ->
Int -> ResponseBody -> GetReferenceResponse
GetReferenceResponse'
forall (f :: * -> *) a b. Functor 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure ResponseBody
x)
)
instance Prelude.Hashable GetReference where
hashWithSalt :: Int -> GetReference -> Int
hashWithSalt Int
_salt GetReference' {Natural
Maybe Text
Maybe ReferenceFile
Text
referenceStoreId :: Text
partNumber :: Natural
id :: Text
range :: Maybe Text
file :: Maybe ReferenceFile
$sel:referenceStoreId:GetReference' :: GetReference -> Text
$sel:partNumber:GetReference' :: GetReference -> Natural
$sel:id:GetReference' :: GetReference -> Text
$sel:range:GetReference' :: GetReference -> Maybe Text
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReferenceFile
file
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
range
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
partNumber
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
referenceStoreId
instance Prelude.NFData GetReference where
rnf :: GetReference -> ()
rnf GetReference' {Natural
Maybe Text
Maybe ReferenceFile
Text
referenceStoreId :: Text
partNumber :: Natural
id :: Text
range :: Maybe Text
file :: Maybe ReferenceFile
$sel:referenceStoreId:GetReference' :: GetReference -> Text
$sel:partNumber:GetReference' :: GetReference -> Natural
$sel:id:GetReference' :: GetReference -> Text
$sel:range:GetReference' :: GetReference -> Maybe Text
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ReferenceFile
file
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
range
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
partNumber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
referenceStoreId
instance Data.ToHeaders GetReference where
toHeaders :: GetReference -> ResponseHeaders
toHeaders GetReference' {Natural
Maybe Text
Maybe ReferenceFile
Text
referenceStoreId :: Text
partNumber :: Natural
id :: Text
range :: Maybe Text
file :: Maybe ReferenceFile
$sel:referenceStoreId:GetReference' :: GetReference -> Text
$sel:partNumber:GetReference' :: GetReference -> Natural
$sel:id:GetReference' :: GetReference -> Text
$sel:range:GetReference' :: GetReference -> Maybe Text
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Range" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
range,
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
]
instance Data.ToPath GetReference where
toPath :: GetReference -> ByteString
toPath GetReference' {Natural
Maybe Text
Maybe ReferenceFile
Text
referenceStoreId :: Text
partNumber :: Natural
id :: Text
range :: Maybe Text
file :: Maybe ReferenceFile
$sel:referenceStoreId:GetReference' :: GetReference -> Text
$sel:partNumber:GetReference' :: GetReference -> Natural
$sel:id:GetReference' :: GetReference -> Text
$sel:range:GetReference' :: GetReference -> Maybe Text
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/referencestore/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
referenceStoreId,
ByteString
"/reference/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id
]
instance Data.ToQuery GetReference where
toQuery :: GetReference -> QueryString
toQuery GetReference' {Natural
Maybe Text
Maybe ReferenceFile
Text
referenceStoreId :: Text
partNumber :: Natural
id :: Text
range :: Maybe Text
file :: Maybe ReferenceFile
$sel:referenceStoreId:GetReference' :: GetReference -> Text
$sel:partNumber:GetReference' :: GetReference -> Natural
$sel:id:GetReference' :: GetReference -> Text
$sel:range:GetReference' :: GetReference -> Maybe Text
$sel:file:GetReference' :: GetReference -> Maybe ReferenceFile
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"file" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ReferenceFile
file,
ByteString
"partNumber" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Natural
partNumber
]
data GetReferenceResponse = GetReferenceResponse'
{
GetReferenceResponse -> Int
httpStatus :: Prelude.Int,
GetReferenceResponse -> ResponseBody
payload :: Data.ResponseBody
}
deriving (Int -> GetReferenceResponse -> ShowS
[GetReferenceResponse] -> ShowS
GetReferenceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReferenceResponse] -> ShowS
$cshowList :: [GetReferenceResponse] -> ShowS
show :: GetReferenceResponse -> String
$cshow :: GetReferenceResponse -> String
showsPrec :: Int -> GetReferenceResponse -> ShowS
$cshowsPrec :: Int -> GetReferenceResponse -> ShowS
Prelude.Show, forall x. Rep GetReferenceResponse x -> GetReferenceResponse
forall x. GetReferenceResponse -> Rep GetReferenceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetReferenceResponse x -> GetReferenceResponse
$cfrom :: forall x. GetReferenceResponse -> Rep GetReferenceResponse x
Prelude.Generic)
newGetReferenceResponse ::
Prelude.Int ->
Data.ResponseBody ->
GetReferenceResponse
newGetReferenceResponse :: Int -> ResponseBody -> GetReferenceResponse
newGetReferenceResponse Int
pHttpStatus_ ResponseBody
pPayload_ =
GetReferenceResponse'
{ $sel:httpStatus:GetReferenceResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:payload:GetReferenceResponse' :: ResponseBody
payload = ResponseBody
pPayload_
}
getReferenceResponse_httpStatus :: Lens.Lens' GetReferenceResponse Prelude.Int
getReferenceResponse_httpStatus :: Lens' GetReferenceResponse Int
getReferenceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetReferenceResponse' :: GetReferenceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetReferenceResponse
s@GetReferenceResponse' {} Int
a -> GetReferenceResponse
s {$sel:httpStatus:GetReferenceResponse' :: Int
httpStatus = Int
a} :: GetReferenceResponse)
getReferenceResponse_payload :: Lens.Lens' GetReferenceResponse Data.ResponseBody
getReferenceResponse_payload :: Lens' GetReferenceResponse ResponseBody
getReferenceResponse_payload = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceResponse' {ResponseBody
payload :: ResponseBody
$sel:payload:GetReferenceResponse' :: GetReferenceResponse -> ResponseBody
payload} -> ResponseBody
payload) (\s :: GetReferenceResponse
s@GetReferenceResponse' {} ResponseBody
a -> GetReferenceResponse
s {$sel:payload:GetReferenceResponse' :: ResponseBody
payload = ResponseBody
a} :: GetReferenceResponse)