{-# 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.StartVariantImportJob
(
StartVariantImportJob (..),
newStartVariantImportJob,
startVariantImportJob_runLeftNormalization,
startVariantImportJob_destinationName,
startVariantImportJob_items,
startVariantImportJob_roleArn,
StartVariantImportJobResponse (..),
newStartVariantImportJobResponse,
startVariantImportJobResponse_httpStatus,
startVariantImportJobResponse_jobId,
)
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 StartVariantImportJob = StartVariantImportJob'
{
StartVariantImportJob -> Maybe Bool
runLeftNormalization :: Prelude.Maybe Prelude.Bool,
StartVariantImportJob -> Text
destinationName :: Prelude.Text,
StartVariantImportJob -> NonEmpty VariantImportItemSource
items :: Prelude.NonEmpty VariantImportItemSource,
StartVariantImportJob -> Text
roleArn :: Prelude.Text
}
deriving (StartVariantImportJob -> StartVariantImportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartVariantImportJob -> StartVariantImportJob -> Bool
$c/= :: StartVariantImportJob -> StartVariantImportJob -> Bool
== :: StartVariantImportJob -> StartVariantImportJob -> Bool
$c== :: StartVariantImportJob -> StartVariantImportJob -> Bool
Prelude.Eq, ReadPrec [StartVariantImportJob]
ReadPrec StartVariantImportJob
Int -> ReadS StartVariantImportJob
ReadS [StartVariantImportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartVariantImportJob]
$creadListPrec :: ReadPrec [StartVariantImportJob]
readPrec :: ReadPrec StartVariantImportJob
$creadPrec :: ReadPrec StartVariantImportJob
readList :: ReadS [StartVariantImportJob]
$creadList :: ReadS [StartVariantImportJob]
readsPrec :: Int -> ReadS StartVariantImportJob
$creadsPrec :: Int -> ReadS StartVariantImportJob
Prelude.Read, Int -> StartVariantImportJob -> ShowS
[StartVariantImportJob] -> ShowS
StartVariantImportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartVariantImportJob] -> ShowS
$cshowList :: [StartVariantImportJob] -> ShowS
show :: StartVariantImportJob -> String
$cshow :: StartVariantImportJob -> String
showsPrec :: Int -> StartVariantImportJob -> ShowS
$cshowsPrec :: Int -> StartVariantImportJob -> ShowS
Prelude.Show, forall x. Rep StartVariantImportJob x -> StartVariantImportJob
forall x. StartVariantImportJob -> Rep StartVariantImportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartVariantImportJob x -> StartVariantImportJob
$cfrom :: forall x. StartVariantImportJob -> Rep StartVariantImportJob x
Prelude.Generic)
newStartVariantImportJob ::
Prelude.Text ->
Prelude.NonEmpty VariantImportItemSource ->
Prelude.Text ->
StartVariantImportJob
newStartVariantImportJob :: Text
-> NonEmpty VariantImportItemSource
-> Text
-> StartVariantImportJob
newStartVariantImportJob
Text
pDestinationName_
NonEmpty VariantImportItemSource
pItems_
Text
pRoleArn_ =
StartVariantImportJob'
{ $sel:runLeftNormalization:StartVariantImportJob' :: Maybe Bool
runLeftNormalization =
forall a. Maybe a
Prelude.Nothing,
$sel:destinationName:StartVariantImportJob' :: Text
destinationName = Text
pDestinationName_,
$sel:items:StartVariantImportJob' :: NonEmpty VariantImportItemSource
items = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty VariantImportItemSource
pItems_,
$sel:roleArn:StartVariantImportJob' :: Text
roleArn = Text
pRoleArn_
}
startVariantImportJob_runLeftNormalization :: Lens.Lens' StartVariantImportJob (Prelude.Maybe Prelude.Bool)
startVariantImportJob_runLeftNormalization :: Lens' StartVariantImportJob (Maybe Bool)
startVariantImportJob_runLeftNormalization = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJob' {Maybe Bool
runLeftNormalization :: Maybe Bool
$sel:runLeftNormalization:StartVariantImportJob' :: StartVariantImportJob -> Maybe Bool
runLeftNormalization} -> Maybe Bool
runLeftNormalization) (\s :: StartVariantImportJob
s@StartVariantImportJob' {} Maybe Bool
a -> StartVariantImportJob
s {$sel:runLeftNormalization:StartVariantImportJob' :: Maybe Bool
runLeftNormalization = Maybe Bool
a} :: StartVariantImportJob)
startVariantImportJob_destinationName :: Lens.Lens' StartVariantImportJob Prelude.Text
startVariantImportJob_destinationName :: Lens' StartVariantImportJob Text
startVariantImportJob_destinationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJob' {Text
destinationName :: Text
$sel:destinationName:StartVariantImportJob' :: StartVariantImportJob -> Text
destinationName} -> Text
destinationName) (\s :: StartVariantImportJob
s@StartVariantImportJob' {} Text
a -> StartVariantImportJob
s {$sel:destinationName:StartVariantImportJob' :: Text
destinationName = Text
a} :: StartVariantImportJob)
startVariantImportJob_items :: Lens.Lens' StartVariantImportJob (Prelude.NonEmpty VariantImportItemSource)
startVariantImportJob_items :: Lens' StartVariantImportJob (NonEmpty VariantImportItemSource)
startVariantImportJob_items = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJob' {NonEmpty VariantImportItemSource
items :: NonEmpty VariantImportItemSource
$sel:items:StartVariantImportJob' :: StartVariantImportJob -> NonEmpty VariantImportItemSource
items} -> NonEmpty VariantImportItemSource
items) (\s :: StartVariantImportJob
s@StartVariantImportJob' {} NonEmpty VariantImportItemSource
a -> StartVariantImportJob
s {$sel:items:StartVariantImportJob' :: NonEmpty VariantImportItemSource
items = NonEmpty VariantImportItemSource
a} :: StartVariantImportJob) 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
startVariantImportJob_roleArn :: Lens.Lens' StartVariantImportJob Prelude.Text
startVariantImportJob_roleArn :: Lens' StartVariantImportJob Text
startVariantImportJob_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJob' {Text
roleArn :: Text
$sel:roleArn:StartVariantImportJob' :: StartVariantImportJob -> Text
roleArn} -> Text
roleArn) (\s :: StartVariantImportJob
s@StartVariantImportJob' {} Text
a -> StartVariantImportJob
s {$sel:roleArn:StartVariantImportJob' :: Text
roleArn = Text
a} :: StartVariantImportJob)
instance Core.AWSRequest StartVariantImportJob where
type
AWSResponse StartVariantImportJob =
StartVariantImportJobResponse
request :: (Service -> Service)
-> StartVariantImportJob -> Request StartVariantImportJob
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 StartVariantImportJob
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartVariantImportJob)))
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 ->
Int -> Text -> StartVariantImportJobResponse
StartVariantImportJobResponse'
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.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"jobId")
)
instance Prelude.Hashable StartVariantImportJob where
hashWithSalt :: Int -> StartVariantImportJob -> Int
hashWithSalt Int
_salt StartVariantImportJob' {Maybe Bool
NonEmpty VariantImportItemSource
Text
roleArn :: Text
items :: NonEmpty VariantImportItemSource
destinationName :: Text
runLeftNormalization :: Maybe Bool
$sel:roleArn:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:items:StartVariantImportJob' :: StartVariantImportJob -> NonEmpty VariantImportItemSource
$sel:destinationName:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:runLeftNormalization:StartVariantImportJob' :: StartVariantImportJob -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
runLeftNormalization
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
destinationName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty VariantImportItemSource
items
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleArn
instance Prelude.NFData StartVariantImportJob where
rnf :: StartVariantImportJob -> ()
rnf StartVariantImportJob' {Maybe Bool
NonEmpty VariantImportItemSource
Text
roleArn :: Text
items :: NonEmpty VariantImportItemSource
destinationName :: Text
runLeftNormalization :: Maybe Bool
$sel:roleArn:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:items:StartVariantImportJob' :: StartVariantImportJob -> NonEmpty VariantImportItemSource
$sel:destinationName:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:runLeftNormalization:StartVariantImportJob' :: StartVariantImportJob -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
runLeftNormalization
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
destinationName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty VariantImportItemSource
items
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn
instance Data.ToHeaders StartVariantImportJob where
toHeaders :: StartVariantImportJob -> 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 StartVariantImportJob where
toJSON :: StartVariantImportJob -> Value
toJSON StartVariantImportJob' {Maybe Bool
NonEmpty VariantImportItemSource
Text
roleArn :: Text
items :: NonEmpty VariantImportItemSource
destinationName :: Text
runLeftNormalization :: Maybe Bool
$sel:roleArn:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:items:StartVariantImportJob' :: StartVariantImportJob -> NonEmpty VariantImportItemSource
$sel:destinationName:StartVariantImportJob' :: StartVariantImportJob -> Text
$sel:runLeftNormalization:StartVariantImportJob' :: StartVariantImportJob -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"runLeftNormalization" 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 Bool
runLeftNormalization,
forall a. a -> Maybe a
Prelude.Just
(Key
"destinationName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
destinationName),
forall a. a -> Maybe a
Prelude.Just (Key
"items" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty VariantImportItemSource
items),
forall a. a -> Maybe a
Prelude.Just (Key
"roleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleArn)
]
)
instance Data.ToPath StartVariantImportJob where
toPath :: StartVariantImportJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/import/variant"
instance Data.ToQuery StartVariantImportJob where
toQuery :: StartVariantImportJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartVariantImportJobResponse = StartVariantImportJobResponse'
{
StartVariantImportJobResponse -> Int
httpStatus :: Prelude.Int,
StartVariantImportJobResponse -> Text
jobId :: Prelude.Text
}
deriving (StartVariantImportJobResponse
-> StartVariantImportJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartVariantImportJobResponse
-> StartVariantImportJobResponse -> Bool
$c/= :: StartVariantImportJobResponse
-> StartVariantImportJobResponse -> Bool
== :: StartVariantImportJobResponse
-> StartVariantImportJobResponse -> Bool
$c== :: StartVariantImportJobResponse
-> StartVariantImportJobResponse -> Bool
Prelude.Eq, ReadPrec [StartVariantImportJobResponse]
ReadPrec StartVariantImportJobResponse
Int -> ReadS StartVariantImportJobResponse
ReadS [StartVariantImportJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartVariantImportJobResponse]
$creadListPrec :: ReadPrec [StartVariantImportJobResponse]
readPrec :: ReadPrec StartVariantImportJobResponse
$creadPrec :: ReadPrec StartVariantImportJobResponse
readList :: ReadS [StartVariantImportJobResponse]
$creadList :: ReadS [StartVariantImportJobResponse]
readsPrec :: Int -> ReadS StartVariantImportJobResponse
$creadsPrec :: Int -> ReadS StartVariantImportJobResponse
Prelude.Read, Int -> StartVariantImportJobResponse -> ShowS
[StartVariantImportJobResponse] -> ShowS
StartVariantImportJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartVariantImportJobResponse] -> ShowS
$cshowList :: [StartVariantImportJobResponse] -> ShowS
show :: StartVariantImportJobResponse -> String
$cshow :: StartVariantImportJobResponse -> String
showsPrec :: Int -> StartVariantImportJobResponse -> ShowS
$cshowsPrec :: Int -> StartVariantImportJobResponse -> ShowS
Prelude.Show, forall x.
Rep StartVariantImportJobResponse x
-> StartVariantImportJobResponse
forall x.
StartVariantImportJobResponse
-> Rep StartVariantImportJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartVariantImportJobResponse x
-> StartVariantImportJobResponse
$cfrom :: forall x.
StartVariantImportJobResponse
-> Rep StartVariantImportJobResponse x
Prelude.Generic)
newStartVariantImportJobResponse ::
Prelude.Int ->
Prelude.Text ->
StartVariantImportJobResponse
newStartVariantImportJobResponse :: Int -> Text -> StartVariantImportJobResponse
newStartVariantImportJobResponse Int
pHttpStatus_ Text
pJobId_ =
StartVariantImportJobResponse'
{ $sel:httpStatus:StartVariantImportJobResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:jobId:StartVariantImportJobResponse' :: Text
jobId = Text
pJobId_
}
startVariantImportJobResponse_httpStatus :: Lens.Lens' StartVariantImportJobResponse Prelude.Int
startVariantImportJobResponse_httpStatus :: Lens' StartVariantImportJobResponse Int
startVariantImportJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartVariantImportJobResponse' :: StartVariantImportJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartVariantImportJobResponse
s@StartVariantImportJobResponse' {} Int
a -> StartVariantImportJobResponse
s {$sel:httpStatus:StartVariantImportJobResponse' :: Int
httpStatus = Int
a} :: StartVariantImportJobResponse)
startVariantImportJobResponse_jobId :: Lens.Lens' StartVariantImportJobResponse Prelude.Text
startVariantImportJobResponse_jobId :: Lens' StartVariantImportJobResponse Text
startVariantImportJobResponse_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartVariantImportJobResponse' {Text
jobId :: Text
$sel:jobId:StartVariantImportJobResponse' :: StartVariantImportJobResponse -> Text
jobId} -> Text
jobId) (\s :: StartVariantImportJobResponse
s@StartVariantImportJobResponse' {} Text
a -> StartVariantImportJobResponse
s {$sel:jobId:StartVariantImportJobResponse' :: Text
jobId = Text
a} :: StartVariantImportJobResponse)
instance Prelude.NFData StartVariantImportJobResponse where
rnf :: StartVariantImportJobResponse -> ()
rnf StartVariantImportJobResponse' {Int
Text
jobId :: Text
httpStatus :: Int
$sel:jobId:StartVariantImportJobResponse' :: StartVariantImportJobResponse -> Text
$sel:httpStatus:StartVariantImportJobResponse' :: StartVariantImportJobResponse -> Int
..} =
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 Text
jobId