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

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

-- |
-- Module      : Amazonka.Omics.GetReadSetMetadata
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets details about a read set.
module Amazonka.Omics.GetReadSetMetadata
  ( -- * Creating a Request
    GetReadSetMetadata (..),
    newGetReadSetMetadata,

    -- * Request Lenses
    getReadSetMetadata_id,
    getReadSetMetadata_sequenceStoreId,

    -- * Destructuring the Response
    GetReadSetMetadataResponse (..),
    newGetReadSetMetadataResponse,

    -- * Response Lenses
    getReadSetMetadataResponse_description,
    getReadSetMetadataResponse_files,
    getReadSetMetadataResponse_name,
    getReadSetMetadataResponse_referenceArn,
    getReadSetMetadataResponse_sampleId,
    getReadSetMetadataResponse_sequenceInformation,
    getReadSetMetadataResponse_subjectId,
    getReadSetMetadataResponse_httpStatus,
    getReadSetMetadataResponse_arn,
    getReadSetMetadataResponse_creationTime,
    getReadSetMetadataResponse_fileType,
    getReadSetMetadataResponse_id,
    getReadSetMetadataResponse_sequenceStoreId,
    getReadSetMetadataResponse_status,
  )
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

-- | /See:/ 'newGetReadSetMetadata' smart constructor.
data GetReadSetMetadata = GetReadSetMetadata'
  { -- | The read set\'s ID.
    GetReadSetMetadata -> Text
id :: Prelude.Text,
    -- | The read set\'s sequence store ID.
    GetReadSetMetadata -> Text
sequenceStoreId :: Prelude.Text
  }
  deriving (GetReadSetMetadata -> GetReadSetMetadata -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetReadSetMetadata -> GetReadSetMetadata -> Bool
$c/= :: GetReadSetMetadata -> GetReadSetMetadata -> Bool
== :: GetReadSetMetadata -> GetReadSetMetadata -> Bool
$c== :: GetReadSetMetadata -> GetReadSetMetadata -> Bool
Prelude.Eq, ReadPrec [GetReadSetMetadata]
ReadPrec GetReadSetMetadata
Int -> ReadS GetReadSetMetadata
ReadS [GetReadSetMetadata]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetReadSetMetadata]
$creadListPrec :: ReadPrec [GetReadSetMetadata]
readPrec :: ReadPrec GetReadSetMetadata
$creadPrec :: ReadPrec GetReadSetMetadata
readList :: ReadS [GetReadSetMetadata]
$creadList :: ReadS [GetReadSetMetadata]
readsPrec :: Int -> ReadS GetReadSetMetadata
$creadsPrec :: Int -> ReadS GetReadSetMetadata
Prelude.Read, Int -> GetReadSetMetadata -> ShowS
[GetReadSetMetadata] -> ShowS
GetReadSetMetadata -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReadSetMetadata] -> ShowS
$cshowList :: [GetReadSetMetadata] -> ShowS
show :: GetReadSetMetadata -> String
$cshow :: GetReadSetMetadata -> String
showsPrec :: Int -> GetReadSetMetadata -> ShowS
$cshowsPrec :: Int -> GetReadSetMetadata -> ShowS
Prelude.Show, forall x. Rep GetReadSetMetadata x -> GetReadSetMetadata
forall x. GetReadSetMetadata -> Rep GetReadSetMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetReadSetMetadata x -> GetReadSetMetadata
$cfrom :: forall x. GetReadSetMetadata -> Rep GetReadSetMetadata x
Prelude.Generic)

-- |
-- Create a value of 'GetReadSetMetadata' 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:
--
-- 'id', 'getReadSetMetadata_id' - The read set\'s ID.
--
-- 'sequenceStoreId', 'getReadSetMetadata_sequenceStoreId' - The read set\'s sequence store ID.
newGetReadSetMetadata ::
  -- | 'id'
  Prelude.Text ->
  -- | 'sequenceStoreId'
  Prelude.Text ->
  GetReadSetMetadata
newGetReadSetMetadata :: Text -> Text -> GetReadSetMetadata
newGetReadSetMetadata Text
pId_ Text
pSequenceStoreId_ =
  GetReadSetMetadata'
    { $sel:id:GetReadSetMetadata' :: Text
id = Text
pId_,
      $sel:sequenceStoreId:GetReadSetMetadata' :: Text
sequenceStoreId = Text
pSequenceStoreId_
    }

-- | The read set\'s ID.
getReadSetMetadata_id :: Lens.Lens' GetReadSetMetadata Prelude.Text
getReadSetMetadata_id :: Lens' GetReadSetMetadata Text
getReadSetMetadata_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadata' {Text
id :: Text
$sel:id:GetReadSetMetadata' :: GetReadSetMetadata -> Text
id} -> Text
id) (\s :: GetReadSetMetadata
s@GetReadSetMetadata' {} Text
a -> GetReadSetMetadata
s {$sel:id:GetReadSetMetadata' :: Text
id = Text
a} :: GetReadSetMetadata)

-- | The read set\'s sequence store ID.
getReadSetMetadata_sequenceStoreId :: Lens.Lens' GetReadSetMetadata Prelude.Text
getReadSetMetadata_sequenceStoreId :: Lens' GetReadSetMetadata Text
getReadSetMetadata_sequenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadata' {Text
sequenceStoreId :: Text
$sel:sequenceStoreId:GetReadSetMetadata' :: GetReadSetMetadata -> Text
sequenceStoreId} -> Text
sequenceStoreId) (\s :: GetReadSetMetadata
s@GetReadSetMetadata' {} Text
a -> GetReadSetMetadata
s {$sel:sequenceStoreId:GetReadSetMetadata' :: Text
sequenceStoreId = Text
a} :: GetReadSetMetadata)

instance Core.AWSRequest GetReadSetMetadata where
  type
    AWSResponse GetReadSetMetadata =
      GetReadSetMetadataResponse
  request :: (Service -> Service)
-> GetReadSetMetadata -> Request GetReadSetMetadata
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 GetReadSetMetadata
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetReadSetMetadata)))
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 ->
          Maybe Text
-> Maybe ReadSetFiles
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SequenceInformation
-> Maybe Text
-> Int
-> Text
-> ISO8601
-> FileType
-> Text
-> Text
-> ReadSetStatus
-> GetReadSetMetadataResponse
GetReadSetMetadataResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"files")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (Maybe 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 -> Either String (Maybe a)
Data..?> Key
"sequenceInformation")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"subjectId")
            forall (f :: * -> *) a b. Applicative f => 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
"arn")
            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
"creationTime")
            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
"fileType")
            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
"id")
            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
"sequenceStoreId")
            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
"status")
      )

instance Prelude.Hashable GetReadSetMetadata where
  hashWithSalt :: Int -> GetReadSetMetadata -> Int
hashWithSalt Int
_salt GetReadSetMetadata' {Text
sequenceStoreId :: Text
id :: Text
$sel:sequenceStoreId:GetReadSetMetadata' :: GetReadSetMetadata -> Text
$sel:id:GetReadSetMetadata' :: GetReadSetMetadata -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sequenceStoreId

instance Prelude.NFData GetReadSetMetadata where
  rnf :: GetReadSetMetadata -> ()
rnf GetReadSetMetadata' {Text
sequenceStoreId :: Text
id :: Text
$sel:sequenceStoreId:GetReadSetMetadata' :: GetReadSetMetadata -> Text
$sel:id:GetReadSetMetadata' :: GetReadSetMetadata -> Text
..} =
    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
sequenceStoreId

instance Data.ToHeaders GetReadSetMetadata where
  toHeaders :: GetReadSetMetadata -> 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.ToPath GetReadSetMetadata where
  toPath :: GetReadSetMetadata -> ByteString
toPath GetReadSetMetadata' {Text
sequenceStoreId :: Text
id :: Text
$sel:sequenceStoreId:GetReadSetMetadata' :: GetReadSetMetadata -> Text
$sel:id:GetReadSetMetadata' :: GetReadSetMetadata -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/sequencestore/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
sequenceStoreId,
        ByteString
"/readset/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
        ByteString
"/metadata"
      ]

instance Data.ToQuery GetReadSetMetadata where
  toQuery :: GetReadSetMetadata -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newGetReadSetMetadataResponse' smart constructor.
data GetReadSetMetadataResponse = GetReadSetMetadataResponse'
  { -- | The read set\'s description.
    GetReadSetMetadataResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The read set\'s files.
    GetReadSetMetadataResponse -> Maybe ReadSetFiles
files :: Prelude.Maybe ReadSetFiles,
    -- | The read set\'s name.
    GetReadSetMetadataResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The read set\'s genome reference ARN.
    GetReadSetMetadataResponse -> Maybe Text
referenceArn :: Prelude.Maybe Prelude.Text,
    -- | The read set\'s sample ID.
    GetReadSetMetadataResponse -> Maybe Text
sampleId :: Prelude.Maybe Prelude.Text,
    -- | The read set\'s sequence information.
    GetReadSetMetadataResponse -> Maybe SequenceInformation
sequenceInformation :: Prelude.Maybe SequenceInformation,
    -- | The read set\'s subject ID.
    GetReadSetMetadataResponse -> Maybe Text
subjectId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetReadSetMetadataResponse -> Int
httpStatus :: Prelude.Int,
    -- | The read set\'s ARN.
    GetReadSetMetadataResponse -> Text
arn :: Prelude.Text,
    -- | When the read set was created.
    GetReadSetMetadataResponse -> ISO8601
creationTime :: Data.ISO8601,
    -- | The read set\'s file type.
    GetReadSetMetadataResponse -> FileType
fileType :: FileType,
    -- | The read set\'s ID.
    GetReadSetMetadataResponse -> Text
id :: Prelude.Text,
    -- | The read set\'s sequence store ID.
    GetReadSetMetadataResponse -> Text
sequenceStoreId :: Prelude.Text,
    -- | The read set\'s status.
    GetReadSetMetadataResponse -> ReadSetStatus
status :: ReadSetStatus
  }
  deriving (GetReadSetMetadataResponse -> GetReadSetMetadataResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetReadSetMetadataResponse -> GetReadSetMetadataResponse -> Bool
$c/= :: GetReadSetMetadataResponse -> GetReadSetMetadataResponse -> Bool
== :: GetReadSetMetadataResponse -> GetReadSetMetadataResponse -> Bool
$c== :: GetReadSetMetadataResponse -> GetReadSetMetadataResponse -> Bool
Prelude.Eq, ReadPrec [GetReadSetMetadataResponse]
ReadPrec GetReadSetMetadataResponse
Int -> ReadS GetReadSetMetadataResponse
ReadS [GetReadSetMetadataResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetReadSetMetadataResponse]
$creadListPrec :: ReadPrec [GetReadSetMetadataResponse]
readPrec :: ReadPrec GetReadSetMetadataResponse
$creadPrec :: ReadPrec GetReadSetMetadataResponse
readList :: ReadS [GetReadSetMetadataResponse]
$creadList :: ReadS [GetReadSetMetadataResponse]
readsPrec :: Int -> ReadS GetReadSetMetadataResponse
$creadsPrec :: Int -> ReadS GetReadSetMetadataResponse
Prelude.Read, Int -> GetReadSetMetadataResponse -> ShowS
[GetReadSetMetadataResponse] -> ShowS
GetReadSetMetadataResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReadSetMetadataResponse] -> ShowS
$cshowList :: [GetReadSetMetadataResponse] -> ShowS
show :: GetReadSetMetadataResponse -> String
$cshow :: GetReadSetMetadataResponse -> String
showsPrec :: Int -> GetReadSetMetadataResponse -> ShowS
$cshowsPrec :: Int -> GetReadSetMetadataResponse -> ShowS
Prelude.Show, forall x.
Rep GetReadSetMetadataResponse x -> GetReadSetMetadataResponse
forall x.
GetReadSetMetadataResponse -> Rep GetReadSetMetadataResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetReadSetMetadataResponse x -> GetReadSetMetadataResponse
$cfrom :: forall x.
GetReadSetMetadataResponse -> Rep GetReadSetMetadataResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetReadSetMetadataResponse' 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', 'getReadSetMetadataResponse_description' - The read set\'s description.
--
-- 'files', 'getReadSetMetadataResponse_files' - The read set\'s files.
--
-- 'name', 'getReadSetMetadataResponse_name' - The read set\'s name.
--
-- 'referenceArn', 'getReadSetMetadataResponse_referenceArn' - The read set\'s genome reference ARN.
--
-- 'sampleId', 'getReadSetMetadataResponse_sampleId' - The read set\'s sample ID.
--
-- 'sequenceInformation', 'getReadSetMetadataResponse_sequenceInformation' - The read set\'s sequence information.
--
-- 'subjectId', 'getReadSetMetadataResponse_subjectId' - The read set\'s subject ID.
--
-- 'httpStatus', 'getReadSetMetadataResponse_httpStatus' - The response's http status code.
--
-- 'arn', 'getReadSetMetadataResponse_arn' - The read set\'s ARN.
--
-- 'creationTime', 'getReadSetMetadataResponse_creationTime' - When the read set was created.
--
-- 'fileType', 'getReadSetMetadataResponse_fileType' - The read set\'s file type.
--
-- 'id', 'getReadSetMetadataResponse_id' - The read set\'s ID.
--
-- 'sequenceStoreId', 'getReadSetMetadataResponse_sequenceStoreId' - The read set\'s sequence store ID.
--
-- 'status', 'getReadSetMetadataResponse_status' - The read set\'s status.
newGetReadSetMetadataResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'fileType'
  FileType ->
  -- | 'id'
  Prelude.Text ->
  -- | 'sequenceStoreId'
  Prelude.Text ->
  -- | 'status'
  ReadSetStatus ->
  GetReadSetMetadataResponse
newGetReadSetMetadataResponse :: Int
-> Text
-> UTCTime
-> FileType
-> Text
-> Text
-> ReadSetStatus
-> GetReadSetMetadataResponse
newGetReadSetMetadataResponse
  Int
pHttpStatus_
  Text
pArn_
  UTCTime
pCreationTime_
  FileType
pFileType_
  Text
pId_
  Text
pSequenceStoreId_
  ReadSetStatus
pStatus_ =
    GetReadSetMetadataResponse'
      { $sel:description:GetReadSetMetadataResponse' :: Maybe Text
description =
          forall a. Maybe a
Prelude.Nothing,
        $sel:files:GetReadSetMetadataResponse' :: Maybe ReadSetFiles
files = forall a. Maybe a
Prelude.Nothing,
        $sel:name:GetReadSetMetadataResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
        $sel:referenceArn:GetReadSetMetadataResponse' :: Maybe Text
referenceArn = forall a. Maybe a
Prelude.Nothing,
        $sel:sampleId:GetReadSetMetadataResponse' :: Maybe Text
sampleId = forall a. Maybe a
Prelude.Nothing,
        $sel:sequenceInformation:GetReadSetMetadataResponse' :: Maybe SequenceInformation
sequenceInformation = forall a. Maybe a
Prelude.Nothing,
        $sel:subjectId:GetReadSetMetadataResponse' :: Maybe Text
subjectId = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetReadSetMetadataResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:arn:GetReadSetMetadataResponse' :: Text
arn = Text
pArn_,
        $sel:creationTime:GetReadSetMetadataResponse' :: ISO8601
creationTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:fileType:GetReadSetMetadataResponse' :: FileType
fileType = FileType
pFileType_,
        $sel:id:GetReadSetMetadataResponse' :: Text
id = Text
pId_,
        $sel:sequenceStoreId:GetReadSetMetadataResponse' :: Text
sequenceStoreId = Text
pSequenceStoreId_,
        $sel:status:GetReadSetMetadataResponse' :: ReadSetStatus
status = ReadSetStatus
pStatus_
      }

-- | The read set\'s description.
getReadSetMetadataResponse_description :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
getReadSetMetadataResponse_description :: Lens' GetReadSetMetadataResponse (Maybe Text)
getReadSetMetadataResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe Text
description :: Maybe Text
$sel:description:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe Text
a -> GetReadSetMetadataResponse
s {$sel:description:GetReadSetMetadataResponse' :: Maybe Text
description = Maybe Text
a} :: GetReadSetMetadataResponse)

-- | The read set\'s files.
getReadSetMetadataResponse_files :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe ReadSetFiles)
getReadSetMetadataResponse_files :: Lens' GetReadSetMetadataResponse (Maybe ReadSetFiles)
getReadSetMetadataResponse_files = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe ReadSetFiles
files :: Maybe ReadSetFiles
$sel:files:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe ReadSetFiles
files} -> Maybe ReadSetFiles
files) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe ReadSetFiles
a -> GetReadSetMetadataResponse
s {$sel:files:GetReadSetMetadataResponse' :: Maybe ReadSetFiles
files = Maybe ReadSetFiles
a} :: GetReadSetMetadataResponse)

-- | The read set\'s name.
getReadSetMetadataResponse_name :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
getReadSetMetadataResponse_name :: Lens' GetReadSetMetadataResponse (Maybe Text)
getReadSetMetadataResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe Text
a -> GetReadSetMetadataResponse
s {$sel:name:GetReadSetMetadataResponse' :: Maybe Text
name = Maybe Text
a} :: GetReadSetMetadataResponse)

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

-- | The read set\'s sample ID.
getReadSetMetadataResponse_sampleId :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
getReadSetMetadataResponse_sampleId :: Lens' GetReadSetMetadataResponse (Maybe Text)
getReadSetMetadataResponse_sampleId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe Text
sampleId :: Maybe Text
$sel:sampleId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
sampleId} -> Maybe Text
sampleId) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe Text
a -> GetReadSetMetadataResponse
s {$sel:sampleId:GetReadSetMetadataResponse' :: Maybe Text
sampleId = Maybe Text
a} :: GetReadSetMetadataResponse)

-- | The read set\'s sequence information.
getReadSetMetadataResponse_sequenceInformation :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe SequenceInformation)
getReadSetMetadataResponse_sequenceInformation :: Lens' GetReadSetMetadataResponse (Maybe SequenceInformation)
getReadSetMetadataResponse_sequenceInformation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe SequenceInformation
sequenceInformation :: Maybe SequenceInformation
$sel:sequenceInformation:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe SequenceInformation
sequenceInformation} -> Maybe SequenceInformation
sequenceInformation) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe SequenceInformation
a -> GetReadSetMetadataResponse
s {$sel:sequenceInformation:GetReadSetMetadataResponse' :: Maybe SequenceInformation
sequenceInformation = Maybe SequenceInformation
a} :: GetReadSetMetadataResponse)

-- | The read set\'s subject ID.
getReadSetMetadataResponse_subjectId :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
getReadSetMetadataResponse_subjectId :: Lens' GetReadSetMetadataResponse (Maybe Text)
getReadSetMetadataResponse_subjectId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Maybe Text
subjectId :: Maybe Text
$sel:subjectId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
subjectId} -> Maybe Text
subjectId) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Maybe Text
a -> GetReadSetMetadataResponse
s {$sel:subjectId:GetReadSetMetadataResponse' :: Maybe Text
subjectId = Maybe Text
a} :: GetReadSetMetadataResponse)

-- | The response's http status code.
getReadSetMetadataResponse_httpStatus :: Lens.Lens' GetReadSetMetadataResponse Prelude.Int
getReadSetMetadataResponse_httpStatus :: Lens' GetReadSetMetadataResponse Int
getReadSetMetadataResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Int
a -> GetReadSetMetadataResponse
s {$sel:httpStatus:GetReadSetMetadataResponse' :: Int
httpStatus = Int
a} :: GetReadSetMetadataResponse)

-- | The read set\'s ARN.
getReadSetMetadataResponse_arn :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
getReadSetMetadataResponse_arn :: Lens' GetReadSetMetadataResponse Text
getReadSetMetadataResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Text
arn :: Text
$sel:arn:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
arn} -> Text
arn) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Text
a -> GetReadSetMetadataResponse
s {$sel:arn:GetReadSetMetadataResponse' :: Text
arn = Text
a} :: GetReadSetMetadataResponse)

-- | When the read set was created.
getReadSetMetadataResponse_creationTime :: Lens.Lens' GetReadSetMetadataResponse Prelude.UTCTime
getReadSetMetadataResponse_creationTime :: Lens' GetReadSetMetadataResponse UTCTime
getReadSetMetadataResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {ISO8601
creationTime :: ISO8601
$sel:creationTime:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> ISO8601
creationTime} -> ISO8601
creationTime) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} ISO8601
a -> GetReadSetMetadataResponse
s {$sel:creationTime:GetReadSetMetadataResponse' :: ISO8601
creationTime = ISO8601
a} :: GetReadSetMetadataResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The read set\'s file type.
getReadSetMetadataResponse_fileType :: Lens.Lens' GetReadSetMetadataResponse FileType
getReadSetMetadataResponse_fileType :: Lens' GetReadSetMetadataResponse FileType
getReadSetMetadataResponse_fileType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {FileType
fileType :: FileType
$sel:fileType:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> FileType
fileType} -> FileType
fileType) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} FileType
a -> GetReadSetMetadataResponse
s {$sel:fileType:GetReadSetMetadataResponse' :: FileType
fileType = FileType
a} :: GetReadSetMetadataResponse)

-- | The read set\'s ID.
getReadSetMetadataResponse_id :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
getReadSetMetadataResponse_id :: Lens' GetReadSetMetadataResponse Text
getReadSetMetadataResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Text
id :: Text
$sel:id:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
id} -> Text
id) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Text
a -> GetReadSetMetadataResponse
s {$sel:id:GetReadSetMetadataResponse' :: Text
id = Text
a} :: GetReadSetMetadataResponse)

-- | The read set\'s sequence store ID.
getReadSetMetadataResponse_sequenceStoreId :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
getReadSetMetadataResponse_sequenceStoreId :: Lens' GetReadSetMetadataResponse Text
getReadSetMetadataResponse_sequenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {Text
sequenceStoreId :: Text
$sel:sequenceStoreId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
sequenceStoreId} -> Text
sequenceStoreId) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} Text
a -> GetReadSetMetadataResponse
s {$sel:sequenceStoreId:GetReadSetMetadataResponse' :: Text
sequenceStoreId = Text
a} :: GetReadSetMetadataResponse)

-- | The read set\'s status.
getReadSetMetadataResponse_status :: Lens.Lens' GetReadSetMetadataResponse ReadSetStatus
getReadSetMetadataResponse_status :: Lens' GetReadSetMetadataResponse ReadSetStatus
getReadSetMetadataResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReadSetMetadataResponse' {ReadSetStatus
status :: ReadSetStatus
$sel:status:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> ReadSetStatus
status} -> ReadSetStatus
status) (\s :: GetReadSetMetadataResponse
s@GetReadSetMetadataResponse' {} ReadSetStatus
a -> GetReadSetMetadataResponse
s {$sel:status:GetReadSetMetadataResponse' :: ReadSetStatus
status = ReadSetStatus
a} :: GetReadSetMetadataResponse)

instance Prelude.NFData GetReadSetMetadataResponse where
  rnf :: GetReadSetMetadataResponse -> ()
rnf GetReadSetMetadataResponse' {Int
Maybe Text
Maybe ReadSetFiles
Maybe SequenceInformation
Text
ISO8601
FileType
ReadSetStatus
status :: ReadSetStatus
sequenceStoreId :: Text
id :: Text
fileType :: FileType
creationTime :: ISO8601
arn :: Text
httpStatus :: Int
subjectId :: Maybe Text
sequenceInformation :: Maybe SequenceInformation
sampleId :: Maybe Text
referenceArn :: Maybe Text
name :: Maybe Text
files :: Maybe ReadSetFiles
description :: Maybe Text
$sel:status:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> ReadSetStatus
$sel:sequenceStoreId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
$sel:id:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
$sel:fileType:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> FileType
$sel:creationTime:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> ISO8601
$sel:arn:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Text
$sel:httpStatus:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Int
$sel:subjectId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
$sel:sequenceInformation:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe SequenceInformation
$sel:sampleId:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
$sel:referenceArn:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
$sel:name:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe Text
$sel:files:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> Maybe ReadSetFiles
$sel:description:GetReadSetMetadataResponse' :: GetReadSetMetadataResponse -> 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 ReadSetFiles
files
      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
sampleId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SequenceInformation
sequenceInformation
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subjectId
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 FileType
fileType
      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
sequenceStoreId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReadSetStatus
status