{-# 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.ImportReadSetSourceItem
-- 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.ImportReadSetSourceItem 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.FileType
import Amazonka.Omics.Types.ReadSetImportJobItemStatus
import Amazonka.Omics.Types.SourceFiles
import qualified Amazonka.Prelude as Prelude

-- | A source for an import read set job.
--
-- /See:/ 'newImportReadSetSourceItem' smart constructor.
data ImportReadSetSourceItem = ImportReadSetSourceItem'
  { -- | The source\'s description.
    ImportReadSetSourceItem -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Where the source originated.
    ImportReadSetSourceItem -> Maybe Text
generatedFrom :: Prelude.Maybe Prelude.Text,
    -- | The source\'s name.
    ImportReadSetSourceItem -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The source\'s genome reference ARN.
    ImportReadSetSourceItem -> Maybe Text
referenceArn :: Prelude.Maybe Prelude.Text,
    -- | The source\'s status message.
    ImportReadSetSourceItem -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | The source\'s tags.
    ImportReadSetSourceItem -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The source\'s sample ID.
    ImportReadSetSourceItem -> Text
sampleId :: Prelude.Text,
    -- | The source\'s file type.
    ImportReadSetSourceItem -> FileType
sourceFileType :: FileType,
    -- | The source files\' location in Amazon S3.
    ImportReadSetSourceItem -> SourceFiles
sourceFiles :: SourceFiles,
    -- | The source\'s status.
    ImportReadSetSourceItem -> ReadSetImportJobItemStatus
status :: ReadSetImportJobItemStatus,
    -- | The source\'s subject ID.
    ImportReadSetSourceItem -> Text
subjectId :: Prelude.Text
  }
  deriving (ImportReadSetSourceItem -> ImportReadSetSourceItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportReadSetSourceItem -> ImportReadSetSourceItem -> Bool
$c/= :: ImportReadSetSourceItem -> ImportReadSetSourceItem -> Bool
== :: ImportReadSetSourceItem -> ImportReadSetSourceItem -> Bool
$c== :: ImportReadSetSourceItem -> ImportReadSetSourceItem -> Bool
Prelude.Eq, ReadPrec [ImportReadSetSourceItem]
ReadPrec ImportReadSetSourceItem
Int -> ReadS ImportReadSetSourceItem
ReadS [ImportReadSetSourceItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportReadSetSourceItem]
$creadListPrec :: ReadPrec [ImportReadSetSourceItem]
readPrec :: ReadPrec ImportReadSetSourceItem
$creadPrec :: ReadPrec ImportReadSetSourceItem
readList :: ReadS [ImportReadSetSourceItem]
$creadList :: ReadS [ImportReadSetSourceItem]
readsPrec :: Int -> ReadS ImportReadSetSourceItem
$creadsPrec :: Int -> ReadS ImportReadSetSourceItem
Prelude.Read, Int -> ImportReadSetSourceItem -> ShowS
[ImportReadSetSourceItem] -> ShowS
ImportReadSetSourceItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportReadSetSourceItem] -> ShowS
$cshowList :: [ImportReadSetSourceItem] -> ShowS
show :: ImportReadSetSourceItem -> String
$cshow :: ImportReadSetSourceItem -> String
showsPrec :: Int -> ImportReadSetSourceItem -> ShowS
$cshowsPrec :: Int -> ImportReadSetSourceItem -> ShowS
Prelude.Show, forall x. Rep ImportReadSetSourceItem x -> ImportReadSetSourceItem
forall x. ImportReadSetSourceItem -> Rep ImportReadSetSourceItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ImportReadSetSourceItem x -> ImportReadSetSourceItem
$cfrom :: forall x. ImportReadSetSourceItem -> Rep ImportReadSetSourceItem x
Prelude.Generic)

-- |
-- Create a value of 'ImportReadSetSourceItem' 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:
--
-- 'description', 'importReadSetSourceItem_description' - The source\'s description.
--
-- 'generatedFrom', 'importReadSetSourceItem_generatedFrom' - Where the source originated.
--
-- 'name', 'importReadSetSourceItem_name' - The source\'s name.
--
-- 'referenceArn', 'importReadSetSourceItem_referenceArn' - The source\'s genome reference ARN.
--
-- 'statusMessage', 'importReadSetSourceItem_statusMessage' - The source\'s status message.
--
-- 'tags', 'importReadSetSourceItem_tags' - The source\'s tags.
--
-- 'sampleId', 'importReadSetSourceItem_sampleId' - The source\'s sample ID.
--
-- 'sourceFileType', 'importReadSetSourceItem_sourceFileType' - The source\'s file type.
--
-- 'sourceFiles', 'importReadSetSourceItem_sourceFiles' - The source files\' location in Amazon S3.
--
-- 'status', 'importReadSetSourceItem_status' - The source\'s status.
--
-- 'subjectId', 'importReadSetSourceItem_subjectId' - The source\'s subject ID.
newImportReadSetSourceItem ::
  -- | 'sampleId'
  Prelude.Text ->
  -- | 'sourceFileType'
  FileType ->
  -- | 'sourceFiles'
  SourceFiles ->
  -- | 'status'
  ReadSetImportJobItemStatus ->
  -- | 'subjectId'
  Prelude.Text ->
  ImportReadSetSourceItem
newImportReadSetSourceItem :: Text
-> FileType
-> SourceFiles
-> ReadSetImportJobItemStatus
-> Text
-> ImportReadSetSourceItem
newImportReadSetSourceItem
  Text
pSampleId_
  FileType
pSourceFileType_
  SourceFiles
pSourceFiles_
  ReadSetImportJobItemStatus
pStatus_
  Text
pSubjectId_ =
    ImportReadSetSourceItem'
      { $sel:description:ImportReadSetSourceItem' :: Maybe Text
description =
          forall a. Maybe a
Prelude.Nothing,
        $sel:generatedFrom:ImportReadSetSourceItem' :: Maybe Text
generatedFrom = forall a. Maybe a
Prelude.Nothing,
        $sel:name:ImportReadSetSourceItem' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
        $sel:referenceArn:ImportReadSetSourceItem' :: Maybe Text
referenceArn = forall a. Maybe a
Prelude.Nothing,
        $sel:statusMessage:ImportReadSetSourceItem' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:ImportReadSetSourceItem' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:sampleId:ImportReadSetSourceItem' :: Text
sampleId = Text
pSampleId_,
        $sel:sourceFileType:ImportReadSetSourceItem' :: FileType
sourceFileType = FileType
pSourceFileType_,
        $sel:sourceFiles:ImportReadSetSourceItem' :: SourceFiles
sourceFiles = SourceFiles
pSourceFiles_,
        $sel:status:ImportReadSetSourceItem' :: ReadSetImportJobItemStatus
status = ReadSetImportJobItemStatus
pStatus_,
        $sel:subjectId:ImportReadSetSourceItem' :: Text
subjectId = Text
pSubjectId_
      }

-- | The source\'s description.
importReadSetSourceItem_description :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
importReadSetSourceItem_description :: Lens' ImportReadSetSourceItem (Maybe Text)
importReadSetSourceItem_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Maybe Text
description :: Maybe Text
$sel:description:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
description} -> Maybe Text
description) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Maybe Text
a -> ImportReadSetSourceItem
s {$sel:description:ImportReadSetSourceItem' :: Maybe Text
description = Maybe Text
a} :: ImportReadSetSourceItem)

-- | Where the source originated.
importReadSetSourceItem_generatedFrom :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
importReadSetSourceItem_generatedFrom :: Lens' ImportReadSetSourceItem (Maybe Text)
importReadSetSourceItem_generatedFrom = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Maybe Text
generatedFrom :: Maybe Text
$sel:generatedFrom:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
generatedFrom} -> Maybe Text
generatedFrom) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Maybe Text
a -> ImportReadSetSourceItem
s {$sel:generatedFrom:ImportReadSetSourceItem' :: Maybe Text
generatedFrom = Maybe Text
a} :: ImportReadSetSourceItem)

-- | The source\'s name.
importReadSetSourceItem_name :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
importReadSetSourceItem_name :: Lens' ImportReadSetSourceItem (Maybe Text)
importReadSetSourceItem_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Maybe Text
name :: Maybe Text
$sel:name:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
name} -> Maybe Text
name) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Maybe Text
a -> ImportReadSetSourceItem
s {$sel:name:ImportReadSetSourceItem' :: Maybe Text
name = Maybe Text
a} :: ImportReadSetSourceItem)

-- | The source\'s genome reference ARN.
importReadSetSourceItem_referenceArn :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
importReadSetSourceItem_referenceArn :: Lens' ImportReadSetSourceItem (Maybe Text)
importReadSetSourceItem_referenceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Maybe Text
referenceArn :: Maybe Text
$sel:referenceArn:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
referenceArn} -> Maybe Text
referenceArn) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Maybe Text
a -> ImportReadSetSourceItem
s {$sel:referenceArn:ImportReadSetSourceItem' :: Maybe Text
referenceArn = Maybe Text
a} :: ImportReadSetSourceItem)

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

-- | The source\'s tags.
importReadSetSourceItem_tags :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
importReadSetSourceItem_tags :: Lens' ImportReadSetSourceItem (Maybe (HashMap Text Text))
importReadSetSourceItem_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Maybe (HashMap Text Text)
a -> ImportReadSetSourceItem
s {$sel:tags:ImportReadSetSourceItem' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: ImportReadSetSourceItem) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The source\'s sample ID.
importReadSetSourceItem_sampleId :: Lens.Lens' ImportReadSetSourceItem Prelude.Text
importReadSetSourceItem_sampleId :: Lens' ImportReadSetSourceItem Text
importReadSetSourceItem_sampleId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Text
sampleId :: Text
$sel:sampleId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
sampleId} -> Text
sampleId) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Text
a -> ImportReadSetSourceItem
s {$sel:sampleId:ImportReadSetSourceItem' :: Text
sampleId = Text
a} :: ImportReadSetSourceItem)

-- | The source\'s file type.
importReadSetSourceItem_sourceFileType :: Lens.Lens' ImportReadSetSourceItem FileType
importReadSetSourceItem_sourceFileType :: Lens' ImportReadSetSourceItem FileType
importReadSetSourceItem_sourceFileType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {FileType
sourceFileType :: FileType
$sel:sourceFileType:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> FileType
sourceFileType} -> FileType
sourceFileType) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} FileType
a -> ImportReadSetSourceItem
s {$sel:sourceFileType:ImportReadSetSourceItem' :: FileType
sourceFileType = FileType
a} :: ImportReadSetSourceItem)

-- | The source files\' location in Amazon S3.
importReadSetSourceItem_sourceFiles :: Lens.Lens' ImportReadSetSourceItem SourceFiles
importReadSetSourceItem_sourceFiles :: Lens' ImportReadSetSourceItem SourceFiles
importReadSetSourceItem_sourceFiles = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {SourceFiles
sourceFiles :: SourceFiles
$sel:sourceFiles:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> SourceFiles
sourceFiles} -> SourceFiles
sourceFiles) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} SourceFiles
a -> ImportReadSetSourceItem
s {$sel:sourceFiles:ImportReadSetSourceItem' :: SourceFiles
sourceFiles = SourceFiles
a} :: ImportReadSetSourceItem)

-- | The source\'s status.
importReadSetSourceItem_status :: Lens.Lens' ImportReadSetSourceItem ReadSetImportJobItemStatus
importReadSetSourceItem_status :: Lens' ImportReadSetSourceItem ReadSetImportJobItemStatus
importReadSetSourceItem_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {ReadSetImportJobItemStatus
status :: ReadSetImportJobItemStatus
$sel:status:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> ReadSetImportJobItemStatus
status} -> ReadSetImportJobItemStatus
status) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} ReadSetImportJobItemStatus
a -> ImportReadSetSourceItem
s {$sel:status:ImportReadSetSourceItem' :: ReadSetImportJobItemStatus
status = ReadSetImportJobItemStatus
a} :: ImportReadSetSourceItem)

-- | The source\'s subject ID.
importReadSetSourceItem_subjectId :: Lens.Lens' ImportReadSetSourceItem Prelude.Text
importReadSetSourceItem_subjectId :: Lens' ImportReadSetSourceItem Text
importReadSetSourceItem_subjectId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportReadSetSourceItem' {Text
subjectId :: Text
$sel:subjectId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
subjectId} -> Text
subjectId) (\s :: ImportReadSetSourceItem
s@ImportReadSetSourceItem' {} Text
a -> ImportReadSetSourceItem
s {$sel:subjectId:ImportReadSetSourceItem' :: Text
subjectId = Text
a} :: ImportReadSetSourceItem)

instance Data.FromJSON ImportReadSetSourceItem where
  parseJSON :: Value -> Parser ImportReadSetSourceItem
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ImportReadSetSourceItem"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Text
-> FileType
-> SourceFiles
-> ReadSetImportJobItemStatus
-> Text
-> ImportReadSetSourceItem
ImportReadSetSourceItem'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe 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 (Maybe a)
Data..:? Key
"generatedFrom")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe 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 (Maybe a)
Data..:? Key
"referenceArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe 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 (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            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
"sampleId")
            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
"sourceFileType")
            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
"sourceFiles")
            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
"subjectId")
      )

instance Prelude.Hashable ImportReadSetSourceItem where
  hashWithSalt :: Int -> ImportReadSetSourceItem -> Int
hashWithSalt Int
_salt ImportReadSetSourceItem' {Maybe Text
Maybe (HashMap Text Text)
Text
FileType
ReadSetImportJobItemStatus
SourceFiles
subjectId :: Text
status :: ReadSetImportJobItemStatus
sourceFiles :: SourceFiles
sourceFileType :: FileType
sampleId :: Text
tags :: Maybe (HashMap Text Text)
statusMessage :: Maybe Text
referenceArn :: Maybe Text
name :: Maybe Text
generatedFrom :: Maybe Text
description :: Maybe Text
$sel:subjectId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
$sel:status:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> ReadSetImportJobItemStatus
$sel:sourceFiles:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> SourceFiles
$sel:sourceFileType:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> FileType
$sel:sampleId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
$sel:tags:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe (HashMap Text Text)
$sel:statusMessage:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:referenceArn:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:name:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:generatedFrom:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:description:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
generatedFrom
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
referenceArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sampleId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` FileType
sourceFileType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` SourceFiles
sourceFiles
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReadSetImportJobItemStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
subjectId

instance Prelude.NFData ImportReadSetSourceItem where
  rnf :: ImportReadSetSourceItem -> ()
rnf ImportReadSetSourceItem' {Maybe Text
Maybe (HashMap Text Text)
Text
FileType
ReadSetImportJobItemStatus
SourceFiles
subjectId :: Text
status :: ReadSetImportJobItemStatus
sourceFiles :: SourceFiles
sourceFileType :: FileType
sampleId :: Text
tags :: Maybe (HashMap Text Text)
statusMessage :: Maybe Text
referenceArn :: Maybe Text
name :: Maybe Text
generatedFrom :: Maybe Text
description :: Maybe Text
$sel:subjectId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
$sel:status:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> ReadSetImportJobItemStatus
$sel:sourceFiles:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> SourceFiles
$sel:sourceFileType:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> FileType
$sel:sampleId:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Text
$sel:tags:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe (HashMap Text Text)
$sel:statusMessage:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:referenceArn:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:name:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:generatedFrom:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
$sel:description:ImportReadSetSourceItem' :: ImportReadSetSourceItem -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
generatedFrom
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
referenceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sampleId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf FileType
sourceFileType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SourceFiles
sourceFiles
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReadSetImportJobItemStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
subjectId