{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Omics.Types.VariantStoreItem 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.ReferenceItem
import Amazonka.Omics.Types.SseConfig
import Amazonka.Omics.Types.StoreStatus
import qualified Amazonka.Prelude as Prelude
data VariantStoreItem = VariantStoreItem'
{
VariantStoreItem -> ISO8601
creationTime :: Data.ISO8601,
VariantStoreItem -> Text
description :: Prelude.Text,
VariantStoreItem -> Text
id :: Prelude.Text,
VariantStoreItem -> Text
name :: Prelude.Text,
VariantStoreItem -> ReferenceItem
reference :: ReferenceItem,
VariantStoreItem -> SseConfig
sseConfig :: SseConfig,
VariantStoreItem -> StoreStatus
status :: StoreStatus,
VariantStoreItem -> Text
statusMessage :: Prelude.Text,
VariantStoreItem -> Text
storeArn :: Prelude.Text,
VariantStoreItem -> Integer
storeSizeBytes :: Prelude.Integer,
VariantStoreItem -> ISO8601
updateTime :: Data.ISO8601
}
deriving (VariantStoreItem -> VariantStoreItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VariantStoreItem -> VariantStoreItem -> Bool
$c/= :: VariantStoreItem -> VariantStoreItem -> Bool
== :: VariantStoreItem -> VariantStoreItem -> Bool
$c== :: VariantStoreItem -> VariantStoreItem -> Bool
Prelude.Eq, ReadPrec [VariantStoreItem]
ReadPrec VariantStoreItem
Int -> ReadS VariantStoreItem
ReadS [VariantStoreItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VariantStoreItem]
$creadListPrec :: ReadPrec [VariantStoreItem]
readPrec :: ReadPrec VariantStoreItem
$creadPrec :: ReadPrec VariantStoreItem
readList :: ReadS [VariantStoreItem]
$creadList :: ReadS [VariantStoreItem]
readsPrec :: Int -> ReadS VariantStoreItem
$creadsPrec :: Int -> ReadS VariantStoreItem
Prelude.Read, Int -> VariantStoreItem -> ShowS
[VariantStoreItem] -> ShowS
VariantStoreItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VariantStoreItem] -> ShowS
$cshowList :: [VariantStoreItem] -> ShowS
show :: VariantStoreItem -> String
$cshow :: VariantStoreItem -> String
showsPrec :: Int -> VariantStoreItem -> ShowS
$cshowsPrec :: Int -> VariantStoreItem -> ShowS
Prelude.Show, forall x. Rep VariantStoreItem x -> VariantStoreItem
forall x. VariantStoreItem -> Rep VariantStoreItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VariantStoreItem x -> VariantStoreItem
$cfrom :: forall x. VariantStoreItem -> Rep VariantStoreItem x
Prelude.Generic)
newVariantStoreItem ::
Prelude.UTCTime ->
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
ReferenceItem ->
SseConfig ->
StoreStatus ->
Prelude.Text ->
Prelude.Text ->
Prelude.Integer ->
Prelude.UTCTime ->
VariantStoreItem
newVariantStoreItem :: UTCTime
-> Text
-> Text
-> Text
-> ReferenceItem
-> SseConfig
-> StoreStatus
-> Text
-> Text
-> Integer
-> UTCTime
-> VariantStoreItem
newVariantStoreItem
UTCTime
pCreationTime_
Text
pDescription_
Text
pId_
Text
pName_
ReferenceItem
pReference_
SseConfig
pSseConfig_
StoreStatus
pStatus_
Text
pStatusMessage_
Text
pStoreArn_
Integer
pStoreSizeBytes_
UTCTime
pUpdateTime_ =
VariantStoreItem'
{ $sel:creationTime:VariantStoreItem' :: ISO8601
creationTime =
forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
$sel:description:VariantStoreItem' :: Text
description = Text
pDescription_,
$sel:id:VariantStoreItem' :: Text
id = Text
pId_,
$sel:name:VariantStoreItem' :: Text
name = Text
pName_,
$sel:reference:VariantStoreItem' :: ReferenceItem
reference = ReferenceItem
pReference_,
$sel:sseConfig:VariantStoreItem' :: SseConfig
sseConfig = SseConfig
pSseConfig_,
$sel:status:VariantStoreItem' :: StoreStatus
status = StoreStatus
pStatus_,
$sel:statusMessage:VariantStoreItem' :: Text
statusMessage = Text
pStatusMessage_,
$sel:storeArn:VariantStoreItem' :: Text
storeArn = Text
pStoreArn_,
$sel:storeSizeBytes:VariantStoreItem' :: Integer
storeSizeBytes = Integer
pStoreSizeBytes_,
$sel:updateTime:VariantStoreItem' :: ISO8601
updateTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdateTime_
}
variantStoreItem_creationTime :: Lens.Lens' VariantStoreItem Prelude.UTCTime
variantStoreItem_creationTime :: Lens' VariantStoreItem UTCTime
variantStoreItem_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {ISO8601
creationTime :: ISO8601
$sel:creationTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
creationTime} -> ISO8601
creationTime) (\s :: VariantStoreItem
s@VariantStoreItem' {} ISO8601
a -> VariantStoreItem
s {$sel:creationTime:VariantStoreItem' :: ISO8601
creationTime = ISO8601
a} :: VariantStoreItem) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
variantStoreItem_description :: Lens.Lens' VariantStoreItem Prelude.Text
variantStoreItem_description :: Lens' VariantStoreItem Text
variantStoreItem_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Text
description :: Text
$sel:description:VariantStoreItem' :: VariantStoreItem -> Text
description} -> Text
description) (\s :: VariantStoreItem
s@VariantStoreItem' {} Text
a -> VariantStoreItem
s {$sel:description:VariantStoreItem' :: Text
description = Text
a} :: VariantStoreItem)
variantStoreItem_id :: Lens.Lens' VariantStoreItem Prelude.Text
variantStoreItem_id :: Lens' VariantStoreItem Text
variantStoreItem_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Text
id :: Text
$sel:id:VariantStoreItem' :: VariantStoreItem -> Text
id} -> Text
id) (\s :: VariantStoreItem
s@VariantStoreItem' {} Text
a -> VariantStoreItem
s {$sel:id:VariantStoreItem' :: Text
id = Text
a} :: VariantStoreItem)
variantStoreItem_name :: Lens.Lens' VariantStoreItem Prelude.Text
variantStoreItem_name :: Lens' VariantStoreItem Text
variantStoreItem_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Text
name :: Text
$sel:name:VariantStoreItem' :: VariantStoreItem -> Text
name} -> Text
name) (\s :: VariantStoreItem
s@VariantStoreItem' {} Text
a -> VariantStoreItem
s {$sel:name:VariantStoreItem' :: Text
name = Text
a} :: VariantStoreItem)
variantStoreItem_reference :: Lens.Lens' VariantStoreItem ReferenceItem
variantStoreItem_reference :: Lens' VariantStoreItem ReferenceItem
variantStoreItem_reference = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {ReferenceItem
reference :: ReferenceItem
$sel:reference:VariantStoreItem' :: VariantStoreItem -> ReferenceItem
reference} -> ReferenceItem
reference) (\s :: VariantStoreItem
s@VariantStoreItem' {} ReferenceItem
a -> VariantStoreItem
s {$sel:reference:VariantStoreItem' :: ReferenceItem
reference = ReferenceItem
a} :: VariantStoreItem)
variantStoreItem_sseConfig :: Lens.Lens' VariantStoreItem SseConfig
variantStoreItem_sseConfig :: Lens' VariantStoreItem SseConfig
variantStoreItem_sseConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {SseConfig
sseConfig :: SseConfig
$sel:sseConfig:VariantStoreItem' :: VariantStoreItem -> SseConfig
sseConfig} -> SseConfig
sseConfig) (\s :: VariantStoreItem
s@VariantStoreItem' {} SseConfig
a -> VariantStoreItem
s {$sel:sseConfig:VariantStoreItem' :: SseConfig
sseConfig = SseConfig
a} :: VariantStoreItem)
variantStoreItem_status :: Lens.Lens' VariantStoreItem StoreStatus
variantStoreItem_status :: Lens' VariantStoreItem StoreStatus
variantStoreItem_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {StoreStatus
status :: StoreStatus
$sel:status:VariantStoreItem' :: VariantStoreItem -> StoreStatus
status} -> StoreStatus
status) (\s :: VariantStoreItem
s@VariantStoreItem' {} StoreStatus
a -> VariantStoreItem
s {$sel:status:VariantStoreItem' :: StoreStatus
status = StoreStatus
a} :: VariantStoreItem)
variantStoreItem_statusMessage :: Lens.Lens' VariantStoreItem Prelude.Text
variantStoreItem_statusMessage :: Lens' VariantStoreItem Text
variantStoreItem_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Text
statusMessage :: Text
$sel:statusMessage:VariantStoreItem' :: VariantStoreItem -> Text
statusMessage} -> Text
statusMessage) (\s :: VariantStoreItem
s@VariantStoreItem' {} Text
a -> VariantStoreItem
s {$sel:statusMessage:VariantStoreItem' :: Text
statusMessage = Text
a} :: VariantStoreItem)
variantStoreItem_storeArn :: Lens.Lens' VariantStoreItem Prelude.Text
variantStoreItem_storeArn :: Lens' VariantStoreItem Text
variantStoreItem_storeArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Text
storeArn :: Text
$sel:storeArn:VariantStoreItem' :: VariantStoreItem -> Text
storeArn} -> Text
storeArn) (\s :: VariantStoreItem
s@VariantStoreItem' {} Text
a -> VariantStoreItem
s {$sel:storeArn:VariantStoreItem' :: Text
storeArn = Text
a} :: VariantStoreItem)
variantStoreItem_storeSizeBytes :: Lens.Lens' VariantStoreItem Prelude.Integer
variantStoreItem_storeSizeBytes :: Lens' VariantStoreItem Integer
variantStoreItem_storeSizeBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {Integer
storeSizeBytes :: Integer
$sel:storeSizeBytes:VariantStoreItem' :: VariantStoreItem -> Integer
storeSizeBytes} -> Integer
storeSizeBytes) (\s :: VariantStoreItem
s@VariantStoreItem' {} Integer
a -> VariantStoreItem
s {$sel:storeSizeBytes:VariantStoreItem' :: Integer
storeSizeBytes = Integer
a} :: VariantStoreItem)
variantStoreItem_updateTime :: Lens.Lens' VariantStoreItem Prelude.UTCTime
variantStoreItem_updateTime :: Lens' VariantStoreItem UTCTime
variantStoreItem_updateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VariantStoreItem' {ISO8601
updateTime :: ISO8601
$sel:updateTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
updateTime} -> ISO8601
updateTime) (\s :: VariantStoreItem
s@VariantStoreItem' {} ISO8601
a -> VariantStoreItem
s {$sel:updateTime:VariantStoreItem' :: ISO8601
updateTime = ISO8601
a} :: VariantStoreItem) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
instance Data.FromJSON VariantStoreItem where
parseJSON :: Value -> Parser VariantStoreItem
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"VariantStoreItem"
( \Object
x ->
ISO8601
-> Text
-> Text
-> Text
-> ReferenceItem
-> SseConfig
-> StoreStatus
-> Text
-> Text
-> Integer
-> ISO8601
-> VariantStoreItem
VariantStoreItem'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"creationTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"description")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"id")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"reference")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"sseConfig")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"statusMessage")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"storeArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"storeSizeBytes")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"updateTime")
)
instance Prelude.Hashable VariantStoreItem where
hashWithSalt :: Int -> VariantStoreItem -> Int
hashWithSalt Int
_salt VariantStoreItem' {Integer
Text
ISO8601
ReferenceItem
SseConfig
StoreStatus
updateTime :: ISO8601
storeSizeBytes :: Integer
storeArn :: Text
statusMessage :: Text
status :: StoreStatus
sseConfig :: SseConfig
reference :: ReferenceItem
name :: Text
id :: Text
description :: Text
creationTime :: ISO8601
$sel:updateTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
$sel:storeSizeBytes:VariantStoreItem' :: VariantStoreItem -> Integer
$sel:storeArn:VariantStoreItem' :: VariantStoreItem -> Text
$sel:statusMessage:VariantStoreItem' :: VariantStoreItem -> Text
$sel:status:VariantStoreItem' :: VariantStoreItem -> StoreStatus
$sel:sseConfig:VariantStoreItem' :: VariantStoreItem -> SseConfig
$sel:reference:VariantStoreItem' :: VariantStoreItem -> ReferenceItem
$sel:name:VariantStoreItem' :: VariantStoreItem -> Text
$sel:id:VariantStoreItem' :: VariantStoreItem -> Text
$sel:description:VariantStoreItem' :: VariantStoreItem -> Text
$sel:creationTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ISO8601
creationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReferenceItem
reference
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` SseConfig
sseConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` StoreStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
statusMessage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
storeArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Integer
storeSizeBytes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ISO8601
updateTime
instance Prelude.NFData VariantStoreItem where
rnf :: VariantStoreItem -> ()
rnf VariantStoreItem' {Integer
Text
ISO8601
ReferenceItem
SseConfig
StoreStatus
updateTime :: ISO8601
storeSizeBytes :: Integer
storeArn :: Text
statusMessage :: Text
status :: StoreStatus
sseConfig :: SseConfig
reference :: ReferenceItem
name :: Text
id :: Text
description :: Text
creationTime :: ISO8601
$sel:updateTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
$sel:storeSizeBytes:VariantStoreItem' :: VariantStoreItem -> Integer
$sel:storeArn:VariantStoreItem' :: VariantStoreItem -> Text
$sel:statusMessage:VariantStoreItem' :: VariantStoreItem -> Text
$sel:status:VariantStoreItem' :: VariantStoreItem -> StoreStatus
$sel:sseConfig:VariantStoreItem' :: VariantStoreItem -> SseConfig
$sel:reference:VariantStoreItem' :: VariantStoreItem -> ReferenceItem
$sel:name:VariantStoreItem' :: VariantStoreItem -> Text
$sel:id:VariantStoreItem' :: VariantStoreItem -> Text
$sel:description:VariantStoreItem' :: VariantStoreItem -> Text
$sel:creationTime:VariantStoreItem' :: VariantStoreItem -> ISO8601
..} =
forall a. NFData a => a -> ()
Prelude.rnf ISO8601
creationTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
description
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 Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReferenceItem
reference
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SseConfig
sseConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf StoreStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
statusMessage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
storeArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Integer
storeSizeBytes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ISO8601
updateTime