{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Omics.Types.AnnotationStoreItem
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Omics.Types.AnnotationStoreItem 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.StoreFormat
import Amazonka.Omics.Types.StoreStatus
import qualified Amazonka.Prelude as Prelude

-- | An annotation store.
--
-- /See:/ 'newAnnotationStoreItem' smart constructor.
data AnnotationStoreItem = AnnotationStoreItem'
  { -- | The store\'s creation time.
    AnnotationStoreItem -> ISO8601
creationTime :: Data.ISO8601,
    -- | The store\'s description.
    AnnotationStoreItem -> Text
description :: Prelude.Text,
    -- | The store\'s ID.
    AnnotationStoreItem -> Text
id :: Prelude.Text,
    -- | The store\'s name.
    AnnotationStoreItem -> Text
name :: Prelude.Text,
    -- | The store\'s genome reference.
    AnnotationStoreItem -> ReferenceItem
reference :: ReferenceItem,
    -- | The store\'s server-side encryption (SSE) settings.
    AnnotationStoreItem -> SseConfig
sseConfig :: SseConfig,
    -- | The store\'s status.
    AnnotationStoreItem -> StoreStatus
status :: StoreStatus,
    -- | The store\'s status message.
    AnnotationStoreItem -> Text
statusMessage :: Prelude.Text,
    -- | The store\'s ARN.
    AnnotationStoreItem -> Text
storeArn :: Prelude.Text,
    -- | The store\'s file format.
    AnnotationStoreItem -> StoreFormat
storeFormat :: StoreFormat,
    -- | The store\'s size in bytes.
    AnnotationStoreItem -> Integer
storeSizeBytes :: Prelude.Integer,
    -- | When the store was updated.
    AnnotationStoreItem -> ISO8601
updateTime :: Data.ISO8601
  }
  deriving (AnnotationStoreItem -> AnnotationStoreItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AnnotationStoreItem -> AnnotationStoreItem -> Bool
$c/= :: AnnotationStoreItem -> AnnotationStoreItem -> Bool
== :: AnnotationStoreItem -> AnnotationStoreItem -> Bool
$c== :: AnnotationStoreItem -> AnnotationStoreItem -> Bool
Prelude.Eq, ReadPrec [AnnotationStoreItem]
ReadPrec AnnotationStoreItem
Int -> ReadS AnnotationStoreItem
ReadS [AnnotationStoreItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AnnotationStoreItem]
$creadListPrec :: ReadPrec [AnnotationStoreItem]
readPrec :: ReadPrec AnnotationStoreItem
$creadPrec :: ReadPrec AnnotationStoreItem
readList :: ReadS [AnnotationStoreItem]
$creadList :: ReadS [AnnotationStoreItem]
readsPrec :: Int -> ReadS AnnotationStoreItem
$creadsPrec :: Int -> ReadS AnnotationStoreItem
Prelude.Read, Int -> AnnotationStoreItem -> ShowS
[AnnotationStoreItem] -> ShowS
AnnotationStoreItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AnnotationStoreItem] -> ShowS
$cshowList :: [AnnotationStoreItem] -> ShowS
show :: AnnotationStoreItem -> String
$cshow :: AnnotationStoreItem -> String
showsPrec :: Int -> AnnotationStoreItem -> ShowS
$cshowsPrec :: Int -> AnnotationStoreItem -> ShowS
Prelude.Show, forall x. Rep AnnotationStoreItem x -> AnnotationStoreItem
forall x. AnnotationStoreItem -> Rep AnnotationStoreItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AnnotationStoreItem x -> AnnotationStoreItem
$cfrom :: forall x. AnnotationStoreItem -> Rep AnnotationStoreItem x
Prelude.Generic)

-- |
-- Create a value of 'AnnotationStoreItem' 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:
--
-- 'creationTime', 'annotationStoreItem_creationTime' - The store\'s creation time.
--
-- 'description', 'annotationStoreItem_description' - The store\'s description.
--
-- 'id', 'annotationStoreItem_id' - The store\'s ID.
--
-- 'name', 'annotationStoreItem_name' - The store\'s name.
--
-- 'reference', 'annotationStoreItem_reference' - The store\'s genome reference.
--
-- 'sseConfig', 'annotationStoreItem_sseConfig' - The store\'s server-side encryption (SSE) settings.
--
-- 'status', 'annotationStoreItem_status' - The store\'s status.
--
-- 'statusMessage', 'annotationStoreItem_statusMessage' - The store\'s status message.
--
-- 'storeArn', 'annotationStoreItem_storeArn' - The store\'s ARN.
--
-- 'storeFormat', 'annotationStoreItem_storeFormat' - The store\'s file format.
--
-- 'storeSizeBytes', 'annotationStoreItem_storeSizeBytes' - The store\'s size in bytes.
--
-- 'updateTime', 'annotationStoreItem_updateTime' - When the store was updated.
newAnnotationStoreItem ::
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'description'
  Prelude.Text ->
  -- | 'id'
  Prelude.Text ->
  -- | 'name'
  Prelude.Text ->
  -- | 'reference'
  ReferenceItem ->
  -- | 'sseConfig'
  SseConfig ->
  -- | 'status'
  StoreStatus ->
  -- | 'statusMessage'
  Prelude.Text ->
  -- | 'storeArn'
  Prelude.Text ->
  -- | 'storeFormat'
  StoreFormat ->
  -- | 'storeSizeBytes'
  Prelude.Integer ->
  -- | 'updateTime'
  Prelude.UTCTime ->
  AnnotationStoreItem
newAnnotationStoreItem :: UTCTime
-> Text
-> Text
-> Text
-> ReferenceItem
-> SseConfig
-> StoreStatus
-> Text
-> Text
-> StoreFormat
-> Integer
-> UTCTime
-> AnnotationStoreItem
newAnnotationStoreItem
  UTCTime
pCreationTime_
  Text
pDescription_
  Text
pId_
  Text
pName_
  ReferenceItem
pReference_
  SseConfig
pSseConfig_
  StoreStatus
pStatus_
  Text
pStatusMessage_
  Text
pStoreArn_
  StoreFormat
pStoreFormat_
  Integer
pStoreSizeBytes_
  UTCTime
pUpdateTime_ =
    AnnotationStoreItem'
      { $sel:creationTime:AnnotationStoreItem' :: ISO8601
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:description:AnnotationStoreItem' :: Text
description = Text
pDescription_,
        $sel:id:AnnotationStoreItem' :: Text
id = Text
pId_,
        $sel:name:AnnotationStoreItem' :: Text
name = Text
pName_,
        $sel:reference:AnnotationStoreItem' :: ReferenceItem
reference = ReferenceItem
pReference_,
        $sel:sseConfig:AnnotationStoreItem' :: SseConfig
sseConfig = SseConfig
pSseConfig_,
        $sel:status:AnnotationStoreItem' :: StoreStatus
status = StoreStatus
pStatus_,
        $sel:statusMessage:AnnotationStoreItem' :: Text
statusMessage = Text
pStatusMessage_,
        $sel:storeArn:AnnotationStoreItem' :: Text
storeArn = Text
pStoreArn_,
        $sel:storeFormat:AnnotationStoreItem' :: StoreFormat
storeFormat = StoreFormat
pStoreFormat_,
        $sel:storeSizeBytes:AnnotationStoreItem' :: Integer
storeSizeBytes = Integer
pStoreSizeBytes_,
        $sel:updateTime:AnnotationStoreItem' :: ISO8601
updateTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdateTime_
      }

-- | The store\'s creation time.
annotationStoreItem_creationTime :: Lens.Lens' AnnotationStoreItem Prelude.UTCTime
annotationStoreItem_creationTime :: Lens' AnnotationStoreItem UTCTime
annotationStoreItem_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {ISO8601
creationTime :: ISO8601
$sel:creationTime:AnnotationStoreItem' :: AnnotationStoreItem -> ISO8601
creationTime} -> ISO8601
creationTime) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} ISO8601
a -> AnnotationStoreItem
s {$sel:creationTime:AnnotationStoreItem' :: ISO8601
creationTime = ISO8601
a} :: AnnotationStoreItem) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The store\'s description.
annotationStoreItem_description :: Lens.Lens' AnnotationStoreItem Prelude.Text
annotationStoreItem_description :: Lens' AnnotationStoreItem Text
annotationStoreItem_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Text
description :: Text
$sel:description:AnnotationStoreItem' :: AnnotationStoreItem -> Text
description} -> Text
description) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Text
a -> AnnotationStoreItem
s {$sel:description:AnnotationStoreItem' :: Text
description = Text
a} :: AnnotationStoreItem)

-- | The store\'s ID.
annotationStoreItem_id :: Lens.Lens' AnnotationStoreItem Prelude.Text
annotationStoreItem_id :: Lens' AnnotationStoreItem Text
annotationStoreItem_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Text
id :: Text
$sel:id:AnnotationStoreItem' :: AnnotationStoreItem -> Text
id} -> Text
id) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Text
a -> AnnotationStoreItem
s {$sel:id:AnnotationStoreItem' :: Text
id = Text
a} :: AnnotationStoreItem)

-- | The store\'s name.
annotationStoreItem_name :: Lens.Lens' AnnotationStoreItem Prelude.Text
annotationStoreItem_name :: Lens' AnnotationStoreItem Text
annotationStoreItem_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Text
name :: Text
$sel:name:AnnotationStoreItem' :: AnnotationStoreItem -> Text
name} -> Text
name) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Text
a -> AnnotationStoreItem
s {$sel:name:AnnotationStoreItem' :: Text
name = Text
a} :: AnnotationStoreItem)

-- | The store\'s genome reference.
annotationStoreItem_reference :: Lens.Lens' AnnotationStoreItem ReferenceItem
annotationStoreItem_reference :: Lens' AnnotationStoreItem ReferenceItem
annotationStoreItem_reference = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {ReferenceItem
reference :: ReferenceItem
$sel:reference:AnnotationStoreItem' :: AnnotationStoreItem -> ReferenceItem
reference} -> ReferenceItem
reference) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} ReferenceItem
a -> AnnotationStoreItem
s {$sel:reference:AnnotationStoreItem' :: ReferenceItem
reference = ReferenceItem
a} :: AnnotationStoreItem)

-- | The store\'s server-side encryption (SSE) settings.
annotationStoreItem_sseConfig :: Lens.Lens' AnnotationStoreItem SseConfig
annotationStoreItem_sseConfig :: Lens' AnnotationStoreItem SseConfig
annotationStoreItem_sseConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {SseConfig
sseConfig :: SseConfig
$sel:sseConfig:AnnotationStoreItem' :: AnnotationStoreItem -> SseConfig
sseConfig} -> SseConfig
sseConfig) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} SseConfig
a -> AnnotationStoreItem
s {$sel:sseConfig:AnnotationStoreItem' :: SseConfig
sseConfig = SseConfig
a} :: AnnotationStoreItem)

-- | The store\'s status.
annotationStoreItem_status :: Lens.Lens' AnnotationStoreItem StoreStatus
annotationStoreItem_status :: Lens' AnnotationStoreItem StoreStatus
annotationStoreItem_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {StoreStatus
status :: StoreStatus
$sel:status:AnnotationStoreItem' :: AnnotationStoreItem -> StoreStatus
status} -> StoreStatus
status) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} StoreStatus
a -> AnnotationStoreItem
s {$sel:status:AnnotationStoreItem' :: StoreStatus
status = StoreStatus
a} :: AnnotationStoreItem)

-- | The store\'s status message.
annotationStoreItem_statusMessage :: Lens.Lens' AnnotationStoreItem Prelude.Text
annotationStoreItem_statusMessage :: Lens' AnnotationStoreItem Text
annotationStoreItem_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Text
statusMessage :: Text
$sel:statusMessage:AnnotationStoreItem' :: AnnotationStoreItem -> Text
statusMessage} -> Text
statusMessage) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Text
a -> AnnotationStoreItem
s {$sel:statusMessage:AnnotationStoreItem' :: Text
statusMessage = Text
a} :: AnnotationStoreItem)

-- | The store\'s ARN.
annotationStoreItem_storeArn :: Lens.Lens' AnnotationStoreItem Prelude.Text
annotationStoreItem_storeArn :: Lens' AnnotationStoreItem Text
annotationStoreItem_storeArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Text
storeArn :: Text
$sel:storeArn:AnnotationStoreItem' :: AnnotationStoreItem -> Text
storeArn} -> Text
storeArn) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Text
a -> AnnotationStoreItem
s {$sel:storeArn:AnnotationStoreItem' :: Text
storeArn = Text
a} :: AnnotationStoreItem)

-- | The store\'s file format.
annotationStoreItem_storeFormat :: Lens.Lens' AnnotationStoreItem StoreFormat
annotationStoreItem_storeFormat :: Lens' AnnotationStoreItem StoreFormat
annotationStoreItem_storeFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {StoreFormat
storeFormat :: StoreFormat
$sel:storeFormat:AnnotationStoreItem' :: AnnotationStoreItem -> StoreFormat
storeFormat} -> StoreFormat
storeFormat) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} StoreFormat
a -> AnnotationStoreItem
s {$sel:storeFormat:AnnotationStoreItem' :: StoreFormat
storeFormat = StoreFormat
a} :: AnnotationStoreItem)

-- | The store\'s size in bytes.
annotationStoreItem_storeSizeBytes :: Lens.Lens' AnnotationStoreItem Prelude.Integer
annotationStoreItem_storeSizeBytes :: Lens' AnnotationStoreItem Integer
annotationStoreItem_storeSizeBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {Integer
storeSizeBytes :: Integer
$sel:storeSizeBytes:AnnotationStoreItem' :: AnnotationStoreItem -> Integer
storeSizeBytes} -> Integer
storeSizeBytes) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} Integer
a -> AnnotationStoreItem
s {$sel:storeSizeBytes:AnnotationStoreItem' :: Integer
storeSizeBytes = Integer
a} :: AnnotationStoreItem)

-- | When the store was updated.
annotationStoreItem_updateTime :: Lens.Lens' AnnotationStoreItem Prelude.UTCTime
annotationStoreItem_updateTime :: Lens' AnnotationStoreItem UTCTime
annotationStoreItem_updateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AnnotationStoreItem' {ISO8601
updateTime :: ISO8601
$sel:updateTime:AnnotationStoreItem' :: AnnotationStoreItem -> ISO8601
updateTime} -> ISO8601
updateTime) (\s :: AnnotationStoreItem
s@AnnotationStoreItem' {} ISO8601
a -> AnnotationStoreItem
s {$sel:updateTime:AnnotationStoreItem' :: ISO8601
updateTime = ISO8601
a} :: AnnotationStoreItem) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Data.FromJSON AnnotationStoreItem where
  parseJSON :: Value -> Parser AnnotationStoreItem
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"AnnotationStoreItem"
      ( \Object
x ->
          ISO8601
-> Text
-> Text
-> Text
-> ReferenceItem
-> SseConfig
-> StoreStatus
-> Text
-> Text
-> StoreFormat
-> Integer
-> ISO8601
-> AnnotationStoreItem
AnnotationStoreItem'
            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
"storeFormat")
            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 AnnotationStoreItem where
  hashWithSalt :: Int -> AnnotationStoreItem -> Int
hashWithSalt Int
_salt AnnotationStoreItem' {Integer
Text
ISO8601
ReferenceItem
SseConfig
StoreFormat
StoreStatus
updateTime :: ISO8601
storeSizeBytes :: Integer
storeFormat :: StoreFormat
storeArn :: Text
statusMessage :: Text
status :: StoreStatus
sseConfig :: SseConfig
reference :: ReferenceItem
name :: Text
id :: Text
description :: Text
creationTime :: ISO8601
$sel:updateTime:AnnotationStoreItem' :: AnnotationStoreItem -> ISO8601
$sel:storeSizeBytes:AnnotationStoreItem' :: AnnotationStoreItem -> Integer
$sel:storeFormat:AnnotationStoreItem' :: AnnotationStoreItem -> StoreFormat
$sel:storeArn:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:statusMessage:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:status:AnnotationStoreItem' :: AnnotationStoreItem -> StoreStatus
$sel:sseConfig:AnnotationStoreItem' :: AnnotationStoreItem -> SseConfig
$sel:reference:AnnotationStoreItem' :: AnnotationStoreItem -> ReferenceItem
$sel:name:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:id:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:description:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:creationTime:AnnotationStoreItem' :: AnnotationStoreItem -> 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` StoreFormat
storeFormat
      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 AnnotationStoreItem where
  rnf :: AnnotationStoreItem -> ()
rnf AnnotationStoreItem' {Integer
Text
ISO8601
ReferenceItem
SseConfig
StoreFormat
StoreStatus
updateTime :: ISO8601
storeSizeBytes :: Integer
storeFormat :: StoreFormat
storeArn :: Text
statusMessage :: Text
status :: StoreStatus
sseConfig :: SseConfig
reference :: ReferenceItem
name :: Text
id :: Text
description :: Text
creationTime :: ISO8601
$sel:updateTime:AnnotationStoreItem' :: AnnotationStoreItem -> ISO8601
$sel:storeSizeBytes:AnnotationStoreItem' :: AnnotationStoreItem -> Integer
$sel:storeFormat:AnnotationStoreItem' :: AnnotationStoreItem -> StoreFormat
$sel:storeArn:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:statusMessage:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:status:AnnotationStoreItem' :: AnnotationStoreItem -> StoreStatus
$sel:sseConfig:AnnotationStoreItem' :: AnnotationStoreItem -> SseConfig
$sel:reference:AnnotationStoreItem' :: AnnotationStoreItem -> ReferenceItem
$sel:name:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:id:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:description:AnnotationStoreItem' :: AnnotationStoreItem -> Text
$sel:creationTime:AnnotationStoreItem' :: AnnotationStoreItem -> 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 StoreFormat
storeFormat
      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